전체 글

myGoodPlace
[백준/BOJ16174] 점프왕 쩰리
[백준/BOJ]문제 # 16174 점프왕 쩰리 풀이 및 배운 점 오른쪽, 아래쪽으로 가야하는데, 원하는 답이 나오지 않아 print() 메서드를 만들어 확인해보니 아래쪽으로만 가는것이였다.이 때, 왜그런거지? 라고 생각하면서 내 코드의 오류를 확인해봤어야 했는데 아 왜 안 돼!? 이렇게만 생각하다보니 오류를 찾는 데 시간이 오래걸렸다. 앞으로는 원하는 결과가 나오지 않는다면, 이렇게 되는 이유는 무엇인지 되돌아 짚어가며 확인해볼 수 있도록 해야겠다. 내가 작성한 코드import java.io.*;import java.util.*;public class Main { static int DIR = 2; static int[] dy = {0, 1}; static int[] dx = {1, 0}; static ..
[네트워크] REST API를 꼭 지켜야하는걸까?
·CS/네트워크
REST API란 뭘까? REST API는 내가 무엇을 어떻게 요청할 것인지 REST의 원칙에 따라 작성한 API라고 생각한다. 그리고 이 API는 HTTP 규약을 잘 지켜서 보내야하며, 무조건적으로 지켜야하는 표준이 아니다. REST의 구성요소 3가지 1. 자원 2. 자원에 대한 행위 3. 행위에 대한 내용 REST API는 이 구성요소 3가지가 모두 API에 담겨있어야 한다고 말한다. 그리고 이것을 모두 잘~지킨 것을 RESTful하다라고 말하는 것이다. 그런데, 개발을 하다보면 조회를 한다고 GET을 사용하면 안되지 않을까? 라는 생각에 모두 지키는 것이 어려울 것이라고 판단하였다. 그리고 이것을 무조건적으로 지키는 것이 어렵다고 느꼈다. 그래서 여쭤봤더니, 무조건 조회는 GET으로 했을 때 RES..
[JAVA] 생성자도 상속이 된다는 입장에서 쓰는 글
상속을 어떤 관점에서 보느냐에 따라 생성자도 상속이 된다 vs 생성자는 상속이 되지 않는다 로 의견이 나뉜다. 생성자는 상속이 되지 않는다. 의 입장 상속은 슈퍼 클래스의 멤버를 서브 클래스가 그대로 사용을 하거나 필요에 따라 추가해서 사용할 수 있어야하기 때문에, 생성자는 상속이 아니다. 라고 말한다. 나는 메모리 관점에서 생성자는 상속이 된다 라는 입장이다. 첫 번째, 생성자는 클래스명으로 된 특별한 메서드다. 클래스가 로드될 때, 메서드 영역에 메서드와 함께 생성자가 포함되어 저장된다. 즉, 생성자는 메서드와 같은 메모리 공간에 존재하며 용도가 조금 특별할 뿐이다. 두 번째, 생성자와 메소드를 호출하는 방식이 동일하다. 객체가 갖고 있는 메서드를 실행할 때에는, 힙 영역에 해당 메서드의 주소값을 가..
[백준/BOJ20002] 사과나무
[백준/BOJ]문제 # 20002 내가 작성한 코드import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); int[][] map; int n = Integer.parseInt(br.readLine()); map = new int[n+1][n+1]; for(int y=1; y..
[데이터베이스] 트랜잭션(Transaction) 격리수준
Transaction(트랜잭션) 격리수준 트랜잭션 격리수준을 계속 보면서 외웠는데, 이름의 의미와 각 격리단계를 보완하기위한 전략을 이해하는 방법으로 다시 격리수준을 학습해보았다. 이번에 조금 더 깊게 공부하면서, 왜 MySQL 혼자 Repeatable Read 의 격리단계를 기본 단계로 갖는지 알 수 있었다. (Next Key Lock덕분)그리고 오라클이 고가용성에 좋다고 알고있는데, 이것이 지원하지 않는 격리 수준과 관계가 있는걸까? 하는 의문이 들었다. 물론, 아직 의문을 해결하지는 못했다. 트랜잭션하나의 기능을 수행하기 위한 SQL 연산들의 집합을 의미트랜잭션의 성질Atomicity(원자성)트랜잭션은 모든 연산이 완전히 성공적으로 수행되어야 한다. 그렇지 않다면 아예 수행되지 않아야 한다. All..
[페어프로그래밍][알고리즘] 버블정렬
·CS/알고리즘
5분씩 총 30분동안 네비게이터와 드라이버의 역할을 번갈아가며 페어프로그래밍을 진행했다.페어 프로그래밍의 미션은 버블정렬을 구현하는 것이었다. 이번 기회를 통해, 내가 어떤 부분에서 정확히 알고 있고, 모르는지 확인할 수 있었다.채윤이랑 함께 페어 프로그래밍으로 버블정렬을 구현하면서 즐거웠고, 인상깊어서 구현 방법도 잊어버리지 않을 것 같다! 그래서 페어 프로그래밍을 하면서 느낀 점을, KPT 회고로 남겨보고자 한다.  Keep(현재 잘하고 있는 부분, 만족하는 부분)- 상대방이 어디까지 내가 표현한 것을 이해하고 있는지, 계속 확인하고 표현하고자 노력했던 것- 대화를 하면서, 상대방의 기분이 상하지 않도록 표현 하나하나를 조심히 한 것 Problem(개선이 필요하다고 생각하는 부분)- 상대방이 이해할 ..
[디자인 패턴] MVC
디자인 패턴 중 MVC가 있다. MVC는 뭘까? M은 Model, V는 View, C는 Controller를 의미한다. Model(이하 모델)은 데이터를 가지고, 연산 역할을 한다. View(이하 뷰)는 사용자의 입력을 받고, 사용자에게 화면을 보여주는 역할을 한다. Controller(이하 컨트롤러)는 모델과 뷰 사이의 중재자로서, 뷰의 요청을 받아 모델에게 알맞는 요청을 넘기고 받아 뷰에 해당 응답을 넘겨주는 역할을 한다. 왜 이렇게 모델, 뷰, 컨트롤러로 나누는걸까? 먼저 나누지 않는 것의 특징을 보자. JSP(Java Server Page)는 뷰(HTML)와 컨트롤러(Java)가 한 파일에 모두 다 있다. 1. 이렇게 나누지 않은 JSP 파일이 만일 2,000줄의 코드로 이루어져 있다면, 한 줄을..
ERROR: Exception in thread "main" java.lang.ClassCastException
Exception in thread "main" java.lang.ClassCastException: class [I cannot be cast to class java.lang.Comparable ([I and java.lang.Comparable are in module java.base of loader 'bootstrap') Exception in thread "main" java.lang.ClassCastException: class [I cannot be cast to class java.lang.Comparable ([I and java.lang.Comparable are in module java.base of loader 'bootstrap')   자바에서 알고리즘을 풀 때, 보통은 클래..
sooyeon-kr
myGoodPlace