전체 글

TIL

Today's Dev Notes(2018-11-29)

Today's Dev Notes(2018-11-29) 안녕하세요, Brad입니다. 오늘은 XHR과 Ajax을 수업시간에 실습해봤는데요. 이에 대해서 간략하게 정리해볼게요. Introduction 모바일과 달리 웹은 모든 자원이 서버에 존재합니다. 그렇기 때문에 해당 url에 접속하게 되면 웹브라우저가 HTML을 위에서 부터 읽어오면서 필요한 자원을 모두 가져오죠. 우리가 흔히 쓰는 네이버도 처음 접속시 엄청 많은 양의 자원을 서버로부터 요청받아 받아옵니다.그런데 네이버 웹에서 만약 하나의 부분만 바꾸고 싶다면 어떻게 해야할까요? 지금까지 배운대로라면 '새로고침'하여 다시 저렇게 많은 자원을 다시 요청해야 합니다. 특정 부분만 바꾸고 싶은데 대부분의 자원을 모두 다시 받아와야 하는 것입니다. 정말 비효율적..

Algorithm/problem solving

Today's Algorithm(2018-11-27)

Today's Algorithm(2018-11-27) leetcode 11. Container With Most Water 어제 손쉽게 풀었던 문제인데요. 문제를 풀고나서 효율성은 거의 빵점이더라구요. 그래서 오늘 다른 사람의 코드를 참고하면서 기존의 코드를 개선할 수 있는 방법을 찾으려 노력하였습니다. 어제 다른 사람의 코드를 봤었을 때는 잘 이해가 안갔는데 넉넉하게 여유를 잡고 보니 알겠더라구요. 그래서 기존 코드와 오늘 참고한 코드에 대해 모두 정리해보려 합니다. 처음에 문제를 봤을 때 가장 처음 든 생각은 막대기가 index값을 가지고 있으면서도 height를 가지고 있어야 하기 때문에 Stick이라는 클래스를 만들면 좋겠다는 것이었습니다. 그리고 for문 2개를 이용하여 다른 막대기를 2개를 골..

TIL

Today's Dev Notes(2018-11-26)

안녕하세요, Brad입니다. 오늘도 많은 것들에 대해 배우고 깨달을 수 있었던 시간들이었네요. 가장 인상깊었던 부분은 qna step4의 미션이기도한 질문, 답변 삭제 기능 구현입니다. 그럼 그 부분에 대해 정리하는 것으로 시작해볼게요! 삭제하는 것까지는 사실 이전 step3에서도 이미 구현했던 부분인데요. 다른 점이 있다면 실제 DB에서 삭제하지 않고 boolean타입의 상태값을 두어 그 부분만 삭제 처리한 것처럼 보이게 한다는 것입니다. 처음에는 자연스럽게 UPDATE 쿼리문을 생각했었습니다. 그 이전 DB에서 수정할 때마다 UPDATE 문을 썼었기 때문에 아무런 의심없이 Spring에서 UPDATE 문을 적용할 수 있는 방법을 검색해나갔습니다. 그리고 몇몇 사이트에서 SQL문을 써서 삭제시 UPDA..

TIL

Today's Dev Notes(2018-11-25)

Today's Dev Notes(2018-11-25) 안녕하세요, Brad입니다. 오늘도 여느 때와 같이 미션을 진행하면서 고민했던 부분이나 깨달은 부분을 정리해볼게요. Mustache 추가 사용법 객체가 들어있는 때 해당 객체의 속성 불러오기 {{#객체명}}필드명{{/객체명}} 이렇게 하지말고 다음과 같이 좀 더 간단하게 객체의 속성을 불러낼 수 있습니다. {{객체명.필드명}} 으로요!! Entity 필드 아닌 getter 호출하기 해당 객체 내 (get + 해당이름) 으로 정의되어 있는 경우 Mustache에서 {{해당이름}} 으로 호출 할 수 있습니다. Entity필드에 formattedDate 라는 속성을 넣지 않고 getter메서드처럼 보이게 정의해두었습니다(getFormattedDate())...

Language/Java

제네릭(Generic)

자바에서 Collection을 사용하다보면 안에 Element의 타입을 종종 보곤하는데요. 이 부분을 '제네릭'이라고 합니다. 그럼 이 제네릭을 왜 쓰는 것일까요? 다음과 같은 사용자가 만든 클래스가 있다고 생각해봅시다.1 public class CastingDto implements Serializable { private Object object; public Object getObject() { return object; } public void setObject(Object object) { this.object = object; } } 그리고 몇 개의 객체를 생성해보겠습니다. public class GenericSample { public static void main(String..

Algorithm/problem solving

Today's Algorithm(2018-11-22)

Today's Algorithm(2018-11-22) programmers 여행경로 어제 짧은 시간이었지만 문제를 풀었는데 테스트케이스 4개 중에 2개가 '런타임오류'가 발생하였습니다. 뭐가 무엇인지 찾지 못하다가 같이 스터디하는 멤버로부터 받은 커스텀 테스트케이스를 돌려봄으로써 어떤 것에서 오류가 발생했는지 알았네요. 그럼 저는 문제를 어떻게 해결했는지 간략하게 정리해볼께요. 먼저 티켓들을 원하는대로 쉽게 꺼내기 위해 자료구조를 만들건데요. 우선 이전에 Ticket이라는 클래스를 만들었습니다. (출발지, 도착지, 사용여부) 이렇게 3개의 상태값을 가지고 있습니다. class Ticket implements Comparable { String departure; String arrival; boolean..

Brad Lee
Brad's blog