본문 바로가기

전체 글

WIL 이번 주는 API만을 만드는 주간이였습니다. API 및 Input, Output 값을 보고 API 를 만들고, 테스트를 통과하면 되는 과제였습니다. 이전 프론트까지 하던 과제보다는 알고리즘 문제 풀이에 가깝다는 느낌을 받았습니다. 상대적으로 초반엔 빠르게 진행이 되었다가.. 일반적인 출력값과 다르게 List 형식의 입출력을 진행할 때, 한번 막히고.. 리스트 내부에 리스트가 중첩되어있는 구조에서 다시 막히는 상황이 일어났습니다. 또한 지속적으로 Test 및 Entity 코드에 에러가 발생하여 3번문항의 모든 파일을 제거하고 다시 작성하는 과정을 반복하게 되었습니다. https://github.com/Zpoxic/restaurant 어노테이션 기능이 좋은 것은 확실하지만 관계형 DB에 대해 좀 더 알아봐야.. 더보기
5주차 팀과제 1. API란 무엇인가? API(Application Programming Interface) 는 응용 프로그램에서 사용할 수 있도록 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스입니다. 가장 큰 API 의 핵심은 애플리케이션을 서로 연결하여 통신 할 수 있는 매개체 역할을 해줍니다. API 가 표준이 되어서 사용하는 방식을 표준화 할 수 있습니다. API는 공개 범위에 따라 3가지로 나누어 볼 수 있습니다. 기업 내부에서만 이용하는 프라이빗, 파트너사와 정보를 공유하는 파트너, 그리고 모두에게 공개된 퍼블릭(오픈) API가 있습니다. Private API 내부 구성원만 이용이 가능하며, API 통제 권한이 기업에 있습니다. Partner API 특정 비즈니스 파트너와 공유.. 더보기
4주차 WIL 이번 주는 오류와의 싸움이였습니다.. 월요일과 화요일 강의 시청 및 개인과제 준비 후 기존에 작성하였던 코드로 개발을 진행하였으나.. 타임리프 적용으로 페이지 연결 후 오류 발생으로 수요일 내내 관련 작업을 진행하였고, 각 페이지별 기능 추가를 위해 js 파일을 분리하였으나 .. 데이터가 형태가 다르다거나, 못받는 등의 오류가 많이 발생하였습니다. MVC를 정확히 이해하지 못하여 필요한 정보를 불러오거나, 저장하고, 사용하는데에 미숙함을 느꼈고, 관련 내용의 학습을 해야할 것 같습니다. 또한, 설계단에서 API의 설계를 잘 해둬야 DB 사용에 있어 용이하다는 점을 알게되었습니다. 무엇보다 이제는 혼자서 해결할 수 있는 범위를 넘어서기 시작하였다는 것을 체감하였습니다. 앞으로는 주변에 도움을 많이 청하게 .. 더보기
3주차 WIL 이번 주차는 Spring에 관한 기초 교육주간이였다. Spring 은 자바 플랫폼을 기반으로 한 오픈 소스 프레임워크이다. 주요 모듈로는 IoC(제어 반전 컨테이너), 관점 지향 프로그래밍 프레임워크, 데이터 액세스 프레임워크, 트랜잭션 관리 프레임워크, 모델-뷰-컨트롤러 패턴, 배치 프렘워크가 있다. 이번 주에는 Controller, Service, Repository 를 이용하여 게시판을 만들었다. 주요 기능으론 게시글 작성, 삭제, 상세보기, 시간순서로 정렬이 있다. id(게시글 번호 등으로 사용), title(글 제목), username(작성자 이름, 직접 입력), contents(글 내용)으로 4가지를 DTO로 묶어 자료를 전달하는 방식을 사용하였다. Controller 에서는 기능에 대한 요청.. 더보기
[백준] 1157 문제풀이(실패) 개인 테스트 시에는 정상적으로 나오는 것으로 보이는데... 백준에서는 실행해본 모든 결과는 오답이였습니다. 런타임이 길어서인지도 모르겠네요. import java.util.*; import java.util.stream.Collectors; class Solution{ public char solution(String s){ char answer=' '; String s_clone_upper = s.toUpperCase(); Set set = new LinkedHashSet(); ArrayList compare_char = new ArrayList(); for(int i=0;i 더보기
WIL 2주차 항해 99 4기 2주차.. 이번주는 알고리즘과의 싸움이였습니다. 알고리즘 문제는 본적은 있어도 풀어본 적은 단 한번도 없어서 걷기반을 신청하였고, 28개의 알고리즘 문제를 풀게되었습니다. 이번 주는 알고리즘 문제를 풀면서 알고리즘 자체를 만드는 것은 어렵다는 사실과.. 만들어둔 알고리즘을 사용하는 이점을 체감하게 되었습니다. 알고리즘의 사용은 곧 코드의 단순화이지만 코드를 단순하게 짜기위해선 그만큼 기능을 가진 함수를 알거나, 검색해야한다는 점을 직접 느끼게 된 한 주입니다. 아래는 이번 주 작성된 알고리즘 문제 풀이입니다. https://coding-wil.tistory.com/25 https://coding-wil.tistory.com/30 https://coding-wil.tistory.com/38.. 더보기
TIL 2주 5일차 32. 두개 뽑아서 더하기 https://programmers.co.kr/learn/courses/30/lessons/68644 [풀이에 필요한 조건] [해답] import java.util.*; class Solution { public int[] solution(int[] numbers) { int sum=0; ArrayList insert = new ArrayList(); ArrayList compare = new ArrayList(); ArrayList real_int = new ArrayList(); for(int i=0;i< numbers.length;i++){ insert.add(numbers[i]); } Collections.sort(insert); int count=insert.size(.. 더보기
TIL 2주 4일차 22. 자릿수 더하기 https://programmers.co.kr/learn/courses/30/lessons/12931?language=java [풀이에 필요한 조건] 몇자리의 숫자인지 판독하기 위해 log함수를 사용. (int)Math.log10(n)+1 10의 제곱근을 나타낼 Math.pow(double a, double b)을 통해 구하려고 하는 자리수보다 한자리 높은 10^자리수+1 로 나머지 계산, 뒷자리를 떼어내기 위해 동일한 10^자리수 로 나눠줌. [해답] class Solution { public int solution(int n) { int answer = 0; int n_len = (int)Math.log10(n)+1; for(int i=0;i 더보기