본문 바로가기

ETC

Google I/O 2015 첫 번째 날 올해 초만 해도 막연히 올해 미국을 한 번 가보고 싶다는 흐릿한 목표만 있었다. 이번 구글 IO는 '되면 좋고 아님 말고' 정도의 생각으로 신청했는데 덜컥 당첨되어 다녀올 수 있었다. 이렇게 컨퍼런스를 다녀오면 미국에서의 흐름은 어떤지, 한국과는 어떻게 다른지를 깨달을 수 있어 도움이 되는데 이번 컨퍼런스도 마찬가지였다. 행사장인 모스콘 센터 서관 입구. 오른쪽은 등록을 위한 줄이고 왼쪽은 입장을 대기하는 줄이다. 등록은 행사 전날부터 이루어졌기에 많이 붐비지는 않았다. 등록은 전혀 기다리지 않고 진행할 수 있었다. 행사장에 들어가기 위해 줄은 필수이다. 들어보니 전날 등록을 위해서도 줄을 한참 섰다고 한다. 줄은 모스콘 센터를 둘러싸는 형태로 되어 있었으며 거의 행사장을 한바퀴 감싼듯 했다. 다른 곳에.. 더보기
Swift 문법 간단 정리 #2 functionfunc getColor(string: String) -> (red: Int, green: Int, blue: Int) {}println(“\(returnVal.red) and \(returnVal.green) and \(returnVal.blue)”)func makeColor(c1: Int, c2: Int, c3: Int)func makeColor(withRed c1: Int, withGreen c2: Int, withBlue c3: Int)말을 만드는 것처럼 함수를 호출할 수 있게 (sentence-like)func makeColor(#red: Int, #green: Int, #blue: Int)함수 내, 외부에서 같은 이름으로 파라미터를 사용func makeColor(withRed c.. 더보기
Swift 문법 간단 정리 #1 Optional값이 존재할 수도 있는 상황에서 optional를 사용한다.optional의 의미값이 있고 그 값이 x와 같다.값이 없다.optional가 값이 있다는 것을 확신하면 마지막에 느낌표를 붙여서 값에 접근할 수 있다.!: 값이 존재함을 확신할 수 있다는 의미forced unwrappingoptional bindingif let abc = possible.toInt()possible.toInt가 리턴한 optional int값이 값을 가지고 있다면 새로운 상수 abc의 값을 그 값으로 한다.forced unwrapping이 불필요 = ! 쓸 필요 없음Implicitly Unwrapped Optionals프로그램 구조적으로 항상 값을 가질 때 수시로 !로 unwrapping해줄 필요 없이 값 지정.. 더보기
DOM에서 특정 element를 제거하는 크롬 확장 프로그램 아주 간단한 확장 프로그램을 하나 만들었다. 웹 페이지를 로딩할 때 특정한 dom element를 문서에서 제거하는 것이다. 설정 페이지 등 일반적인 형태로 사용할 수 있는 기능들을 빼고 dom element를 제거하는 기능 구현에 집중했더니 개발 시간은 길지 않았다. 소스 코드는 다음과 같다. // manifest.json{ "manifest_version": 2, "name": "Dom Element Remover", "description": "This extension removes pre-specific elements from HTML document.", "version": "1.0", "content_scripts": [ { "matches": ["http://*.daum.net/*"], .. 더보기
Google Hangouts manifest.json 정리 개인적으로 크롬 확장 프로그램(또는 크롬 익스텐션)에 관심이 있는 편이다. 그래서 이전에 간단한 확장 프로그램을 만들어보기도 했고. 크롬 확장 프로그램을 실행시키기 위해 필요한 파일 중에 하나가 manifest.json인데 Google Hangouts의 manifest.json을 예제로 삼아 간단히 정리해봤다. Hangouts가 manifest.json의 모든 항목을 사용하는 것은 아니므로 manifest.json의 전체 내용을 파악하긴 어렵지만 시작점으로는 충분히 의미있으리라 생각한다. { // background 페이지는 익스텐션의 프로세스를 실행한다. // extensions의 기본 lifecycle에 대한 이해가 필요함 // html이 필요 없는 경우 'scripts'를 name으로 하고 java.. 더보기
맥 sourcetree에서 git에 push할 때 osxkeychain이 git 명령어가 아니라고 나오는 경우 Mac에서 Source Tree를 이용하여 Github을 사용하고 있다. 이미 계정 하나가 있고 새로 계정을 만들어 checkout을 받았다. 이 때 SSH 대신 HTTPS를 사용하였다. 그런데 수정한 내용을 push하려고 하니 credential-osxkeychain이 git 명령어가 아니라는 오류가 자꾸 발생한다. GitHub에서 이런 오류가 발생할 경우 다음 주소에서 프로그램을 설치해야 한다고 안내하고 있다. https://help.github.com/articles/set-up-git#password-caching 그러나 위 프로그램이 이미 설치되어 있는 상황인 것을 확인하였고 설정(git config --global -l)으로도 제대로 설정된 것을 확인 가능했다. 한참을 고민하다가 키체인 접근을.. 더보기
Mac에서 프로그램에 옵션 지정해서 실행시키기 크롬 브라우저를 띄우면서 특정한 옵션을 지정하여 실행시켜야 하는 상황이 생겼다. 처음에는 'Mac도 unix의 일종이니까'라는 생각으로 shell script를 만들었다. 그런데 의도한대로 실행되지 않는다. 프로그램을 정상적으로 못찾았던가.. 지금은 기억이 좀 가물가물. 언젠가 애플스크립트를 본 기억이 있어 애플스크립트 편집기를 실행시켰다. 이리저리 명령어를 입력해봤지만 제대로 실행되지 않고 계속해서 오류를 일으키기에 결국 구글에서 검색. 역시나 검색해서 결과를 보니 너무 간단하다. do shell script "open -a '/Applications/Google Chrome.app/' -options" 이렇게 스크립트를 만들고 컴파일하면 계속 애플스크립트 편집기를 띄우지 않고도 옵션을 지정하여 크롬 .. 더보기
Mac에서 Git 설치하고 설정하기 깃헙과 연결하여 깃을 사용하기로 결심하고 터미널을 열고 git을 실행해보니 프로그램이 설치되어 있지 않았다. 그래서 구글신 영접하고 다음 주소를 방문하게 됐다.https://help.github.com/articles/set-up-git http://git-scm.com/book/en/Getting-Started-Git-Basics위 페이지에 깃에 대한 간단한 설명으로의 링크가 있길래 간단하게 글을 읽고 기초적인 개념을 잡았다. 파일의 스냅샷을 뜬다는 것과 committed, staged, modified라는 세 가지 키워드. 나머지는 설렁설렁. http://git-scm.com/downloads그리고 깃 프로그램을 다운로드. https://help.github.com/articles/set-up-git.. 더보기

반응형