개발 공부 제대로 하는 법 🤓 (정체기에서 성장기로 가보자, 함 해보자!) 개발자로 성공할 수 있는 딱 하나의 기술 😆 이런 사람들이 읽으면 좋다!! 뭔가 배웠긴한데 실력이 정체되어 있는거 같다. 어떻게 동작하는지는 모르겠지만 이것만 하고 다음에 공부하자고 생각한다. 회사는 항상 위기고, 이 프로젝트는 제일 중요하고 긴급하다. 배울건 산더미인데, 갈 길이 멀다 이것만, 이번만이라는 말을 하며 구글링을 통해 본 코드를 컨씨컨브이한다. 위 생각을 하면서도 방치한다면? 하는 것만 계속 하게 되고, 나에게 남는게 없다. N년차에도, 선배가 되어도 후배에게 나눠줄 노하우라는게 없음. 깨어있기 이론 5가지 0. 조급해하지 않고 꾸준히 해나가는게 중요!! 1. 다음은 오지않는다. ‘이번만, 다음에!’ 하지 않기 지금..
클린 아키텍처는 모든 개발자가 관심을 가지고 주목하는 개념이다. 하지만, 다른 개발에 치이고 클린 아키텍처를 구현하는데 들어가는 리소스는 어마한데 비해 앱 사용자 입장에서는 바뀐게 없다고 느끼니 과도하게 시간을 쏟기가 정말 애매한 분야처럼 보인다. 하지만 고객들에게 많은 기능들이 포함된 고품질의 애플리케이션을 제공하기 위해서는 복잡도가 굉장히 높아지게 되고 이에 따라 유지 보수하기 쉬운 코드를 작성할 필요가 생겼습니다. 새로운 기능이 추가되거나 내부 로직이 변경되더라도 유연하게 프로젝트를 관리할 수 있게 구조를 짜야하는 거죠. 클린 아키텍처의 목표 계층을 분리하여 관심사를 분리하는 것!! 클린 아키텍처의 4가지 계층 Entities 엔티티는 비즈니스 규칙을 캡슐화한다. 메서드를 갖는 객체일 수도 있지만 ..
도입 오늘 평소대로 코딩을 하던 도중 선배와 코드 리뷰를 하던 도중 델리게이트 패턴이라는 얘기가 나왔다. 선배가 델리게이트 패턴에 대해 대략적인 설명도 해주시고 델리게이트 패턴을 적용하면 코드 재사용성이 좋아지고 유지보수하기가 쉬워진다라고 말씀하셨지만 직접 정리해보는게 도움이 될거라고 생각하면 오랜만에 블로그 글을 작성하기로 하였다. 델리게이트 패턴이란? Delegate는 위임하다라는 사전적인 의미를 가지고 있는데 이 뜻을 의식하면서 이해해보려고 하였다. 원래 본인이 해야할 작업을 다른 객체에게 자신의 일을 위임하는 패턴이 델리게이트 패턴인 것이다. 그럼 다음 예시를 알아보자! 그럼 어떻게 쓸 것인가? 실생활로 예시를 들어보자. 이제 직장도 구했고 방을 구해야 하는데 전세 대출도 알아봐야 하고 부동산 돌..
In computing, reactive programming is a declarative programming paradigm concerned with data streams and the propagation of change. ('변화의 전파와 데이터 흐름'과 관련된 '선언적 프로그래밍' 패러다임이다.) From 위키피디아 변화의 전파와 데이터 흐름 : 데이터가 변경될 때 마다 이벤트를 발생시켜서 데이터를 계속적으로 전달한다. 선언적 프로그래밍 : 실행할 동작을 구체적으로 명시하는 명령형 프로그래밍과 달리 선언형 프로그래밍은 단순히 목표를 선언한다. 명령형 프로그래밍 vs. 선언형 프로그래밍 명령형 프로그래밍 VS 선언형 프로그래밍 명령형 프로그래밍과 선언형 프로그래밍에 대한 비교를 어디선가 한..
본 포스팅의 내용은 [깡샘의 코틀린 프로그래밍]을 공부하고 작성자가 생각을 정리하기 위해서 작성한 글이므로 더욱 자세한 내용을 알고 싶으신 분은 [깡샘의 코틀린 프로그래밍]을 강력 추천합니다!! 함수형 프로그래밍은 요새 가장 핫한 프로그래밍 패러다임이다. 누군가가 말했다. 함수형 프로그래밍을 이해하기는 매우 힘들지만 마침내 이해하고 나면 함수형 프로그래밍을 어떻게 말로 표현해야할지 모르게 된다고.. ㅋㅋㅋㅋㅋ저 말 자체가 왠지 모르게 재밌기도 했고 지금 당장 사용하지는 않더라도 이 패러다임이 어떤 배경에서 나왔고 대략적인 느낌은 알아두는게 낫지 않을까 싶은 마음에서 이렇게 정리해보려고 한다. 1. 함수형 프로그래밍 정의 1-1. 프로그래밍 패러다임으로서의 함수형 프로그래밍 소프트웨어 개발 패러다임은 대략..
웹, 앱을 개발하다보면 자연스럽게 만나게 되는 개념이 아키텍처이고 MVC 패턴이라는 단어를 쉽게 만나볼 수 있습니다. 이런 아키텍처 패턴이 중요한 이유는 수없이 있겠지만 제가 체감한 경험은 다음과 같습니다. 내가 쓴 코드를 다시 보거나 다른 사람이 내 코드를 볼 때 어떤 코드가 어디에 있을지 예상하기 쉽다. 코드의 기능이나 로직이 잘 분류되어 있어 테스트를 할 때 간편하다. 코드의 기능이나 로직이 잘 분류되어 있어 하나의 파일에 과도한 코드가 몰리는 것을 방지할 수 있다. MVP, MVVM 패턴은 MVC 패턴의 파생 패턴이므로 MVC > MVP > MVVM 순으로 정리를 해보겠습니다. 0. Model과 View 본격적으로 아키텍처 패턴을 알아보기 전에 Model과 View를 제대로 알아보고 가야합니다. ..
보호되어 있는 글입니다.
컴퓨터를 사용하는 사람이라면 서버라는 단어를 안 들어본 사람이 더 적을 것이다. 하지만, 정작 서버란 단어를 사용할 때는 애매하게 사용하는 사람이 많아서 간단하게 서버란 개념을 이해하고 덧붙여 클라이언트라는 개념도 익혀보도록 하자. 서버와 클라이언트 서버는 어떤 특별한 컴퓨터가 아니다. 정확히는 컴퓨터의 역할이다. 우리들의 노트북, 데스크톱도 얼마든지 서버가 될 수 있다. 쉽게 이해하기 위해 사람에 빗대어보자. 내가 편의점에서 일하게 되면 아르바이트 직원이지만 퇴근한 후에 우리 집 앞에 있는 다른 편의점을 가게 되면 그 편의점에서는 손님이 된다. 나(컴퓨터)라는 본질은 바뀌지 않은 채 나의 역할만 바뀌는 것이다. 컴퓨터도 동일하게 하는 행위에 따라 서버 혹은 클라이언트가 될 수 있다. 서버와 클라이언트를..