프로그래밍 지식
-
토비의 스프링 6 - 이해와 원리프로그래밍 지식/spring MVC study 2024. 10. 9. 21:12
스프링 개발 시작하기스프링 프로젝트더라도 스프링 부트를 통해 셋업하면 용이: 스프링을 사용하게 되면 스프링 버전과 각각의 의존성 버전이 호환 가능한지 확인해야 함스프링 버전과 스프링부트의 버전은 다르니 유의PaymentService 개발프로젝트 생성 시 유의점자바 버전 확인Gradle JVM 확인돈과 관련된 data type은 부동수소점(double, float)쓰면 안된다. BigDecimal을 쓰는 것이 보편적객체에 데이터가 들어가는 시점이 생성된 시점보다 한참 멀거나 여러 시점이 아니라면 (특히 생성되자마자 세팅된다면) setter보다 생성자를 만드는 것이 좋다. (IntelliJ에서 command + N)잭슨을 사용하여 json 데이터 처리 가능 (build.gradle에 spring-boot-s..
-
Docker 컨테이너 빌드업프로그래밍 지식/Infra 2024. 9. 28. 18:42
출처 :https://fastcampus.co.kr/dev_online_devops_kubernetes 실무까지 한 번에 끝내는 DevOps를 위한 Docker & Kubernetes feat. aws EKS | 패스트캠퍼스130시간 이상의 커리큘럼을 통해 온프레미스 환경 & AWS EKS 환경까지 실무 환경을 그대로 잡은 국내 유일 Kubernetes 강의! 300가지가 넘는 실습을 통해 강의 하나로 개발자부터 Devops, SRE, 각종 인프라fastcampus.co.kr01.컨테이너 가상화 이해가상 머신 vs Docker가상머신 : HostOS 위에서 Hypervisor 위에서 별도의 GuestOS 위에서 동작 (하드웨어 수준의 가상화)Docekr : HostOS 위에서 엔진을 통해 동작 (커널을 ..
-
SAA 준비프로그래밍 지식/Infra 2024. 8. 6. 01:07
AWS DataSyncAWS DataSync는 데이터를 자동으로 AWS 클라우드로 전송할 수 있는 관리형 서비스입니다. DataSync를 사용하면 대량의 파일과 객체를 온프레미스 스토리지 시스템에서 AWS 스토리지 서비스(Amazon S3, Amazon EFS, Amazon FSx)로 쉽게 전송할 수 있습니다. DataSync는 다음과 같은 기능을 제공합니다:고속 데이터 전송: 네트워크를 최적화하여 빠른 데이터 전송 속도를 제공합니다.자동화된 데이터 복제: 주기적인 데이터 전송 작업을 예약할 수 있어, 지속적인 데이터 동기화가 가능합니다.파일 권한 및 속성 유지: NTFS 권한과 같은 파일 시스템 속성을 유지하면서 데이터를 전송할 수 있습니다.간편한 설치 및 관리: 온프레미스에 DataSync 에이전트를..
-
디자인 패턴 정리 - 01. 생성 패턴프로그래밍 지식/디자인 패턴 2024. 6. 3. 22:50
생성 패턴Simple Factory 패턴: 객체를 생성하는 팩토리를 따로 두는 것, 객체 생성 로직을 클라이언트 코드에서 분리장점 : 복잡한 오브젝트의 생성 과정을 클라이언트가 직접 다룰 필요 없음어떤 상황에서는 Object를 생성하는 과정이 복잡할 수 있다.오브젝트 생성 과정은 모두 팩토리 안에 숨겨놓고 클라이언트는 "테슬라 모델3 만들어주세요" "테슬라 모델Y 만들어주세요"를 요청하면 팩토리가 필요한 오브젝트를 생성하여 return#include #include #include class Car {public: virtual ~Car() = default; virtual void brake() = 0;};class Model3 : public Car {public: void brake..
-
CI/CD를 구축하며프로그래밍 지식/Infra 2024. 1. 9. 21:55
다음에 CI/CD를 구축할 때 도움이 되고자 시행 착오를 적는다. 시행 착오 기존 코드가 완전한 코드라고 생각하지 말자. 서버 자체를 백업하고 비교하라 수동 배포가 진행되었던 서버 내 부산물들의 형상 관리가 되지 않았다. 바람직한 SW는 소스 코드 기준으로 빌드/배포 되어야 한다. 하지만 온프레미스 방식의 배포를 하는 경우 기존 서버에 특정 바이너리만 바꿔 끼우는 형식으로 작업이 진행되기에 바이너리를 제외한 다른 구성요소들은 형상 관리가 되지 않았다.(예를 들면 tomcat 등) 업데이트가 자주 되지 않는 스크립트의 경우 GIt으로 부터 복사되지 않고 사용되었다. 심지어는 Git에 형상이 존재하는 스크립트도 서버의 내용과 달랐다. 수동 배포에 쓰였던 빌드/배포용 서버에 서버 종속적인 내용이 존재했다. C..
-
CI/CD 구축 프로젝트프로그래밍 지식/Infra 2023. 12. 14. 01:12
형상 관리를 위한 팀이 별도 존재했지만, 우리 팀을 위한 CI/CD를 별도 구축했다. CI/CD 적용 배경 수동 빌드/배포로 인한 반복적인 수작업 및 Human Error 가능성 존재 빌드 산출물 및 릴리즈 버전 파악의 어려움 정적 검증이 타 팀을 통해 이뤄짐으로써 느린 반영, 검증 대기 문제 CI/CD 목표 빌드에서 배포까지의 과정 자동화 -> Human Error 최소화, 빠른 피드백 루프 Bamboo에서 빌드 history 파악 및 Release 관리, 복구 기능 -> 소프트웨어 품질 확보 CI/CD 파이프라인 내 자체 정적검증(SonarQube), 동적검증(UnitTest) Quality Gate 적용 -> 소프트웨어 품질 확보 CI/CD Tool CI/CD Tool : Bamboo Version..
-
Spring Boot/React Docker 이미지 만들기프로그래밍 지식/Infra 2023. 7. 16. 21:35
들어가며Mac에서의 Docker 설치 방법 및 리액트/스프링부트 빌드 결과물을 띄울 수 있는 간단한 스크립트를 만들어보았다.Docker 설치Mac Docker 설치https://kanoos-stu.tistory.com/22 Docker Destop 을 클릭하고 자신의 os 버전에 맞게 선택해 설치를 한다. 설치가 완료되면 mac 의경우 " data-og-host="kanoos-stu.tistory.com" data-og-source-url="https://kanoos-stu.tistory.com/22" data-og-url="https://kanoos-stu.tistory.com/22" data-og-image="https://scrap.kakaocdn.net/dn/n8r6R/hyTlbfpqhl/7aVa..