반응형 기타7 Preview Driven Development(프리뷰 주도 개발?) 근래 이야기되고 있는 분야인지는 모르겠습니다만, 제가 근래 본 포스트에 Preview Driven이라는 말이 많이 나오곤 했습니다. 그래서 좀 더 살펴보게 되더라구요. 여기서 말하는 Preview라는 이름은 Compose의 @Preview를 통한 그 화면에서 등장한 이름입니다. 그러니까 이 개발 방식은 Android, 그 중에서도 Compose를 사용하는 프로젝트에서 적용해볼법한 방식이라는 것을 의미합니다. 그렇다면 아직 논의된 지 오래되지 않은 개발 방식이겠군요! 저도 사용해본 적은 없어서 괜찮은지는 잘 모르겠습니다. 하지만 저희 회사에서도 현재 빌드 속도가 굉장히 이슈가 되고 있는 만큼, 이 방법이 도움이 될 수 있지 않을까 생각했습니다. PDD라고 줄여도 되는지 모르겠는 이 개발 방식은 안드로이드.. 2024. 11. 23. 가볍게 보는 아키텍처 vs 디자인 패턴 회사에서 코드 컨벤션을 정리하면서 가볍게 현재 사용중인 아키텍처와 패턴들을 정리하고 있었는데요. 여러가지 생각을 하다 보니, 예전에 MVVM이 디자인 패턴인지 아키텍처인지 찾아봤던 기억이 떠올랐습니다. 그때는 블로그들의 설명이 길고 장황해서 우와... 어려운 개념인가? 하고 넘어갔었는데, 조금만 생각해보면 그리 어려운 개념은 아니었다는 것을 알게 되서 넘어갔었습니다. 간만에 다시 다른 블로그 글들을 보다 보니 이걸 왜 이해하지 못했을까 하는 생각들이 들었지만, 그 당시에는 이 글들이 참 어렵다는 생각이 들어 가볍고 간단하게 기록해보려고 합니다. '가볍고 간단하게' 에 초점을 맞추다보니 정확하게 100% 들어맞지 않을 수도 있지만, 가닥을 잡기에는 도움이 되지 않을까 생각합니다.디자인 패턴의 종류 디자인 .. 2024. 7. 11. 프로퍼티, 그리고 위임 코틀린에는 Delegate라는 기능이 존재합니다(물론 코틀린에만 존재하는 개념은 아닙니다). 저는 처음에 코틀린에서 observable을 사용하기 위해 쓰다가 처음 발견하게 되었습니다. 이때는 delegate pattern이라는 것을 잘 몰라서 그냥 저것 하나만 사용했었는데, 어느날 프로퍼티 위임과 delegate pattern의 존재를 알고 나니 기존 프로젝트에서 사용하는 것을 꺼리게 되었습니다. 그래서 언젠가 정리해둬야겠다 생각은 했었는데 이제야 정리하는 느낌입니다. 먼저 프로퍼티 위임에 대해 알아보기 위해서는 프로퍼티가 무엇인지, 그리고 필드를 무엇으로 정의하는지 알고 가야 합니다. 왜냐하면 코틀린에서 프로퍼티란 필드와 이에 접근할 수 있는 접근자를 묶어 표현하는 것이기 때문입니다. 프로퍼티와 필드.. 2022. 10. 26. 함수와 메소드(멤버 함수) 메소드와 함수... 자바를 처음 배울 때 클래스에 선언하는 코드들을 교수님은 메소드라 불렀었었습니다. 그리고 그 전에 C언어를 배울 때는 모든 조각낸 코드들을 함수라고 불렀었죠. 그리고 시간이 지나 보니, 어느덧 메소드와 함수라는 이름을 사용하는데, 이 둘을 잘 구분하고 있나? 싶은 생각이 들어서 간단하게 정리해보고자 합니다. 함수란, 수학에서는 f(x)와 같이 특정 인풋을 통해 특정한 아웃풋을 도출해내는 것을 의미합니다. 위키백과에서는 아래와 같은 그림을 통해 함수를 정의하고 있습니다. 그렇다면 프로그래밍에서 함수는 무엇을 의미하는 걸까요? 코딩을 해 본 사람들은 대부분 알겠지만, 이미 충분히 함수를 이해하고 사용하고 있을 것 같습니다. int main() { ... } 언어를 제일 처음 배울 때 배웠.. 2022. 5. 4. 클라우드 컴퓨팅 서비스란? 클라우드 서비스. 뭔가 많이 들어본 단어입니다. 사실 어느정도 이해하고 사용하고 있는 개념이기도 한 게, 제가 이미 많이 사용하고 있는 여러 기술들이 이미 클라우드 서비스의 개념 안에 들어가고 있습니다. Microsoft Office 365, G-Mail, Google Docs(이하 Saas), Google Cloud Platform(이하 Paas), AWS EC2(Iaas) 등을 사용하고 있네요. 하지만 정작 각 부분에 대해서 무엇이냐고 물어보면 그냥 대충 대답하는 수준에 그치는 것 같아서 명확하게 공부해보려고 주제를 꺼내 봅니다. 먼저 클라우드 컴퓨팅의 정의는 서로 다른 물리적 위치에 존재하는 컴퓨팅 자원을 가상화 기술로 통합하여 제공하는 것입니다. 조금 풀어서 말하면 클라우드 서비스를 제공하기 위해.. 2022. 4. 13. 해시 함수?(feat.computer science) 긴 글이 되지는 않을 것 같습니다. 어쩌다 운이 좋게도 IT 대기업 면접을 보게 되었습니다. 그러나 아직 준비되지 않은 인재였던 탓인지 질문에 대한 대답이 많이 부족했었습니다. 그 중 하나가 해시 함수에 대한 정의를 제대로 알고 있냐는 것이었는데, 사실 이 질문은 제가 이력서에 적어둔 내용과 관련해서 나왔던 질문이었습니다.(사실 제 무덤을 제가 판 셈인거죠...) 해시 함수는 무엇일까요. 해시 함수의 정의는 임의의 길이의 데이터를 고정된 길이의 데이터로 매핑하는 함수입니다.(정의는 위키백과에 잘 나와 있네요.) 해시 함수는 함수의 특성인 특정 값을 함수 f(x)에 대입했을 때 결과 값이 동일하게 나온다는 특성을 가지고 있습니다.(제가 이 한줄짜리 대답을 제대로 하지 못해 해시라는 주제를 모르고 아는 척 .. 2021. 6. 17. 이전 1 2 다음 728x90