일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- mybatis
- JPA
- Java
- Git
- aws
- Security
- error
- 코틀린
- Spring
- Eclipse
- 에러
- IntelliJ
- db
- 알고리즘
- 시큐리티
- 스프링
- 함수
- Vue
- 오라클
- JavaScript
- oracle
- jquery
- 생성
- 방법
- 자바
- kotlin
- GitHub
- 넥사크로
- 쿼리
- 프로그래머스
- Today
- Total
목록전체 글 (401)
송민준의 개발노트
https://kafka.apache.org/downloads Apache Kafka Apache Kafka: A Distributed Streaming Platform. kafka.apache.org 1. 카프카 공식 사이트 들어가서 원하는 버전의 kafka 다운 2. 다운 받은 tgz 파일을 원하는 경로에 zip 풀기 - 세팅 관련 파일들은 config 폴더 - 실행 파일들은 bin 폴더, window는 bin/windows 3. 아래는 기본적인 실행 명령어 예시 cd C:\Work\kafka_2.12-3.4.0\bin\windows // 쥬키퍼 서버 zookeeper-server-start.bat ../../config/zookeeper.properties // 카프카 서버(프로듀서) kafka-s..
보호되어 있는 글입니다.
공식 사이트 1. Spring Cloud Config 구성 Spring Cloud Config는 분산 시스템에서 외부화된 구성을 위한 서버 측 및 클라이언트 측 지원을 제공한다. 구성 서버를 사용하면 모든 환경에서 애플리케이션의 외부 속성을 관리할 수 있는 중앙 장소가 있다. 클라이언트와 서버 모두에 대한 개념은 Spring Environment 및 PropertySource 추상화에 동일하게 매핑되므로 Spring 애플리케이션과 매우 잘 맞지만 모든 언어로 실행되는 모든 애플리케이션에서 사용할 수 있다. 애플리케이션이 배포 파이프라인을 통해 개발에서 테스트 및 프로덕션으로 이동할 때 이러한 환경 간의 구성을 관리하고 애플리케이션이 마이그레이션할 때 실행하는 데 필요한 모든 것을 갖추고 있는지 확인할 수..
여러 프로젝트를 관리함에 따라 공통적으로 쓰이는 클래스들을 한번에 관리할 필요성이 느껴졌다. nexus 솔루션이 대중적으로 많이 쓰인다고는 하나 개인적으로 사용하고 AWS 프리티어에서 사용하기엔 사양이 부족해서 좀 과하다 싶었다. 그래서 대안으로 github을 이용하는 방법을 찾아서 세팅을 해보았다! 방법은 아래와 같다. 1. 프로젝트를 생성한다. ( 여기선 maven ) 2. 공통적으로 사용할 파일 생성 3. maven deploy 실행 - 로컬 파일 기반으로 생성하는 것이라 파일경로는 상대적이다. local_maven_repo='C:\Users\dkask\IdeaProjects\camping-msa\common' # Local Maven Repository의 snapshots 폴더로 deploy 실행..
바벨이란? Babel은 개발자가 최신 버전의 JavaScript를 사용하여 코드를 작성할 수 있도록 하는 JavaScript 컴파일러이며 해당 코드를 이전 브라우저와 호환되는 버전으로 컴파일합니다. 최신 JavaScript를 작성하고 모든 곳에서 실행할 수 있도록 도와줍니다. -> 바벨로 es6+ 스크립트들을 es5 스크립트로 트랜스파일링 함. 배포 전에 트랜스파일링도 가능하고 태그에 babel을 적용해서 브라우저에서 트랜스파일링도 가능함. * webpack 기반 프로젝트면 깔끔하게 처리가 가능한데 레거시 프론트면 별도 처리가 필요(ex. jsp) * 프로덕션에서는 성능상 배포 전에 작업하는게 좋음. 폴리필이란? 폴리필은 최신 코드를 실행할 수 있도록 대상 환경(예: 이전 브라우저)에서 누락된 필요한 기..
원인 JPA로 개발하던 와중 연관관계 설정 후 테스트를 해보니 에러가 발생했다. MultipleBagFetchException이 발생했는데 XToMany 관계를 설정하는데 있어 Eager Fetch를 사용할 경우 2개 이상의 List가 있으면 해당 Exception 이 발생한다. (Lazy로 설정하더라도 fetch join을 실행할 경우 한번에 가져오니 Eager로 봄) 원인을 분석해보니 Hibernate는 내부적으로 컬렉션을 참조하고 있는 대상을 추적하고 관리하기 위해 List를 PersistentBag이라는 객체로 래핑하여 한다. 그런데 엔티티에서 동시에 두개 이상의 Bag을 가져오면 카디션곱이 발생하고 Hibernate는 올바른 항목에 올바른 열을 매핑할 수 없다고 한다. 그래서 MultipleBa..
Nginx란? - 가볍고 높은 성능을 가진 웹 서버이다. - HTTP Server로 활용되며 정적 파일들을 처리하기 위해 사용된다. - Reverse Proxy Server로 활용되며 특정 도메인, IP, 포트 등으로 들어온 것을 다른 곳으로 라우팅하며 로드밸런싱의 역할이 가능하다. Nginx와 Apache의 차이점 Nginx는 Event Driven 방식으로 작동하고, Apache는 쓰레드 / 프로세스 기반으로 작동한다. Event Driven - 서버로 들어오는 여러 개의 커넥션을 Event-Handler를 통해 비동기 방식으로 처리한다. - 이러한 방식으로 인해 적은 메로리로 운영 가능 - 싱글 스레드, 프로세스로 작동한다. Thread / Process - 클라이언트의 각 요청마다 Thread 자..
개발 및 인프라 환경 1. AWS (EC2(ubuntu), RDS(Mysql), S3, CodeDeploy) 2. Github (Action) 3. Spring Boot(2.5) 1. IAM 생성 - 역할생성 1) EC2 역할( 이름은 적당하게 EC2-IAM... ) 2) CODE_DEPLOY 역할 - 사용자 추가 - 생성 후 뜨는 Access key, Secret Key 백업! 2. EC2 생성 - 프리티어 사양으로 Ubuntu 22 LTS 기본옵션으로 생성 - 인스턴스 태그추가(Codedeploy에서 연결하기 위한 키) - 보안그룹에서 인바운드규칙 추가 (사용할 포트, db 포트, 접근 IP 구성) - Elastic IP 발행 - Elastic IP 인스턴스에 연결 - 키값으로 putty 연결 해서 ..