프로그래밍
NestJS: 현대적인 Node.js 백엔드 개발의 게임 체인저
모듈러 아키텍처와 타입스크립트의 만남, NestJS로 백엔드 개발을 혁신하다Node.js는 지난 몇 년간 백엔드 개발에서 큰 인기를 끌어온 플랫폼입니다. 많은 프레임워크들이 Node.js 위에서 발전해왔지만, 그중에서도 특히 눈에 띄는 것이 있습니다. 바로 NestJS입니다. NestJS는 현대적인 웹 애플리케이션 개발을 위한 게임 체인저로 평가받고 있으며, 타입스크립트와 모듈러 아키텍처를 활용하여 코드의 유지보수성과 확장성을 대폭 향상시켰습니다. 이 글에서는 NestJS가 왜 백엔드 개발자들 사이에서 주목받고 있는지, 어떤 장점을 제공하는지에 대해 자세히 알아보겠습니다.1. NestJS 소개공식 홈페이지: https://nestjs.com/ NestJS - A progressive Node.js fra..
Flet: Python으로 만드는 멀티플랫폼 앱의 혁명
Flet 소개Flet은 Python 개발자들에게 새로운 가능성을 열어주는 혁신적인 프레임워크입니다. 이 프레임워크를 사용하면 웹, 데스크톱, 모바일 애플리케이션을 단일 Python 코드베이스로 개발할 수 있습니다. Flet은 Flutter를 기반으로 하여 아름답고 반응성 높은 사용자 인터페이스를 제공하면서도, Python의 간결함과 생산성을 유지합니다.공식 홈페이지: https://flet.dev Build multi-platform apps in Python powered by Flutter | FletBuild multi-platform apps in Python powered by Flutter.flet.dev공식 문서: https://flet.dev/docs/ Introduction | FletW..
pyenv: 파이썬 버전 관리의 마법사
pyenv란 무엇인가?pyenv는 파이썬 개발자들의 필수 도구로 자리잡은 강력한 버전 관리 시스템입니다. 이 도구를 사용하면 여러 버전의 파이썬을 시스템에 설치하고 프로젝트별로 다른 버전을 사용할 수 있습니다. pyenv를 통해 개발자들은 파이썬 버전 충돌 문제에서 해방되어 더욱 효율적인 개발 환경을 구축할 수 있습니다.왜 pyenv를 사용해야 할까?pyenv를 사용해야 하는 이유는 다음과 같습니다:버전 충돌 방지: 여러 프로젝트에서 서로 다른 파이썬 버전을 요구할 때 발생할 수 있는 충돌을 예방합니다.프로젝트별 환경 설정: 각 프로젝트에 적합한 파이썬 버전을 쉽게 설정하고 관리할 수 있습니다.시스템 파이썬 보호: 시스템에 설치된 기본 파이썬을 건드리지 않고 다양한 버전을 사용할 수 있습니다.간편한 버전..
C 언어와 C++ 의 차이
안녕하세요 피터입니다. 많은 분들이 C 언어를 배우고 나서 C++ 를 배우기 시작 할 때 어려움을 겪곤 합니다. 제 주변에도 그런 분들이 있어서 어떤 점 때문에 어려운지 물어봤더니 어디서부터 어떻게 시작해야 될 지 모르겠다는 답변이 가장 많았습니다. 어쩌면 당연한 일인지도 모르겠습니다. 비교적 간단한 문법 체계를 갖고 있는 C 언어와 달리 C++ 은 굉장히 다양한 패러다임이 녹아있으며 방대한 스케일을 자랑하는 언어이기 때문입니다. (물론 그렇다고 해서 C 언어가 가볍고 만만한 프로그래밍 언어라는 말은 아닙니다. 오히려 그 반대로 처음엔 쉬워보이지만 알면 알수록 어려워지는 언어입니다. C 언어는 역사가 긴 만큼 괴수 분들이 많이 서식하고 계십니다 :D) 그래서 우선은 C 언어와 C++ 두 언어가 어떤 부분..
[bash 쉘 스크립트] 변수 할당(assignment)과 치환(substitution)
개요 안녕하세요 피터입니다. 오늘은 Bash 쉘 스크립트에서 사용되는 변수(variable)에 대해서 설명드리겠습니다. 변수는 모든 프로그래밍 언어와 스크립트 언어에서 핵심적인 기능을 합니다. 데이터를 조작하기 위한 연산이나 문자열을 파싱(parsing)하는데 있어서 없어서는 안될 꼭 필요한 존재입니다. 변수는 단지 데이터를 담고 있는 메모리상의 위치를 나타내는데 어떤 변수에 어떤 데이터가 담겨있는지 쉽게 알 수 있게 이름을 붙여놓은 것입니다. 변수 할당(assignment) 데이터를 담는 공간인 변수를 사용하려면 먼저 변수를 할당(assignment) 해야 합니다. 변수는 할당 연산자 = 를 사용해서 할당합니다. a=100 b="hello" 주의 해야 할 것은 할당 연산자 앞뒤로 공백이 없어야 한다는 ..
[C#] 프로젝트에 log4net 적용하기
개요 안녕하세요 피터입니다. 오늘은 C# 프로젝트에 log4net 라이브러리를 통해 로그 시스템(log system)을 적용하는 방법을 알려드리겠습니다. 프로젝트를 진행하다 보면 로그 시스템이 절실할 때가 있습니다. 특정 상황에서 에러가 발생하는데 어떤 절차에 의해 실행하면 에러가 발생하는지 추적이 어려울 때가 바로 그런 경우입니다. 또한 개발을 진행할 때에는 세부적이고 자세한 로그를 기록하는 것이 도움이 되지만 실제로 사용자가 프로그램을 쓸 때에는 중요한 내용만 기록하는 것이 더 도움이 됩니다. 이런 이유로 상황에 따라 어떤 수준의 로그를 기록할지 손쉽게 설정할 수 있는 로그 시스템이 필요합니다. C# 프로젝트에서는 log4net 라이브러리를 통해 이러한 기능을 쉽게 구현 할 수 있습니다. 로그시스템 ..
[Vim] 대소문자 변경하기
개요 안녕하세요 피터입니다. 오늘은 vim에서 대문자 또는 소문자로 일괄적으로 변경하는 방법에 대해서 알려드리겠습니다. 전체적으로 대문자 또는 소문자로 변경하는 것도 가능하지만 대문자인 것은 소문자로 소문자인 것은 대문자로 반전(inverse)하는 것도 가능합니다. vim 에서 대소문자를 변경하는 방법은 크게 두 가지가 있습니다. 첫 번째는 일반 모드에서 명령어를 입력해서 변경하는 방법이고, 두 번째는 비주얼 모드에서 영역을 지정하고 변경하는 방법입니다. 일반 모드 일반 모드에서 대소문자를 변경하는 명령어는 아래와 같습니다. Command Description Examples gU 에 해당하는 범위의 문자를 대문자로 변경 gUU : 현재 라인 전체 대문자로 변경 gUw : 현재 커서부터 단어의 끝까지 대..
[Python] 아나콘다(Anaconda) 설치하기
개요 안녕하세요 피터입니다. 오늘은 아나콘다(Anaconda)를 설치하는 방법을 알려드리겠습니다. 아나콘다를 이용하면 파이썬에서 다양한 가상환경을 손쉽게 구축할 수 있기 때문에 파이썬으로 개발 및 테스트를 진행하는데 있어서 효율을 극대화 할 수 있습니다. 아나콘다는 여러가지 수학 및 과학 패키지(Package)들을 기본적으로 포함하고 있는 파이썬 배포판입니다. 때문에 머신러닝(Machine learning)이나 데이터 분석(Data analysis)를 하고자 한다면 여러 가지 귀찮은 일들을 줄일 수 있게 해줍니다. 파이썬은 많은 개발자들이 공동으로 개발하는 오픈소스 프로젝트도 많이 진행되며 라이브러리들이 매우 빈번하게 업데이트가 됩니다. 각각의 라이브러리들은 저마다 다양한 의존성(Dependency)을 ..