본문 바로가기

반응형

개발

(48)
알파벳 위키 기능 - 1 먼저 개발중인 pagenation에 대해 쓰는게 맞지만, 귀찮아서 지금 하고 있는 위키 기능부터 블로그에 포스팅합니다 위키 기능 관련해서 포스팅 될 주제는 3가지로 아래와 같습니다 1. 간단하게 마크다운 파싱 테스트 2. 위키 문서 정의 및 db 스키마 설계 3. crud api 만들기 오늘은 이 중 첫번째인 간단한 마크다운 파싱 테스트를 오전에 진행했습니다 먼저 마크다운 형식의 텍스트를 파싱하는 곳은 clien side로 정했습니다 서버쪽에서 더이상의 부담을 주기 싫었고, js에서 충분히 해결 할 수 있는 부분이라 이렇게 결정했습니다 이를 위해 메모장을 이용해 아주 간단한 html문서를 작성했고, plain text(markdown 형식의)를 js 스크립트를 이용, html 형식으로 파싱하는 실습을 했..
알파벳 로그인 기능 개발기 꼬박 만 하루가 걸린 알파벳의 로그인기능 개발기입니다. 7/6 화요일 오전 10시부터 근장 알바가 끝나는 오후 5시까지 개발했고 7/7 수요일은 오전 11시부터 오후 7시까지(상암 맥도날드) 개발했습니다. 세션 기능을 처음 구현해봐서 학습에 걸린 시간과, 실제 소스코드 생산에 소모된 시간 20%, 그리고 나머지 80%가 디버깅이었습니다😭😭 어떻게 동작하는지는 적당히 책을 반복해서 보면서 이해했고 실제 구현하고 후에 다시 살펴보면서 어렵지않게 진행되었는데, 생각 못한 400번대 response가 떨어져 한참을 헤맸습니다. 결론부터 말하자면 저는 ssl인증을 이미 받았었기 때문에(let's encytrypt), nginx에서 부족했던 설정 몇가지만 만져주면 끝나는 아주 쉬운 일이었습니다. 아무튼 실제로는 아..
oracle cloud 알파벳 db서버를 aws의 rds에서 oracle cloud instance로 옮기면서 겪은 일을 기록용으로 남깁니다. 먼저 rds의 비용이 상당해서 (월 3만원) oracle cloud에서 무료로 제공해주는 instace의 local에 db서버를 설치해서 사용하려 했습니다. 아마존과 달리 오라클 클라우드에서 인스턴스를 생성하기 전에 몇가지 설정을 잡아줘야 합니다. vcn, compartment를 우선 새로 만들어줘야 합니다. 그리고 인터넷 게이트웨이, 라우터 테이블에 rule도 하나 추가해줘야 합니다. 0.0.0.0/0 이렇게 외부에서 접속 가능하게 열어 둬야 local 환경에서 인스턴스로 접근 할 수 있습니다. oracle 상담원분과 영어로 거의 40분에 가까운 대화 끝에 알게 된 사실입니다... 이..
sonarqube에서 test coverage 0% 버그 자세한 해결법은 여기서 확인 하실 수 있습니다 원인은 sonarqube에서 .exec 파일을 픽업하지 않아서 발생합니다 .xml파일을 가져가는걸로 업데이트되어 생긴 문제입니다 jacocoTestReport { reports { xml.enabled true } } test.finalizedBy jacocoTestReport buil.gradle에 추가해주세요 이후 sonar를 실행하면 정상적인 커버리지 비율을 확인 할 수 있습니다
알파벳 테스트 코드 작성 시작 흔히들 말하는 TDD 흉내라도 내보려고 jacoco를 배웠습니다 알파벳은 MVC 패턴이 적용되어 대충 4개의 레이어가 있습니다 메소드 하나가 추가되면 4개의 레이어에서 각각 추가해줘야 하고, 보통 기능 하나에 메소드 3개 들어간다고 하면 3*4=12 12개의 메소드가 추가됩니다.... (메소드 하나에 10줄이라고 쳐도 120줄) 기능에 버그 하나 생기면 수많은 메소드 따라가면서 잡아줘야 하는데 이게 너무 힘듭니다 이런 이유로 어디서 문제가 생겼는지 알 수 있게, 또 배포 전에 문제를 인지 할 수 있게 테스트 코드를 생산하기로 했습니다 어느정도 QA도 되게끔 엣지 케이스도 적당히 추가하면서 작성 중 입니다 현재 제일 양이 많은 컨트롤러를 제외하곤 모두 커버 했습니다 어차피 커버리지 100%채울건 아니고 한..
알파벳 백엔드 리팩토링 - 1 시작에 앞서 홈페이지가 궁금하신 분들은 여기서 확인 하실 수 있습니다. 우여곡절끝에 홈페이지를 완성해서 올렸습니다. 이렇게만 하면 끝날 줄 알았는데 여러가지 요구사항이 쏟아져 어쩔 수 없이 이를 위한 서비스 코드들을 생산해야 했고, 당연히 이는 곧바로 기술 부채로 이어졌습니다. 블로그에 기록하기 민망한 수준이지만 어차피 하나하나 차근차근 해결하는 중이기에 기록에 많은 시간이 들지는 않을 것 같아 시작하려 합니다. 먼저 알파벳은 2가지 큰 기능이 서비스 중 입니다. 1. 웹 뷰 2. 정말 단순한 api 1번은 말 그대로 홈페이지로서 기능하기 위해 먼가 뷰를 리턴해주는 기능입니다. 2번은 요즘 깃허브에서 정말 핫한 프로필에 뱃지를 보여주는 서비스입니다.(제 블로그 소개글에도 적용되어 있습니다) 앞으로 해결해..
협성 알고리즘 동아리 알파벳 홈페이지가 배포되었습니다🎶 안녕하세요 블로그 주인입니다. 다름이아니라 드디어 학교 알고리즘 동아리 홈페이지가 배포되었습니다. 블로그에 소소하게 트래픽이 있는데 대부분 같은 학교 학우분들이라 생각되어 여기에 적습니다. 홈페이지는 여기에 있습니다. 아무래도 1인 개발이다 보니 능력이 부쳐 여러모로 부족한 점이 많지만 차차 개선해 나가겠습니다. P.S. FE는 여기 BE는 책 한권과 여러 웹사이트를 참조하여 만들었습니다. 어서 빨리 학교만의 여러 디자인과 특색을 더하고 싶네요🙂
스프링부트와 AWS로 혼자 구현하는 웹 서비스 1 P71 lombok lombok 기능 테스트 코드가 책에서 설정한 그대로 진행하여도 정상적으로 동작하지 않습니다. import static org.assertj.core.api.Assertions.assertThat; 이 부분에서 부터 assertThat이 정상적으로 import되지 않는 문제가 발생합니다. 따라서 당연히 assertThat method는 호출 불가합니다. 해결법 1. 오타 확인 static 등을 적지 않을 경우 정상동작하지 않습니다. 2. build.gradle에 dependencies 추가 testCompile "org.projectlombok:lombok" annotationProcessor('org.projectlombok:lombok') testAnnotationProcessor..

반응형