본문 바로가기

전체 글68

처음 배우는 리액티브 네이티브 - 한빛미디어 아이폰이 세상에 나와 스마트폰이라는 것이 삶에 큰 부분을 차지한 지 벌써 10년이 지난 듯 하다. 그동안 사실 맥북도 준비하고 안드로이스 스튜디오도 공부하고 했지만, 앱 개발은 웹개발과 달리 도저히 익숙해지지 않는 영역이었다. 그러나 이제 자바스크립트를 자유롭게 다룰 수 있다면 앱개발이 가능하다니 놀라운 세상이다. 이번에 소개하고 싶은 책은 리액트 네이티브이다. 요즘 나름 오래 개발했다고 자부하는 나조차도 용어가 많이 혼란스러운데, 자바스크립트 영역의 리액트를 기반으로 앱을 만드는 도구라고 정의를 내려놓아야겠다.이는 IOS 앱이나 안드로이드 앱 모두 해당되는데, 그동안 나타났다 사라진 하이브리드 도구들처럼 되진 않을까 걱정은 하지 않아도 되겠다. 책 제목이 “처음 배우는 리액트 네이티브”인 만큼 처음부터.. 2021. 3. 21.
일러스트레이터 실무강의 - 한빛미디어 일러스트레이터 실무강의 - 한빛미디어 최근 개발 서적을 집필 중에 있는데 마침 책에 들어갈 이미지 작업을 어떻게 할 것인지 고민하던 찰나였다. 딱딱한 개발 서적이지만 설명을 위해선 추상화한 이미지가 많이 필요하기 마련인데, 생각을 그림으로 옮길 방법이 필요했다. 한 때 포토샵을 배워서 써 보려고 했다가 포기 했는데 지금은 쓰지도 않는 포토샵 7.0 이었다. 지금은 어디서 말도 못 꺼낼 정도다. ㅎㅎ 일러스트를 배워야 하는 상황에 다다르고 나서야 책을 찾아보니 대부분 포토샵과 일러스트의 합본으로 구성된 책이 많았고 분량으로 봐도 좀 부족한 감이 컸다. 웹 개발을 할 때 가끔 사용한 포토샵에 비해 일러스트는 화면도 복잡하고 디자인에 대한 감각도 없을 뿐더러 용어조차 몰라 부담스럽기도 했다. 프로그램을 사용하.. 2021. 2. 21.
처음 배우는 스위프트 / 초보자를 위한 나만의 iOS 앱 만들기 / 한빛미디어 처음 배우는 스위프트 / 초보자를 위한 나만의 iOS 앱 만들기 / 한빛미디어 아이폰에서 구동되는 앱 만들기는 개발자로서 한 번은 꼭 도전하고 싶었던 영역이었다. 사실 몇 번 시도를 했었으나 그 때마다 장벽이 있었는데, 아이폰 앱을 만들려면 비싼 애플 맥북이 있어야 한다거나 익숙한 씨타입 언어계열이 아닌 전혀 새로운 언어와 개발 툴에 익숙해야 한다거나 한다는 말 들이었다. 안드로이드는 쉽게 배우고 앱을 만들 수 있었는데 왠지 아이폰은 어려울 거라는 거리감이 있었다. 사실 장벽이나 장애물이라기 보다는 도전에 따라 붙는 인고의 시간을 감당하기 싫었던 것이다. 사실 맥북도 있었고 그 비싼 금이라고 하는 시간도 있었다. 그런데 이번에 한빛미디어에서 그런 핑계 그만대고 시작이라도 해보라며 책을 보내주었다. 초보자.. 2020. 12. 20.
모던 자바 인 액션 – 한빛미디어 모던 자바 인 액션 – 한빛미디어 현장에서 일을 하다 보면 분명 ‘자바’라는 프로그래밍 언어를 통해 업무를 수행하지만 ‘자바 개발자’라고 불러도 될까 싶은 의아한 상황을 만나게 된다. 프로그래밍을 공부하며 지난 시간을 돌이켜 보면 버전이 오를 때마다 획기적인 개선과 코드에 대한 간결성과 효율성이 높아진 것이 사실이고 그것을 재미있다고 느끼며 익히는데 문제가 없었다. 하지만 1.8 버전(자바 8)이 도래하고 상황은 완전히 달라졌다. 이전의 자바와는 전혀 다른 개념들이 도입되기 시작했고, 프로그래밍 관점에서는 OOP 를 흉내내기 위한 다양한 기법들을 구현 하는데 뛰어 넘어 FP 를 도입하고 람다 표현식과 메소드 참조, 스트림 등이 표준으로 도입되면서 이전과는 전혀 다른 언어라고 해도 될 정도의 변화가 도입 .. 2020. 11. 22.
파이썬을 활용한 금융공학 레시피. 한빛비디어 파이썬을 활용한 금융공학 레시피. 한빛비디어 컴퓨터 프로그래밍을 하다보면, 특정 업무를 진행할 때 필요한 배경지식을 ‘도메인’ 이라고 칭하는데, 보통 프로그래머들은 새로운 분야에 일을 착수하고 완료하기에 앞서 진행 할 일에 대한 배경지식과 전문적인 용어에 대한 이해, 그리고 그것을 프로그래밍 관점에서 풀어내는 일련의 과정을 거치게 된다. 그러나 금융과 관련해서는 워낙 방대하고 큰 규모이며, 전문적인 수학지식과 상품의 설계에 대한 지식이 없으면 쉽사리 도전하기가 어려운 것이 사실이다. 그래서 업무의 성격에 따라 분류해서 전문 영역을 정하고 임하는 것이 보통이다. 금융에 대한 접근과 이해도는 워낙 복잡하고 어려운데, 여기도 하나 더해 컴퓨터 프로그래밍에 대한 내용까지 얹어 한 권의 책으로 설명한다는 것이 가.. 2020. 11. 22.
자바 최적화 ( Optimizing Java ) 자바 최적화 ( Optimizing Java ) 매력적인 제목이다. 개발자에게 성능이란 늘 따라다니는 숙제이자 고민거리인데, 마치 이 책을 읽으면 작성한 프로그램의 성능을 능숙하게 끌어 올릴 수 있을 거 같은 생각이 들게 만든다. 그러나 이 책을 덮을 때에도 역시나 마법은 없었다. 마치 요술봉처럼 문제가 한 번에 해결될 거라고 믿는다면 이 책은 답이 아니다. 하지만 다다르고자 하는 그 이상의 세계에 조금 더 가깝게 만들어주는 가이드북이라고 여기면 좋겠다. ( 언제나 그렇듯 답은 없다. ) 개발 업무를 처음 배우던 시절, 차트와 그래프가 여럿 나오고 무언가 심각한 표정을 짓고 있던 선임이 그렇게 대단해 보이던 시절이 있었다. 지금이야 대쉬 보드 일 뿐이고 성능 지표들을 나타내는 것 뿐이지만, 그 안을 살펴.. 2020. 9. 27.
실전 자바 소프트웨어 개발 - 한빛미디어 실전 자바 소프트웨어 개발 - 한빛미디어 Real-World Software Development .. 책 제목이다. 리얼월드.. 실세계를 반영한다는 것이 주요 컨셉으로 보인다. 책을 읽다보면 갓 시작한 개발자보다는 산전수전 겪어 낸 후, 이제는 진짜로 해내야 한다는 부담감을 인지하게 된 중급 이상의 개발자들이 봐야 할 책으로 여겨진다. 아니 그들을 위해 준비된 책이다. 이 책에 대하여 글을 작성하려고 하는데 정말로 "이 책에 대하여" 섹션에 전부 적혀 잘 드러나 있다. 사실 여러 해 프로그래밍 스터디에 참석 또는 진행을 해보면서 늘 새로운 것을 배우거나 접한다. 그러나 그러한 많은 내용들을 어디에 어떻게 얼마나 적용하고 반영하고 엮어낼 수 있는가는 늘 새로운 도전과제이며 숙제로 여기는 자학적 질문이다... 2020. 8. 23.
“ 스프링 웹 MVC ( 백기선 ) 인프런 강의 ” 후기 KSUG 페이스북 커뮤니티 10,000 명 가입축하 이벤트에 당첨되었다. 붙어라! 하는 이력서는 떨어지고 이벤트는 붙었다. 눈물겹다. 덕분에 백기선님의 스프링 웹 MVC 인프런 강의를 무료 쿠폰으로 수강할 수 있게 되었다. 행운이 찾아와 쿠폰으로 강의를 듣게 되었지만, 실제로는 11만원이라고???? 비싸다. 물론 강사가 들인 시간과 노력, 강의 준비 시간과 프로로서 경험이 어우러져 만들어진 컨텐츠의 가치를 매긴다는 것은 가격의 높고 낮음에 비교할 바 아니다. 우선 강의 시간이 엄청나게 길다. 강사가 강의를 하면서 힘들어 한다. 말로 표현하기가 힘든데… 강의를 듣다 보면 나도 힘드니 강사도 좀 쉬라고 스페이스(일시정지)를 자주 하게 된다. 내용이 겁내 많다. 마음의 각오를 단단히 하고 수강하기를 바란다. .. 2020. 7. 30.
이것이 안드로이드다 with 코틀린 이것이 안드로이드다 with 코틀린 참으로 적절한 타이밍이다. 코로나로 인해 어디 갈 수도 없으니 집안에서 세상을 여행해야 하는데, 사실 공부만큼 시간을 효과적으로 보낼 수 있는 방법이 또 있을까. 비행기를 타고 해외여행을 할 수 없는 지금 시국에 외국에서 살다 온 시절의 그리움으로 현지 라디오를 편하게 들을 수 있는 방법이 없을까 고민하던 찰나에 이 책이 딱 ! 내게로 왔다. 그래 이거다 !! 이 책을 읽어본 후, 느낀 최대 장점은 자바를 넘어 코틀린으로 앱을 만들 수 있다는 것이고, 치명적인 약점은 코틀린을 입문시키려고 하다 보니 책의 삼분지일이 코틀린이라는 점이다. 무슨 말인가.. 코틀린을 모르는 개발자를 우선 코틀린부터 가르쳐야 하니 초반에 코틀린이 나오는데 이것이 또 책 전체를 코틀린으로 채울 .. 2020. 7. 5.
코드를 통해 본 빵형의 실전 자바 JAVA 코드를 통해 본 빵형의 실전 자바 JAVA 대부분 어떤 자바 기본서를 만나든 예전 C 언어 시절부터 시작해서 자바가 이런 저런 역사 속에서 Blah~Blah~ 풀어가며 궁금한 내용은 나오지 않고 모든 책이 무슨 약속이라도 한 듯, ‘자바개론’을 펼치는데, 이 책은 그 내용에 오직 2 페이지만 할당했다. ‘이거 너무한데’ 라는 생각이 들기도 했지만 아직 800페이지가 남았다. 끝에 가서 알게 되지만 이 책은 군살이 하나 없이 담백하게 개발자에게 필요한 내용만 담아낸 책이라는 것을 첫 페이지부터 증명해낸다. 일반적으로 책을 쓰는 저자에게 느끼는 가장 큰 배신감은 바로 지면을 핑계로 ‘더 이상의 자세한 설명은 생략한다’를 내세우는 것이다. 중요한 개념이 나오고 용어가 도입되어 이제 서술의 영역이구나 하고 몰입.. 2020. 6. 6.
이번에도 스프링이지만, 지금까지 본 책들과는 다른 스프링이다. 이번에도 스프링이지만, 지금까지 본 책들과는 다른 스프링이다. 배워서 바로 쓰는 스프링 프레임워크 예전에는 자바를 배우고, 스프링을 배우고, 스프링 MVC 를 익히면 기본적인 스캐폴딩을 익힌 것으로 여겨도 될만큼 많은 것을 할 수 있었다. 하지만 최근에는 스프링이 버전 5까지 발전하는 과정에서 많은 기능들이 추가되고 단순한 웹 개발에서 벗어나 전문적인 백엔드 API 서버로의 활용도를 높이는 한 편, 다양한 방면에서 두루 활용되고 있다. 그리하여 어느 덧 스프링 자체로써의 Deep 한 활용과, 스프링 부트의 Quick 한 활용의 두 갈래로 나뉘어져 지금까지 자바 개발의 한 표준으로써 큰 힘을 발휘하고 있다. 이번에는 스프링부트를 잠시 뒤로 하고 스프링 자체에 대해 쓰여진 책 ‘배워서 바로 쓰는 스프링 프레.. 2020. 5. 29.
경력 3 년 곱하기 2 는 7 년 차… 개발 7년차, 매니저 1일차 경력 3 년 곱하기 2 는 7 년 차… 어떤 분야에서 일을 하든 그 분야에서 3 년 정도를 일하면, 그 분야에 발을 들여 놓았다고 말을 할 수 있을 것이다. 아울러 이 책의 제목처럼 3 년의 2배 수, 즉 7년차 정도 되었다면 주변에서 경력을 인정해주며 다른 사람들과 조화롭게 함께 일을 진행할 수 있는 매니저 자격을 주는 것이 일반적이라 생각한다. 특히 내가 몸 담고 있는 IT 프로그래밍 쪽에서는 관리직을 자연스러운 경력의 단계로 보지 않고 개발만을 전적으로 담당하고 싶어하는 사람이 많은 것으로 알고 있다. 객관적인 통계 자료는 없지만, 주변인을 바라볼 때, 관리직으로 넘어가느냐 개발직군으로 계속 남아 있느냐를 두고 고민을 하는 사람이 많은 것이 사실이다. “개발 7년차, 매니저 1일차” 라는 제목을 가.. 2020. 4. 30.
KSUG 스프링캠프 영상들을 보며... 검색을 하게 되면 아무래도 개발과 관련된 검색을 많이 하게 될터이니... 너무 똑똑해서 가끔은 무서운 유투브는 오늘 KSUG 의 예전 세미나 영상들을 추천하여 보여주었다. 매년 행사가 진행되고 다수의 영상이 올라오는 관계로 모두 링크를 걸 수는 없고 유투브 채널을 연결해본다. https://www.youtube.com/channel/UCj5gqpKTDDxsXqceYwn1Feg springcamp.io 애플리케이션 서버 개발자들과 함께 가치있는 기술에 관한 정보과 경험을 `공유`하고, 참가한 사람들과 함께 `인연`을 만들고, 시끌벅적하게 즐길 수 있는 개발자들을 위한 '축제'를 목표로 하는 컨퍼런스입니다. 컨퍼런스에서 다루었던 내용들을 공유하는 채널입니다. www.youtube.com 얼마전까지 진행하던 .. 2020. 4. 5.
알고 있던 사실들의 배신 기존에 알고 있던 기술 혹은 혁신을 일으키는데 일조하던 수단들이 오히려 새로운 혁신에 방해가 되는 일을 우리는 "혁신의 역설" 이라고 부른다. 최근 프로젝트를 진행하면서 새롭게 느낀 점이 있다. 내가 알고 있던 상식과 기술들은 지금까지의 개발자라면 누구나 필수로 학습해야 했으며 이해하고 응용할 줄도 알아야 하는 것임에도 불구하고, 이제는 오히려 새로운 기술과 패러다임을 익히는데 아주 큰 걸림돌이 되어 있는 것들이 많다는 사실이다. 우선 자바의 영역에서는 null 이 그러하다. 지금까지의 null 오류는 다양한 방법으로 오류를 감당해 내고, 다양한 패치... 아니지 치트를 이용하여 극복해 내야 될 대상이었다면 이제는 원래 그래 ~ 라며 그냥 으레 그러려니 하라고 한다. 다음은 데이터베이스의 영역인데, 예전.. 2020. 4. 4.
의존성 주입의 3가지 방법과 주의점 스프링 개발을 오래 했으면서도 의존성 주입에는 @Autowired 이외에 여러 방법이 있으며, 주의 할 점이 있다는 점을 오늘 알게 되어 정리해보고자 한다. 1> @Required 어노테이션 : Setter 메소드 2> @Autowired 어노테이션 : 생성자, 메소드, 필드에 적용 가능 - 생성자 기반의 주입 - 세터기반/ 메소드 기반의 주입 - 필드 기반의 주입 AttachFileRepository repository; // 생성자 1 @Autowired public TipsFileService(AttachFileRepository attachFileRepository) { this.repository = attachFileRepository; } // 세터 or 메소드 기반의 주입 2 @Requir.. 2020. 3. 29.
자바 웹, 파일 다운로드 구현 @GetMapping("/download/{attatchFileId}") public ResponseEntity downloadFileFromLocal(@PathVariable String attatchFileId) throws FileNotFoundException { String fileBasePath = "C:/upload/"; log.debug(attatchFileId); // FileService Optional attachFile = tipsFileService.getAttachFilebyAttachFileId(Long.parseLong(attatchFileId)); String fileName = fileBasePath + attachFile.get().getFilePhysicalName().. 2020. 3. 28.
Form 에 FormData 와 File 을 동시에 받아 Java 로 처리하기 지난 번에 이어서 이번에는 ajax 보낸 File 이 첨부된 Form 을 Java 에서 처리해보자. 환경은 자바 8, JPA, 스프링부트 2 @PostMapping(value = "/sinmungowriteForm") public ResponseEntity sinmungowriteForm( Model model, SinmungoWriteCommand sinmungoWriteCommand) { // blah blah } } 우선 File 이 첨부되어 오니 당연하게도 @PostMapping 을 써야 한다. 그리고 유심히 봐야 할 부분은 @RequestParam("fileAttach") MultipartFile multipartFile 을 쓰지 않아도 된다는 점이다. 이는 VO 객체에 이미 private Mu.. 2020. 3. 22.
ajax 로 Form 전송시 첨부파일과 함께 보내기 간단한 Web Form 전송 시에는 대부분 데이터를 $(this).serialize(); 을 사용하여 보내면 되지만, 현재 진행 중인 작업 중에 사용자의 입력내용과 첨부파일을 한번에 보내야 하는 상황이 되었다. 이것은 일반적인 Form 전송 방법이다. $("#form").submit(function(e) { e.preventDefault(); // 폼의 자체 서브밋 동작을 비활성 var form = $(this); var url = form.attr('action'); $.ajax({ type: "POST", url: url, data: form.serialize(), // 폼 요소 직렬화 success: function(data) { alert(data); // 성공시, 결과 데이터 } }); }); .. 2020. 3. 21.
웹 사이트 따라 만들기 - 이지스 퍼블리싱 웹사이트 따라 만들기 최근 사람들은 쉽다 쉽다 ~ 쉬우니 해봐라 ~ 하는 달콤한 유혹들이 가득 찬 세상에 살아가고 있는듯 싶다. 최근에는 전문가의 영역에서 벗어나 누구나 웹사이트를 만들고 누구나 앱을 만들 수 있다면서, 배워 본 적이 없는 사람도 단기간에 전문가처럼 무언가 대박을 낼 수 있을 것처럼 광고하는 것들이 많다. 그러나, 어떤 일을 함에 있어 배경지식과 그 일과 거미줄처럼 엮여 있는 메타인지 학습을 거치지 않으면 그 일을 제대로 할 수 없음은 어떤 분야를 막론하고 누구도 부인할 수 없는 사실이다. 그래서 사실 이 책을 처음 접할 때, 과연 그게 가능할까?? 싶은 의심부터 들었다. 택배로 책을 받아보고 책의 두께를 보고는 웹사이트를 만들 수 있다면서 페이지가 300 페이지에 불과하다는 점에서 의심.. 2019. 12. 23.
개발자와 디자이너가 함께 책을 만들어보자.. 쿨럭.. 편집 디자인 강의 개발자와 디자이너가 함께 책을 만들어보자.. 쿨럭.. 편집 디자인 강의 이 책을 읽고 싶었던 계기도 참 우연하게 찾아왔고, 이 책이 내 손에 들어오는 것도 참 우연과 행운이 겹쳐서 만날 수 있었다. 최근 한 개발자 유투버 지인을 통해 책을 한 권 쓰고 있다는 소식을 들었는데 마침 절묘하게도 인디자인 이라는 툴을 사용해서 편집 과정에 있다는 이야기를 들었고 관심을 갖고 있던 찰나에 한빛미디어가 이 책을 신간으로 출시해준 것이 아닌가 !! 놀랍다 우선 이 책을 처음 펼쳐보면 왠 유치원 교재인가 ? 싶은 알록달록 디자인들과 각각 다른 재질의 종이가 나오는데 이게 뭔가 했더니 출판에 앞서서 어떤 재질의 종이를 이용할 것인가에 대한 샘플링이었다. 글로 연애를 했어요. 가 아니라 … 만져도 봤어요 할 수 있는 아주.. 2019. 12. 22.
이젠 나도 자바 .... JAVA 빠르게 배우기용 요약 책 이젠 나도 자바 = 성안당 이젠 나도 자바 .... JAVA 빠르게 배우기용 요약 책 자바를 완벽하게 가이드 해준다는 책이지만, 사실 가이드 보다는 교과서 같다는 느낌이 강하게 드는 것이 사실이다. 마치 네비게이션의 자동 안내에 익숙해진 사람이 종이를 펼쳐 지도를 보는 느낌이 들었다가 이 책을 마주 했을 때의 첫 인상이었다. 이 책은 완전 초보자들을 위한 입문용 책이라고 할 수 있겠다. 조금이라도 코딩 경험이 있거나, 적은 기간이지만 프로그래밍의 경험이 있는 사람에겐 그 언어가 자바가 아니더라도 크게 이 책이 주는 이점을 찾기 어렵다. 어느 정도 경력자에겐 이 책은 그냥 처음 이 일을 하는 이에게 주는 선물로 활용하기를 조심스럽게 권장하는 바이다. 수 많은 예제를 만들어 놓고 지면에 보여주는 것은 10년.. 2019. 12. 11.