문제 설명 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... 2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ... 3번 수포자가 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ... 1번 문제부터 마지막 문제까지의 정답이 순서대로 들은 배열 answers가 주어졌을 때, 가장 많은 문제를 맞힌 사람이 누구인지 배열에 담아 return 하도록 solution 함수를 작..

창천향로님의 블로그를 보며 내가 이해한 것을 기반으로 aop를 그려보았다. 실제로는 아직 구현해본 적이 없으므로 미리 작성된 코드를 봤고, 학원 동기와의 토론을 통해 이해한 것이다. Aop? 과거 MSA 기반으로 모듈 설계를 한 적이 있다. 큰 기능을 중점으로 모듈을 나눴는데 예를 들면 한 api에서 캘린더 기능과 TodoList의 기능이 있다고 한다면 캘린더, todoList 그리고 중앙의 연결고리를 해줄 common까지 3개의 모듈로 나뉘게 된다. 즉 하나의 인프라를 기반을 둔 api의 기능을 나누는 것인데 aop는 비즈니스 로직을 기반으로 둔 기능을 나누는 것이다. 말하자면 로그인 기능을 매번 모든 Controller에서 로직으로 처리해야 할 때 이 로그인 기능을 aop로 만들어 분리하는 것으로 코..

전 글의 요구사항은 GET Mapping일 때 상황이었기 때문에 Header에 body가 없었다. 이번에는 HTML의 Get을 Post로 바꾸고 회원가입이 제대로 되는 것까지 진행해볼 예정이다. Http Header의 이미지를 구글에서 찾아보면 Header 부분이 진행된 뒤 한 칸 띄어진 후 body가 있는 것을 확인할 수 있다. BufferedReader.readLine() 을 이용하여 이 부분을 우선 추출해보기로 하겠다. 맨 처음으로 한 것은 'localhost:8080/user/form.html' 에 접근하여 값을 넣고 회원가입을 눌러보았다. 그 후 콘솔 창을 확인했더니 NullPointerException이 확인되었다. 생각해보니 회원가입 버튼을 누르면 나오는 'create.html' 이 없는 상..

코드스쿼드에 다닐 때 was를 직접 구현해보는 과제가 있었다. 그 당시 역량이 부족하여 불가능했지만, 취업 준비를 하며 학원 동기와 함께 진행해보기로 했다. 이번 미션에 해당하는 모든 글은 복습하며 동시에 작성함을 미리 말해둔다. 맨 첫 구현 조건은 Header의 값을 전부 가져온 뒤 요청된 url를 뽑아내 해당 html로 이동하는 것이다. 어제 실습으로 BufferedReader로 InputStream에 있는 정보를 가져올 수 있다는 것은 기억했다. 다만 여기서 고생한 것은 InputStream을 new BufferedReader에 바로 넣어야 하는지 아니면 위에 InputStreamReader를 새로 생성하여 넣어야 하는지에 대한 부분이었고, 이 부분은 각 클래스를 들어가 return Type과 파라..
현재 사전과제 진행 중에 flyway라는 기술을 접하게 되었다. 개념적인 부분은 사전과제 제출 후 다루기로 하고 고생했던 부분부터 적어둘 예정이기에 이번 글은 짧을 예정이다. gradle 기반이기에 build.gradle에서 dependencies 추가 대신 plugins에 id "org.flywaydb.flyway" version "6.0.1"를 추가 후 맨 하단에 flyway 설정을 해주는데 url, user, password 등 필요한 것을 추가한 뒤 gradle을 import 한다. 기본 설정이 끝났다면 IntelliJ Terminal에서 ./gradlew flywayMigrate를 추가하여 DB에 flyway_schema_history tables를 생성한다. 이 기술을 처음 접했을 때 스키마를..
텀블벅 사전 과제 프로젝트 작업 중 QueryDsl이라는 것을 접하게 되었다. jpa에서 Repository를 생성할 때, CrudRepository 혹은 JpaRepository implements 받는다. 객체로 DB를 다루는 JPA 특성상 Entity로 지정된 Class로만 CRUD가 가능한데 내가 하고 싶었던 것은 지정된 Entity가 아닌 DTO로 반환받는 것이었다. DTO로 반환받는 방법 중 그 당시 생각한 방법을 간략하게 나열해보자면 아래와 같다. 1. Entity로 반환받은 뒤 반환된 값으로 DTO를 생성한다. 2. Repository가 아닌 Query문을 작성한다. 3. @Query 어노테이션을 사용한다. 1번은 불필요한 데이터를 호출해야 한다는 점 2번은 Query문을 작성하여 적용해도..
전에 다니던 회사에서 Spring boot와 jsp를 사용하는 API 유지보수를 했다. Spring boot와 Hibernate만 다루던 내가 Mybatis를 배울 좋은 기회였고, Query를 직접 짜며 DB에 관한 관심도 더욱 깊어질 수 있었다. 직접 체험해보고 느낀 점을 적기 전에 간략하게 API에 관해 설명하자면 Spring boot 1.5 이하 버전과 jsp, Maria DB 기반이며 N개의 모듈은 Util 모듈과 연결되어 있다. Spring boot와 jsp의 문제점 - Tomcat 유지보수를 시작한 뒤 제일 먼저 난관에 부딪히게 된 것은 Tomcat의 설정 문제였다. Spring boot은 자체적으로 Tomcat 설정을 제공하는데 JSP만은 제공을 하지 않는다. 이게 무슨 문제가 되는가? 하는..
7월 1일부터 시작한 객체지향 사실과 오해 스터디가 7월 22일 끝이 났다. 회사에 입사한 지 4일째 되는 날 내가 먼저 주도적으로 찾아서 합류한 스터디였다. 이 후기는 책에 대한 후기가 아니다. 스터디를 하면서 내가 느끼고 배운 것에 대한 전반적인 것에 관한 내용이다. 책의 내용은 되도록 언급하지 않을 것이고, 직접 읽어보시길 추천해 드린다. 그만큼 좋은 예시와 비유로 이루어진 책이다. 회사에 출근한 지 6일째가 되던 날 진행한 1주차 스터디의 시작은 긴장이었다. 심지어 사무실을 같이 쓰는 OGQ 개발자분들과 함께하는 스터디었으니 더 그랬을지도 모른다. 낯가림 심한 것도 있었을 거고. 진행하면 할수록 나의 의견이나 인상 깊었던 구절을 나누며 점차 조금씩 익숙해졌고, 마지막엔 예시로 나온 "앨리스와 문의..
바빠서 글을 계속 정리해 올리질 못하고 있는 나날의 반복입니다. 정신없이 분석만 하다 보니 24일 출근 후 시간이 꽤 흘렀습니다. 그간 객체지향의 사실과 오해 스터디도 진행하고, 왠지 한 게 없는 것 같은 나날이지만 그래도 좀 더 저의 방법으로 빠르게 적응하기 위해 서브 프로젝트를 진행하려 합니다. 회사 기능에 대한 기능을 이해하기 위해 진행하는거라 차근차근 공개 가능하다고 판단하는 것만 올릴 생각입니다. [예전에 하던 프로젝트도 해야하는데 ㅡㅍㅡ...] 아 그리고 spring boot에 jsp, 마이바티스로 하고 있어서 한동안 jpa는 공부 못 할 것 같습니다. [그리운 그대 jpa..]
특정 Project Repository에 접근해야 할 경우 관리자가 보낸 초대는 email로 발송된다. 가입 후 email로 들어가 확인하라. SSh Key 등록하기 프로필 사진을 클릭 후 View profile 눌러 Settings 접속 Security -> SSH keys 로 들어가 Add key 하여 등록하기. 공개키는 등록 불가능함. 이클립스 클론은 어떻게 하는지 정확하지 않아 터미널을 이용해 폴더 생성 후 클론 받음 받을 때 추가적인 폴더 없어도 해당 Repository의 폴더 하단에 코드 생성됨.
- Total
- Today
- Yesterday
- HTTP
- spring-boot
- 인텔리J
- mapping
- header
- 프로그래머스
- 회고
- body
- 일지
- 모듈
- Java
- web
- JAR
- JavaScript
- Request Handler
- 스터디 회고
- 개발
- graphQL
- 개발일지
- 멀티모듈
- 자바스크립트
- Spring
- springboot
- @Autowired
- 한 입 크기로 잘라먹는 리액트
- homebrew
- RequestHandler
- MySQL
- Gradle
- Spring Boot
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |