TIL
-
2021.03.05 기록장TIL 2021. 3. 4. 23:26
To Do 알고리즘 1문제 책 2 챕터 읽기 미션2 끝내기 미션1 피드백 반영 Done 미션2 끝내기 미션1 피드백 반영 Weekly goal 백기선님 study 마지막 주차 작성 Feeling 미션2를 끝냈다. 하다가 막힌 적이 있는데 바로 form에서 controller로 값을 넘겨줄 때 필드를 하나 빼먹어서 한참을 헤맸다. 뭐 잘 찾아서 고치긴 했는데 한 2시간을 헤맨 거 같다. 앞으로 수정을 할 때는 하나하나 잘 봐야겠다. study는 하나 빼고 작성을 했으니 내일 일어나서 작성을 하면 되겠다.
-
2021.03.04 기록장TIL 2021. 3. 3. 23:24
To Do 알고리즘 1문제 책 2 챕터 읽기 미션 진행 Done 책 1 챕터 읽기 알고리즘 1문제 Weekly goal 백기선님 study 마지막 주차 작성 Feeling 알고리즘을 풀었는데 주의할 점을 알았다. 값의 경계를 확인해야 한다. 값이 0개가 들어올 수 있다는 것을 항상 알고 있어야 한다. 오늘 문제풀이에서의 문제점은 위의 문제점과 우선순위 큐에서 값을 빼서 연산을 취하고 다시 넣는데 마지막 연산을 하고 다시 큐에 값을 넣는 문제가 있었다. 해야 할 계산이 끝났을 때는 조건으로 넣었어야 했다. 항상 경곗값과 예외상황을 체크하자. 오늘을 오후에 집중이 안돼서 멍청하게 앉아 있었다. 내일은 미션1피드백 수정하고 미션 2를 pr 보내는 게 목표이다.
-
2021.03.03 기록장TIL 2021. 3. 3. 00:07
To Do 알고리즘 1문제 책 2 챕터 읽기 미션 진행 Done 알고리즘 1문제 책 2 챕터 읽기 미션 진행 Weekly goal 백기선님 study 마지막 주차 작성 Feeling 미션도 끝냈고 할 건 다 했다. DB책을 읽었는데 정규화를 하는 방법과 키와 개체 무결성, 참조 무결성 등을 읽었다. 예시로 갱신 이상을 설명해 줬는데 왠지 다 나에게 일어날 것 같은 예시들이었다. 속성이 중복된 튜플이 있을 때 수정할 때 하나만 바꿔주면 이상이 생기고, 삽입할 때는 기본키가 있어야 되서 이상이 생기고, 삭제할 때는 연관되어 있어서 다 삭제되는 그런 예시들이었는데 다 익숙해 보였다.. 뭐 내일은 오늘과 똑같이 할 것 같다.
-
제네릭으로 중복 코드 줄이기TIL 2021. 3. 1. 12:32
예제는 백기선님 라이브에서 다뤘던 예제입니다. 기본 구조 Apple Banana AppleDao BananDao Store 제네릭을 사용하기 전의 구조로 Dao쪽에서 중복된 코드들이 발생한다. 상속을 이용한 방법도 있지만 제네릭을 사용해 중복을 줄여보자. GenericDao 선언하기 E : 엔티티 , K : 키 엔티티는 임의의 타입이기에 getId()를 모르는 게 당연하다. 에러를 해결하기 위해 타입을 제한선을 걸어줘야한다. 상한선이 될 엔티티를 선언해 주고 Apple은 그 Entity를 상속을 받는다. 중복도 어느 정도 해결이 됐다. 이제 GenericDao에 extends를 걸어 상한선을 걸어준다. Entity포함 그 밑의 클래스들만 올 수 있기에 E는 getId()를 사용할 수 있다. 하지만 Ent..
-
오버로딩 , 오버라이딩TIL 2021. 2. 28. 13:49
구분 오버로딩 오버라이딩 메소드 이름 동일 동일 매개변수, 타입 다름 동일 ,자식은 ok 리턴 타입 상관없음 동일 근데 오버라이딩하는 부모의 메소드의 리턴타입이 Object 처럼 자식이 있으면 오버라이딩할때 리턴타입으로 자식을 줘도 오버라이딩으로 인정한다. 다형성을 이용해서 근데 상속관계에서 이름은 같고 매개변수가 다르면 오버라이딩이 아닌 오버로딩이다. 출처: https://hyeonstorage.tistory.com/185 [개발이 하고 싶어요] 오버라이딩 내용만 재정의 해야 해 리턴타입이 자식이면 ㅇㅇ 오버로딩 리턴타입 달라도 됨 ㅇㅇ 매개변수 달라야 함 ㅇㅇ 위의 예제는 상속 간의 오버라이딩도 가능하다는 것을 보여준다.
-
Clone() 알아보기TIL 2021. 2. 28. 12:54
내가 clone()을 사용해본 적은 list를 복사할 때만 해본 적이 있다. 기본적으로 얕은 복사가 이루어 진다. 근데 원시타입은 얕은 복사가 이뤄져도 상관이 없지만 객체일 경우에는 문제가 생긴다. 예시를 보자. clone해서 만든 Ar2에 객체를 추가해도 Ar에는 영향이 없지만, 얕은 복사이기 때문에 sample을 건드리면 원본 데이터에도 영향이 간다. 그래서 copy를 사용하는 게 좋다. 근데 list나 배열일 경우는 copy를 하면 되지만 객체일 경우는 clone()을 재정의 해서 사용하는 것도 좋다. 내부적으로 재정의해서 사용하면 원복에 영향도 없고 다른 객체가 복사본이 하나 생기는 거다. 위와 같이 하나하나 카피해서 넣어도 되고 Info에서 또 clone()을 오버라이딩하면 조금 이쁘게 된다. ..