
얼마전 유튜브에서 우연히 SOLID 원칙에 대한 개념을 알게되었다. 흥미가 생겨서 좀 더 자세히 알아본다.SOLID 원칙이란객체 지향 프로그래밍에서 설계 원칙을 나타내는 다섯 가지 기본 원칙의 앞글자를 따서 만들어진 머니모닉이다. 이 원칙들은 소프트웨어를 더 견고하고 유지보수 가능하게 만들기 위한 지침이다.1. 단일 책임 원칙 (Single Responsibility Principle, SRP)각 클래스는 하나의 책임만 가져야 한다. 즉, 클래스는 하나의 변경 이유만 가져야 한다. 이를 통해 클래스가 간결하고 이해하기 쉬워지며, 변경 시 다른 부분에 미치는 영향을 최소화할 수 있다.2. 개방-폐쇄 원칙 (Open-Closed Principle, OCP)소프트웨어 엔터티(클래스, 모듈, 함수 등)는 확장 ..

오늘은 내가 Visual에서 사용하는 두가지 Snippet을 소개하려고 한다. snippet이란 간단하게 말해서 IDE에서 제공하는 자동작성을 직접 만드는 것이라고 생각하면 좋다. VSCode에서 Snippets을 설정하는 방법cmd + shift + p를 눌러 snippets를 검색한다.Snippets: Configure User Snippets 선택Snippet을 지정할 파일 타입을 선택(내 경우에는 typescriptreact.json 선택)Snippet 입력 후 사용 VSCode Snippets 구문"[snippet 이름(기능에는 아무 영향이 없고 구분하기 위한 이름)]" : { /** 해당 Snippet을 호출하기 위한 단축어 */ "prefix": "anything", "bod..
관리자 권한이 막혀있을 때, Node.jS과 Git 설치하는 방법1. Git 설치윈도우 키 + R 키를 입력하여 실행창을 띄운다.`powershell` 을 입력하여 실행시킨다.시작에서 PowerShell에서 다음 명령어를 실행하여 Git을 설치한다.winget install --id Git.Git -e --source winget설치가 완료되면, 정상적으로 Git이 설치되었는지 다음 명령어로 확인한다.git --version2. fnm 설치관리자 권한이 없을 경우, NodeJS 패키지 설치파일로 설치를 할 수 없고, Powershell의 chocolatey 또한 설치가 불가능하다. 그래서 FNM을 설치하고 이를 통해 Node.js를 설치한다.FNM이란 Fast Node Manager의 약자로 nvm과 마..

요즘 간단한 API를 개발하고 있는데 두 테이블이 sourcekey와 foreignkey로 연결되어있다. 이를 연결하여 sequelize 구문을 동작시키는데 이 연결 메소드가 여러가지라는 것을 이번에 알게되어 정리한다.Sequelize에서 belongsTo, hasMany, hasOne은 데이터베이스에서 관계를 표현하는 방법을 나타내는 Sequelize의 메소드이다. 각각의 메소드는 다음과 같은 역할을 한다belongsTo다른 모델에 속하는 관계를 정의예를 들어, “A 모델은 B 모델에 속한다”와 같은 관계를 설정할 때 사용아래 예시는 Post 모델이 User 모델에 속하는 관계를 설정Post.belongsTo(User, { foreignKey: 'userId' })hasMany한 모델이 다른 모델을 여..

최근 채용 시장에서 Flux 아키텍처에 대한 이해도를 원하는 곳이 생기고 있다. 기본적으로 Modern Web Frontend 개발에서 MVVM이 아키텍처가 대세였었는데 새로운 트렌드를 발견하여 정리한다.Flux 아키텍처의 특징단방향 데이터 흐름: 애플리케이션에서 데이터의 흐름이 일방향으로만 진행된다. 사용자의 입력이나 이벤트가 발생하면 이를 처리하기 위해 데이터가 단방향으로 흐른다.중앙 집중화된 스토어: 애플리케이션의 상태는 중앙 집중화된 스토어에 저장된다. 상태 변경은 액션(Action)을 통해 스토어에 전달되고, 스토어가 변경되면 이를 뷰에 알리고 다시 렌더링된다.뷰와 비즈니스 로직의 분리: Flux 아키텍처에서는 뷰와 비즈니스 로직이 분리되어 있다. 뷰는 단순히 상태에 따라 렌더링되며, 비즈니스 ..

최근 UI 개발 실무를 수행하면서 주관대로 이미지의 사이즈가 크거나 배경에 사용되는 이미지는 @x2, @x3의 PNG(Portable Network Graphics) 이미지로, 아이콘등의 작은 이미지만을 SVG(Scalable Vector Graphics) 이미지로 구현을 했었다.SVG 이미지는 벡터 이미지로 크기가 변해도 이미지의 손상이 없지만 용량이 커 리소스를 많이 사용하게 한다는 생각 때문이었는데, 이에 대해 자세히 정리해본다. 1. PNG (Portable Network Graphics)손실 없는 압축을 사용하는 비트맵 이미지 형식투명도를 지원하므로 투명한 이미지나 아이콘 등을 표현할 때 유용하다.장단점투명도를 지원하고, 압축이 손실 없이 이루어지기 때문에 이미지의 질을 유지로고, 아이콘, 일반..

최근 실무에서 Batch 처럼 스케줄링 작업을 수정하는 일이 생겼다. Spring Batch는 경험이 있지만, 현 환경은 Express를 사용하는 백엔드 환경으로 Cron을 사용하고 있어 Cron의 특징을 이번 기회에 정리해보려고 한다.Cron이란Node.js에서 주기적인 작업을 실행하기 위한 모듈 중 하나로 Unix 및 Unix 계열 시스템에서 주기적인 작업을 예약하기 위해 사용되는 시스템 작업 스케줄러의 이름이다. Node.js의 cron 모듈은 이러한 스케줄된 작업을 JavaScript 코드로 구현할 수 있게 해준다.예시const cron = require('cron'); // CronJob 객체 생성 const job = new cron.CronJob('*/1 * * * *', function..

Mac으로 개발을 하고있자면 갑자기 .DS_Store 라는 파일이 git source control pannel에 나타난다..DS_Store 파일이란?macOS에서 생성되는 숨김 파일 .각 디렉토리(폴더)의 메타데이터를 저장하는 데 사용.Finder(파일 탐색기)에서 폴더를 열었을 때, 해당 폴더의 보기 설정과 아이콘 배치, 창 위치 등의 정보를 저장.Finder를 통해 폴더를 열 때 macOS가 자동으로 생성하며, 기본적으로 숨김 파일이라 Finder에서 보이지 않도록 설정되어 있다. 따라서 .gitignore에 추가하여 source control 하지않도록 처리하면 된다.
- Total
- Today
- Yesterday