일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Spring Framework
- GitHub
- 백준
- 배포
- couchcoding
- 마법의 엘리베이터
- Fun편log
- DFS
- 알고리즘
- 테이블 해시 함수
- maven
- Spring
- 유사 칸토어 비트열
- 카우치코딩
- 코딩테스트
- 6주포트폴리오
- 와이어 프레임
- 그리디 알고리즘
- 빌드 툴
- pom.xml
- ERD
- 토이프로젝트
- LEVEL 2
- Qoddi
- 프로젝트 설계
- 협업프로젝트
- Java
- 트랜잭션
- 토이 프로젝트
- 프로그래머스
- Today
- Total
목록분류 전체보기 (52)
소통 하고싶은 개발자

목차 시작하며 Pull Request 피드백 수정 파이어베이스 적용기 첫 배포 성공 1 회차 멘토링 파이어베이스 연동 성공 시큐리티 설정이 추가된 브랜치 배포 2 회차 멘토링 Be-Fe 첫 임시 연동 마치며 시작하며 저번 주에 드디어 Qoddi의 담당자와 접선에 성공하고 4주차 멘토링이 시작되기 전까지 해야 하는 것들이 있었다. Jpa StoreSummary부분 만들어서 pull request 배포해보기(Qoddi) 시큐리티 만들어서 cors 해오기 (일단 보류) 내가 처음이라 그런지 모르겠지만 위의 항목 중 1, 2번은 그럭저럭 할 수 있을 것 같았지만 3번 시큐리티 만들기는 좀 어렵지 않을까 라는 생각이 들었다. Spring Jpa도 처음 다뤄보는 기술인 만큼 꽤 시간을 소요하면서 공부했는데, 스프링..

목차 시작하며 1회차 멘토링 깃플로우 적용 배포 이슈 2회차 멘토링 마치며 시작하며 벌써 3주차가 끝나가고 있다는 사실이 믿기지 않는다.. 옛날부터 느낀 거지만 프로젝트를 수행하고 있는 동안에는 시간이 항상 생각보다 빨리 지나가는 것 같다. 3주차부터 마지막 주차까지는 멘토링에서 하는 것들이 진행 현황 및 이슈 체크로 정해져 있다. 그래도 멘토링에 들어가기 30분 정도 전에 진행 상황과 현재까지 발생한 이슈들에 대해 텍스트 편집기에 한번 적어보고 멘토링을 받아서인지 막히는 부분이나 현재 수행 중인 작업을 완료하면 어떤 것들을 할지에 대한 것들이 생각보다 머릿속에 잘 정리되는 느낌이 들었다. 1회차 멘토링 제일 처음에는 진행 상황 및 이슈 체크를 하는 시간을 가졌다. 백엔드의 경우 배포와 관련한 이슈가 있..

목차 시작하며 1회차 멘토링 칸반 보드 작성 2회차 멘토링 마치며 시작하며 저번 1 주차 멘토링을 완료하고, 백엔드 담당인 나와 Front-end 담당인 분들은 그다지 접해보지 못했던 개념인 OAuth를 다루기 위해 여러 자료를 수집했다. 하지만 수집한 자료들을 바탕으로 인프런 강의 및 유튜브 영상을 보면서 스터디해도 뭔가 프로젝트에 적용했을 때 어떤 식으로 진행되는지에 대한 감이 잘 잡히지 않았다. 그 와중에 'Front-end와 연계하는 시나리오를 그려보면 좀 감이 오지 않을까?'라는 생각을 가지고 Front-end 분들과 플로우 차트(FlowChart)를 그려봤다. 그런데 이렇게까지 했는데도 '로그인 진행 중인 경우에 토큰 값은 어떡하지?'라는 의문이 사라지지가 않았고, 이에 대하여 팀원들과 회의하..

목차 시작하며 1회차 멘토링 기능 명세서 회의 2회차 멘토링 UI 회의 (figma) DB 명세서 초안 작성하기 (erd cloud) API 명세서 초안 작성하기 (notion) 마치며 시작하며 저번 주부터 카우치 코딩을 통해 백엔드 포지션으로 웹 프로젝트를 시작했다. 팀 단위의 웹 프로젝트는 처음이라 큰 문제없이 무사히 끝났으면 좋겠다는 생각을 가지고 있고, 이번 프로젝트를 어떻게 진행했는지와 어떤 것을 알았는지 각 주차별로 포스팅할 생각이다. 1회차 멘토링 맨 처음엔 대략적으로 자기소개가 진행되었는데 프론트엔드 두 분과 내가 차례대로 자신에 대한 키워드 3개를 이야기해야 했는데 이게 생각보다 서로를 잘 알게 해 줬던 것 같다. 이후에 프로젝트 주제를 정하는 아이디어 회의가 시작되었는데 원래 1회차 멘..

목차 프레임워크란? 프레임워크가 사용되는 방식 프레임워크란? 프레임워크(Framework)는 Frame과 Work의 합성어로 어떠한 일을 처리하기 위한 구조를 말한다. 프레임워크가 사용되는 방식 프레임워크는 종종 라이브러리와 비교되며 헷갈릴 수 있는데, 라이브러리는 단순하게 활용 가능한 기능들을 모아둔 것으로 개발자는 라이브러리에 명시된 기능을 사용하여 원하는 목표를 자유롭게 달성할 수 있다. 반면에 프레임워크는 하나의 목표를 달성하기 위한 구조가 정해져 있고 개발자는 해당 구조를 따르면서 개발하여 목표를 달성할 수 있는 것이다. 대중적인 예시로 내가 집을 지어야 하는 목표를 가지고 있다고 가정해보자. 라이브러리는 집을 직접 짓는 것과 같다. 내가 원하는 구조를 선택하여 원하는 방식으로 방을 정렬할 수 ..

문제 개요 풀이 연속된 문자열 S가 주어지고, 문자열에 "0"과 "1"만이 존재한다고 가정할 때 연속된 일부분을 선택해서 뒤집는 방식으로 모두 같은 문자로 이루어진 문자열을 만든다고 한다. 문제를 풀려면 1로 이루어진 문자열 덩어리의 개수와 0으로 이루어진 문자열 덩어리의 개수 중 적은 개수를 출력해주면 된다. 단, 여기서 주의할 점은 처음부터 문자열이 모두 같은 한 문자로 이루어진 경우에는 0으로 출력해주는 처리를 해줘야 한다. 나는 다음 순서로 알고리즘 해결을 위한 순서를 생각했다. 연속된 문자열을 split()을 사용해 배열로 만든다. 그 배열을 향상된 for문으로 차례대로 돌면서 "1"로 이루어진 덩어리와 "0"으로 이루어진 덩어리의 개수를 특정한다. 만약 1덩어리와 0덩어리의 합이 1인 경우 원..

문제 개요 풀이 문제에서 원하는 바를 한 줄로 요약하자면, 입사 지원자들을 평가하기 위한 두 종목의 점수가 주어질 때 지원자의 점수를 모두와 비교해서 전체적으로 적어도 한 개 이상의 점수가 높은 사람의 수를 구해야 한다. 사실 브루트 포스 방식으로 문제를 풀면 로직을 작성하는 것은 간단한 일인 것일지 모른다. 만약 브루트 포스로 접근한다면, 각 과목을 의미하는 배열 2개를 만들고(혹은 2차원 배열) 입력받은 값들을 저장한다. 2 중첩 for문을 사용해서 각 지원자의 등수와 다른 모든 지원자의 등수를 비교한다. (1:n) 한 지원자를 기준으로 다른 모두와 비교해야 하고, 이를 전체 지원자를 대상으로 실시해야 하기 때문에 시간 복잡도가 n²가 된다. 루프를 돌면서 만약 비교하려는 상대가 자신보다 두 과목의 ..

목차 시작하며 JSP Controller 구현 내용 Service 구현 내용 Dao에서 로그를 불러오는 메서드 리뷰 마치며 시작하며 이번에는 마이페이지 구현 내용을 포스팅하려고 한다. JSP 마이페이지의 전체적인 레이아웃은 위 사진처럼 JSP를 구현했다. 왼쪽은 프로필에 저장되어있는 닉네임, 성별, 나이, 지역을 순서대로 나열했고, 해당 정보를 수정할 수 있도록 프로필 수정하러 가기 버튼을 넣었다. 오른쪽은 해당 유저의 최근 활동을 로그를 기반으로 읽어와서 디스플레이하도록 구성했다. 각 항목을 클릭하면 해당 로그가 기록됐던 글 혹은 댓글로 이동하도록 했다. 아래 코드는 해당 기능을 구현하기 위한 JSP 코드이다. 내 프로필 닉네임 : ${profile.nicname} 성별 : ${profile.gende..

문제 개요 풀이 입력 값이 아래와 같이 주어졌을 때 기름 값으로 드는 비용의 최소 비용을 구해야 한다. 각 도시에서의 기름 값 도시와 도시 사이의 거리 경유해야 할 도시의 순서 문제에도 나와있지만 기름을 구입하는 시기에 따라 최종 목적지까지 도착했을 때 소비한 총액수가 달라지므로 그리디 알고리즘으로 풀어야 한다. 문제를 풀기위한 내 생각은 다음과 같다. 각 도시에서의 기름 값 정보, 도시와 도시 사이의 거리를 차례대로 입력받는다. 차례대로 입력받은 정보가 경유 순서가 된다. 첫 도시부터 시작해서 현재 도시의 기름 값과 다음 도시의 기름 값을 비교한다. 반복하는 과정에서 만약 현재 도시의 기름 값이 다음 도시보다 저렴한 경우에는 현재 도시에서 기름을 더 사고 가는 것이 유리하므로 기름을 더 구매한다. 현재..

목차 시작하며 컨트롤러 인터셉터 적용 마치며 시작하며 이 프로젝트와 관련한 포스팅을 정말 오랜만에 작성하는 것 같다. 사실 이전 포스팅들을 차근차근 읽어보는데, 나름 열심히 작성했지만 알아볼 수 없는 부분도 있었다..... 그래서 이런저런 설명을 구구절절 적는 것보단 간결하게 적기로 다짐했다. 컨트롤러 인터셉터 적용 이전 포스팅에서 이야기했지만, 로그인 유무를 판별하여 서비스를 제공할 것인지 정하는 기능이 필요했다. 지금까지는 기능을 만들 때 로그인이 필요한 서비스의 경우, 각각의 컨트롤러 메서드에서 로그인 중인지 체크하는 부분을 일일이 넣었다. 이는 심각한 반복 작업이다. 기능을 만들 때 이런 작은 일들이 점차 쌓이는 것은 경험상 파멸로 향하는 길이라는 것을 느낀 적이 있기 때문에 알고 있다. 그래서 ..