Blog

2025.04.13

영혼이 ν˜Όλ―Έν•΄μ§ˆ μ •λ„λ‘œ λ‚  ν₯λΆ„μ‹œν‚¨ μ–Έμ–΄λ“€

λˆ„κ΅¬λ‚˜ μ‚΄λ©΄μ„œ β€˜μ™„μ „ κ°œλ―Έμ³€λ‹€β€™ 싢을 μ •λ„λ‘œ μ‹¬κ°νžˆ λΉ μ Έλ“œλŠ” 무언가가 μžˆμ„ κ±°μ—μš”. ν”„λ‘œκ·Έλž˜λ°μ˜ μž¬λ―Έμ—λ„ μ‚¬λžŒμ΄ 맀우 깊게 빠질 수 μžˆμ–΄μš”. 성취감이 κ°•λ ¬ν•˜κ±°λ“ μš”. 그런데 λ‹¨μˆœνžˆ μ½”λ“œλ₯Ό μ§œλŠ” 재미λ₯Ό λ„˜μ–΄, κ·Έ μ–Έμ–΄κ°€ λ„ˆλ¬΄ ν₯λ―Έλ‘œμ™€ μΌμƒμƒν™œμ΄ 망가지고 영혼이 ν˜Όλ―Έν•΄μ§ˆ μ •λ„λ‘œ λͺΉμ‹œ ν₯λΆ„ν•˜κ³  λͺ°μž…ν–ˆλ˜ 세월듀이 μžˆμ—ˆμ£ . μ˜€λŠ˜μ€ μ €λ₯Ό 그토둝 μ‚¬λ‘œμž‘μ•˜λ˜ μ–Έμ–΄λ“€, μžλ°”, 루비, C, 그리고 ν˜„μž¬μ§„ν–‰ν˜•μΈ Ada/SPARK에 λŒ€ν•œ 이야기λ₯Ό ν’€μ–΄λ³ΌκΉŒ ν•©λ‹ˆλ‹€.


2025.04.12

FreeBSDμ—μ„œ pf 둜그 ν™•μΈν•˜κΈ°

FreeBSDμ—μ„œ λ„€νŠΈμ›Œν¬ λ³΄μ•ˆκ³Ό νŠΈλž˜ν”½ λͺ¨λ‹ˆν„°λ§μ€ 맀우 μ€‘μš”ν•©λ‹ˆλ‹€. pf (packet filter)λŠ” κ°•λ ₯ν•œ λ³΄μ•ˆ 필터링을 μ œκ³΅ν•  뿐만 μ•„λ‹ˆλΌ, λ‘œκΉ… κΈ°λŠ₯을 톡해 μ–΄λ–€ νŠΈλž˜ν”½μ΄ ν—ˆμš©λ˜κ³  μ°¨λ‹¨λ˜μ—ˆλŠ”μ§€λ₯Ό μžμ„Έν•˜κ²Œ κΈ°λ‘ν•©λ‹ˆλ‹€. 이번 κΈ€μ—μ„œλŠ” pf 둜그λ₯Ό ν™•μΈν•˜λŠ” 방법을 λ‹¨κ³„λ³„λ‘œ μ†Œκ°œν•©λ‹ˆλ‹€.


2025.04.12

Ada ν”„λ‘œκ·Έλž¨μ˜ κΈ°λ³Έ ꡬ쑰와 핡심 μš”μ†Œ

Ada ν”„λ‘œκ·Έλž¨μ΄ 일반적으둜 μ–΄λ–€ ꡬ쑰λ₯Ό κ°€μ§€λ©°, μ–΄λ–€ 핡심 μš”μ†Œλ“€λ‘œ κ΅¬μ„±λ˜λŠ”μ§€ μ’€ 더 μžμ„Ένžˆ μ‚΄νŽ΄λ³΄κ² μŠ΅λ‹ˆλ‹€. 이 κΈ°λ³Έ ꡬ쑰λ₯Ό μ΄ν•΄ν•˜λŠ” 것은 더 λ³΅μž‘ν•˜κ³  체계적인 Ada ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜κΈ° μœ„ν•œ ν•„μˆ˜μ μΈ λ‹¨κ³„μž…λ‹ˆλ‹€.


2025.04.12

C둜 ν•˜λŠ” OOP

C μ–Έμ–΄λŠ” 절차 μ§€ν–₯의 λŒ€ν‘œμ£Όμžμ§€λ§Œ, 객체 μ§€ν–₯ ν”„λ‘œκ·Έλž˜λ°(OOP)의 κ°•λ ₯ν•œ κ°œλ…λ“€μ„ Cμ—μ„œλ„ κ΅¬ν˜„ν•΄λ³Ό 수 μžˆμ„κΉŒμš”? λ†€λžκ²Œλ„, 창의적인 μ ‘κ·Όκ³Ό μ•½κ°„μ˜ 기법을 톡해 C μ–Έμ–΄μ—μ„œλ„ OOP의 핡심 κ°œλ…λ“€μ„ κ΅¬ν˜„ν•˜λŠ” 것이 κ°€λŠ₯ν•©λ‹ˆλ‹€. 이 κΈ€μ—μ„œλŠ” C μ–Έμ–΄λ‘œ OOP μŠ€νƒ€μΌμ˜ 섀계λ₯Ό μ–΄λ–»κ²Œ μ‹œλ„ν•  수 μžˆλŠ”μ§€, 그리고 κ·Έ κ³Όμ •μ—μ„œ μ€‘μš”ν•œ 객체 μ§€ν–₯의 핡심 원칙듀을 μ–΄λ–»κ²Œ κ΅¬ν˜„ν•  수 μžˆλŠ”μ§€ μ‚΄νŽ΄λ΄…λ‹ˆλ‹€.


2025.04.11

러슀트 μ†Œμœ κΆŒ, 정말 μƒˆλ‘œμš΄ κ°œλ…μΌκΉŒ?

졜근 러슀트(Rust) μ–Έμ–΄κ°€ λ©”λͺ¨λ¦¬ μ•ˆμ „μ„±μ΄λΌλŠ” κ°•λ ₯ν•œ 무기둜 λ§Žμ€ μ£Όλͺ©μ„ λ°›κ³  μžˆμŠ΅λ‹ˆλ‹€. 특히 러슀트의 핡심 κΈ°λŠ₯인 β€˜μ†Œμœ κΆŒ(ownership)β€˜ μ‹œμŠ€ν…œμ€, 컴파일 μ‹œμ μ— 이쀑 ν•΄μ œ(double free), λŒ•κΈ€λ§ 포인터(dangling pointer)와 같은 λ©”λͺ¨λ¦¬ 였λ₯˜λ₯Ό μ›μ²œμ μœΌλ‘œ λ°©μ§€ν•˜κ³  λŒ€λΆ€λΆ„μ˜ λ©”λͺ¨λ¦¬ λˆ„μˆ˜(memory leak) λ°œμƒ κ°€λŠ₯성을 크게 μ€„μ—¬μ£ΌλŠ” λŠ₯λ ₯ 덕뢄에 ν˜μ‹ μ μœΌλ‘œ 평가받곀 ν•©λ‹ˆλ‹€.


2025.04.11

첫 번째 Ada μ†ŒμŠ€μ½”λ“œ μž‘μ„±ν•˜κΈ°

ν™˜μ˜ν•©λ‹ˆλ‹€! 이 κΈ€μ—μ„œλŠ” Ada ν”„λ‘œκ·Έλž˜λ°μ„ μ‹œμž‘ν•˜λŠ” κ°€μž₯ κ°„λ‹¨ν•œ 방법을 μ•ˆλ‚΄ν•©λ‹ˆλ‹€. λ°”λ‘œ β€œHello, World!” μ†ŒμŠ€μ½”λ“œλ₯Ό μž‘μ„±ν•˜κ³  μ‹€ν–‰ν•΄ 보며, Ada의 핡심 κ°œλ…κ³Ό μ†ŒμŠ€μ½”λ“œ μž‘μ„± 방법을 μ΅ν˜€λ΄…μ‹œλ‹€. 이 첫 λ°œκ±ΈμŒμ€ μ•žμœΌλ‘œ 더 λ³΅μž‘ν•œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ κ΅¬ν˜„ν•˜κΈ° μœ„ν•œ μ€‘μš”ν•œ μ‹œμž‘μ μ΄ 될 κ²ƒμž…λ‹ˆλ‹€.


2025.04.11

Ada 개발 ν™˜κ²½ ꡬ좕

Ada ν”„λ‘œκ·Έλž˜λ°μ„ μ‹œμž‘ν•˜κΈ° μœ„ν•΄μ„œλŠ” μ μ ˆν•œ 개발 ν™˜κ²½μ„ κ΅¬μΆ•ν•˜λŠ” 것이 ν•„μˆ˜μ μž…λ‹ˆλ‹€. 이 과정은 Ada μ½”λ“œλ₯Ό μž‘μ„±ν•˜κ³ , μ»΄νŒŒμΌν•˜λ©°, μ‹€ν–‰ν•˜λŠ” 데 ν•„μš”ν•œ 도ꡬ듀을 μ„€μΉ˜ν•˜κ³  μ„€μ •ν•˜λŠ” 것을 ν¬ν•¨ν•©λ‹ˆλ‹€. 이 κΈ€μ—μ„œλŠ” Ada 개발 ν™˜κ²½ κ΅¬μΆ•μ˜ μ£Όμš” 단계와 일반적으둜 μ‚¬μš©λ˜λŠ” 도ꡬ듀을 μ†Œκ°œν•©λ‹ˆλ‹€.


2025.04.10

FreeBSD μ„œλ²„μ— λ°±μ—… λ””μŠ€ν¬ μΆ”κ°€ 및 μžλ™ λ°±μ—… μ„€μ •

μ•ˆλ…•ν•˜μ„Έμš”! FreeBSD μ„œλ²„λ₯Ό μš΄μ˜ν•  λ•Œ 데이터 백업은 선택이 μ•„λ‹Œ ν•„μˆ˜μž…λ‹ˆλ‹€. 예기치 μ•Šμ€ 문제둜 데이터λ₯Ό μžƒλŠ” κ²ƒλ§ŒνΌ λ”μ°ν•œ 일은 μ—†μ£ . μ˜€λŠ˜μ€ μ„œλ²„μ— μƒˆ λ””μŠ€ν¬λ₯Ό μΆ”κ°€ν•˜κ³ , FreeBSD의 κΈ°λ³Έ 파일 μ‹œμŠ€ν…œμΈ UFS둜 ν¬λ§·ν•œ λ’€, rsync와 cron을 μ΄μš©ν•΄ μ€‘μš” 디렉토리λ₯Ό 맀일 μžλ™μœΌλ‘œ λ°±μ—…ν•˜λŠ” 과정을 μ²˜μŒλΆ€ν„° λκΉŒμ§€ 정리해보렀고 ν•©λ‹ˆλ‹€.


2025.04.09

phpinfo()둜 ν•œλˆˆμ— ν™•μΈν•˜λŠ” 방법

μ›Ή κ°œλ°œμ„ μœ„ν•΄ 둜컬 ν™˜κ²½μ— PHPλ₯Ό μ„€μΉ˜ν–ˆμ§€λ§Œ, μ œλŒ€λ‘œ μž‘λ™ν•˜λŠ”μ§€, μ›ν•˜λŠ” 섀정은 μ μš©λ˜μ—ˆλŠ”μ§€ κΆκΈˆν•  λ•Œκ°€ λ§ŽμœΌμ‹œμ£ ? PHP 버전을 ν™•μΈν•˜κ±°λ‚˜, νŠΉμ • ν™•μž₯ λͺ¨λ“ˆμ΄ λ‘œλ“œλ˜μ—ˆλŠ”μ§€, memory_limit 같은 섀정값은 μ–Όλ§ˆμΈμ§€ 등을 μ•Œμ•„μ•Ό ν•  λ•Œκ°€ μžˆμŠ΅λ‹ˆλ‹€. 이럴 λ•Œ μ•„μ£Ό μœ μš©ν•˜κ²Œ μ‚¬μš©ν•  수 μžˆλŠ” 것이 λ°”λ‘œ PHP λ‚΄μž₯ ν•¨μˆ˜μΈ phpinfo()μž…λ‹ˆλ‹€. μ˜€λŠ˜μ€ phpinfo()λ₯Ό μ΄μš©ν•΄ 둜컬 PHP ν™˜κ²½μ˜ λͺ¨λ“  것을 속속듀이 ν™•μΈν•˜λŠ” κ°„λ‹¨ν•œ 방법을 μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€.


2025.04.09

μ›Œλ“œν”„λ ˆμŠ€ β†’ λ“œλ£¨νŒ” β†’ μ›Œλ“œν”„λ ˆμŠ€

μ—νœ΄, λ§ν–ˆμŠ΅λ‹ˆλ‹€β€¦