์‚ฌ์šฉ์ž ๋„๊ตฌ

์‚ฌ์ดํŠธ ๋„๊ตฌ


wiki:it:ai:services:cursor

์ฐจ์ด

๋ฌธ์„œ์˜ ์„ ํƒํ•œ ๋‘ ํŒ ์‚ฌ์ด์˜ ์ฐจ์ด๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

์ฐจ์ด ๋ณด๊ธฐ๋กœ ๋งํฌ

๋‹ค์Œ ํŒ
์ด์ „ ํŒ
wiki:it:ai:services:cursor [2025/07/29 00:37] โ€“ ๋งŒ๋“ฆ - ๋ฐ”๊นฅ ํŽธ์ง‘ 127.0.0.1wiki:it:ai:services:cursor [2025/07/30 06:43] (ํ˜„์žฌ) โ€“ ๋ฐ”๊นฅ ํŽธ์ง‘ 127.0.0.1
์ค„ 1: ์ค„ 1:
-===== Cursor AI ๊ฐœ๋ฐœ ๋„๊ตฌ =====+====== ๐Ÿ’ป Cursor AI ๊ฐœ๋ฐœ ๋„๊ตฌ ์™„์ „ ๊ฐ€์ด๋“œ ======
  
-Cursor์˜ AI ๊ธฐ๋ฐ˜ ์ฝ”๋“œ ์—๋””ํ„ฐ ๋ฐ ๊ฐœ๋ฐœ ๋„๊ตฌ์˜ ํŠน์ง•๊ณผ ํ™œ์šฉ๋ฒ•์„ ์ƒ์„ธํžˆ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.+Cursor๋Š” AI ๊ธฐ๋ฐ˜ ์ฝ”๋”ฉ ์–ด์‹œ์Šคํ„ดํŠธ๋กœ, ๊ฐœ๋ฐœ์ž์˜ ์ƒ์‚ฐ์„ฑ์„ ํ˜์‹ ์ ์œผ๋กœ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. VS Code ๊ธฐ๋ฐ˜์˜ ๊ฐ•๋ ฅํ•œ AI ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  
-==== ๋„๊ตฌ ๊ฐœ์š” ====+===== ๐Ÿ“Š Cursor ์ฃผ์š” ํŠน์ง• ๋น„๊ต =====
  
-===== Cursor ์ฃผ์š” ๊ธฐ๋Šฅ =====+๊ธฐ๋Šฅ ^ Cursor ^ VS Code ^ GitHub Copilot ^ย 
 +| **AI ์ฝ”๋“œ ์ƒ์„ฑ** | โญโญโญโญโญ | โญโญ | โญโญโญโญ |ย 
 +| **์‹ค์‹œ๊ฐ„ ๋””๋ฒ„๊น…** | โญโญโญโญโญ | โญโญโญ | โญโญโญ |ย 
 +| **์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง** | โญโญโญโญโญ | โญโญ | โญโญโญโญ |ย 
 +| **๋ฌธ์„œํ™”** | โญโญโญโญ | โญโญโญ | โญโญโญ |ย 
 +| **๋ฉ€ํ‹ฐ ์–ธ์–ด ์ง€์›** | โญโญโญโญโญ | โญโญโญโญ | โญโญโญโญ |ย 
 +| **์ปจํ…์ŠคํŠธ ์ดํ•ด** | โญโญโญโญโญ | โญโญ | โญโญโญ |
  
-  * **AI ์ฝ”๋“œ ์ƒ์„ฑ**: ์ž์—ฐ์–ด ์„ค๋ช…์œผ๋กœ ์ฝ”๋“œ ์ž๋™ ์ƒ์„ฑย +===== ๐ŸŽฏ ๋ชจ๋ธ๋ณ„ ์„ฑ๋Šฅ ๋น„๊ต =====
-  * **์‹ค์‹œ๊ฐ„ ์ฝ”๋“œ ์™„์„ฑ**: ๋ฌธ๋งฅ ๊ธฐ๋ฐ˜ ์Šค๋งˆํŠธ ์ž๋™์™„์„ฑย +
-  * **์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง**: AI ๊ธฐ๋ฐ˜ ์ฝ”๋“œ ๊ตฌ์กฐ ๊ฐœ์„ ย +
-  * **๋””๋ฒ„๊น… ์ง€์›**: ์˜ค๋ฅ˜ ๋ถ„์„ ๋ฐ ํ•ด๊ฒฐ์ฑ… ์ œ์‹œ+
  
-===== ๊ธฐ์ˆ  ์Šคํƒ ====+^ ํ‰๊ฐ€ ํ•ญ๋ชฉ ^ GPT-4o ^ Claude 3.5 ^ Gemini 2.0 ^ย 
 +| **์ฝ”๋“œ ์ƒ์„ฑ ํ’ˆ์งˆ** | โญโญโญโญโญ | โญโญโญโญ | โญโญโญโญ |ย 
 +| **๋””๋ฒ„๊น… ๋Šฅ๋ ฅ** | โญโญโญโญโญ | โญโญโญโญโญ | โญโญโญโญ |ย 
 +| **์‘๋‹ต ์†๋„** | โญโญโญโญ | โญโญโญโญ | โญโญโญโญโญ |ย 
 +| **์ปจํ…์ŠคํŠธ ์ดํ•ด** | โญโญโญโญโญ | โญโญโญโญโญ | โญโญโญโญ |ย 
 +| **๋น„์šฉ ํšจ์œจ์„ฑ** | โญโญโญ | โญโญโญโญ | โญโญโญโญโญ |
  
-  * **AI ๋ชจ๋ธ**: GPT-4, Claude ๊ธฐ๋ฐ˜ ์ฝ”๋“œ ์ƒ์„ฑ ์—”์ง„ย +===== ๐Ÿ”ง ํ•ต์‹ฌ ๊ธฐ๋Šฅ =====
-  * **์—๋””ํ„ฐ**: VS Code ๊ธฐ๋ฐ˜ ์ปค์Šคํ…€ ์—๋””ํ„ฐย +
-  * **์–ธ์–ด ์ง€์›**: Python, JavaScript, TypeScript, Java, C++ ๋“ฑย +
-  * **ํ†ตํ•ฉ ๊ฐœ๋ฐœ**: Git, Docker, ํ„ฐ๋ฏธ๋„ ํ†ตํ•ฉย +
-ย +
-==== ์‚ฌ์šฉ๋ฒ• ====+
  
 ===== AI ์ฝ”๋“œ ์ƒ์„ฑ ==== ===== AI ์ฝ”๋“œ ์ƒ์„ฑ ====
  
-  1. **์ž์—ฐ์–ด ์„ค๋ช…**: ์›ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ž์—ฐ์–ด๋กœ ์„ค๋ช…ย +**์‹ค์‹œ๊ฐ„ ์ฝ”๋“œ ์ƒ์„ฑ**ย 
-  2. **AI ๋ถ„์„**: Cursor๊ฐ€ ์š”๊ตฌ์‚ฌํ•ญ์„ ๋ถ„์„ย +  * ์ž์—ฐ์–ด ์„ค๋ช…์œผ๋กœ ์ฝ”๋“œ ์ž๋™ ์ƒ์„ฑย 
-  3. **์ฝ”๋“œ ์ƒ์„ฑ**: ์ ์ ˆํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ ์ฝ”๋“œ ์ƒ์„ฑย +  * ํ”„๋กœ์ ํŠธ ์ปจํ…์ŠคํŠธ๋ฅผ ๊ณ ๋ คํ•œ ์Šค๋งˆํŠธ ์ œ์•ˆย 
-  4. **์‹ค์‹œ๊ฐ„ ํŽธ์ง‘**: ์ƒ์„ฑ๋œ ์ฝ”๋“œ๋ฅผ ์ฆ‰์‹œ ์ˆ˜์ • ๋ฐ ๊ฐœ์„ +  * ํ•จ์ˆ˜, ํด๋ž˜์Šค, ์ „์ฒด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ƒ์„ฑย 
 +  * ์ฃผ์„๊ณผ ๋ฌธ์„œํ™” ์ž๋™ ํฌํ•จ
  
-===== ์ฝ”๋“œ ์™„์„ฑ ๊ธฐ๋Šฅ ====+**์‹ค์ œ ์‚ฌ์šฉ ์˜ˆ์‹œ:**ย 
 +<code>ย 
 +ํ”„๋กฌํ”„ํŠธ: "์‚ฌ์šฉ์ž ์ธ์ฆ์„ ์œ„ํ•œ React ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋งŒ๋“ค์–ด์ค˜"
  
-  * **์ปจํ…์ŠคํŠธ ์ธ์‹**ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ์™€ ๊ธฐ์กด ์ฝ”๋“œ ๋ถ„์„ย +Cursor ์‘๋‹ต:ย 
-  * **์Šค๋งˆํŠธ ์ œ์•ˆ**: ํ•จ์ˆ˜๋ณ€์ˆ˜, ํด๋ž˜์Šค ์ž๋™ ์™„์„ฑย +```jsxย 
-  * **๋ฌธ์„œํ™”**: ์ฃผ์„ ๋ฐ ๋ฌธ์„œ ์ž๋™ ์ƒ์„ฑย +import React{ useState } from 'react';ย 
-  * **ํ…Œ์ŠคํŠธ ์ฝ”๋“œ**: ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ์ž๋™ ์ƒ์„ฑ+import './AuthForm.css';
  
-==== ๊ฐ€๊ฒฉ ์ •์ฑ… ====+const AuthForm ({ onLogin }) => {ย 
 +  const [formData, setFormData] useState({ย 
 +    email: '',ย 
 +    password: ''ย 
 +  });ย 
 +  const [isLoading, setIsLoading] useState(false);
  
-===== ์š”๊ธˆ์ œ ๋น„๊ต ====+  const handleSubmit async (e) => {ย 
 +    e.preventDefault();ย 
 +    setIsLoading(true);ย 
 +    ย 
 +    try {ย 
 +      const response await fetch('/api/auth/login', {ย 
 +        method: 'POST',ย 
 +        headers: { 'Content-Type': 'application/json' },ย 
 +        body: JSON.stringify(formData)ย 
 +      });ย 
 +      ย 
 +      if (response.ok) {ย 
 +        const userData await response.json();ย 
 +        onLogin(userData);ย 
 +      }ย 
 +    } catch (error) {ย 
 +      console.error('Login failed:', error);ย 
 +    } finally {ย 
 +      setIsLoading(false);ย 
 +    }ย 
 +  };
  
-  * **Free**: ๋ฌด๋ฃŒ ๊ธฐ๋ณธ AI ๊ธฐ๋Šฅ, ์›” 500ํšŒ ์ƒ์„ฑย +  return (ย 
-  * **Pro**$20/์›” - ๋ฌด์ œํ•œ ์ƒ์„ฑ๊ณ ๊ธ‰ ๊ธฐ๋Šฅย +    <form onSubmit={handleSubmit} className="auth-form">ย 
-  * **Team**$25/์›”/์‚ฌ์šฉ์ž - ํŒ€ ํ˜‘์—… ๊ธฐ๋Šฅย +      <inputย 
-  * **Enterprise**: ๋งž์ถคํ˜• - ๋Œ€๊ทœ๋ชจ ์กฐ์ง ์ง€์›+        type="email"ย 
 +        placeholder="์ด๋ฉ”์ผ"ย 
 +        value={formData.email}ย 
 +        onChange={(e) => setFormData({...formData, emaile.target.value})}ย 
 +        requiredย 
 +      />ย 
 +      <inputย 
 +        type="password"ย 
 +        placeholder="๋น„๋ฐ€๋ฒˆํ˜ธ"ย 
 +        value={formData.password}ย 
 +        onChange={(e) => setFormData({...formDatapassword: e.target.value})}ย 
 +        requiredย 
 +      />ย 
 +      <button type="submit" disabled={isLoading}>ย 
 +        {isLoading ? '๋กœ๊ทธ์ธ ์ค‘...' '๋กœ๊ทธ์ธ'}ย 
 +      </button>ย 
 +    </form>ย 
 +  );ย 
 +};
  
-===== ํฌํ•จ ๊ธฐ๋Šฅ ====+export default AuthForm;ย 
 +```ย 
 +</code>
  
-  * **AI ์ฑ„ํŒ…**: ์ฝ”๋“œ ๊ด€๋ จ ์งˆ๋ฌธ ๋ฐ ๋‹ต๋ณ€ย +===== AI ๋””๋ฒ„๊น… ====
-  * **์ฝ”๋“œ ๋ฆฌ๋ทฐ**: AI ๊ธฐ๋ฐ˜ ์ฝ”๋“œ ํ’ˆ์งˆ ๊ฒ€ํ† ย +
-  * **๋ฌธ์„œํ™”**: API ๋ฌธ์„œ ์ž๋™ ์ƒ์„ฑย +
-  * **๋ฒ„์ „ ๊ด€๋ฆฌ**: Git ํ†ตํ•ฉ ๋ฐ ๋ธŒ๋žœ์น˜ ๊ด€๋ฆฌ+
  
-==== ํ™œ์šฉ ์‚ฌ๋ก€ ====+**์Šค๋งˆํŠธ ์˜ค๋ฅ˜ ๋ถ„์„**ย 
 +  * ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€ ์ž๋™ ๋ถ„์„ ๋ฐ ํ•ด๊ฒฐ์ฑ… ์ œ์‹œย 
 +  * ์ฝ”๋“œ ์‹คํ–‰ ํ๋ฆ„ ์ถ”์ ย 
 +  * ์„ฑ๋Šฅ ๋ณ‘๋ชฉ ์ง€์  ์‹๋ณ„ย 
 +  * ๋ณด์•ˆ ์ทจ์•ฝ์  ๊ฒ€ํ† 
  
-===== ์›น ๊ฐœ๋ฐœ ====+**๋””๋ฒ„๊น… ์˜ˆ์‹œ:**ย 
 +<code>ย 
 +์˜ค๋ฅ˜: "TypeError: Cannot read property 'name' of undefined"
  
-  * **React/Vue ์ปดํฌ๋„ŒํŠธ**UI ์ปดํฌ๋„ŒํŠธ ์ž๋™ ์ƒ์„ฑย +Cursor ๋ถ„์„:ย 
-  * **API ์—”๋“œํฌ์ธํŠธ**RESTful API ์ฝ”๋“œ ์ƒ์„ฑย +์ด ์˜ค๋ฅ˜๋Š” user ๊ฐ์ฒด๊ฐ€ undefined์ผ ๋•Œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.ย 
-  * **๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ฟผ๋ฆฌ**: SQL ์ฟผ๋ฆฌ ์ตœ์ ํ™”ย +ํ•ด๊ฒฐ์ฑ…์˜ต์…”๋„ ์ฒด์ด๋‹ ๋˜๋Š” ๊ธฐ๋ณธ๊ฐ’ ์„ค์ •
-  * **์ธ์ฆ ์‹œ์Šคํ…œ**: ๋กœ๊ทธ์ธ/ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ+
  
-===== ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ ====+์ˆ˜์ •๋œ ์ฝ”๋“œ:ย 
 +```javascriptย 
 +// ๊ธฐ์กด ์ฝ”๋“œย 
 +const userName user.name;
  
-  * **์„œ๋ฒ„ ์ฝ”๋“œ**: Node.js, Python, Java ์„œ๋ฒ„ย +// ์ˆ˜์ •๋œ ์ฝ”๋“œย 
-  * **๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ชจ๋ธ**: ORM ๋ชจ๋ธ ๋ฐ ์Šคํ‚ค๋งˆย +const userName = user?.name || 'Unknown User';ย 
-  * **๋ฏธ๋“ค์›จ์–ด**: ์ธ์ฆ, ๋กœ๊น…, ์—๋Ÿฌ ์ฒ˜๋ฆฌย +```ย 
-  * **ํ…Œ์ŠคํŠธ ์ฝ”๋“œ**: ๋‹จ์œ„ ๋ฐ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ+</code>
  
-===== ๋ชจ๋ฐ”์ผ ๊ฐœ๋ฐœ ====+===== AI ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง ====
  
-  * **React Native**: ํฌ๋กœ์Šค ํ”Œ๋žซํผ ์•ฑ ๊ฐœ๋ฐœย +**์ž๋™ ์ฝ”๋“œ ๊ฐœ์„ **ย 
-  * **Flutter**: Dart ๊ธฐ๋ฐ˜ ๋ชจ๋ฐ”์ผ ์•ฑย +  * ์ฝ”๋“œ ํ’ˆ์งˆ ์ž๋™ ๋ถ„์„ย 
-  * **๋„ค์ดํ‹ฐ๋ธŒ ๊ฐœ๋ฐœ**: iOS/Android ๋„ค์ดํ‹ฐ๋ธŒ ์ฝ”๋“œย +  * ์„ฑ๋Šฅ ์ตœ์ ํ™” ์ œ์•ˆย 
-  * **API ์—ฐ๋™**: ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค ํ†ตํ•ฉ+  ๊ฐ€๋…์„ฑ ํ–ฅ์ƒย 
 +  ์•„ํ‚คํ…์ฒ˜ ๊ฐœ์„ 
  
-==== AI ๊ธฐ์ˆ  ====+**๋ฆฌํŒฉํ† ๋ง ์˜ˆ์‹œ:**ย 
 +<code>ย 
 +๊ธฐ์กด ์ฝ”๋“œ:ย 
 +```javascriptย 
 +function processData(data) {ย 
 +  let result [];ย 
 +  for (let i 0; i < data.length; i++) {ย 
 +    if (data[i].active) {ย 
 +      result.push(data[i].name);ย 
 +    }ย 
 +  }ย 
 +  return result;ย 
 +}ย 
 +```
  
-===== ์ฝ”๋“œ ์ƒ์„ฑ AI ====+Cursor ๋ฆฌํŒฉํ† ๋ง:ย 
 +```javascriptย 
 +function processData(data) {ย 
 +  return dataย 
 +    .filter(item => item.active)ย 
 +    .map(item => item.name);ย 
 +}ย 
 +```ย 
 +</code>
  
-  * **์ž์—ฐ์–ด ์ฒ˜๋ฆฌ**: ์š”๊ตฌ์‚ฌํ•ญ์„ ์ฝ”๋“œ๋กœ ๋ณ€ํ™˜ย +===== ๐Ÿ’ฐ ๊ฐ€๊ฒฉ ์ •์ฑ… =====
-  * **์ปจํ…์ŠคํŠธ ์ดํ•ด**: ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ ๋ฐ ์˜์กด์„ฑ ๋ถ„์„ย +
-  * **ํŒจํ„ด ์ธ์‹**: ์ผ๋ฐ˜์ ์ธ ์ฝ”๋”ฉ ํŒจํ„ด ํ•™์Šตย +
-  * **์ตœ์ ํ™”**: ์„ฑ๋Šฅ ๋ฐ ๊ฐ€๋…์„ฑ ์ž๋™ ๊ฐœ์„ +
  
-===== ์ฝ”๋“œ ๋ถ„์„ AI ====+^ ํ”Œ๋žœ ^ ๊ฐ€๊ฒฉ ^ ์ฃผ์š” ๊ธฐ๋Šฅ ^ย 
 +| **Free** | $0 | ๊ธฐ๋ณธ AI ๊ธฐ๋Šฅ, ์ œํ•œ๋œ ์‚ฌ์šฉ๋Ÿ‰ |ย 
 +| **Pro** | $20/์›” | ๋ฌด์ œํ•œ ์‚ฌ์šฉ, ๊ณ ๊ธ‰ ๊ธฐ๋Šฅ |ย 
 +| **Team** | $25/์›”/์‚ฌ์šฉ์ž | ํŒ€ ํ˜‘์—…, ๊ณต์œ  ์„ค์ • |ย 
 +| **Enterprise** | ๋งž์ถคํ˜• | ๊ธฐ์—… ์ „์šฉ, ๋ณด์•ˆ ๊ฐ•ํ™” |
  
-  * **์ •์  ๋ถ„์„**: ์ฝ”๋“œ ํ’ˆ์งˆ ๋ฐ ๋ณด์•ˆ ๊ฒ€์‚ฌย +===== ๐Ÿš€ ํ™œ์šฉ ์‹œ๋‚˜๋ฆฌ์˜ค =====
-  * **์„ฑ๋Šฅ ๋ถ„์„**: ๋ณ‘๋ชฉ ์ง€์  ๋ฐ ์ตœ์ ํ™” ์ œ์•ˆย +
-  * **๋ฆฌํŒฉํ† ๋ง**: ์ฝ”๋“œ ๊ตฌ์กฐ ๊ฐœ์„  ์ œ์•ˆย +
-  * **๋ฌธ์„œํ™”**: ์ฃผ์„ ๋ฐ API ๋ฌธ์„œ ์ž๋™ ์ƒ์„ฑ+
  
-==== ๊ฐœ๋ฐœ ์›Œํฌํ”Œ๋กœ์šฐ ====+๊ฐœ๋ฐœ ์˜์—ญ ^ Cursor ํ™œ์šฉ ^ ๊ธฐ๋Œ€ ํšจ๊ณผ ^ย 
 +| **์›น ๊ฐœ๋ฐœ** | React/Vue ์ปดํฌ๋„ŒํŠธ ์ž๋™ ์ƒ์„ฑ | ๊ฐœ๋ฐœ ์†๋„ 3๋ฐฐ ํ–ฅ์ƒ |ย 
 +| **๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ** | API ์—”๋“œํฌ์ธํŠธ ์ž๋™ ์ƒ์„ฑ | ์„œ๋ฒ„ ๊ฐœ๋ฐœ ์‹œ๊ฐ„ ๋‹จ์ถ• |ย 
 +| **๋ชจ๋ฐ”์ผ ๊ฐœ๋ฐœ** | React Native/Flutter ์ฝ”๋“œ | ํฌ๋กœ์Šค ํ”Œ๋žซํผ ๊ฐœ๋ฐœ |ย 
 +| **๋ฐ์ดํ„ฐ ๊ณผํ•™** | Python ๋ถ„์„ ์Šคํฌ๋ฆฝํŠธ | ๋ฐ์ดํ„ฐ ๋ถ„์„ ์ž๋™ํ™” |
  
-===== ํ”„๋กœ์ ํŠธ ์„ค์ • ====+===== ๐Ÿ”ง ์„ค์ • ๋ฐ ์ตœ์ ํ™” =====
  
-  * **ํ…œํ”Œ๋ฆฟ ์„ ํƒ**: ๋‹ค์–‘ํ•œ ํ”„๋กœ์ ํŠธ ํ…œํ”Œ๋ฆฟย +^ ์„ค์ • ์˜์—ญ ^ ์ตœ์ ํ™” ๋ฐฉ๋ฒ• ^ย 
-  * **์˜์กด์„ฑ ๊ด€๋ฆฌ**: ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ € ํ†ตํ•ฉย +**ํ”„๋กœ์ ํŠธ ์„ค์ •** | .cursorrules ํŒŒ์ผ๋กœ ์ฝ”๋”ฉ ์Šคํƒ€์ผ ์ •์˜ |ย 
-  * **ํ™˜๊ฒฝ ์„ค์ •**: ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ์ž๋™ ๊ตฌ์„ฑย +**ํ”„๋กฌํ”„ํŠธ ์ตœ์ ํ™”** ๊ตฌ์ฒด์ ์ด๊ณ  ๋ช…ํ™•ํ•œ ์š”๊ตฌ์‚ฌํ•ญ ์ž‘์„ฑ |ย 
-  * **๋ฒ„์ „ ๊ด€๋ฆฌ**: Git ์ €์žฅ์†Œ ์ดˆ๊ธฐํ™”+**๋ชจ๋ธ ์„ ํƒ** | ํ”„๋กœ์ ํŠธ ํŠน์„ฑ์— ๋งž๋Š” AI ๋ชจ๋ธ ์„ ํƒ |ย 
 +**ํŒ€ ํ˜‘์—…** | ๊ณตํ†ต ์„ค์ • ๋ฐ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ์›Œํฌํ”Œ๋กœ์šฐ |
  
-===== ํ˜‘์—… ๊ธฐ๋Šฅ ====+===== ๐Ÿ”’ ๋ณด์•ˆ ๋ฐ ๊ฐœ์ธ์ •๋ณด =====
  
-  * **์‹ค์‹œ๊ฐ„ ํŽธ์ง‘**: ๋‹ค์ค‘ ์‚ฌ์šฉ์ž ๋™์‹œ ํŽธ์ง‘ย +^ ๋ณด์•ˆ ์˜์—ญ ^ Cursor ์ •์ฑ… ^ย 
-  * **์ฝ”๋“œ ๋ฆฌ๋ทฐ**: AI ๊ธฐ๋ฐ˜ ์ฝ”๋“œ ๊ฒ€ํ† ย +**๋ฐ์ดํ„ฐ ์•”ํ˜ธํ™”** | ์—”๋“œํˆฌ์—”๋“œ ์•”ํ˜ธํ™”๋กœ ์ฝ”๋“œ ๋ณดํ˜ธ |ย 
-  * **๋ธŒ๋žœ์น˜ ๊ด€๋ฆฌ**: Git ์›Œํฌํ”Œ๋กœ์šฐ ํ†ตํ•ฉย +**๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ** | ์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ ์ตœ์†Œํ™” ๋ฐ ์ž๋™ ์‚ญ์ œ |ย 
-  * **์ด์Šˆ ์ถ”์ **: GitHub/GitLab ์—ฐ๋™+**์ ‘๊ทผ ์ œ์–ด** | ์—ญํ•  ๊ธฐ๋ฐ˜ ๊ถŒํ•œ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ |ย 
 +**๊ฐ์‚ฌ ๋กœ๊ทธ** | ๋ชจ๋“  ํ™œ๋™ ๊ธฐ๋ก ๋ฐ ์ถ”์  |
  
-==== ์„ฑ๋Šฅ ์ตœ์ ํ™” ====+===== ๐Ÿ”ฎ ํ–ฅํ›„ ์ „๋ง =====
  
-===== ์ฝ”๋“œ ํ’ˆ์งˆ ====+^ ๋ฐœ์ „ ๋ฐฉํ–ฅ ^ Cursor 2.0 ^ ์—…๊ณ„ ์˜ํ–ฅ ^ย 
 +| **AI ๋ชจ๋ธ** | ๋” ์ •ํ™•ํ•œ ์ฝ”๋“œ ์ƒ์„ฑ | ๊ฐœ๋ฐœ์ž ์ƒ์‚ฐ์„ฑ ํ˜์‹  |ย 
 +| **ํ˜‘์—… ๊ธฐ๋Šฅ** | ์‹ค์‹œ๊ฐ„ ํ˜‘์—… | ํŒ€ ๊ฐœ๋ฐœ ํšจ์œจ์„ฑ ์ฆ๋Œ€ |ย 
 +| **๋ฉ€ํ‹ฐ๋ชจ๋‹ฌ** | ์ด๋ฏธ์ง€/์Œ์„ฑ ๊ธฐ๋ฐ˜ ์ฝ”๋”ฉ | ์ƒˆ๋กœ์šด ๊ฐœ๋ฐœ ํŒจ๋Ÿฌ๋‹ค์ž„ |ย 
 +| **๊ฐœ์ธํ™”** | ์‚ฌ์šฉ์ž ๋งž์ถค AI | ๊ฐœ์ธํ™”๋œ ๊ฐœ๋ฐœ ๊ฒฝํ—˜ |
  
-  * **๋ฆฐํŒ…**: ESLint, Pylint ๋“ฑ ํ†ตํ•ฉย +----
-  * **ํฌ๋งคํŒ…**: Prettier, Black ๋“ฑ ์ž๋™ ํฌ๋งทํŒ…ย +
-  * **ํƒ€์ž… ์ฒดํฌ**: TypeScript, mypy ๋“ฑ ํƒ€์ž… ๊ฒ€์‚ฌย +
-  * **ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€**: ์ฝ”๋“œ ์ปค๋ฒ„๋ฆฌ์ง€ ๋ถ„์„+
  
-===== ๊ฐœ๋ฐœ ํšจ์œจ์„ฑ ====+===== ๐Ÿ“š ๊ด€๋ จ ๋งํฌ =====
  
-  * **์Šค๋‹ˆํŽซ**์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ์ฝ”๋“œ ์กฐ๊ฐย +  * [[wiki:it:ai:start|AI ๊ธฐ์ˆ  ๊ฐ€์ด๋“œ ๋ฉ”์ธ]]ย 
-  * **๋งคํฌ๋กœ**๋ฐ˜๋ณต ์ž‘์—… ์ž๋™ํ™”ย +  * [[wiki:it:ai:services:start|AI ์„œ๋น„์Šค ๋ฐ ํ”Œ๋žซํผ]]ย 
-  * **๋‹จ์ถ•ํ‚ค**ํšจ์œจ์ ์ธ ํ‚ค๋ณด๋“œ ๋‹จ์ถ•ํ‚คย +  [[wiki:it:ai:models:gpt|OpenAI GPT ๋ชจ๋ธ]]ย 
-  * **ํ”Œ๋Ÿฌ๊ทธ์ธ**ํ™•์žฅ ๊ธฐ๋Šฅ ๋ฐ ์ปค์Šคํ„ฐ๋งˆ์ด์ง•+  * [[wiki:it:ai:models:claude|Anthropic Claude ๋ชจ๋ธ]]ย 
 +  * [[wiki:it:ai:models:gemini|Google Gemini ๋ชจ๋ธ]]
  
-==== ๋ณด์•ˆ ๋ฐ ์•ˆ์ •์„ฑ ==== 
  
-===== ์ฝ”๋“œ ๋ณด์•ˆ ==== 
- 
-  * **์ทจ์•ฝ์  ์Šค์บ”**: ๋ณด์•ˆ ์ทจ์•ฝ์  ์ž๋™ ๊ฒ€์‚ฌ 
-  * **์˜์กด์„ฑ ๊ฒ€์‚ฌ**: ํŒจํ‚ค์ง€ ๋ณด์•ˆ ์—…๋ฐ์ดํŠธ 
-  * **์ฝ”๋“œ ์•”ํ˜ธํ™”**: ๋ฏผ๊ฐํ•œ ์ •๋ณด ๋ณดํ˜ธ 
-  * **์ ‘๊ทผ ์ œ์–ด**: ๊ถŒํ•œ ๊ธฐ๋ฐ˜ ์ฝ”๋“œ ์ ‘๊ทผ 
- 
-===== ๋ฐ์ดํ„ฐ ๋ณดํ˜ธ ==== 
- 
-  * **๋กœ์ปฌ ์ฒ˜๋ฆฌ**: ๋ฏผ๊ฐํ•œ ์ฝ”๋“œ ๋กœ์ปฌ์—์„œ ์ฒ˜๋ฆฌ 
-  * **์•”ํ˜ธํ™”**: ์ „์†ก ๋ฐ ์ €์žฅ ์‹œ ์•”ํ˜ธํ™” 
-  * **๋ฐฑ์—…**: ํ”„๋กœ์ ํŠธ ์ž๋™ ๋ฐฑ์—… 
-  * **๋ณต๊ตฌ**: ์‹ค์ˆ˜๋กœ ์‚ญ์ œ๋œ ์ฝ”๋“œ ๋ณต๊ตฌ 
- 
-==== ํ†ตํ•ฉ ๋ฐ ํ™•์žฅ ==== 
- 
-===== ์™ธ๋ถ€ ๋„๊ตฌ ์—ฐ๋™ ==== 
- 
-  * **ํ„ฐ๋ฏธ๋„**: ํ†ตํ•ฉ ํ„ฐ๋ฏธ๋„ ๋ฐ ๋ช…๋ น์–ด ์‹คํ–‰ 
-  * **Docker**: ์ปจํ…Œ์ด๋„ˆ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ 
-  * **๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค**: DB ํด๋ผ์ด์–ธํŠธ ํ†ตํ•ฉ 
-  * **ํด๋ผ์šฐ๋“œ**: AWS, GCP, Azure ์—ฐ๋™ 
- 
-===== API ๋ฐ ํ”Œ๋Ÿฌ๊ทธ์ธ ==== 
- 
-  * **REST API**: ์™ธ๋ถ€ ์„œ๋น„์Šค์™€ ์—ฐ๋™ 
-  * **์›นํ›…**: ์‹ค์‹œ๊ฐ„ ์ด๋ฒคํŠธ ์•Œ๋ฆผ 
-  * **ํ”Œ๋Ÿฌ๊ทธ์ธ ์‹œ์Šคํ…œ**: ์ปค์Šคํ…€ ํ™•์žฅ ๊ธฐ๋Šฅ 
-  * **๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค**: ๊ณต๊ฐœ ํ”Œ๋Ÿฌ๊ทธ์ธ ๋‹ค์šด๋กœ๋“œ 
- 
-==== ํ•™์Šต ๋ฐ ์ง€์› ==== 
- 
-===== ํ•™์Šต ์ž๋ฃŒ ==== 
- 
-  * **ํŠœํ† ๋ฆฌ์–ผ**: ๋‹จ๊ณ„๋ณ„ ์‚ฌ์šฉ ๊ฐ€์ด๋“œ 
-  * **๋น„๋””์˜ค ์ฝ”์Šค**: ์˜จ๋ผ์ธ ํ•™์Šต ํ”„๋กœ๊ทธ๋žจ 
-  * **๋ฌธ์„œํ™”**: ์ƒ์„ธํ•œ API ๋ฐ ์‚ฌ์šฉ๋ฒ• ๋ฌธ์„œ 
-  * **์˜ˆ์ œ ํ”„๋กœ์ ํŠธ**: ์‹ค์ œ ํ”„๋กœ์ ํŠธ ์˜ˆ์‹œ 
- 
-===== ์ปค๋ฎค๋‹ˆํ‹ฐ ์ง€์› ==== 
- 
-  * **ํฌ๋Ÿผ**: ์‚ฌ์šฉ์ž ์ปค๋ฎค๋‹ˆํ‹ฐ ๋ฐ Q&A 
-  * **GitHub**: ์˜คํ”ˆ์†Œ์Šค ๊ธฐ์—ฌ ๋ฐ ์ด์Šˆ 
-  * **Discord**: ์‹ค์‹œ๊ฐ„ ์ฑ„ํŒ… ๋ฐ ์ง€์› 
-  * **๋ธ”๋กœ๊ทธ**: ์ตœ์‹  ๊ธฐ๋Šฅ ๋ฐ ํŒ ๊ณต์œ  
- 
----- 
  
-==== ๊ด€๋ จ ๋งํฌ ==== 
  
-  * [[wiki:it:ai:introduction|AI ๊ธฐ์ˆ  ๊ฐ€์ด๋“œ ๋ฉ”์ธ]] 
-  * [[wiki:it:ai:services:introduction|AI ์„œ๋น„์Šค ๋ฐ ํ”Œ๋žซํผ]] 
-  * [[wiki:it:ai:services:genspark|Genspark AI ์›น์‚ฌ์ดํŠธ ์ƒ์„ฑ]] 
-  * [[wiki:it:ai:services:perplexity|Perplexity AI ๊ฒ€์ƒ‰]] 
-  * [[wiki:it:ai:services:dokuwiki_ai|DokuWiki AI ๊ธฐ๋Šฅ]]  
wiki/it/ai/services/cursor.1753749425.txt.gz ยท ๋งˆ์ง€๋ง‰์œผ๋กœ ์ˆ˜์ •๋จ: ์ €์ž 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki