
[Java] 익명클래스와 람다식에서 this가 다른 이유
크루들과 모던자바 스터디를 하면서 2장을 담당하게 됐다. 메인 내용은 동작 파라미터화였고, 그걸 수행하기 위해 익명 클래스를 사용하고 Java8 이상에서는 함수형 인터페이스를 사용한 람다식으로 구현했다. 이때 책 곁가지로 나오는 내용 중, 람다식과 익명 클래스는 this 참조가 다르다고 한다. 사용 형태를 보면 익명 클래스 = 람다식인데, 왜 이런...
크루들과 모던자바 스터디를 하면서 2장을 담당하게 됐다. 메인 내용은 동작 파라미터화였고, 그걸 수행하기 위해 익명 클래스를 사용하고 Java8 이상에서는 함수형 인터페이스를 사용한 람다식으로 구현했다. 이때 책 곁가지로 나오는 내용 중, 람다식과 익명 클래스는 this 참조가 다르다고 한다. 사용 형태를 보면 익명 클래스 = 람다식인데, 왜 이런...
프로그래밍 언어의 작동 순서 고수준 언어로 소스 코드 작성 (Java, Js…) 작성된 코드를 기계어로 변환 (컴파일 타임) 기계어를 컴퓨터가 실행 (런타임) Compile time 우리가 작성한 고수준 언어(소스코드)는 컴퓨터가 이해하지 못한다. 즉, 컴퓨터가 이해할 수 있는 언어로 변환해주는 과정이 필수적이다. 이때 기계어로 변...
3,4,5 주차 회고 회고를 몰아쓰다니… 좀 별로긴 하지만 이 3주동안 정말 눈코 뜰 새 없이 바빴기 때문에 진득하게 글을 쓸 기회가 없었다. 다행히도 주차별로 어떤것을 했고, 어떤 생각을 했는지 적어놨기에 그걸 키워드로 회고해 볼 계획이다. TDD 2주차 미션에서는 TDD를 적극적으로 사용해보는 것이 주요 요구사항이었다. 페어프로그래밍을 할 때...
깊은 복사 vs 얕은 복사 얕은 복사 = 주소값만 복사 얕은 복사의 경우, 오리지널이 바뀌면 얕은 복사한 개체도 값이 바뀜. 깊은 복사의 경우, 실제 값을 복사 후, 새로운 메모리 공간에 복사 깊은 복사의 경우, 오리지널이 바뀌어도 깊은 복사를 한 개체는 값이 바뀌지 않음 (아예 서로 다른 개체임) 1. 자바 데이터 타입 기본 자료형(Prim...
주간 회고 2주차 2주차로 들어서면서 본격적인 과정이 시작됐다. SoftSkill 우테코에서는 각종 소프트스킬 교육도 진행한다. 하루종일 코드를 쳐야하는 생활 속에서 리프레시가 되는 시간이다. 하지만 단순히 리프레시 목적은 아니라고 느꼈다. 프로그래밍 배울 시간도 적은데, 굳이 시간을 할애해서 하는 이유는 뭘까? 건설적인 커뮤니케이션 능력...
주간 회고 1주차 걱정반 기대반이었던 우아한 테크코스 1주차가 지났다. 쉽지 않았던 화요일부터 시작한 1주차는 4일동안 진행됐다. 지금까지 꽤 오랫동안 아침 5~6시에 자서 오후 2~3시 일어나는 생활패턴인 탓에, 일반인 사이클(?) 은 꽤나 쉽지 않았다. 솔직히 말해서 이번주차는 정신 못 차릴 정도였다. 물론 합격 이후로 1달반 정도의 충분한...
읽기 전에 이 글은 불특정 다수에게 우아한 테크코스에 대한 어떠한 정보나, 팁 같은 것을 알려주려는 글은 아닙니다. 자소서 꿀팁도 없고, 제가 제출한 코드도 없습니다. 그냥 2번에 걸쳐 우테코를 하면서 느꼈던 제 생각을 일기 형식으로 정리한 글입니다. 23년 6월 꿈이었던 천문학 연구를 포기했다. 오랫동안 준비했지만, 벽을 느꼈다. 대학교를 ...
사실 100% 구현 문제라 특별한 알고리즘은 없긴 한데, 주사위 굴리기 구현 발상이 나름대로 괜찮은 것 같아서 적어본다. 백준 14499번: 주사위 굴리기 아래로는 전체 문제 내용 정리는 없고, 주사위 알고리즘에 대해서만 설명한다. 1. 초기 주사위 상태 보드 위에서 주사위가 굴러갈 방향에 따라(동, 서, 남, 북) 어떻게 주사위 면면이 달라지...
이번에 우아한 테크코스 프리코스 4주 과정(10.15 ~ 11.12) 에 참가했다. 아무래도 참가한 인원이 정말 많고, 특히 백엔드의 경우 1000명이 넘는 인원이 참가하는지라 주차별 미션 하나하나에 개인적 피드백을 하기 보다는 공통 피드백이 주어졌다. 전공자거나 미리 클린코드 혹은 객체지향 코드를 알고있다면 익숙한 내용들이 다수 있을 테지만, 나처...
1. 코루틴 Coroutine 파이썬에서 코루틴은 Co(operative) + routine 의 합성어로, 메인 루틴과 서브 루틴이 서로 협력한다는 뜻을 가지고 있다. 즉 시간이 많이 걸리는 메인 루틴은 해당 작업이 완료되게 기다리고, 그 동안 다른 작업은 서브루틴이 처리 가능하다. 이것이 가능한 이유는 코루틴은 실행을 중단했다가 다른 작업을 수...