분류 전체보기
-
Virtual Thread 는 왜 도입된걸까오늘/Today I.. 2024. 3. 25. 10:23
이번 JDK21에 Virtual Thread가 도입되었다. 기존에 있는 thread 기능도 제대로 활용하지 못하는데 이 기능은 왜 들어온걸까 라는 생각만 하며 이 기능이 무엇인지 알아보았다. Virtual Thread (이하 가상 쓰레드)는 KLT(kernel-level thread) 와 ULT(user-level thread) 를 1대1 매핑해서 사용하던 기존의 쓰레드 모델을 개선한 모델이다. 여러 개의 가상 쓰레드를 하나의 네이티브 스레드에 할당하여 사용한다. Java Native Interface는 인터프리터없이 OS가 바로 읽을 수 있는 형태의 네이티브 코드를 JVM이 호출 할 수 있게 하는 인터페이스 이다. 이것 덕분에 자바가 플랫폼에 상관없이 동작할 수 있는데, 자바에서 메서드 앞에 nativ..
-
오늘, Redis가 죽었다.오늘/Today I.. 2024. 3. 23. 02:44
https://news.hada.io/topic?id=13942 Redis, 라이선스를 BSD 에서 듀얼 라이선스로 변경 | GeekNews Redis 가 기존 BSD 라이선스에서 Redis Source Available License (RSALv2) 과 Server Side Public License (SSPLv1) 의 듀얼 라이선스로 변경되었습니다.라이선스 변경으로 인해 Redis 이용자와 Redis 를 이용한 라이브러리 news.hada.io https://redis.com/blog/redis-adopts-dual-source-available-licensing/ Redis Adopts Dual Source-Available Licensing | Redis Beginning today, all fu..
-
flash project (1)flash 2024. 3. 17. 17:02
캠프 이후에 처음으로 팀프로젝트를 하게 되었다. 가제(?) flash 첫날은 가볍게 postgis를 설치하고 이미지를 업로드 하는 것까지 진행하였다. DB는 기본적으로 도커이미지를 사용하였으며, postgis를 적용하는 방법은 2가지가 있었는데 첫번째는 postgreSQL 이미지를 받은 후 extension을 통해 postgis 확장기능을 사용하는 것이었다. 두번째는 postgis 이미지를 바로 사용하는 것이다. 나는 두번째 방식을 사용하여 바로 postgis를 프로젝트 DB로 등록하였다. 그리고 게시글 업로드를 swagger로 하였는데 이미지 업로드 과정에서 presignedURL이 필요하였다. presignedURL이란? 아마존 S3와 같은 클라우드 저장 서비스에서 사용하는 용어로, 이 URL을 사용..
-
데이터베이스 정규화 (기본 정규형)오늘/Today I.. 2024. 3. 6. 23:34
정규화(Normalization) 란? DB 설계에서 중복을 최소화하기 위해 데이터를 구조화하는 프로세스 이상현상이 있는 릴레이션을 분해하여 이상현상을 제거 이를 통해 중복된 데이터를 허용하지 않게하여 데이터 무결성을 유지하고, DB 저장 공간을 확보 가능 정규화의 장단점 장점 - DB에서 이상현상 제거 - 확장시 구조 변경 최소화 단점 - 릴레이션이 분해되므로 릴레이션 간의 JOIN 연산이 늘어남 정규화의 종류 제 1 정규형 1. 각 컬럼은 하나의 속성만 가져야한다. 2. 하나의 컬럼은 같은 종류나 타입의 값을 가져야 한다. 3. 각 컬럼이 유일한 이름을 가져야한다. 4. 컬럼의 순서가 상관없어야 한다. 제 2 정규형 제 1 정규형을 만족하는 경우 제 2 정규형을 적용할 수 있다. 1. 모든 컬럼이 부..
-
서버리스 (Serverless)오늘/Today I.. 2024. 2. 29. 17:33
서버리스란? 개발자가 직접 서버를 관리하지 않아도 되는 경우를 의미 사용량에 따라 백엔드 서비스를 제공 서버리스의 특징 특정 코드에 대한 요청이 올 경우 그에 필요한 리소스만 사용한 다음 그 부분에 대해서만 비용 청구 그렇기에 실제 사용량에 따라 요금을 청구받을 수 있다. 서버리스의 장점 1. 낮은 비용 실제 사용량에 따라 요금을 청구하기 때문에 효율적 2. 확장성 서버리스 업체가 트래픽에 맞춰 확장을 모두 처리해줌 서버리스의 단점 1. 단순작업에는 적합하나 긴 작업시간을 요하는 경우에는 비효율적임 2. 클라우드 플랫폼에 종속적임 서버리스를 사용해야 할 때 1. 빠른 출시가 필요할때 2. 사용량이 일정하지 않을 때 서버리스를 지양해야 할 때 1. 전용 서버를 사용하는 것이 비용 측면에서 더 합리적일 때 ..
-
왜 젠킨스는 웹훅을 하지 않았나스파르타코딩클럽/최종프로젝트 - DevQuiz 2024. 2. 5. 14:58
프로젝트 마무리를 위해 깃허브 디폴트 브랜치를 dev에서 main으로 변경하였다. 이로 인해 젠킨스에서도 CI/CD 유지를 위해 파이프라인에서 브랜치 설정을 변경해주었다. 이 부분을 변경하면 CI/CD가 main 브랜치에 맞춰 동작해야만 했다. 그런데 저렇게 변경했음에도 불구하고 깃허브 PR 시에 웹훅 트리거가 동작하지 않았다. 그래서 젠킨스 파이프라인에서 Gtihub Hook Log를 살펴보니 계속 예전 브랜치명인 dev로 보내는 것을 확인하였다. 당연히 main이 아닌 dev로 트리거를 보내기때문에 젠킨스는 동작하지 않았다. 그래서 시도한 해결방법들을 나열해보자면 첫번째 파이프라인 설정을 */dev로 다시 변경하여 시도해 보았다. 웹훅이 dev로 트리거를 보내기때문에 dev로 변경하면 다시 트리거를 ..
-
-
SSL, 리버스 프록시 적용스파르타코딩클럽/최종프로젝트 - DevQuiz 2024. 1. 29. 17:54
CI/CD도 완성했고 이제 인프라에서 남은건 엔진엑스 리버스 프록시와 SSL인증서를 적용한 https다. Https 인증부터 완성하였다. Certbot을 이용한 방법을 사용하였고, 3달마다 갱신해야하는 불편함이 있지만 젠킨스 쉘스크립트에서 cd가 될때마다 갱신하도록 넣는 방법도 있고, 가끔 생각날때마다 해주면 되므로 크게 부담이 되지는 않았다. 나는 도커안에 엔진엑스를 설치했기 때문에 외부에서 인증서만 받은 다음 마운트해주는 방식을 사용하였다 sudo certbot certonly --standalone -d URL 입력 참고로 URL은 도메인형식이어야하며 ec2의 ip주소는 안된다. 입력하면 질문이 세개 나오는데 첫번째는 이메일입력 두번째는 약관동의 세번째는 정보수신제공 동의이다. 첫번째, 두번째는 동..