2024๋…„ 4์›”์˜ ๋ชฉํ‘œ

๊ธฐ๋ณธ์ ์œผ๋กœ ์ด์ง์ด๋‹ค 4์›” ์ค‘์ˆœ ๋‚ด์ผ๋ฐฐ์›€์บ ํ”„ ํŠœํ„ฐ๋ง์ด ์‹œ์ž‘๋˜์–ด ๊ทธ ์ „๊นŒ์ง€ ์ข€ ๊ณต๋ถ€๋ฅผ ๋‹น๊ฒจ๋†“๊ณ  ์‹ถ๋‹ค. ์ง€๊ธˆ์€ ๊ตต์งํ•˜๊ฒŒ 4๊ฐ€์ง€ ๋ชฉํ‘œ๋ฅผ ์žก๊ณ  ์žˆ๋‹ค. DB ๊ณต๋ถ€ - Real MySql 8.0 ๋‘ ๊ถŒ ๋‹ค ์ฝ๊ธฐ Network ๊ณต๋ถ€ - ์ •๋ง ํ•„์š”ํ•œ ๋งŒํผ๋งŒ, ํ•ญ์ƒ ๋„คํŠธ์›Œํฌ๋Š” ์ง€๋ฃจํ•ดโ€ฆ ์šด์˜์ฒด์ œ๋“ฑ์˜ ๊ณต๋ถ€ - ์›๋ž˜๋Š” ์šด์˜์ฒด์ œ ์•„์ฃผ ์‰ฌ์šด ์„ธ๊ฐ€์ง€ ์ด์•ผ๊ธฐ๋ฅผ ์ฝ์œผ๋ ค๊ณ  ํ–ˆ๋Š”๋ฐ, ๊ทธ๋ž˜๋„ ์•ฝ๊ฐ„์˜ ๋ณด์ƒ์ด ํ•„์š” ํ•  ๊ฒƒ ๊ฐ™์•„์„œ, ์ƒ๋Œ€์ ์œผ๋กœ ์žฌ๋ฏธ์žˆ๋Š” ๋Ÿฌ์ŠคํŠธ๋ฅผ ๊ณต๋ถ€ํ•˜๋ฉด์„œ ๋งˆ์ฃผํ•˜๋Š” ๊ฐœ๋…๋“ค์„ ์กฐ๊ธˆ ๋” ์ž์„ธํ•˜๊ฒŒ ์ •๋ฆฌํ•˜๋Š” ๊ฒƒ์œผ๋กœ ํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ์ฝ”ํ…Œ ๊ณต๋ถ€ - ์•„๋ฌด๋ž˜๋„ ๋งŒ 3๋…„์ฐจ์ด๋‹ค๋ณด๋‹ˆ ์ฝ”ํ…Œ๋ฅผ ์š”๊ตฌํ•˜๋Š” ํšŒ์‚ฌ๋“ค์ด ๋” ๋งŽ์•„์„œ ๋ˆˆ์—ฌ๊ฒจ๋ณธ ์œ ๋ฐ๋ฏธ ๊ฐ•์˜๋ฅผ ๋ณผ๊นŒ ํ•œ๋‹ค....

April 4, 2024

๋Ÿฌ์ŠคํŠธ ๊ณต์‹ ๊ฐ€์ด๋“œ 3์žฅ ์ •๋ฆฌ

3 Common Programming Concepts ์ด๋ฒˆ ์žฅ์—์„œ๋Š” ๋Ÿฌ์ŠคํŠธ์˜ ๊ธฐ๋ณธ์ ์ธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฐœ๋…๋“ค์„ ๋‹ค๋ฃฌ๋‹ค, ๊ฐ€์žฅ ํŠน์ง•์ ์ธ ๋ถ€๋ถ„์ด๋ผ๋ฉด ๋‹ค๋ฅธ ์–ธ์–ด๋ฅผ ๋Œ€๋น„ํ•ด์„œ ๋Ÿฌ์ŠคํŠธ๊ฐ€ ์–ด๋–ค ๋ถ€๋ถ„์ด ๋‹ค๋ฅธ์ง€ ์œ„์ฃผ๋กœ ์„ค๋ช…ํ•˜๋Š” ๊ฐ€์žฅ ํฌ๊ฒŒ ๋‘๋“œ๋Ÿฌ์ง„๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. mzํ•œ ์–ธ์–ด๋‹ต๊ฒŒ ์˜ˆ์•ฝ์–ด๊ฐ€ ์˜ˆ์•ฝ๋˜์–ด ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค ใ…‹ใ…‹(์•„์ง ์˜ˆ์•ฝ์–ด๋กœ์จ ๊ธฐ๋Šฅํ•˜์ง€๋Š” ์•Š์ง€๋งŒ, ๋ฏธ๋ž˜์˜ ์˜ˆ์•ฝ์–ด๊ฐ€ ๋  ์ˆ˜ ์žˆ์–ด ์˜ˆ์•ฝํ•ด๋‘” keword) 3.1 Variables and Mutability ๋ณ€์ˆ˜๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ถˆ๋ณ€์ด๋ฉฐ, ์ด๋ ‡๊ฒŒ ๋œ๊ฒŒ ๋Ÿฌ์ŠคํŠธ์˜ nudge๋ผ๊ณ  ํ•œ๋‹ค. src/main.rs fn main() { let x = 5; println!("The value of x is: {}", x); x = 6; println!...

April 1, 2024

Vim์ด ๋Š๋ฆฐ ๊ฒฝ์šฐ Trouble Shootings

:profile start profile.log :profile func * :profile file * " At this point do slow actions :profile pause :noautocmd qall! ์ถœ์ฒ˜ : stackoverflow ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด profile.log ํŒŒ์ผ์ด ์ƒ์„ฑ๋œ๋‹ค. ๋‚˜์˜ ๊ฒฝ์šฐ๋Š” copilot ๊ด€๋ จ ๋กœ๊ทธ๊ฐ€ ๋งŽ์•„ ํšŒ์‚ฌ ์ปดํ“จํ„ฐ์—์„œ๋Š” ๋ธŒ๋žœ์น˜๋ฅผ ์ƒˆ๋กœ ํŒŒ์„œ, ํšŒ์‚ฌ์—์„œ๋Š” copilot์„ disable ์‹œ์ผœ์„œ ํ•ด๊ฒฐํ–ˆ๋‹ค. ์ง‘๊ฐ€์„œ ๋กœ๊ทธ๋ฅผ ์ž์„ธํžˆ ๋ด์•ผ๊ฒ ๋‹ค

April 1, 2024

ํšŒ์‚ฌ ์ปดํ“จํ„ฐ ์„ธํŒ… ๊ด€๋ จ

Hello World!

April 1, 2024

๋Ÿฌ์ŠคํŠธ ๊ณต์‹ ๊ฐ€์ด๋“œ 2์žฅ ์ •๋ฆฌ

2. Programming a Guessing Game ๊ฐ„๋‹จํ•œ ์ˆซ์ž ๋งž์ถ”๋Š” ๊ฒŒ์ž„์„ ํ†ตํ•ด ๋Ÿฌ์ŠคํŠธ์˜ ๊ธฐ๋ณธ์ ์ธ ๋ฌธ๋ฒ•๊ณผ ๊ธฐ๋Šฅ์„ ์ตํžˆ๋Š” ์˜ˆ์ œ, ์ฒ˜์Œ ๋ฌธ๋ฒ•์„ ๋ฐฐ์šฐ๋Š” ์ž…์žฅ์—์„œ ์ƒ๊ฐ๋ณด๋‹ค ๋‹ค๋ฃฐ ๋‚ด์šฉ์ด ๋งŽ์•˜์—ˆ๋˜ ๊ธฐ์–ต์ด ๋‚œ๋‹ค. Setting Up a New Project ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ $ cargo new guessing_game $ cd guessing_game Processing a Guess src/main.rs use std::io; // io ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ฐ€์ ธ์˜จ๋‹ค. fn main() { println!("Guess the number!"); println!("Please input your guess."); let mut guess = String::new(); // ๋นˆ ๋ฌธ์ž์—ด์„ ์ƒ์„ฑํ•œ๋‹ค. io::stdin().read_line(&mut guess) // ์‚ฌ์šฉ์ž ์ž…๋ ฅ์„ ๋ฐ›์•„ guess ๋ณ€์ˆ˜์— ์ €์žฅํ•œ๋‹ค....

March 31, 2024

๋Ÿฌ์ŠคํŠธ ๊ณต์‹ ๊ฐ€์ด๋“œ 1์žฅ ์ •๋ฆฌ

1.1. Installation ๋Ÿฌ์ŠคํŠธ ์„ค์น˜์— ๋Œ€ํ•œ ์•„์ฃผ ๊ฐ„๋‹จํ•œ ๊ฐ€์ด๋“œ. ๊ฐ„๋‹จํ•œ ๋‚ด์šฉ์ด๋ผ ๋”ฑํžˆ ์ •๋ฆฌํ•  ๋‚ด์šฉ์€ ์—†๋‹ค. 1.2. Hello, World! ๋Ÿฌ์ŠคํŠธ๋กœ Hello, World! ์ถœ๋ ฅํ•˜๊ธฐ. ํŠน์ง•์ ์ธ ๋‚ด์šฉ์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค. ๊ณต์‹ ๊ฐ€์ด๋“œ์˜ Helloworld ์„น์…˜ ์ฒซ์ค„์— ๋‹ค๋ฅธ ์–ธ์–ด์— ๋Œ€ํ•œ ์ดํ•ด๋„๋ฅผ ์ „์ œํ•˜๊ณ  ์žˆ๋‹ค. ์‹ค์ œ๋กœ ๊ณต์‹ ๊ฐ€์ด๋“œ ๋ฌธ์„œ ๋‚ด๋‚ด ๋Ÿฌ์ŠคํŠธ์˜ ํŠน์ง•์„ ๋‹ค๋ฅธ ์–ธ์–ด์˜ ํŠน์ง•๊ณผ ๊ฑฐ์šธ์ฒ˜๋Ÿผ ๋Œ€๋น„ํ•˜๋ฉฐ ์„ค๋ช…ํ•œ๋‹ค. ํŒŒ์ผ๋ช… ์ปจ๋ฒค์…˜์€ ์Šค๋„ค์ดํฌ ์ผ€์ด์Šค๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. (๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ฑธ ์ฒซ์žฅ์— ์„ค๋ช…ํ•œ๋‹ค.) rustc์™€ ๊ฐ™์€ ์ปดํŒŒ์ผ ์ปค๋งจ๋“œ๋„ ์ฒซ์žฅ์— ์•Œ๋ ค์ค€๋‹ค. fn main() { println!("Hello, World!"); } ๋‹ค์–‘ํ•œ ์–ธ์–ด๋ฅผ ๋ฐฐ์›Œ์˜ค๋ฉด์„œ ๋Š๋ผ๋Š”๊ฑด, Hello, World!...

March 31, 2024

The Rust Programming Language

๋Ÿฌ์ŠคํŠธ ๊ณต์‹ ๊ฐ€์ด๋“œ ๋ฌธ์„œ ์ •๋ฆฌ The Rust Programming Language ์œ„์˜ ๋Ÿฌ์ŠคํŠธ ๊ณต์‹ ๊ฐ€์ด๋“œ ๋ฌธ์„œ๋ฅผ ๋ณด๊ณ  ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค, ๋ณต์Šต์„ ์œ„ํ•ด ๊ณต์‹ ๊ฐ€์ด๋“œ๋ฅผ ํ•œ ๋ฒˆ ๋‹ค์‹œ ์ •๋ฆฌํ•˜๊ณ  ์‹œ์ž‘ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ง‘ํ•ฉ์ธ๊ฐ€ [[Getting-Started]] : ๋Ÿฌ์ŠคํŠธ ์„ค์น˜ ๋ฐ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ์— ๋Œ€ํ•œ ๊ฐ€์ด๋“œ [[Programming-a-Guessing-Game]] : ๊ฐ„๋‹จํ•œ ์ˆซ์ž ๋งž์ถ”๊ธฐ ๊ฒŒ์ž„์„ ๋งŒ๋“ค์–ด๋ณด๋ฉฐ ๋Ÿฌ์ŠคํŠธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ์ดˆ ๋ฌธ๋ฒ• ๋ฐ ๊ฐœ๋… ์ตํžˆ๊ธฐ [[Common-Programming-Concepts]] : ๋Ÿฌ์ŠคํŠธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ์ดˆ ๋ฌธ๋ฒ• ๋ฐ ๊ฐœ๋… [[Understanding-Ownership]] : ๋Ÿฌ์ŠคํŠธ์˜ ์†Œ์œ ๊ถŒ ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ์ดํ•ด [[burrow-checker]] : rust-in-action ๋‚ด์šฉ [[Using-Structs-to-Structure-Related-Data]] : ๊ตฌ์กฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ด€๋ จ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐํ™”ํ•˜๊ธฐ [[Enums-and-Pattern-Matching]] : ์—ด๊ฑฐํ˜•๊ณผ ํŒจํ„ด ๋งค์นญ [[Managing-Growing-Projects-with-Packages-Crates-and-Modules]] : ํŒจํ‚ค์ง€, ํฌ๋ ˆ์ดํŠธ, ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ”„๋กœ์ ํŠธ ํ™•์žฅํ•˜๊ธฐ [[Common-Collections]] : ์ปฌ๋ ‰์…˜ ์‚ฌ์šฉํ•˜๊ธฐ [[Error-Handling]] : ์—๋Ÿฌ ์ฒ˜๋ฆฌํ•˜๊ธฐ

March 31, 2024

Neovim Copilot ๊ด€๋ จ ์„ค์ • ์ด์Šˆ

Neovim Copilot ๊ด€๋ จ ์„ค์ • ์ด์Šˆ Copilot์„ importํ•˜๊ณ  ์ž˜ ์“ฐ๊ณ  ์žˆ๋Š”๋ฐ, Vimwiki์™€ Tabํ‚ค ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•œ๋‹ค. Tabํ‚ค๋ฅผ ๋ˆ„๋ฅด๋ฉด, Copilot์ด ์ž๋™์™„์„ฑ์„ ์ œ๊ณตํ•˜๋Š”๋ฐ, Vimwiki์—์„œ๋Š” Tabํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋“ค์—ฌ์“ฐ๊ธฐ๋ฅผ ํ•œ๋‹ค. ๋ญ”๊ฐ€ Vimwiki์˜ ํƒญ์ด Copilot์˜ ํƒญ๋ณด๋‹ค ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์€ ๊ฒƒ ๊ฐ™๋‹ค. ์ฒ˜์Œ์—๋Š” Copilot์˜ ์„ค์ •์„ ๋ณ€๊ฒฝํ•˜์—ฌ ํ•ด๊ฒฐํ•˜๋ ค๊ณ  ํ–ˆ์ง€๋งŒ Vimwiki์˜ ์„ค์ •์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์ด ๋” ํŽธํ•  ๊ฒƒ ๊ฐ™๋‹ค. ํ•ด๊ฒฐ ๋‹คํ–‰ํžˆ๋„ Vimwiki Repository์— ์ด์Šˆ๊ฐ€ ์˜ฌ๋ผ์™€ ์žˆ์—ˆ๋‹ค. Vimwiki Issue return { 'vimwiki/vimwiki', init = function() -- .. end, config = function() vim.g.vimwiki_key_mappings = { table_mappings = 0, } vim....

March 31, 2024

ToDoListโœ…

์ด๋ฏธ์ง€ ํ˜ธ์ŠคํŒ… ์•Œ์•„๋ณด๊ธฐ ๊ตฌ๊ธ€ ๊ฒ€์ƒ‰ ๋…ธ์ถœ ๊ด€๋ จ ๊ฒ€์ƒ‰, ํ…Œ์ŠคํŒ… ์ง•ํ–‰ํ•˜๊ธฐ [v] ๋น”์„ ํ†ตํ•ด์„œ ๊ด„ํ˜ธ๋ฅผ ํŽธํ•˜๊ฒŒ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ํฌ์ŠคํŒ… ์ž‘์„ฑํ•˜๊ธฐ ํšŒ๊ณ  ๋ฌธ์„œ ์ž‘์„ฑํ•˜๊ธฐ

March 30, 2024

์‚ฌ๊ณ ์‹ถ์€ ์žฅ๋น„ List

๋ชจ๋‹ˆํ„ฐ๐Ÿ–ฅ๏ธ Lg ๋“€์–ผ์—… ๋ชจ๋‹ˆํ„ฐ : ๊ผญ ์‚ฌ๊ณ ์‹ถ์€ ๋ชจ๋‹ˆํ„ฐ, ์ตœ์ข…์ ์ธ ์กฐํ•ฉ์€ ์ด๊ฒƒ๊ณผ ํ”ผ๋ฒ—์šฉ 27์ธ์น˜ ๋ชจ๋‹ˆํ„ฐ๋กœ ๋งˆ๋ฌด๋ฆฌ ํ•˜๊ณ  ์‹ถ๋‹ค. ํ‚ค๋ณด๋“œโŒจ๏ธ HHKB ํ‚ค๋ณด๋“œ : ๋ฏธ๋‹ˆ๋ฐฐ์—ด์ด ์ข‹์œผ๋ฉด์„œ๋„ ๋ฐฑํ‹ฑ์ด ๊ฑฑ์ •๋˜๊ธดํ•œ๋‹ค. ํ‚ค ์ปค์Šคํ…€์ด ์–ด๋Š์ •๋„์ธ์ง€ ํ™•์ธํ•˜๊ณ  ๊ตฌ๋งคํ•  ๊ฒƒ ๊ฐ™๋‹ค

March 30, 2024