프로젝트
-
[AI] Stable Diffusion프로젝트/당일 2024. 5. 27. 20:35
Stable Diffusion 왜 궁금했을까❓SSAFY 자율 프로젝트로 사용자가 일기를 작성하면 그 하루를 대표하는 그림을 뽑아주는 서비스를 하기로 했다. Text to Img를 지원하는 생성형 AI를 찾아봤고 그 중 Stable Diffusion을 선택했다. 선택한 이유를 알아보고 Stable Diffusion의 원리를 알아보도록 하겠다. [AI] Stable Diffusion + LoRA를 통한 이미지 생성 기능 구현Stable Diffusion + LoRA를 통한 이미지 생성 기능 구현 왜 궁금했을까❓이번 포스팅에서는 Stable Diffusion과 LoRA를 활용하여 4가지 화풍의 그림을 뽑아내는 기능을 구현할 것이다. [AI] Stable Diffusion fine-pslog.co.kr위 포스..
-
[Spring boot] Spring Security + JWT + Redis (3/3)프로젝트/Share Your Trip 2024. 2. 7. 22:08
이번 포스팅에서는 유효한 RefreshToken을 활용하여 만료된 AccessToken을 갱신하고 MySQL에 RefreshToken을 저장하는 것이 아닌 Redis에 저장하여 효율적으로 토큰을 관리해보려고 한다. 또한, MySQL에서 refreshToken을 조회했을 때와 Redis를 통해서 refreshToken을 조회했을 때의 성능 차이를 비교해보려고 한다.MySQL에서 RefreshToken 관리@Overridepublic UserDto.UserInfoResponseDTO login(final UserDto.LoginRequestDTO requestDTO) { UsernamePasswordAuthenticationToken authenticationToken = new UsernamePass..
-
[Spring boot] Spring Security + JWT + Redis (2/3)프로젝트/Share Your Trip 2024. 2. 6. 21:36
이번 포스팅에서는 Share Your Trip 프로젝트에 Spring Security를 적용해 볼 것이다. 또한, JWT와 함께 사용하여 Spring Security를 커스터 마이징 해볼 것이다.Spring Security FilterShare Your Trip은 Rest API 서버로 formLogin 방식을 사용하지 않아 formLogin(AbstractHttpConfigurer::disable)을 설정했다.httpBasic은 username과 userpassword를 텍스트로 전송하는 방식이다. 해당 프로젝트에서는 JWT 방식을 사용하여 httpBasic(AbstractHttpConfigurer::disable)을 설정했다.stateless한 JWT 사용으로 인해 Spring Security에서 기..
-
[Spring boot] Spring Security + JWT + Redis (1/3)프로젝트/Share Your Trip 2024. 2. 5. 21:33
Spring Security 에 대해서 왜 궁금했을까 ❓- Share Your Trip 프로젝트에서 여행지를 공유할 수 있는 커뮤니티 게시판이 존재했다. 이러한 기능에서 불필요한 글을 작성하거나 악성 유저의 글을 관리할 관리자가 필요했다.- Spring에서는 Spring Secuity를 통해서 인증과 권한을 관리할 수 있었다. 이를 통해, 사용자와 관리자를 인증하고 권한을 분리하여 보안성을 강화해보려고 한다. Spring Security의 구조 Architecture :: Spring SecurityThe Security Filters are inserted into the FilterChainProxy with the SecurityFilterChain API. Those filters can be ..
-
[CI/CD] Docker를 이용해서 Jenkins를 사용해야 할까?프로젝트/아카이뷰 2024. 2. 1. 10:24
Jenkins in Docker 왜 궁금했을까❓SSAFY 2학기 프로젝트 Archiview를 Docker에 Jenkins를 올리는 형태로 CI/CD를 구축하고 있었는데 Jenkins안에서 docker 명령어를 써야하는 상황이 발생했다. jenkins에는 docker가 설치되어 있지 않아 방법을 알아보고 해결해보고자 한다. 우선, jenkins를 이용하는 방식을 두 가지로 나뉜다. ① OS에 설치하는 방식Ubuntu, CentOs 등 리눅스 서버 자체에 jenkins를 설치하는 방식이다.jenkins를 직접 설정할 수 있다는 부분이 가장 큰 장점인 거 같다.단점으로는 매번 플러그인, 설정 등을 직접 셋팅을 해줘야 한다는 점이다. ② 도커를 통해서 설치하는 방식리눅스 서버에서 Docker를 이용하여 Jen..
-
[CI/CD] Jenkins / GitLab / Docker / EC2 연동 (2/2)프로젝트/아카이뷰 2024. 1. 31. 21:15
이번 포스팅에서는 Jenkins 세부 설정과 GitLab과의 연동, 배포까지 진행해보도록 하겠다. 1. GitLab 연동Jenkins 관리에서 System을 누르고 GitLab 설정쪽으로 가서 해당 필드를 채워준다. 2. Credential 등록GitLab과의 연동을 위해 GitLab에서 AccessToken을 발급하고 등록해준다.Kind를 GitLab API token으로 변경 후, API Token 부분에 Access Token을 삽입ID는 GitLab의 아이디를 적어주고 Add를 클릭다시 돌아가서 credential을 선택 3. Pipeline 작성new item을 누르고 pipeline을 선택push에 대해서만 build를 유발시킬 것이기 때문에 build Triggers에서 위의 그림과 같이 설..
-
[CI/CD] Jenkins / GitLab / Docker / EC2 연동 (1/2)프로젝트/아카이뷰 2024. 1. 30. 21:02
SSAFY 2학기 프로젝트 "Archiview"를 Jenkins, GitLab, Docker, EC2를 이용해서 CI/CD를 구축해보겠다. [CI/CD] Jenkins란?Jenkins 왜 궁금했을까 ❓SSAFY 2학기 공통 프로젝트를 진행하면서 완성한 기능들을 매번 수동 빌드하여 배포하는 과정이 너무 번거롭게 느껴졌다. EC2 서버에서 소스 코드를 pull 받고 build하고 배포pslog.co.kr [Docker] Docker란?Docker 왜 궁금했을까 ❓SSAFY 2학기 공통 프로젝트를 수행할 때, CI/CD를 구성하기 위해서는 Docker, Docker compose를 사용해야만 하는 것을 확인했다. 그래서 업무 생산성을 향상시키기 위해 CI/CD 환경 구pslog.co.kr위 포스팅들을 통해 ..
-
[Docker] RUN / CMD / ENTRYPOINT의 차이프로젝트/아카이뷰 2024. 1. 29. 19:40
RUNRUN 명령어는 Docker 파일로부터 도커 이미지를 빌드할 때 실행되는 명령어Dockerfile에서 주로 작성되며 라이브러리 설치에 사용된다.CMD / ENTRYPOINTDocker 파일로부터 도커 이미지를 빌드할 때 실행되는 것이 아닌 컨테이너를 생성하고 최초로 실행할 때 수행하는 명령어두 명령어는 동일한 역할을 수행하는 것처럼 보이지만 차이점이 존재한다.CMD의 경우 Docker를 run할 때 파라미터로 값을 넘겨 실행할 수 있다.ENTRYPOINT의 경우는 파라미터로 값을 지정할 수 없으며 컨테이너가 최초에 꼭 실행되어야 하는 명령어가 작성되곤 한다.