본문 바로가기

개발자21

[스크랩] 좋은 자바 개발자가 되는 10가지 방법 더 나은 자바 개발자가 되기 위한 10가지 팁을 읽고 내용을 정리했습니다. 1. JAVA8을 배운다. 18년 11월 현재 JDK의 최신버전은 2018년 9월 발표된 JDK 11[^1]입니다. 자바8이 나온지도 4년이 되었습니다. 이제 자바 개발은 람다와 스트림 API를 활용하는 것을 필요로 합니다. 지금 시작하지 않으면 뒤쳐지게 될 것 입니다. 2. 스프링 배우기(스프링 부트) 많은 개발사들이 Spring MVC, Spring Boot, Spring Cloud 같은 스프링 프레임워크를 사용하기 때문에 공부해 두는 것이 좋습니다. 웹애플리케이션, REST API 마이크로 서비스 개발에 많이 사용하기 때문에 배워두면 많은 도움이 될 것 입니다. 3. 유닛 테스트 좋은 자바 개발자와 평범한 개발자를 나누는 기.. 2019. 4. 12.
[개념] 함수형 프로그래밍 함수형 언어 함수형 언어는 함수형 프로그래밍의 패러다임을 따르는 프로그래밍 언어입니다. LISP, Clojure, Erlang 등이 있고, 최근에는 함수형 언어가 아닌 C#, Java같은 객체지향언어에서도 람다 함수의 도입을 통해 함수형 프로그래밍을 지원할 수 있도록 노력하고 있습니다. 함수형 프로그래밍 함수형 프로그래밍은 프로그래밍 패러다임의 하나로 자료 처리를 수학적 함수의 계산으로 취급하고 상태 변화와 가변 데이터를 피하는 것입니다. 순수 함수와 보조 함수의 조합을 이용해서 로직 내에 존재하는 조건문과 반복문을 제거하여 복잡성을 없애고, 변수의 사용을 억제하여 상태 변경을 피하고자 하는 패러다임입니다. 조건문과 반복문은 로직의 흐름을 이해하기 어렵게 하여 가독성을 해치고, 변수의 값은 누군가에 의해.. 2018. 6. 27.
[hive] 하이브 관련 주요 면접 질문 [[하이브 면접 주요 질문]] - HBase와 Hive의 차이는?HBase는 NoSQL 데이터베이스이고 Hive는 하둡잡을 실행하는 DW 프레임워크이다. HBase는 HDFS위에서 동작하고, Hive는 MapReduce 위에서 동작한다. - 하이브 서비스에 대하여 설명하세요cli하이브 쉘에 대한 명령해 인터페이스이며 기본 서비스이다. HiveServer2다른 언어로 개발된 클라이언트와 연동할 수 있도록 하이브를 쓰리프트 서비스로 실행기존 하이브 서버를 개선하여 인증과 다중 사용자 동시성을 지원쓰리프트, JDBC, ODBC 연결자를 사용하는 애플리케이션과의 연결을 지원beeline일반적인 CLI 처럼 내장형 모드로 동작하거나 JDBC로 하이브서버2 프로세스에 접근할 수 있는 하이브의 명령행 인터페이스hwi.. 2018. 4. 18.
[이직][스크랩] 이직일기 - 파이썬 면접질문 racoony 님의 이직일기 - http://raccoonyy.github.io/diary-of-changing-job/ 이력서도 공개하셨는데 이게 괜찮은거 같다. 이력서 쓸때 참고 해도 좋을 것 같다. 파이썬 면접 관련 질문을 요약해 두셨는데 이 부분도 면접전에 알아두면 도움이 될 것 같다. 파이썬 generator에 대해 아는 만큼 설명해주세요.파이썬에서 클래스를 상속하면, 메서드는 어떤 식으로 실행되나요?어떤 request가 Django API까지 도달하는 과정을 최대한 자세히 설명해주세요.파이썬에 존재하는 GIL에 대해서 설명해주세요.Django ORM의 작동 방식에 대해 설명해주세요.Django ORM에서 지연 평가를 하곤 하는데요. 직접 구현한다면 어떻게 구현하겠습니까?http와 https의 .. 2018. 4. 18.
[개발] 유용한 마크다운(Markdown) 에디터 소개 마크 다운은 텍스트를 편집하기 위한 유용한 문법이다. 자세한 설명은 여기 위키를 확인하면 좋다. 이 마크다운을 편집하기 위한 유용한 에디터를 소개한다. 스택에디트 - https://stackedit.io/app 편집하면서 바로 결과를 확인할 수도 있고, 구글 드라이브와 연동하여 어디서나 같은 결과를 확인할 수 있다. 2018. 4. 18.
[스크랩] 기술 면접 관련 질문 네이버 면접시 듣게 되는 질문(http://www.bloter.net/archives/245110) 파이썬 사용 질문(https://docs.python.org/2/faq/programming.html) 어썸 인터뷰 - 기술 면접 질문 모음(https://github.com/MaximAbramchuck/awesome-interview-questions) 2018. 1. 16.
[면접] 개발자 면접 직무 관련 주요 질문 정리 - 스레드 프로세스 설명프로세스는 운영체제로부터 자원을 할당 받는 작업의 단위이고, 스레드는 프로세스가 할당받은 자원을 이용하는 실행의 단위 프로세스는 운영체제로부터 cpu, 메모리등의 자원을 할당 받고, 스레드는 이 자원을 공유하면서 작업을 처리한다. 프로세스가 실행되면 메인 스레드가 생성되고 이 메인 스레드에서 작업이 진행된다. 스레드 간에는 메모리를 공유 하면서 작업을 빨리 처리할 수 있다. 멀티 스레드 프로그램을 구현할 때는 자원의 공유에 대해서 유의 하면서 작성해야 한다. - 데드락, 뮤텍스, 세마포어데드락: 교착상태, 두개 이상의 작업이 상대방의 작업이 끝나기만을 기다리면서 대기하는 것, 아무 작업도 완료되지 못하는 상태 뮤텍스: 상호배제, 크리티컬 섹션을 가진 스레드의 실행 시간이 겹치지 않.. 2018. 1. 16.
[면접] 면접질문 모음 사이트 - Awsome Interview 어썸인터뷰 - https://github.com/MaximAbramchuck/awesome-interview-questions 개발자들의 면접시 예상 질문을 모아놓은 사이트이다. 면접가기전에 한번씩 보면 좋을 것 같다. 2017. 12. 26.
[면접][Hadoop] 맵리듀스(MapReduce) 관련 면접 주요 질문 -맵리듀스란?하둡 클러스터를 이용하여 대용량데이터를 병렬로 처리하는 프레임워크맵과 리듀스 2단계로 데이터를 분석 -Context Object의 사용법은?하둡의 매퍼가 다른 하둡 시스템과 통신하기 위해서 사용 -리듀서의 코어 메소드는?setup()입력데이터 사이즈, 힙 사이즈, distribute cache 설정 등을 진행reduce()입력된 데이터를 이용하여 리듀스 작업 진행cleanup()리듀스의 마지막에 임시 파일을 삭제하기 위해 한번만 호출 -파티셔닝, 셔플, 소트 페이즈에 대해서 설명하시오.셔플맵 태스크의 처리 결과로 임시 저장된 중간 파일을 리듀서로 넘기는 작업을 셔플소트맵 단계 결과를 리듀서로 넘기기 전에 키를 기준으로 자동으로 정렬을 진행 하는 것파티셔닝맵의 중간값을 리듀서의 입력으로 넘기기.. 2017. 9. 25.
[네트워크] 외부 공인 아이피 확인 외부에서 보여지는 나의 아이피를 확인하는 사이트는 다음과 같은 사이트가 있다. whatismyip 사이트 https://www.whatismyip.com/my-ip-information/?iref=home ipconfig 확인하기http://ipconfig.co.kr/ 2016. 12. 13.
[윈도우] windows modules installer walker 가 점유율을 높이 차지할 때 윈도우10으로 업데이트 하고 나서 windows modules installer walker 라는 프로세스가 프로세스가 점유율을 높게 차지하여 다른 프로세스가 동작을 하지 못하는 경우가 많이 발생한다. windows modules installer walker는 윈도우 업데이트와 관련이 있다. 윈도우 업데이트가 지속적으로 동작하여 CPU 점유율을 가져가서 이런 일이 발생하는 것이다. 이를 중지하는 방법은 다음과 같다. 서비스(services.msc)를 실행하고 여기있는 서비스 목록에서 "Windows Module Installer"를 중지하면 된다. 윈도우10 최적화 or 팁 -> http://blogto.tistory.com/621 2016. 11. 19.
[스크랩] 언제 어디서나 개발을 가능하게 하는 클라우드 코딩 도구 "구름" 웹 브라우저에서 개발을 가능하게 하는 "구름" 이라는 클라우드 코딩 도구를 발견해서 스크랩 해둔다. 아마존 EC2를 이용하여 개발한 서비스 이고,웹브라우저에서 실행하여 서버를 띄우는 것 까지 가능하다. https://www.goorm.io/ 2016. 8. 23.
[스크랩] 더 나은 개발자 되기 아웃사이더님의 블로그에서 퍼왔음 * 가장 중요한 것은 개발실력 끊임 없는 노력, 나의 속도에 맞는 노력 더 나은 개발자가 되자!! 더 나은 개발자 되기 from JeongHun Byeon https://blog.outsider.ne.kr/1223 2016. 6. 23.
마세라티 문제(Maserati Problem) 마세라티 문제는 내가 마세라티를 살때 쯤 발생할 것 같은 문제를 고민한다는 것이다. 현재 일어나지 않은 언젠가 발생할 문제를 미리 걱정해서 동시접속자 만명이 가능한 서버를 구축하거나, 예외처리를 진행하는데 집중하여 시간을 보내는 문제이다. 내가 만든 서비스가 잘된다면 충분히 발생할 수 있는 문제이지만, 현재는 발생할 가능성이 낮다는 문제가 있겠다. 어떻게 보면 미리 걱정하는 것도 나쁘지 않을 것 같은데...처음 설계부터 이런것을 염두해 두고 진행하면 좋겠지만 잘 안되니까 문제겠다. https://www.quora.com/Whats-a-Maserati-Problem 2016. 5. 23.
[면접] 2016 네이버 경력 면접 네이버 공채에 지원하여 면접을 보고 왔다. 질문들이 대체적으로 자세하게 물어본다. 모르는 문제에 대한 질문이 들어와서 한번 당황하니까 계속 말려 들어서 멘붕이 왔다. ㅠㅠ 여기 면접은 난이도가 높은 것 같다. 담당하는 프로젝트는 물론이고 기초 지식에 대해서 많은 준비가 필요할 것 같다. 전반적으로 나의 실력이 아직 많이 부족함을 많이 느꼈다. -- 면접 질문 -- - 파이썬의 Gil- 파이썬은 성능이 느린 이유는?- 전략 패턴- 담당하는 프로젝트의 아키텍처에 대한 설명- 스프링빈과 포조빈의 차이- 담당하는 프로젝트의 성능에 대한 고민- 데브 옵스- 더불어 손코딩 질문도 나온다. 2016. 5. 11.
[스크랩] 더 나은 개발자가 되기 위한 8가지 방법 좋은 글을 발견해서 소개한다. 더 나은 개발자가 되는 8가지 방법 1. 배울 것이 얼마나 많은지 상기하세요. - 무언가를 배우는 첫 걸음은 그것을 모른다는 것을 깨닫는 것입니다. - 무언가를 가장 잘 안다고 생각할 때는 방금 그것을 배웠을 때 입니다. 2. 당신이 맞다는 것을 증명하려고 하지 마세요. - 훌륭해 지기 위해서는 경험에서 배워야 합니다. - 어떻게 하면 이것을 더 잘할 수 있을지 항상 고민하세요. 3. "동작하는 코드"는 끝이 아니라 시작입니다. - 동작하는 코드를 만들었다면, 더 낫게 만드는데 노력하세요. - 더 빠르게 or 더 문서화하기 쉽게 or 더 사용하기 편하게 4. 세 번 다시 작성하세요. - 문제점을 해결 가능하게 작성하고, 동작하게 작성하고, 올바르게 작성하세요. - 문제에 대.. 2016. 3. 23.
개발자가 갖추어야할 9가지 기술 스타트업 얼라이언스 주최로 네이버 D2 스타트업 팩토리에서 열린 박종천 넥슨 플랫폼본부 부본부장의 "개발자가 갖추어야 할 9가지 기술" 강연 동영상입니다. 좋은 내용이니까 한번 들어보면 좋을 것 같다. 바쁜분은 55분 경부터 Q&A 부터 들어도 된다. "공부를 계속 해야 한다. 닥치는 대로 공부한다. 기술은 계속 나오고, 발전한다.""호기심이 있어야 한다. 세상에 대한 호기심이 있어야 한다. 호기심을 잃는 순간 끝난다." "믿을 건 내 실력뿐. 실력을 키워야 한다." "기회가 왔을 때 잡을 수 있는 능력을 키워야 한다." "처음에는 시킨 대로만 한다. 신뢰가 쌓이면 더 좋은 결과물을 낸다. 더 신뢰가 쌓이면 좀 더 좋은 능력을 내본다. 처음부터 잘하려고 하면 안된다. 신뢰가 더 중요하다." 2016. 2. 29.
[스크랩] 완전 초짜 개발자에게 주는 조언 1. 무언가를 만들어 보려고 봤는데 이미 있다. 그래도 만들어 본다. 이미 있는 것을 내가 다시 만들어 보는 것으로 공부가 된다. 스타트업을 하려고 하는 것이 아니니까. 2. 새로운 것을 배워볼 생각을 하지 않는 것 백견이 불여일타 다양한 언어를 접하다 보면 시각이 넓어지고 언어에 대한 제약이 사라짐 3. 내가 만든 것을 부끄러워하는 것 처음부터 잘 할 수 없음 배포 및 공개를 해서 피드백을 받고 수정을 하게 되면 더 좋아질 것 링크 http://okky.kr/article/282595 2015. 7. 6.
[스크랩] 경력 개발자 역량 평가 경력 개발자 역량 평가 EBvi 원본 위치 - https://github.com/EBvi/dev-matrix Programmer-competency-matrix - http://sijinjoseph.com/programmer-competency-matrix/ EBvi 에 정리 되어 있는 것을 다시 정리 해 보았다. 경력 개발자라면 이정도는 알아야 다음 면접에 나갈 수 있지 않을까? 전산학의 이해 1. 자료구조 2. 알고리즘 3. 시스템 프로그래밍 소프트웨어 엔지니어링 1. 소스코드 버전 관리 2. 빌드 자동화 3. 테스트 자동화 프로그래밍 1. 프로그램 분해 2. 시스템 분해 3. 의사소통 4. 파일 내의 코드 구성 5. 파일 간의 코드 구성 6. 코드 가독성 7. 방어적 코딩 8. 에러 핸들링 9. I.. 2015. 6. 4.
[OS] 윈도우8 PIN/사진 로그인시 지연 현상 수정 윈도우8 로그인시 PIN 암호를 사용하고 있었는데 PC를 샀을때 무료로 설치되어 있던 노턴을 삭제하고 나니 대략 1분 정도 지연후에 로그인이 진행되었다. 그래서 검색을 해보니 아래의 사이트에서 해결책을 찾았다. 원인은 노턴이 삭제 되면서 PIN 로그인에 필요한 서비스를 죽이고 가는 모양이다. -_-; 윈도우 서비스의 "Credential Manager" 의 상태를 확인해서 '수동' 으로 되어 있다면 '자동' 으로 변경해주면 된다. http://www.sysnet.pe.kr/2/0/1686 2015. 1. 4.
개발자 역량 확인하기 참고 도표 indiangeek 사이트에 공개된 개발자 역량 알아보기 참고 도표 재미로 한번 보려고 했으나... 나의 역량은 아직 고수가 되기에는 한참 못 미친다는 것을 다시 확인하였다. 좀더 노력하자꾸나... Programmer Competency MatrixNote that the knowledge for each level is cumulative; being at level n implies that you also know everything from the levels lower than n.Computer Science 2n (Level 0)n2 (Level 1)n (Level 2)log(n) (Level 3)Commentsdata structuresDoesn't know the difference be.. 2013. 4. 25.