
CI/CD 구성 완료 ! 배포시에 자동 실행되도록 스크립트만 조금 손보면 될 듯 하다 간단해보여도 이것저것 신경써야할 게 많아서 은근 시간이 좀 걸렸다 러닝커브가있는 젠킨스의 경우에는 얼마나 걸렸으련지 ,, 빅데이터를 모으기 위한 크롤링과의 싸움 중 .. 챌린지팀을 할때는 더미 데이터정도는 항해측에서 줄 줄 알았건만 1부터 100까지 모두 알아서 해야되는 거였다 ㅋ 천만건을 모으려면 4주동안 밤낮없이 공장 돌려야할듯

🐳 설치하기전에 알아보자 ! Docker가 뭔데? 도커(Docker)는 컨테이너에 기반해 애플리케이션을 구축하는 소프트웨어 플랫폼 👉 컨테이너 ? : 애플리케이션의 의존성, 네트워크 환경, 파일 시스템에 구애받지 않고 Docker라는 기술위에 실행될 수 있도록 만든 애플리케이션 상자 🧑🏻💻 AWS Ubuntu에서 Docker 설치하는 법 나는 Ubuntu에서 테스트 하였기 때문에, 리눅스나 다른 OS라면 오류가 발생할 수도 있다 💀 0. apt-get update apt-get update 1. Docker 설치 전 필수 패키지 설치 apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common..

챌린지팀 프로젝트를 위해서 별도의 환경 구성을 진행하고 EC2, RDS, S3를 다시 만들어두었다 🫠 실전 프로젝트에서는 여러 기술을 써보는게 중요한데, 오늘은 CI/CD에 대해 알아보고 우리한테 알맞은 방법이 뭔지 찾아보고자 함 ! CI/CD가 뭔데❓ : CI/CD는 애플리케이션 개발 단계를 자동화하여 애플리케이션을 보다 짧은 주기로 유저에게 제공하는 방법 1️⃣ CI : 지속적인 통합 : 추가/변경된 코드를 자동으로 빌드한 후 테스트하고, 테스트에 통과한 경우에만 공유 리포지토리에 병합 : 여러명의 개발자가 동시에 코드 작업을 할 때 서로 충돌할 수 있는 문제를 해결함 2️⃣ CD : 지속적인 제공 - 개발자들이 적용한 변경 사항이 CI과정을 거쳐 리포지토리에 자동으로 업로드 됨 - 이 리포의 애플리..

이번주는 클론 프로젝트로 한 사이트를 모티브로 잡고, 그 사이트를 똑같이 따라하는게 목표였다! 우리의 이번주차 목표는 취업 플랫폼 Wanted의 커뮤니티 따라하기 💬 나는 실전 프로젝트때 챌린지팀을 하게되어서 이번이 마지막으로 프론트분들과 협업하는 주차였는데 내가 넘넘넘넘넘 좋아하구 같이 하고 싶었던 두분이 나랑 같이 하고싶다고 얘기해주셔서 같이 팀이 되었다 🥺 ( 고마어요 내 힐링스팟들 🍯🐝) 덕분에 넘 좋은 결과가 나왔고! 시간이 조금 더 있었다면 검증 및 기능개선에 신경을 쓸 수 있었을텐데 그건 조금 아숩다 항해에서 내가 원하는 사람이랑은 프로젝트를 안시켜줭 .. 행보칼수없어 .. 했는데 그래도 이번주는 정말 행복했던 한주였음 ! 이 좋은 마음을 가지고 실전을 잘 마친다음에 수료한 후에 내가 원하는..

이번주는 클론코딩 주차로 우리팀은 원티드의 커뮤니티를 클론코딩 하기로하였다 ⌨️ 내가 맡은 기능은 카카오 로그인 😎 시작은 쉬웠으나 테스트부터 쉽지 않아져서 좌절하고 있는 와중에 천사 쏘영님의 덕분으로 무시무시한 에러에서 벗어나고 .. 다시는 똑같은 일을 겪지위해 하는 포스팅 .. 잊지마 .. ! 기억해 내 ..! 🙋🏻 도와줘 카카오 로그인 ! 우선 나는 프론트와 연결 전, 눈에 보이는 카카오 로그인 버튼이 없는 상태에서의 카카오 로그인 시도 방식을 적어두려고한다. 버튼이 있으면 별로 어렵지않움 !.. 아마두 ,, 우선 사용한 소스코드는 아래와 같다. 1 | User Controller @PostMapping("/loginKakao") public MsgResponseDto kakaoLogin(@Requ..
항해99 6주차 항해일지 🥺 혼란스러운 한 주, 클론코딩주차의 시작 이번주는 FE, BE가 처음으로 만나서, 협업을 하는 주였다. 처음 만나서 하는 협업에 조금은 어색?하고 어려운 부분이 있었지만 그래도 좋은 팀원들을 만나서 잘 헤쳐나갈 수 있던 것 같다. 모두가 다 좋았다면 거짓말이지만 그래도 이정도면 아주 좋았다고 봐야지 ! 우리반은 하차율이 많은 편인데 이번주에도 프론트분들이 많이 나가면서 혼란스러운 한주였다. 이렇게 혼란스러운 와중에 항해측에서는 담임 매니저님 교체라는 .. 의논되지않았던 결정까지 내려서 더더욱 혼란스러웠다 과연 정말 이게 우리반 학생들한테 좋은일이라고 판단하는지 아직은 더 지켜봐야 알겠지만 혼란 + 혼란의 한주였다. 혼란스러워도 어쩌겠는가 이번주도 힘내서 잘 해봐야지 ~! htt..

이번주는 미니 프로젝트 주차로 주특기를 시작하고 처음으로 프론트분들과 협업을 하는 주 였다. 주특기 4주 내내 밋밋한 인텔리제이 화면이랑 포스트맨만 보다가 UI가 생긴다는 생각에 굉장히 들떴다 ✨ 이번주차 목표는 만들어보고 싶은 프로젝트를 그동안 했던 기술을 써서 걷기 🚶 수준으로 만들어서 배포까지 해보는 것 ! 프론트랑 첫 협업이여서 스코프를 작게 잡으라 하셨는데 우리는 목표했던대로 배포까지 끝마쳤다. 우리조의 주제는 밈 퀴즈 게시판으로 밈을 게시판에 올리고, 정답을 맞추면 댓글을 쓸 수 있도록 구성하였다. 📌 미니프로젝트 01. 프로젝트 소개 📢 - 어 ❓이 밈 어디서 봤더라 ❓ - 내가 문제로 내고 싶은 밈을 업로드하고, 정답을 맞춰보세요 ! 🔔 - 정답을 맞추면..

🗝 인터페이스 분리 원칙 (ISP: Interface Segregation Principle)이 뭔데? : 인터페이스 분리 원칙(ISP)은 클라이언트가 자신이 이용하지 않는 메서드에 의존하지 않아야 한다는 원칙 : ISP를 지킴으로써 큰 덩어리의 인터페이스를 구체적이고 작은 단위로 분리시키며 클라이언트가 꼭 필요한 메서드만 이용할 수 있게 함 인터페이스 분리 원칙이 지켜지지 않은 코드 Vechicle 클래스 : go(), fly() 메서드를 가진 추상 클래스 Aircraft 클래스 : Vehicle 클래스를 상속 Car 클래스 : Vehicle 클래스를 상속 * 자동차는 fly할 수 없기 때문에 fly() 메서드에서 예외를 발생시킴 : 자동차 클래스는 탈것 클래스를 상속받기때문에 기능에 없는 Fly를 구..
항해99 5주차 항해일지 프리온보딩 기간, 사전 학습 준비기간을 합치면 벌써 항해를 시작한지 7주차이다. 기념일로 세면 50일쯤 됐다는건데 기념일은 50일이면 에게? 싶은데 항해로 50일은 와 진짜 많이했네 😅 라는 생각이 든다 5주차의 나는 그래도 이제 스프링에서 뭔가 조금은 껄쩍일 수 있는? 상태가 된 것 같다. 이번주는 프론트분들과 첫 협업인데 내가 같이 작업하고 싶었던 분들과 같은 조가 되어 기쁘다 ! ✨ 이번주차는 약간 걸어가는?쉬어가는? 주차라고 하는데 욕심이 드릉드릉해서 마냥 조금만 할 수는 없다. 배포에라도 힘을 싣어보고자 EC2, RDS, S3구성을 다 마쳤고 깃허브랑 EC2를 연결해서 바로 빌드 + 배포 할 수 있는 환경까지 구성해보려고 한다. 이런 부분이라도 조금 능숙하게 잘 할 수 ..

인프라 환경 구축은 약 3년간 했지만 이런 상황에 마주할때마다 정~말 속이 답답하다 하지만 이걸 또 해냄 ㅋ 나는 아직 클라우드 환경보다는 물리 하드웨어 환경이 더 좋은 것 같다 🤯 로컬에서 RDS 접속 시도시 Can't connect to MySQL 오류 뜨는 현상 이 오류를 검색하면 보통 2개의 해결 방법이 나오는데 나는 2개를 잘 해주었음에도 불구하고 접속이 안됐다 .. . ^^ 찾다찾다찾다 설마 이건가 .. ? 하고 해주었는데 마지막 방법에서 성공함 ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ 잉 이 오류가 나시는 분들은 이 세가지 방법을 다 확인해보면 ! 될겁니다요 분명 .. ✅ 퍼블릭 액세스 활성화 오류 RDS 구축할때 EC2와 자동 연결을 선택하면 퍼블릭 액세스가 자동으로 비활성화 되어 있다. AWS 내부 환경(E..

진짜 짜증나서 죽기 바로 일보 직전에 블로그 30개정도 뒤져서 찾아냈다 모든 사람이 이런 증상을 겪는건 아닌 것 같고 ? 명령어가 틀렸는지 권한이 문젠지 모르겠는데 둘다 고쳐서 썼더니 됐음 증상 : EC2에서 RDS 를 접근하려고 하면 계속 Access denied for user~~ 라는 오류가 뜸 해결 방법 : RDS > 파라미터 그룹 > 수정 > log_bin_trust_function_creator 을 [1]으로 변경해준다. (변경하고 RDS 재시작 필요!) 편안 ㅋ mysql -h -P 3306 -u admin -p 접속 명령어 ㄱ ㄱ

🧑🏻💻 AWS RDS 인스턴스 만들기 + EC2 인스턴스랑 연결하기 지난번에 했을때 어떻게 해도 안됐는데 이번엔 되는거보니 지난번에 뭔가 잘못했나봄 ㅋ 이번엔 됐다 야호 ㅋ 1. RDS 대시보드 👉 데이터베이스 생성 2. 데이터베이스 생성 방식 선택 저는 Mysql을 사용할것이기 때문에 Mysql -프리티어로 설정했슘다 3. 데이터베이스 생성 방식 설정 - RDS DB인스턴스 이름 설정 / 마스터 사용자 이름(접속시 사용할 계정) + 패스워드 설정 - 이건 까먹어도 수정해서 적용할 수 있긴 한데 잘 적어두셔요잉 4. 스토리지 설정 스토리지 유형에 프로비저닝된 SSD선택시 과금됨! 범용 SSD 으로 설정하고, 스토리지 자동 조정시 과금위험 있으니 체크박스 해제하기 5. 연결 나는 내가 생성한 EC2랑 연..

AWS EC2 인스턴스를 숨쉬듯이 만들고 부수고 하고있는데 매번 찾아보는게 귀찮아서 적어둬야겠다 🧑🏻💻 AWS EC2 인스턴스 만들기 시작하기에 앞서 AWS가 뭐고 EC2가 뭔데 하는 분들은 그냥 내 컴퓨터에서 실행하고 있는 소스코드는 로컬(내부 환경 127.0.0.1)에서만 접근 할 수 있고 다른 사람들은 내 로컬환경을 테스트 해볼 수 없으니 이 지구 어딘가 존재하는 컴퓨터에 가상 영역을 내가 할당 받아서 허락된 사람은 인터넷이 되는 어디서나 접근 가능하게끔 구성하는거라고 생각하며 됨 혹시 다른 컴퓨터에서 내 로컬환경은 접근 못하는거임 ? 이라고 묻는다면 그럼 이세상 어디든 당신 컴퓨터에 접근해서 이거저거 다 할 수 있게끔 하고싶다면 .. . 그렇게도 할수는 있음.. IP 따고 해서 .. 원친 않겠지..
몇번을 봐도 추상적인 개념 그것은 바로 추상화 .. 추상클래스 .. 추상 메서드 .... 이걸 쓰는 와중에도 아직 명확하지 않아서 이걸 쓰는게 맞나(?)라는 생각이 들지만 이렇게 계속 부딪히다 보면 언젠가 추상화에 대해서 알게되지 않을까 .. 하는 생각으로 주제를 정했다. 이번 챕터에서는 추상화(abstract)키워드에대해 내용이 나왔는데 보다보니 인터페이스랑 굉장히 비슷?한 것 같다. 🙋🏻 추상클래스 추상클래스는, : 클래스 선언부에 abstract를 붙여서 정의함 : 추상 메서드를 가질 수 없음 : 인스턴스(new ~~)를 생성할 수 없음 ❓ 추상 클래스는 그러면 어떻게 구현하나요 추상메서드는 추상클래스내에서 정의되는 선언부만 있고, 구현 부분이 없는 메서드로 추상 클래스는 '추상적인 형태'만 제안하..

🔐 스프링 시큐리티를 사용해 회원관리하는 방법을 순서도를 통해 정리해 보세요. 회원가입, 로그인, 로그인 유지 방법으로 나눠서 정리 4개의 모듈 (Client, Server, Session, DB) 로 나누어 정리 🔐 단위 테스트 코드 작성 시 장/단점을 정리해 보세요. 단위 테스트(Unit Test) 하나의 모듈을 기준으로 독립적으로 진행되는 가장 작은 단위의 테스트를 말하며, 일반적으로 실무에서 테스트 코드라 함은 단위 테스트를 의미한다. 프로그램을 작은 단위로 쪼개 어디서 문제가 발생했는지 정확하게 동작하는지 빠르게 확인 가능해 디버깅 시간 단축할 수 있다. 리펙토링을 하여도 작은 기능 혹은 메소드 단위이기에 빠르게 문제 여부를 파악하여 안정성을 확보할 수 있다. 테스트에 대한 시간과 비용을 절약 ..