전체 글

하루 종일 오목 미션을 수정하고 MVC패턴에 대해 고민했다. 오목 미션은 정말 내 가슴을 답답하게 했다. 뭔가 하고싶은 구조는 있는데 자꾸 디테일이 안 잡혔다. 그래서 썼다 지웠다를 굉장히 반복했다. 아, 그리고 오늘은 제임스의 수업도 있었다. 뭔가 레벨2의 내용을 미션에 필요한 부분만 미리 맛보기로 보여주는 느낌이었는데, 맛만 보다보니 이해가 안되는 부분이 꽤 생겨서 궁금증 투성이였다. (SQLite 부분은 사용법만 익히는 느낌이라 괜찮았다. Log와 디버그 모드 릴리즈 모드... 요부분이 어려웠다..) 또 제이슨과의 면담도 있었다. 처음 면담을 신청할때는 '알고리즘을 해야할까요?'라는 질문을 하려고했었다. 그러나 4기 분들과 대화도 해보고 혼자 생각도 해보니 제이슨이 나에게 답해줄 수 있는 문제가 아..
우테코 2주차. 몸풀기였던 온보딩 미션이 끝나고 이제 진짜배기 미션이 시작되었다. 프리코스에서 날 가장 괴롭혔던 로또.. 다시 돌아와서 날 괴롭혔다. 새로운 미션은 화요일에 새로 진행되는데 이때 모두가 보는 앞에서 랜덤으로 페어를 정한다. 이번에 내 페어가 된 사람은.. 두구두구 바로 반달이었다~! 온보딩에서 함께했던 산군은 이미 친한사이였기 때문에 이번이 진짜 제대로된 페어프로그래밍이었다고 생각한다. 반달은 굉장히 신중한 사람이다. 내가 무언가 의견을 제시하면 반달은 한참동안 열심히 고민하고 대답해주었다. 신중한 성격의 반달 덕분에 고민할 거리도 많아지고 질문거리도 많아졌던 것 같다. 아 질문하니까 생각났다. 내 로또 미션 리뷰어님은 바로! 우테코 안드로이드 과정 코치님인 레아다!! 레아로 말하자면 잠..
다음 주에 결과로 돌아온다는 우테코 최종 코테 후기를 쓰고... 결국 결과를 적지 않았었다,, 그리고 두 달이 지난 이제서야 적게 되었다,, 정말 감사하고 운 좋게도 합격하게 되었다..!! 서류 쓰는 내내 다시쓰고 고쳐쓰고를 반복하며 깎고 깎았고 프리코스 4주 동안은 프리코스 미션 외에는 아무것도 하지 못했었다. 너무나 우테코가 하고싶었던 나머지 서류 지원과 프리코스 기간 동안 적잖은 스트레스도 받았었다. 프리코스가 끝나고 꽤나 기진맥진하여 최종 코딩테스트 전까지 딱히 공부하지 못했다. 그래서 직전에 한 두 문제밖에 풀어보지 못하고 최종 코딩테스트를 봤었다. 최종 코딩테스트 준비는 거의 못 했지만 프리코스 때 고생한 보람이 있었는지 예상보다는 수월하게 볼 수 있었다. 정말 내 모든걸 걸고 준비했던 선발과..
· Kotlin
코틀린의 인터페이스를 알아보도록 하자 코틀린의 인터페이스는 자바의 인터페이스와는 차이가 있다. 코틀린의 인터페이스에서는 프로퍼티 선언이 가능하지만 자바는 불가능하다. 자바에는 implements를 통해 인터페이스를 구현하지만 코틀린은 콜론(:)을 사용한다. 코틀린의 인터페이스 안에는 추상 메서드뿐 아니라 구현이 있는 메서드도 정의할 수 있다. (이는 자바 8의 디폴트 메서드와 비슷하다고 한다) 그럼 지금부터 코틀린 인터페이스의 예시들을 보며 알아가보도록 하자. 자바 코드는 이해를 돕기 위해 참고용으로 매 코드마다 넣어놨다. override 키워드와 인터페이스 우선 간단하게 인터페이스를 선언해보자 interface Soccer { fun kick() } 자바 코드 // java도 큰 차이는 없다 publi..
· Kotlin
Java와 비교해서 Kotlin 맛보기 먼저 Kotlin을 잠시 맛보고 가도록 하자 클래스(Class)라는 개념의 목적은 데이터를 캡슐화하고 캡슐화한 데이터를 다루는 코드를 한 주체 아래 가두는 것이다. // java code 1-1 public class Person { private final String name; public Person(String name) { this.name = name; } public String getName() { return name; } } java code 1-1을 코틀린으로 변환해보자 // kotlin code 1-1 class Person(val name: String) 11줄을 차지하던 Person 클래스의 코드가 단 1줄로 변환되었다. 이와 같이 코틀린은..
객체지향은 실제 세상의 모방이 아니다. 우리는 보통 객체지향을 처음 마주할 때 실제 세상의 모방이라는 말을 많이 듣는다. 즉 객체지향 소프트웨어가 실세계의 투영이며, 객체란 현실 세계에 존재하는 사물에 대한 추상화라는 뜻이다. 하지만 이 것은 틀렸다. 애플리케이션을 개발하면서 객체에 직접적으로 대응되는 실제 세상의 사물을 발견할 확률은 그다지 높지 않다. (책을 읽으면서 놀란 부분.. 생각해보니 정말 그렇다! ㅋㅋ) 방화벽이 화재의 확산이 아닌 네트워크 침입을 막는다고 문제가 될까? 실제 세상의 방화벽이 건물과 연관돼 있다고 해서, 네트워크 방화벽이 건물과 연관될 필요가 있을까? 소프트웨어 방화벽과 건물의 방화벽 사이의 의미적 거리만큼이나 소프트웨어 객체와 실제 사물 사이에 존재하는 연관성은 희미하다. ..
와!!!!!!!! 우테코 1차를 통과했다!!!! 동네 사람들! 제가 우테코 1차를 통과했어요!! 이게 진짠가~~ 1차 합격 메일을 받고 너무 기뻤다. 하지만 기쁨도 잠시, 빨리 최종 코딩테스트를 준비해야겠다는 생각에 휩싸였다. 그래서 지난 기수의 코딩 테스트였던 `페어 매칭 프로그래밍`을 풀어보기로 했다. 지난 기수엔 아쉽게도 안드로이드가 없어 자바와 자바스크립트로 된 문제밖에 없었다. 그래서 그냥 필요한 마크다운파일만 다운받아서 코틀린으로 풀어보았다. 근데 왠걸.. 너무 어려웠다. 이거 대체 어떻게 푸는거야.. 분기처리가 굉장히 많은 문제인데 else와 when(switch)을 쓰지 말라니.. 물론 프리코스동안 enum클래스를 통해 분기처리하는 방법을 맛있게 써먹긴했지만 이건 좀 무리였달까..?ㅋㅋ 여..
이제 와서 올리는 4주차 회고.. 약 한 달 전에 진행한 미션인데 어쩌다보니 다른 일들과 게으름 이슈로 인해 이제야 적게 되었다.. 사실은 최종 코딩테스트 회고를 적으려고 했는데 4주차만 빼니까 좀 거슬려서 그때 냈던 소감문을 보면서 문장만 정리해서 적어보려고한다. 한 달 전으로 돌아갔다고 생각하고 보자! 드디어 길고도 짧았던 한달간의 우테코 여정이 끝났다. 하면서 재밌기도 했고, 알고 느끼게 된 것이 많아 뿌듯하기도 했으며, 더 잘하고 싶다는 압박감에 간혹 힘들기도 했다. 그래도 얻어가는 것이 많아 떨어지게 되더라도 프리코스 지원에 후회하지 않는다. 매 미션마다 그랬지만 이번에도 느낀 것이 너무 많았다. 그 중에서 큰 것만 몇 가지만 골라 이야기해보려고 한다!! 테스트 코드와 전략 패턴 나는 인터페이스..
인터루드
빅스의 인덱스