분류 전체보기

Go Lang으로 간단하게 CRUD REST API 만들기 1편 1. 개요 간단한 CRUD API를 만들어봅시다, 제 경우 Go version은 1.20으로 개발했습니다. HTTP 요청을 핸들링하기 위한 라이브러리로 gorilla/mux를 사용합니다. 사용 이유는 18.2k의 달하는 스타와 오랜 기간 안정성이 테스트되었기에 실무에서 쓰일만한 라이브러리라 판단하여 사용했습니다. - Go 세팅이 되어있고 HTTP Method를 이해하고 있다는 가정하에 진행됩니다. - 해당 포스트에서는 데이터베이스를 사용하지 않고 메모리를 통해서 데이터를 관리할 것입니다. - 모든 코드는 main.go에서만 작업됩니다. - 1편에서는 GET을 다루고 2편에서 나머지를 다룹니다. ※ REST API : 인터넷을 통하여 컴퓨터 ..
JetBrains IDE에서 Postman과 같이 HTTP 요청을 툴단에서 할 수 있습니다. 1. .http 확장자로 파일을 만든다. ex) api.http 2. 요청 주소 값을 내용으로 넣는다 http://localhost:4000/ 3. 실행하면 하단 탭으로 확인이 가능하다 . 4. 여러개 주소에 요청을 보내거나 POST로 요청을 보내고 싶으면 아래와 같이 보내면 됨 해더 정보가는 아래와 같이 수정 가능 http://localhost:4000/ ### http://localhost:4000/blocks ### POST http://localhost:4000/blocks Content-Type: application/json { "data":"Data for my block" }
· Java/Spring
프로젝트 개발 중에 테스팅을 운영 디비와 같은 걸로 할 경우 더미 데이터가 추가되는 데 이를 방지하기 위해 스프링에서는 메모리 디비를 사용할 수 있게 해 줍니다. ※ 메모리 DB(In-Memory Database, Main Memory DBMS) : 비휘발성이 아닌 휘발성인 주 메모리에 데이터를 기록하는 방법으로 데이터 조회가 빠르다는 장점을 지니지만 휘발성이므로 전원이 꺼질 시 데이터가 삭제됨, 주로 임시 데이터나 로그인 세션에 이용 DBMS 제품군에서 옵션으로 제공하기도 함 MySQL/MariaDB에서는 MEMORY 엔진이 예시 스프링은 테스트 폴더 위치에 resources 폴더가 있으면 그 파일을 우선적으로 사용하게 되는 데(없으면 main 폴더) 이때 src/test/resources/applic..
· Java/Spring
아래와 같이 디비 생성시 에러가 나올 경우 1. 해당 경로에 디비명.mv.db를 생성한다. (ex : jpabookshop.mv.db) 2. h2를 재실행한다 3. 잘 되는 걸 확인한다.
· PHP/Laravel
Larvel로 만든 프로젝트를 배포할 때 "/"로 시작하는 라우팅은 정상 작동하지만 그 외의 주소로 이동 시 라라벨의 404가 아닌 아파치의 기본 404가 나올 때 적용할 수 있는 방법입니다. 원인은 간단하게 아파치 설정에서 .haccess 파일로 오버라이딩 여부를 허용 안 해서 그렇습니다. 우선 아파치의 httpd.conf 파일을 찾은 후 열어보시면 아래와 같은 형태의 태그로 감싸진 부분을 찾을 수 있습니다, 저 같은 경우 /var/www/html로 사이트를 배포하기에 아래와 같은 코드가 보입니다. # Further relax access to the default document root: # # Possible values for the Options directive are "None", "All..
도커에서 아래와 같이 apm을 전부 정상적으로 설치했음에도 데이터베이스가 연결 안될 경우 아래 방법을 적용하면 됩니다., define( 'DB_NAME', 'myapp' ); /** MySQL database username */ define( 'DB_USER', 'root' ); /** MySQL database password */ define( 'DB_PASSWORD', 'secret' ); /** MySQL hostname */ define( 'DB_HOST', 'localhost' ); /** Database Charset to use in creating database tables. */ define( 'DB_CHARSET', 'utf8' ); /** The Database Collate t..
· Mac os
외장 ssd를 맥 미니에 추가하며 위와 같이 바탕화면에 추가되게 되는데 이는 터미널에서 아래 명령어를 통해 접근이 가능합니다 cd /Volumes 그러면 기존 Macintosh HD와 sub_ssd의 폴더가 나옵니다.
windows 기준 alt + shift + s로 settings에 진입 후 Editor - Live Templates "+" 버튼으로 Template 그룹 생성과 Live Template 생성이 가능 아래 예시는 그룹을 Custom으로 Live Template는 Abbrevation : tdd, Description : 테스트 코드 생성 (내용 추가) 만약 Custom Group이 없으면 + 버튼을 눌러 그룹을 추가하면 됩니다. Tempalte text는 출력 테스트 마지막으로 chnage를 눌러 사용할 파일 종류(확장자) 선택 이제 ok를 하면 본문 코딩 중 "tdd" 입력 후 탭을 누르면 Template Text가 출력됩니다.
· PHP/Laravel
DI, IOC란 DI, IOC 단어는 스프링과 라라벨 같은 웹 프레임워크를 하다 보면 알아야 하는 개념 중 하나입니다. 해당 포스트에서는 DI, IOC 개념을 알 수 있습니다. DI Dependency Injection(의존성 주입)은 객체의 의존 관계를 외부에서 주입한다. 여기서 의존 관계는 아래 코드로 알 수 있습니다. class AClass{ function test(){ echo "test"; } } class BClass{ private $internalAClass; public function __construct(AClass $internalAClass){ $this->internalAClass = $internalAClass; } public function getATest(){ echo ..
· Git/GItLab
GitHub와 같은 Git 저장소 둘 다 분산 버전 관리 도구 git(깃)이라는 오픈소스를 기반으로 하고 있기 때문에 기본 구성과 인터페이스가 유사합니다. 그리고 같은 Git이기에 branch, remote, repository, staging 등은 똑같습니다. 개발에 적용 시 같은 방법으로 개발 진행이 가능합니다. Github와 다른 점 GitHub GitLab 비용 무료 유료 버전과 무료 버전이 존재 유료 버전은 아래 기능을 추가로 제공 - 고급 보안 기능 : 보안 감사, 유출 방지, 데이터 감사 등 - 통합 CI/CD 파이프라인 : 내부 서버에서의 CI/CD 파이프라인 구축 - 고급 권한 관리 : 사용자 권한 부여 및 관리 기능 - 고급 분석 및 모니터링 기능 : 성능 분석, 사용자 양상 분석 등 ..
DSeung
'분류 전체보기' 카테고리의 글 목록 (9 Page)