전체 글 333

Spring - 2일차

override!! get 과 set?? 자바에서는 역할과 구현을 어떻게 분리하는가?! - 다형성 을 사용한다! - 역할 : 인터페이스 - 구현 : 인터페이스를 구현한 클래스, 구현 객체 모든 설계에서는 역할과 구현을 분리하자. => 코드는 유연해지고 변경에 용이해진다. but, 인터페이스 도입 시 추상화라는 비용이 발생한다! 그럼 클래스들을 비용을 소모하며 추상화를 해야하나?! => 구체 클래스를 직접 사용한 뒤 향후 확장이 필요해지면 그 때, 리펙터링으로 인터페이스를 도입해 추상화를 하는것도 방법! CREATE TABLE IF NOT EXISTS STUDENT ( student_code varchar(100) primary key comment '수강생코드', name varchar(100) not ..

Spring 기초 - 1일차

웹 동작방식 이해하기 API 서버 강의 https://hanqyu.github.io/blog/what-is-api-server/ API 서버란 무엇인가 의외로 웹 어플리케이션을 처음 접하는 사람 중에, API 서버가 무엇인지 & 왜 필요한지를 모르는 경우가 있다. 그래서 간략하게 짚고 넘어가고자 한다. 아래 설명은 REST API에 대한 설명과 많이 맞 hanqyu.github.io https://kephilab.tistory.com/91 1. Java 자바 [API] - 자바 기본 API 패키지 1. API API : Application Programming Interface 즉 라이브러리(library) 로 프로그램에서 자주 사용되는 클래스 및 인터페이스의 모음이다. - String, System ..

알고리즘 - 마지막(with Test)

오늘은 알고리즘의 마지막날 시험은 운영매니저님이 주신 힌트 덕분에 수월하게 마무리를 했던 것 같다. 시험이 끝나도.. 아니 끝났지만! 바로 이어진건, 기술매니저님이 주신 과제를 진행해야 했기에 책상, 모니터와 머리를 맞대기도 전에 매니저님이 따스하게 다가오셨다.. 마주하고, 다시 건내받은 과제는 금일 23:00까지 solid를 마무리하고, 수정한 코드를 깃헙에 올린 후 링크 제출을 통해 확인을 받는 것! 하지만 지금 TIL을 적는 시간은 02:00를 가리키고 있다. 이 말은 즉슨, 완료하지 못하고 나가떨어질 것 이라는 예상이 펼쳐진다. solid를 진행하며 오늘 이해한 건, SRP DIP OCP 이다. 그나마 이 마저도 바로바로 이해는 되지 않는 편이었던 것 같다. 방금 전 까지 LSP를 팀원들과 코드를..

알고리즘 - 5일차

etc = ((money-pay) / 500) + ((money-pay) % 500) / 100 + (((money-pay) % 500) % 100) / 50 + ((((money-pay) % 500) % 100) % 50) / 10 + (((((money-pay) % 500) % 100) % 50) % 10) / 5 + ((((((money-pay) % 500) % 100) % 50) % 10) % 5) / 1; 해당 코드를 for 문을 사용하여 간단하게 만들어 볼까요?! int change = money - pay; int allCoin = 0; int[] coin = new int[] {500, 100, 50, 10, 5, 1}; for (int i = 0; i < coin.length; i++) ..

알고리즘 - 4일차 (모의고사 Review)

제곱근 Math.sqrt() Math.sqrt(9) - 3 출력 x의 n제곱 값 출력 Math.pow(x, n); Math.pow(3, 2); = 9 문제 1번 기원이는 오늘 항해99를 시작했다. 성격이 급한 기원이는 항해 1일 차부터 언제 수료를 하게될 지 궁금하다. 항해 1일 차 날짜를 입력하면 98일 이후 항해를 수료하게 되는 날짜를 계산해주는 알고리즘을 만들어보자. 제한 조건 : 1 ≤ month ≤ 12 , 1 ≤ day ≤ 31 (2월은 28일로 고정합니다, 즉 윤일은 고려하지 않습니다.) public class Main { public String solution(int month, int day) { String answer = ""; int[] days = {31, 28, 31, 30, ..

알고리즘 - 3일차

Split 메서드 - 구분자를 기준으로 문자열을 잘라 배열로 입력할 때 사용하는 메서드 사용방법 - split (String regex); : 구분자를 바탕으로 배열 형식으로 문자열을 잘라준다. - split (String regex, int limit); : 위의 방식과 동일하게 배열 형식으로 문자열을 잘라주지만, limit 수만큼 잘라준다. split (String Rex); - [ " " ] 공백 " " 으로 분리 public static void main(String[] args) { String str = "Hello World"; String[] ArrayStr = str.split(" "); for (String s : ArraysStr) System.out.println(s); } 출력 값..

알고리즘 : 개인보충학습

문자열의 같음을 비교하는 건! equals() !!!!! String.equals("---") seoul[i].equals("Kim")!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! == 만이 같음을 비교하는 것이 아니다! 문자열은 equals()!!!!!!!!!! 김서바아아앙! 방식 1 - 숫자를 문자열로 바꾼 후 다시 문자열을 추출해 int형으로 바꿔주는 형식! 방식 2 - 단순하게 숫자를 10으로 나눈 나머지를 더하고, 그 나머지를 다시 10으로 나눠서 더하고.... char는 문자 while문 = 조건식이 성립하는 동안 진행! for 는 while과 동일하지만! 반복횟수를 알고 있을 때 진행! while은 반복횟수를 모를 때 사용한다! 총평! 간만에 잠을 좀 잤지만! 잠이 부족하다..

알고리즘 - 2일차 (23.01.28)

없는 숫자 더하기 - numbers에서 찾을 수 없는 0~9까지의 숫자를 모두 찾아 더한 수를 return numbers result [1, 2, 3, 4, 6, 7, 8, 0] 14 [5, 8, 4, 0, 6, 7, 9] 6 나의 풀이 및 부족한 점 class Solution { public int solution(int[] numbers) { int answer = 45; for (int n : numbers){ answer -= n; } return answer; } } 사실 처음에는 이 방법을 생각치 못하다 구글링을 하고 팀원들과 페어를 하게되면서 공유하게 된 코드! 기존의 내가 구현하고 싶었던 코드를 스스로 구현해보고, 추후에 보강을 해보자.. (문제를 단순하게 바꿔 읽는, 다양하게 생각을 할 ..

728x90