프로그래밍/방법론
-
도메인 주도 설계 - 도메인 주도 설계란?프로그래밍/방법론 2023. 1. 24. 18:56
도메인 주도 설계 - 나루세 마사노부 책 요약 왜 도메인 주도 설계가 필요한가? 소프트웨어는 항상 진화하는 존재이다. 개발 속도를 우선시한 소프트웨어는 유연성이 떨어지며 변화에 대응하기 어렵다. 소프트웨어가 변화에 제대로 대응하려면 개발자가 지속해서 소프트웨를 수정해야 한다. 끝없는 땜질식 수정 업무에서 벗어나기 위한 수단 중 하나가 도메인 주도 설계인 것이다. 도메인 주도 설계는 도메인에 주목해 요구사항 분석부터 설계, 개발에 이르기까지 소프트웨어 개발 과정에 상호작용이 필요하다. 도메인 주도 설계의 진정한 가치가 드러나는 것은 변화에 대응해 소프트웨어를 수정할 때이다. 도메인 주도 설계란 무엇인가? 개발자가 이용자들이 겪는 문제를 해결하려면 당연히 이용자의 세계에 대해 배워야한다. 그러나 이렇게 배운..
-
클린 코드 - 점진적 개선프로그래밍/방법론 2021. 10. 21. 18:23
args 파싱 프로그램 Java시절 사용하던 main 함수의 args 배열 파라미터를 Args라는 인스턴스에 값을 저장하고 쿼리하는 내용의 프로그램을 작성해보자. class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) try { val schema = "l,p#,d*" val args = arrayOf("-p", "10", "-d", "Hi", "-l", "true") val arg = Args(schema, args) val logging = arg.getB..
-
클린 코드 - 단위 테스트프로그래밍/방법론 2021. 8. 27. 18:45
요약 테스트 케이스는 현재 아키텍처와 설계를 최대한 깨끗하게 보존하는 열쇠 TDD를 무조건 따를 필요는 없다. 테스트 코드는 가독성이 중요하다. 테스트당 개념/assert 하나씩. FIRST : Fast, Independent, Repeatable, Self-Validating, Timely 90년대는 프로그램이 돌아가는 수준까지만 중요해서 테스트 코드가 그렇게 중요하지 않았다. 근래 우리 프로그래밍 분야는 눈부신 성장을 이루어 테스트 코드를 쉽게 작성할 수 있는 수준까지 도달하였다. 애자일과 TDD(Test-Driven Development) 덕분에 테스트를 자동화하는 프로그래머들이 이미 많아졌으며 점점 더 늘어나는 추세이다. 테스트와 코드를 하나의 소스 패키지로 공유할 수도 있다. 하지만, 아무리 급..
-
클린 코드 - 주석프로그래밍/방법론 2021. 7. 26. 11:01
주석은 언제나 실패를 의미한다. 오래 되고 조잡한 주석은 거짓과 잘못된 정보를 퍼뜨려 해악을 미친다. 주석은 필요악이다. 코드로 의도를 충분히 표현한다면 주석은 필요하지 않다. 따라서 주석은 의도를 표현하지 못해 실패를 만회하기 위해 사용한다. 주석은 오래될 수록 코드에서 멀어진다. 그릇될 가능성도 커진다. 코드는 변화하고 진화하기 때문에 여기 저기로 옮겨지기도 한다. 주석은 언제나 코드를 따라가지 못한다. 예를 들면, MockRequest request; private final String HTTP_DATE_REGEXP = "[SMTWF][a-z]{2}\\,\\s[0-9]{2}\\s[JFMASOND][a-z]{2}\\s" + "[0-9]{4}\\s[0-9]{2}\\:[0-9]{2}\\:[0-9]}2|..
-
네이버 면접시 듣게 되는 41가지 질문프로그래밍/방법론 2017. 6. 19. 01:05
http://www.bloter.net/archives/245110 20. 당신의 꿈은 무엇인가요? 정말 솔직한 자신의 꿈을 말해주세요.21. 이전 프로젝트에서 어떤 갈등이 있었고, 그 문제를 어떻게 해결했나요? 구체적인 사례를 들어 설명해 주세요.22. 쿼리가 들어올 때, 어떻게 해야 효과적으로 저장할 수 있나요?23. 이 직무를 위해 당신이 정말 이것만은 열심히 했다고 생각하는 것이 있나요? 무엇인가요?24. 이전 직장에서 업무로 어떤 평가를 받았나요?25. 당신의 성장 과정과 특정 기업 사이에서 연관된 부분을 발견하고, 해당 기업을 소개해보세요.26. 기획으로 내려온 내용이 마음에 들지 않는다면, 개발자 입장에서 당신은 이를 어떻게 처리할 것인가요?27. 지금까지 당신은 성공적인 사례만을 들어 본인..
-
진정한 프로그래머는 알고리즘머이다프로그래밍/방법론 2014. 11. 16. 18:10
진정한 프로그래머는 알고리즘머이다cubenuri.egloos.com/8790871. 어떤 언어를 사용하느냐 하는 것은 중요한 것이 아닙니다. ------------------------------------------------------------------ 문제 위주로 생각하는 버릇을 키워야 합니다. 많은 프로그래머들이 자신이 당면한 문제를 정확하게 이해하는 경우가 매우 드뭅니다. 일단 언어와 개발환경에 익숙해지면 다른 사고와 접근 방식을 요구하는 문제 해결에는 속수무책인 경우가 많습니다. 이것도 일종의 문화이기 때문이겠죠. C/C++을 배우려고도 하지 않고, 시스템 프로그래밍을 하지 못하는 대다수의 프로그래머를 실력이 없거나, 한계를 갖는 프로그래머로 매도하는 경향이 일부 있는데 이는 바람직하지 않..
-
구글이 원하는 개발자 – 문제 해결 역량프로그래밍/방법론 2014. 10. 31. 18:26
구글이 원하는 개발자 – 문제 해결 역량Posted by 김익환 in 기술, 문화 저서 “글로벌 소프트웨어를 말하다”의 24장 2년전 쯤에 구글에 취직한 한국 개발자가 자기가 경험한 면접과정을 기사화 한 적이 있다. 한국하고는 다르니까 신기한 경험이었을지 모르지만 미국 소프트웨어 회사들의 공통된 얘기였다. 만약에 개발자로서 실리콘밸리에 취직하려고 한다면 국내 회사에 취직하는 것과는 다른 준비를 해야 한다. 어쩌면 준비할 것이 없을 지도 모른다. 마지막 순간에 쪽집게 공부로는 준비할 수 없는 것이다. 자신의 모든 진실한 역량이 드러나기 때문이다. 필자가 미국 대학교에서 과목을 들을 때도 마땅히 시험 준비를 위해 특별히 공부할 필요가 없는 경우가 많았다. 마지막에 잠깐 공부하고 운이 좋으면 점수가 좋게 나온..
-