분류 전체보기 231

HTTP 메서드를 구별해서 사용하는 이유: RESTful API 설계의 중요성

RESTful API를 설계할 때, 흔히 사용하는 HTTP 메서드에는 GET, POST, PUT, DELETE가 있다. 이들 메서드를 적절히 구별해서 사용하는 것이 API의 명확성, 보안성, 확장성 등을 높이는 데 매우 중요하다. 이번 포스팅에서는 왜 HTTP 메서드를 구별해서 사용해야 하는지 그 이유를 살펴보고자 한다. 1. 명확성 및 가독성의미 부여: 각 HTTP 메서드는 특정한 작업을 나타낸다. 예를 들어, `GET` 은 데이터를 조회, `POST`는 데이터를 생성, `PUT`은 데이터를 갱신, `DELETE` 는 데이터를 삭제하는 작업을 나타낸다. 이를 통해 API 사용자와 개발자가 요청의 목적을 쉽게 이해할 수 있다. 문서화: 다양한 메서드를 사용하면 API 문서화가 더 명확해진다. 사용자들은 ..

[React] 프로젝트에서 절대 경로로 모듈 Import하기

React 프로젝트가 커지면서 상대 경로로 모듈을 임포트하는 것은 가독성을 떨어트리고 관리하기 어려워질 수 있다. 상대 경로 대신 절대 경로를 사용하면 코드가 더 깔끔하고 유지 보수가 쉬워진다.   위의 예시처럼 상대 경로로 Import하여 관리하던 파일들의 경로가 바뀌기라도 한다면..?일일히 맞춰서 바꿔줘야하는 굉장히 수고스러움을 겪을 수 있다.   이 포스트에서는 React 프로젝트에서 절대 경로로 설정하고 사용하는 방법을 설명한다.  1. `jsconfig.json` 또는 `tsconfig.json`파일 생성프로젝트의 루트 디렉토리에 `jsconfig.json` 또는 `tsconfig.json` 파일을 생성한다. TypeScript를 사용하는 경우 `tsconfig.json` 파일을 사용할 수 있다..

SPA Framework/React 2024.06.29

[MSSQL] 테이블 내 Auto Increment(SERIAL Number) 컬럼 만들기

MSSQL에서 테이블을 생성할 때, Postgresql에서 SERIAL 타입과 같이 자동으로 값이 1씩 증가되어 입력되는 컬럼을 생성해보자.    1. 테이블 생성 혹은 수정 시, 설정할 컬럼의 Data Type을 숫자형(ex: int)로 지정해준다.  2. 해당 컬럼을 클릭하여, Column Properties에서 "Identity Specification" 항목을 찾는다   3. 해당 값 중 Is Identity 항목을 Yes로 수정하고, 증가값(Increment), 초기값(Seed)을 지정해준다.   (기본값은 사진과 같이 Identity Increment: 1, Identity Seed: 1이다.)   이렇게 설정하고 저장하면 적용된다.바로 테스트해보자.    확인해보면 다음과 같이 자동으로 증가..

DataBase/MSSQL 2024.06.02

시니어 프론트엔드 개발자가 전하는 37가지 팁

이 포스팅에서는 프론트엔드 개발자라면 참고할만한 중요한 팁 37가지를 잘 정리한 포스팅이 있어서, 영어 원문을 번역하여 가져오게 되었다.(원문 사이트: https://dev.to/_ndeyefatoudiop/37-tips-from-a-senior-frontend-developer-251b)  프론트엔드 개발을 하는데에 있어서 좋은 양분이 되는 내용이 될 것이다.1. 기본을 마스터하자흔들리는 땅 위에 지어진 집은 작은 문제에도 무너진다.마찬가지로, 강력한 기본 사항이 없는 경우JavaScript 프레임워크로 어려움을 겪을 것이다.익숙하지 않은 첫 번째 문제에 막히게 될 것이다.일부 문제 사이의 공통 주제를 파악하지 못할 것이다.따라서 프론트엔드 개발자로서 발전하고 싶다면 먼저 HTML, CSS, JavaS..

FrontEnd 2024.05.28

[MSSQL] 컬럼 수정시 ”Saving changes is not permitted.” 에러가 뜰경우

1. 상황 MSSQL에서 테이블을 수정하려고 하면 아래의 에러가 나오는 경우가 있다. MSSQL 공식 홈페이지에 따르면, 이는 다음과 같은 경우에 발생한다. 컬럼의 널 허용 옵션을 수정할 경우 컬럼의 정렬 순서를 변경할 경우 컬럼의 데이터 타입을 변경할 경우 새로운 컬럼을 추가했을 경우 테이블의 filegroup이나 해당 text/image 데이터를 변경할 경우 테이블의 메타데이터 구조를 변경하기 위해 테이블을 변경한 다음 테이블을 저장하는 경우 이러한 변경 사항에 따라 테이블을 다시 만들어야 한다. 이로 인해 테이블을 다시 생성하는 동안 메타 데이터가 손실되고 데이터가 직접 손실될 수 있기에, 위를 옵션으로 선택할 수 있게 둔 후, 기본적으로 막아준다고 한다. (하지만 필자가 현업에서 위 옵션을 비활성..

DataBase/MSSQL 2024.04.13

[MSSQL] 특정 Table을 사용하는 Procedure 조회하기

특정 테이블을 사용하는 모든 Stored Procedure를 찾는 일은 데이터베이스 유지 보수 및 의존성 분석에 중요하다.   SQL Server에서 특정 Table를 사용하는 Procedure를 검색해보자. 아래의 쿼리로 검색을 하면 된다.SELECT A.name, B.name AS 'schema', create_date, modify_dateFROM sys.procedures AINNER JOIN sys.schemas B ON A.schema_id = B.schema_idWHERE OBJECT_DEFINITION(OBJECT_ID) LIKE '%%' 실행하면 위의 에 준 텍스트가 포함된 모든 procedure 목록들이 출력된다.(프로시저 이름과, 스키마명, 생성날짜와 업데이트된 날짜를 표시한다.) 이..

DataBase/MSSQL 2024.04.13

[MSSQL] 대량의 Data를 DB에 삽입하는 방법

1. 개요 매일 자정마다 수많은 데이터를 가진 Table을 원격 DB에서 끌어다 와서 관리하는 DB로 복제하는 작업을 수행해야 했다. 하지만 매일 자정마다 복제하는 데이터의 크기가 자그마치 10~20만개 수준이었고, 이를 일일히 insert하면 약 16시간이라는 절망적인 퍼포먼스를 낳게 되어, 개선 방안을 강구하게 되었다. 2. 1차 개선 방법 우선은 현재 관리하는 DB와 원격 DB의 데이터들 중에 동일한 데이터들은 복제를 하지 않아도 된다. 이를 이용하여 원격 DB에서 가져온 데이터와 현재 관리하는 DB에서 가져온 데이터를 대조하여, 코드상에서 완전히 동일한 레코드는 C#코드에서 필터링 하는 로직을 추가하였다. 하지만 이는 추가적인 시간 소모를 불러일으켰다. 복제할 데이터들과 원본 데이터가 각각 10만..

DataBase/MSSQL 2024.03.31

(Docker) 알고 있어야 할 상위 10가지 Docker 명령

이 포스팅에서는 docker를 사용하는 개발자라면 꼭 알아야 할 docker 명령어들을 잘 정리한 포스팅이 있어서, 영어 원문을 번역하여 가져오게 되었다. (원문 사이트: https://dev.to/hasanelsherbiny/top-10-docker-commands-you-need-to-learn-47cj) Docker 환경을 구축하기 이전에 Docker 의 특성에 대해 이해하는 내용이 될 것이다. 1 - Docker Run docker run 명령은 Docker 이미지에서 컨테이너를 시작하는 게이트웨이이다. 이미지 이름, 옵션 및 런타임 구성을 지정할 수 있다. $docker run -d -p 8080:80 nginx -d: 분리 모드(백그라운드)에서 컨테이너를 실행한다. -p: 호스트의 포트를 컨테..

Server/Docker 2024.02.16

도커와 Containerization

dev.to사이트를 둘러보다가 Docker 관련하여 일목요연하게 설명되어있는 포스팅이 있어서, 영어 원문을 번역하여 가져오게 되었다(원문 사이트: https://dev.to/hasanelsherbiny/docker-and-containerization-4p7d) Docker 환경을 구축하기 이전에 Docker 의 특성에 대해 이해하는 내용이 될 것이다. 현대 소프트웨어 개발 세계에서 Docker는 애플리케이션이 개발, 배포 및 관리되는 방식을 혁신하는 획기적인 기술로 등장했다. 이 포스팅에서는 Docker의 개념, 이점, 구성 요소 및 소프트웨어 개발 환경에 대한 깊은 영향을 자세히 살펴본다. Containerization이 무엇인가? Containerization을 사용하면 개발자가 애플리케이션을 캡슐..

Server/Docker 2024.02.14

[CSS] 웹 개발에서 피해야 할 10가지 공통 CSS 실수

이 포스팅은 dev.to사이트를 둘러보다가, 참고하면 좋을만한 CSS관련 포스팅이 있어서 영어 원문에서 번역하여 작성하였다. (원본 포스팅) 대부분의 웹 개발자가 하는 일반적인 실수들과 이를 식별하고 피하는 것이 더 나은 웹 개발과 유용한 코드 작성을 도울 수 있는 방법에 대한 내용이다. 1. Shorthand 사용 CSS의 Shorthand는 여러 속성의 값을 동시에 설정할 수 있는 CSS 속성 그룹이다. 이 값들은 공백으로 구분된다. 예를 들어, border 속성은 margin-top, margin-right, margin-left 및 margin-bottom 속성을 대표하는 Shorthand이다. // Shorthand를 사용하지 않는 경우 .example { margin-top: 10px; mar..

FrontEnd/CSS 2024.01.18
반응형