목록개발 (16)
제이슨의 개발이야기
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/dsiCnw/btq0UdeMWpX/OSNZEZXUWUk2sPG1jk8Kp1/img.png)
구글이 first kotlin 을 외친 후 최근 새로운 프로젝트에 대부분은 아마 코틀린으로 작업 하고 있습니다 그만큼 이제 안드로이드 개발이 자바에서 코틀린으로 넘어오는 추세입니다 코틀린을 공부하다보면 코루틴이라는 단어는 분명 들어 보셨을겁니다 코루틴이 무엇일까요? 코루틴은 비동기적으로 실행되는 코드를 간소화 하기 위해 Android에서 사용할 수 있는 동시 실행 설계패턴입니다 코루틴은 Android의 비동기 프로그래밍에 권장되는 솔루션입니다. 주목할 만한 기능은 다음과 같습니다. 경량: 코루틴을 실행 중인 스레드를 차단하지 않는 정지를 지원하므로 단일 스레드에서 많은 코루틴을 실행할 수 있습니다. 정지는 많은 동시 작업을 지원하면서도 차단보다 메모리를 절약합니다. 메모리 누수 감소: 구조화된 동시 실행..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cZnvSu/btq0egaS2w8/WzOCxTEbI7dFGDCkshxeJ1/img.jpg)
안녕하세요 프로그래밍 공부를 하고 있는 학생이나 면접을 준비하고 있는 취업 준비생 혹은 전공생 분들이 개발 공부를 하다보면 문득 이런 생각이 듭니다 빌드가 근대 뭐지? sdk가 뭐지? 컴파일이 머였더라? 분명 대충 무엇인지는 알지만 이걸 누군가가 물어본다면 어떻게 설명해야 할까 난감할때가 있습니다 그래서 오늘은 이러한 용어 정리를 해보려구 합니다 컴파일 : 프로그래밍 언어로 작성한 프로그램을 컴퓨터가 이해할 수 있도록 기계어로 번역하는 일 자체를 컴파일 이라고 한다 빌드 : 소스코드 파일을 실행가능한 소프트웨어 산출물로 만드는 일련의 과정입니다 빌드를 하게 되면 자바로 예를들면 소스코드를 컴파일 해서 .class 파일로 변환하는 과정을 거치고 여러 resource .class에서 참조 할 수 있는 적절한..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/QidN5/btqZSuHgGTT/yylgntWAIKi1zf9DzF5ZUK/img.png)
스트레티지 패턴 (strategy pattern) 이란 서로 다른 알고리즘들이 존재하고 , 실행 중 적합한 알고리즘을 선택해서 적용하는 패턴을 스트레티지 패턴 입니다 이것을 좀 더 쉽게 예를 들자면 영화 티켓을 구매하는 경우 누군가는 초대권이 있어서 초대권으로 티켓을 받는 경우 , 누군가는 현금결제 , 누군가는 신용카드 결제 , 누군가는 vip 멤버쉽 티켓 등등 같은 티켓을 구매하지만 티켓을 구매하는 방식(알고리즘) 이 서로 다른 경우 스트레티지 패턴 (strategy pattern) 을 사용하면 쉽게 간결하게 구현 할 수 있습니다 ! 다시 스트레티지 패턴 (strategy pattern) 을 정리하면 같은 종류의 작업(ex 영화티켓 구매) 을 하는 알고리즘을 정의 하고 각 알고리즘을 캡슐화 함 그리고 ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/w7TW6/btqZpT2mmP6/OoW81br1934yARILwNKwXk/img.png)
안드로이드 개발 공부를 하다보면 Ui 레이아웃을 Linear layout 혹은 Relative layout 을 주로 사용하여 개발 하시는 분들이라면 중첩 레이아웃을 많이 써 Ui 코드가 상당히 길어지고 유지 , 보수 하는대 어려움을 겪습니다 저 역시도 Linear layout 만으로 개발하면 메인 화면 Ui 하나 코드 짜는대 무려 700줄 이상 나오더라구요 ㅠㅠ 그래서 궁금했습니다 과연 현업에서는 규모가 큰 프로젝트 에서는 Ui 레이아웃을 어떤 것을 쓸까? 이런 중첩 레이아웃을 많이 쓰다 보면 분명 코드의 복잡성이 높아지는대 이걸 해결 하는 방법이 무엇이 있을까? 여러 소수문 끝에 실제 현업 개발자에게 들은 내용은 Constraint Layout 을 써서 중첩 레이아웃을 최대한 피하는 방법이라고 합니다!..