본문 바로가기

[Swift 4] Swift 둘러보기 오랫만에 새로운 언어를 배워볼 겸, Swift를 시작해보았습니다.시작해보면서 Swift 4로 변경된 부분의 글은 많지만, Swift 4로 언어를 시작하는 사람을 위한 문서는 없는 것 같아 정리해 보았습니다. Swift를 알지 못하는 사람이 배우면서 번역한 글이라 영어를 떠나서 내용을 이해못하고 쓴 부분이 있다면 피드백이 있었으면 좋겠네요~ 해당 글은 여기에서 참고 하세요.https://flyburi.gitbooks.io/swift4/content/chapter1.html
[Scala] Mac에서 Scala 설치 Mac에서 Scala 설치 설치 환경os : mac / jdk : 1.8 / 설치할 scala : 2.11.8 0. JDK 설치 확인 및 미설치시 먼저 설치할 것. 1. Scala 공식 홈페이지로 접속http://www.scala-lang.org/ 2. Download 버튼 클릭 후 현재 안정화 된 버전의 Scala 버전 다운로드 3. 다운받은 zip 파일을 적당한 곳(예: /usr/local)에 압축을 푼다. 4. SCALA_HOME Path 설정(예: ~/.profiles)아래와 같이 압축해제한 scala 폴더의 위치 HOME으로 설정후 bin 폴더를 PATH에 추가한다.export SCALA_HOME=/usr/local/scala-2.11.8 export PATH=$PATH:$SCALA_HOME/b..
[Play] Play설치(activator) 글 작성 기준 버전 : Play 2.5.x 참고 : https://www.playframework.com/documentation/2.5.x/Installing Prerequisites Play 2.5.x 버전은 java 1.8 을 필요로 한다. Play 설치 activator 다운로드 https://playframework.com/download에서 Offline Distribution 클릭하여 다운로드 받는다. /usr/local이나 쓰기권한있는 원하는 위치에 압축을 풀어준다. Path에 activator 추가. 자신의 profile 파일에 path를 추가한다. MacOS/Linux는 보통 $HOME/.profile 에 추가한다. (/etc/paths에 추가하기도 하고 자신이 쓰는 path 지정하면 ..
[책] 훌륭한 프로그래머 되는 법 - 경로 탐색하기 최근 환경이 바뀌어 새로운 환경, 시스템에 적응할 일이 있어 코드를 분석할때 느낀점을 '훌륭한 프로그래머 되는 법'(Becoming a Better Programmer) 책을 읽으며 공감한 부분이 있어서 정리해 봅니다. '훌륭한 프로그래머 되는 법'(Becoming a Better Programmer) 6장 경로탐색하기 에서 발췌한 내용입니다.. 경로 탐색하기. - 새로운 프로젝트에 투입되었을때 코드를 둘러볼 계획을 어떻게 세워야 했을까? 프로젝트에 투입된 최초 시점에서, 성과를 낼 수 있는 상태에 빠르게 도달하기 위해 어떻게 해야했을까? 이미 존재하는 거대한 코드베이스에 적응을 위해선 다음과 같은 작업을 재빠르게 해내야 한다. 그래야 작업한 첫 번째 변경 사항이 다른 이들에게 당황스럽게 보이거나, 이미..
[SpringSecurity] Authentication(인증) 관련 클래스와 처리 Spring Security에 대해 큰 흐름은 알지만, 처음부터 적용하는게 아니면 어떤 권한을 주고 권한 체크하는 로직만 추가하거나 수정하며 생각없이 쓰게 되는데,어떤 흐름으로 되는지 전보다 좀 더 살펴볼 기회가 있었고 Spring Security의 각 클래스들이 어떤 일을 하는지에 대해 두서없이 소소하게 정리해봅니다.이 글에서 Spring Security Version은 3.2.5 버전이 기준입니다. 1. 인증과 인가란 무엇인가? 인증 절차를 거친후 인가 절차를 진행! 1) 인증(Authentication) : 해당 사용자가 본인이 맞는지를 확인하는 절차.2) 인가(Authorization) : 인증된 사용자가 요청된 자원에 접근가능한지를 결정하는 절차. 2. 인증 방식1) credential 기반 인..
Scala로의 산책 얼마전 참여하고있는 스터디 커뮤니티에서 2015년을 보내며 스터디한 내용을 공유하고자 발표하는 자리가 있었다. 많은 모르는 사람들 앞에서 발표해보는 짜릿함도 그리고 부족함도 느낄 수 있는 자리였고 이 발표준비로 조금 더 성장할 수 있는 계기가 된 것 같다. Scala로의 산책 from Youmi Bae
[Scala] Scala에서의 객체 동등성 Scala에서의 객체 동등성 동등성 : 두 객체의 내용이 같은지 비교. String Equality 테스트 == operator를 이용한 두개의 String instance 비교. val s1 = "hello" val s2 = "hello" val s3 = "h" + "ello" s1 == s2 res0: Boolean = true s1 == s3 res1: Boolean = true == 메소드는 String 이 null로 할당하여도 NullPointerException발생하지 않음. val s4: String = null s3 == s4 res2: Boolean = false s4 == s3 res3: Boolean = false 대문자나 소문자로 변환한 두개의 string도 == method를 이용..
[책] 색채가 없는 다자키 쓰쿠루와 그가 순례를 떠난 해 [책] 색채가 없는 다자키 쓰쿠루와 그가 순례를 떠난 해 갑자기 찾아온 상실감. 그 상실감의 상처로 이유도 모른체 아파했었던 주인공이 떠난 순례의 여정이 긴박하지 않으면서도 지루하지 않았다. 끝은 허무했지만, 다시 생각해보니 그게 우리의 삶과 같다는 생각이 든다.마치 엔딩이 있는것처럼 목표를 세우고 그 목표를 달성하면 행복한 엔딩이 기다리는것처럼 하루를 살지만 그런 막연한 엔딩을 꿈꾸며 살기보다는 살아있는 이 순간의 과정을 더욱 느끼고 반성하고 음미해야겠다는 마음이 더욱 확실해지는 책. 기억하고 싶은 구절. 사람들은 모두 그에게 다가왔다가는 이윽고 사라진다. 그들은 쓰쿠루 속에 무엇을 찾으려 하지만 그것을 찾지 못해, 또는 찾았지만 마음에 들지 않아 체념하고(또는 실망하고 화가 나서) 떠나 버리는 것 같..
[책] 소프트웨어 개발과 테스트 입사한지 되어서 그런지 회사 컴퓨터가 점점 느려지는 틈을 노려 메이븐 빌드하는 도중 틈틈히 읽었더니순식간에 읽은 조대협님의 '소프트웨어 개발과 테스트'.새로운 내용의 책이라기 보다는 프로젝트 개발방법론, 개발과 테스트등에 전반적으로 한번 정리하는 의미에서 괜찮은 책 같다.중간에 다양한 짤막한 내용들도 흥미로웠다.. 이슈 트랙킹 도구 > Trac : 이슈관리, 소스 코드의 형상관리, Wiki, 태스크 관리, 문서 관리, 소스코드 관리> RedMine> JIRA> IBM Jazz/RTC> 클라이언트 연동 : MyLyn UX 프로토타입> 프로토타입 디자인 도구 : balsamiq> 9 Excellent Tools for Design Mockups : http://mashable.com/2012/06/07/mo..
[Android] 맛보기 세미나 자료 작년에 사내 세미나 하려고 만들었던 Android 맛보기 자료를 공유해본다.
[Amazon DynamoDB]세미나 자료 Amazon DynamoDB 작년에 적용하였던 Amazon DynamoDB에 대해 사내 세미나 했던 내용을 공유해본다.NoSQL과 RDBMS의 간단한 비교 및 배경과 Amazon DynamoDB API에 대한 설명이 포함되어있다.
코드 리뷰 가이드라인 - Part 1(Code review guidelines) 사내에서 코드리뷰 가이드라인에 대한 좋은 글을 공유하여서 번역하여 공유하면 좋을것같아 발번역을 해본것을 블로그에 공유하여 올린다. 왜 리뷰가 중요한가?(Why Reviews are important?) 부분은 제외한 모든 부분을 번역하였다 Code review guidelines – Part 1원문 :http://insidecoding.com/2013/01/07/code-review-guidelines/최초작성일 : 2014.2.9 작성자:버리야 날자 코드 리뷰가 무엇인가? 코드 리뷰는 컴퓨터 소스의 체계적인 검사이다(peer review로 알려져있다). 코드 리뷰는 초기 개발단계에서 간과한 실수를 찾고 수정하고, 전체 소프트웨어의 품질과 개발자의 기술 모두를 개선하기 위한것이다. 왜 리뷰가 중요한가?Q..
[MongoDB] old lock file: "/data/db/mongod.lock" 에러시 해결방법 MongoDB를 쓰다가 비정상적으로 Stop이 되어 다시 Start를 하게 될 때 빈번하게 이 에러가 난다. 이럴땐, ./mongod --repair 명령어를 쳐주면 해결된다~ 만약 이래도 안되면 /data/db/mongod.lock 파일을 삭제해 준다면 된다고 하던데. 이걸로는 안해봐서..검증은 안됐다는..
OS X Mountain Lion에서 프로그램 설치시 '확인되지 않은 개발자가 배포했기 때문에 열 수 없습니다.' OS X Mountain Lion에서 Eclipse를 Download받고, Eclipse를 실행하였더니 이 에러를 뱉는다.프로그램 설치시 '확인되지 않은 개발자가 배포했기 때문에 열 수 없습니다.'이 문제는 Mountain Lion에서 보안 이슈로 인해 추가된 Gatekeeper과 연관된 것인데, 시스템 환경설정> 보안 및 개인 정보에서 '다음에서 다운로드한 응용 프로그램 허용'에서 기본값으로 'Mac App Store 및 확인된 개발자'인데,이것을 '모든곳' 으로 바꾸어 주면 된다. 물론, 보안상으로 좋지 않은 방법이지만, 출처 Mountain Lion: Hands on with Gatekeeper
구글 메일 로그인시, 계정 아이디에 대한 불편한 진실~ 지금까지 속아온 듯한 이 느낌은 뭘까~ 구글에 처음 가입할 당시, 이름.성@gmail.com으로 이름과 성 사이에 .(dot)을 넣어서 계정을 생성하였기때문에, 로그인할때, 이름.성@gmail.com으로 항상 썼는데, 얼마전 트윗을 보다가 알게된 사실. 내부적으로는 .(dot)이 있던 없던 상관없이 사용자의 순수 아이디만 들어간다는 사실 즉, .(dot)없이 이름성@gmail.com도 되고, 이.름.성@gmail.com도 되고, 이.........름성@gmail.com도 로그인이 가능하다는 점~ 좋은것 같기도 하고, 지금까지 몰랐던게 아주~ 조금 억울한 것 같기도 하고~ 앞으로는 좋은게 좋은거지만..
OS X Mountain Lion에서 Java 설치 Mountain Lion 버젼 전에는 Java가 기본으로 설치되어있었던 것 같은데,기존 버젼에서 upgrade할때 Java를 지우고 아예 이번버젼은 설치되어 있지 않다., Flashback trojan과 같은 malware나 바이러스등의 보안 문제때문에 자바가 기본으로 설치되어있지 않다고 한다. 그리고 대부분의 사용자는 Java를 사용하지 않기 때문이라고~ Java설치를 위해선, 간단하게 터미널에서 Java를 치면, 현재 설치되어있지 않다고 메시지를 보여주고 설치할지 창을 자동으로 띄워주고 최신 버젼의 Java를 설치한다. 설치 후 , 터미널에서 java -version 해보면~ 성공! 출처 Install Java in OS X Mountain Lion
Ubuntu 12.04와 Windows 멀티 부팅 순서 변경 부팅시 Ubuntu와 Windows로 선택하는 메뉴에서 시간내에 선택하지 않으면 기본적으로 Ubuntu 부팅이 아닌,Windows로 부팅으로 순서 변경시 $sudo gedit /etc/default/grub 파일에서 GRUB_DEFAULT = 0 이라고 되어 있는것을 변경하면 된다. 나는 부팅시 보여지는 리스트 중 7번째에 WIndows가 있기 때문에 GRUB_DEFAULT = 6 이라고 설정했다. (중요! 부팅 순서는 0부터 시작) 순서를 모를시에는 /boot/grub/grub.cfg 파일을 참조해 윈도우 관련 엔트리를 확인하면 된다. 저장 후, update시켜준다. $ sudo update-grub
디버깅 우연히 10년전에 배웠던 프로그래밍 책을 보다가 발견한 "디버깅"챕터에서의 내용이다. 디버깅 프로그램 제작에서 가장 어려운 부분은 설계나 코딩이 아니라 바로 디버깅 단계다. 이 단계에서, 프로그램이 실제 작동하는지(작동된다고 생각하는 것이 아니라)를 알아낸다. ...... 대화형 프로그램의 경우는 버그를 다시 보인다는 것 자체가 문제 해결의 90%를 차지할 수 있다. 이 말은 특히 그 분야에 있는 사용자가 보고한 버그를 처리할 때 그렇다.다음은 버그를 발견했다고 전화한 사용자의 전형적인 대화 내용이다. 사용자: 당신들이 만든 데이터베이스 프로그램이 이상합니다. 프로그래머: 무슨 문제가 있습니까? 사용자: 가끔 정렬을 하면 이상한 순서로 정렬됩니다. 프로그래머: 사용한 명령어는 무엇입니까? 사용자: sor..
[Node.js] 관련 링크들 중 책갈피한 내용들 요즘 한창 재미난 Node.js 관련 링크들 중 개인적으로 책갈피한 내용들밑의 문서는 원서 내용 발췌. (한글번역 문서 : http://nodeguide.atelier.weaveus.com/index.html)Felix's Node.js Guide 링크중에서Using EventEmittersNode.js implements the observer pattern using a class called EventEmitter. Whenever there is an object that represents the source of several kinds of events, node.js usually makes the underlaying class inherit from EventEmitter.Using E..
[Node.js] 관련 링크들 Node.js 알아가기 위한 링크들 Creating a Basic Site With node.js and Expresshttp://shapeshed.com/creating-a-basic-site-with-node-and-express/ Getting Started with Node.JS, Express and CouchDBhttp://www.bytemuse.com/2011/06/getting-started-with-node-js-express-and-couchdb/ Building a single page app with Backbone.js, underscore.js and jQueryhttp://andyet.net/blog/2010/oct/29/building-a-single-page-app-with..