본문 바로가기 메뉴 바로가기

시카로의 공부방

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

시카로의 공부방

검색하기 폼
  • 분류 전체보기 (440)
    • 프로젝트 (20)
      • kaggle & Dacon (43)
      • 에이블스쿨 (21)
    • 프로그래밍 공부 (5)
      • 컴퓨터 구조 & 운영체제 (15)
      • 자료구조 (3)
      • 알고리즘 (10)
      • 데이터베이스 & SQL (18)
      • SpringBoot (9)
      • 에이블스쿨 (86)
      • 버그일지(QA) (7)
    • 데이터 사이언스 & 로봇 (125)
      • 강화학습(RL) (4)
      • ML 및 DL 관련 이론 (53)
      • 데이터 분석 (24)
      • ROS (44)
    • 코딩테스트 (70)
      • python (4)
      • C++ (1)
      • 백준 (59)
      • 프로그래머스 (3)
      • softeer (0)
    • 서비스 기획 (1)
    • 인생일지 (5)
  • 방명록

프로그래밍 공부/SpringBoot (9)
[SpringBoot] 테스트 코드

테스트 코드는 작성한 코드가 의도대로 동작되는지, 예상하지 못한 문제가 없는지 확인하기 위해 작성하는 코드이다.테스트 코드는 개발 공부를 할 때 미루는 경우가 많지만, 유지보수와 기능 작동에 신경 쓸 필요 없는 환경이 되므로 공부해보는 걸 추천한다. 테스트 코드는 기본적으로 프로젝트에서 src > test에 존재하고 있다. 다양한 패턴이 있는데, 그 중에서도 given-when-then 패턴을 알아보자. given-when-then 패턴given-when-then 패턴은 테스트 코드를 세 단계로 구분해서 작성하는 방식이다.1. given - 테스트 실행 준비 단계2. when - 테스트 진행 단계3. then - 테스트 결과 검증 단계. 예를 들어 새로운 변수를 저장하는 코드를 테스트한다면 다음과 같다...

프로그래밍 공부/SpringBoot 2024. 11. 25. 21:31
[SpringBoot] 스프링 부트 3 구조 이해하기

이제 본격적으로 스프링 부트 애플리케이션을 만들어 봅시다. 전체적인 구조구조는 기본적으로 이렇게 됩니다. 웹 브라우저가 /test라는 get을 요청하면,TestController 클래스는 외부 요청을 분기하여 적절한 작업을 처리하고 값을 다시 반환(TestService)합니다.이는 여느 API의 Request / Response 작업과 같습니다. 그와 붙어있는 TestService 클래스는 데이터베이스 조직이나 비즈니스 로직을 메서드 기반으로 처리하게 됩니다.이것은 요청이 어떤 요청인지 판단하고, 그 요청에 맞는 작업을 실행하는 작업입니다. 이때 만약 Member 클래스가 있다면, MemberRepository 인터페이스가 실제 테이블과 매핑합니다.여기서 매핑된다는 건 객체와 테이블 간 연결되어 실제 데..

프로그래밍 공부/SpringBoot 2024. 11. 8. 15:04
[CI/CD] Github Action 이용해서 무중단 CI/CD 구현하기 (3)

이제 본격적으로 Github Action 사용한다. 그 전에 docker compose 파일을 만들어야 하기에, 만약 컨테이너 안에 접속되어 있다면 exit를 이용해 ubuntu 서버로 나가자. vim docker-compose-blue.ymlyml 파일은 다음과 같이 작성한다. version: '3.8'services: blue: image: docker 레포지토리 사용자 이름/live_server:latest container_name: blue ports: - "8080:8080" environment: - PROFILES=blue - ENV=blue그리고 green을 위해서 하나 더 만든다.cp로 copy한다. cp docker-compose-bl..

프로그래밍 공부/SpringBoot 2024. 9. 13. 15:47
[CI/CD] Github Action 이용해서 무중단 CI/CD 구현하기 (2)

이번 시간에는 지난 글에 이어 nginx의 세팅을 바꿔준다.nginx의 세팅을 바꿔주려면 일단 nginx 컨테이너 안에 접속을 해야 한다. 다음과 같은 명령어를 실행한다.docker exec -it nginxserver bash-it는 옵션이다. bash 환경에서 표준 입출력을 하기 위해서 설정해준다. 이러면 앞의 설정이 Container ID로 변경된다. ls를 입력하면 etc 폴더가 있는 것이 보일 것이다.cd etc/ + Tab을 2번 누르면 폴더의 목록을 볼 수 있다.cd etc/ + Tab 이 중에서 우리는 nginx/ 폴더를 볼 수 있고, 해당 폴더로 간다. 그리고 conf.d를 붙여 경로로 이동한다.cd etc/nginx/conf.d이제 ls를 보면 default.conf 파일이 하나 보이는..

프로그래밍 공부/SpringBoot 2024. 9. 12. 21:30
[CI/CD] Github Action 이용해서 무중단 CI/CD 구현하기 (1)

가정 - 클라우드에서 EC2나 이런 인스턴스를 할당 받고, 유일한 공인 IP가 있다는 가정 하에 진행한다.(AWS의 경우 탄력적 IP 설정) 시작하기 전 팁 : 해당 클라우드에 쉽게 접속하려면 .sh 파일을 만들어서 접속하면 된다. ssh ~/.ssh/sikaro.pem ubuntu@공인 ip혹은ssh -i ~/.ssh/sikaro.pem root@공인 ip# ssh {pem키 경로/pem키 이름.pem} {사용자명@공인 ip} 이때 ~/경로는 윈도우의 경우 사용자 > user의 경로가 잡힌다.해당 경로에 pem 키를 넣어주면 된다. 그런 뒤에 sh 파일을 우클릭 > 터미널에서 열기 하면 실행이 된다.안된다면 git bash를 열고 .sh 파일을 드래그해서 올리면 명령어가 올라간다. 이제 본격적으로 들어..

프로그래밍 공부/SpringBoot 2024. 9. 12. 20:43
[SpringBoot] 텍스트 블록, formatted() 메서드, 레코드,패턴 매칭 등

자바 17버전부터 추가된 문법들입니다. 텍스트 블록여러 줄의 텍스트를 작성할 때 """로 감싼 텍스트를 사용해서 여러 줄의 텍스트를 표현할 수 있습니다. String query17 = """ SELECT * FROM "items" WHERE "status" = "SALE" ORDER BY "price"; """; formatted() 메서드값을 파싱하기 위해서 사용합니다. 해당 기능이 없었을 때 아주 불편했다고 합니다.(확실히 다른 언어에 비교해서 힘들었을 것 같긴 합니다.)String textBlock17 ="""{ "id : %d "name" : %s,}""".formatted(2, "juice") 레코드레코드는 데이터 전달을 목적으로 하는 객체를 더 빠르고 간편하게 만듭니다.레..

프로그래밍 공부/SpringBoot 2024. 8. 26. 17:03
이전 1 2 다음
이전 다음

Blog is powered by Tistory / Designed by Tistory

티스토리툴바