본문 바로가기

전체 글

scala - macro keyword scala - macro keyword macro keyword? compile time에 코드를 만들어주는 기능이다. (compile-time metaprogramming) Simple example add() 함수 선언과 정의 object MacroDemo { def add[T](num1: Int, num2: Int): Int = macro add_impl def add_impl(c: blackbox.Context)(num1: c.Expr[Int], num2: c.Expr[Int]): c.Expr[Int] = { import c.universe.reify reify { num1.splice + num2.splice } } } 사용 object MacroTestMain { def main(args: A.. 더보기
[Redis] lua script를 활용한 SetIfNewer(upsert) 예제 Redis Lua script call REDIS lua script: ( https://redis.io/commands/eval ) command: EVAL 아래처럼 스크립트를 매번 호출할 때마다 포함하여 호출할 수 있다. 아래 코드의 HGET, HSET은 트랜잭션 처리가 되어 수행된다. > EVAL 'if redis.call("HGET", KEYS[1], ARGV[1]) < ARGV[2] then return redis.call("HSET",KEYS[1], ARGV[1], ARGV[2]) end return -1' 2 hashtable -1 createdate 293891 command: EVALSHA 위 처럼 호출할 수도 있고, 한 번 호출한 스크립트에 대해서 해시값으로 접근할 수 있다. (매번 스.. 더보기
scala - 소개와 intellij 로 환경 설정 chapter 1. 스칼라 소개 scala? 공식 홈페이지 객체지향 프로그래밍과 함수형 프로그래밍이 결합된 높은 수준의 언어다. 정적 타입은 복잡한 앱에서의 버그를 피하게 도와주고, JVM 과 JS 런타임은 높은 성능을 가진 시스템을 쉽게 접근할 수 있게 해준다. 1.1 왜 스칼라인가? JVM과 JS JVM에서 제공하는 라이브러리를 계승할 수 있다는 장점이 있다. scala.js 도 실험 프로젝트로 진행 중이다. 정적타입 정적 타입 지정이 필요하지만 타입 추론을 이용하여 타입 표기를 생략할 수 있게 한다. 다중 패러다임 - 객체지향 + 함수형 프로그래밍 복잡한 타입 시스템 타입 추론을 사용하여 동적 타입 언어 수준으로 간결하게 할 수 있다. 간결하고 우아하며 유연한 문법 규모 확장성 trait를 사용한 .. 더보기
scala study 시작 책을 훑어보기로 했다. 빠르면 2달, 꼼꼼하게 보면 3달까지! 더보기
[공부] 파이썬 코딩의 기술 (effective python) 파이썬 코딩의 기술 (원서: effective python) / 브렛 슬라킨 지음, 기형철 옮김 / 길벗 드디어 스터디가 끝났다. 중간에 c++ 때문에 바빠져서(맞다. 핑계다.) 조금 소흘했던 것은 아쉽다. 여럿이 모여서 공부를 하면 집중도가 약간 떨어지더라도 끝까지는 가는 것 같아서 좋다. https://github.com/xtozero/EffectivePythonStudy_PDF 더보기
[독서] 프로그래머의 길, 멘토에게 묻다 프로그래머의 길 멘토에게 묻다저자데이브 후버, 애디웨일 오시나이 지음출판사인사이트 | 2010-07-26 출간카테고리컴퓨터/IT책소개“소프트웨어 개발이라는 긴 여로의 시작, 생각하는 프로그래머의 ... 블로거의 말: 회사에 처음 입사했을 때 추천받은 책을 2년이나 지난 지금에서야 사서 읽었다. 내용이 어떤 특정한 디자인 패턴이나, 기술 명세는 아니다. 어떤 마음가짐으로 소프트웨어를 제작하고, 어떤 케리어 패스를 밟아가는 것을 추천하는지가 적혀있다. 단순히 근시안적인 몇몇 언어나 몇몇 기술에 대한 내용이 아닌, 프로그래머로써 가져가야 할, 지켜나가야 하고, 습관이 되어있어야 하는 부분들을 자세히 적어두었다. 이 책을 통해 나는 아직도 성장하려면 멀었구나 하는 생각이 들고 반성도 많이 했다. 하지만, 돌려 .. 더보기
[독서] 읽기 좋은 코드가 좋은 코드다 읽기 좋은 코드가 좋은 코드다저자더스틴 보즈웰, 트레버 파우커 지음출판사한빛미디어 | 2012-04-06 출간카테고리컴퓨터/IT책소개* 더 나은 코드를 작성하는 간단하고 실전적인 테크닉!이 책은 ... 블로거의 말: 책을 훓어보며 읽어 내려간 뒤, 다 읽은지 한 일주일 정도 걸린 것 같다. 코더로써, 선배나 선임 개발자들에게 물어보는 내용은 대부분 로직이나 구조, 흐름 등의 내용일 것이다. 물론, 구조나 설계방식, 로직 혹은 순서도 등의 내용은 코드의 가장 뼈대가 되는 부분이다. 하지만, 하나의 코드를 여러명의 개발자들이 동시 다발적으로 접근하고, 수정하는 현업에서 기본 내공이 되는 것이 바로 이 책 안에 담겨있다고 생각한다. 누구도 알려주지 않았던 이야기나 변수명은 어떻게 지어야 할까? 등의 물음은 나.. 더보기
[독서] 시골의사 박경철의 자기 혁명 "성급해할 필요는 없다. 물은 99도가 될 때까지 끓지 않는다. 100도가 되기를 기다리는 인내와 여유가 필요하다. 내가 노력하고 있다면 기다림도 당연하게 받아들이는 여유가 있어야 한다. 세상의 모든 것은 발효 과정이 필요하다. 무언가를 시작해서 당장 성과를 얻는 것은 그야말로 운이다. 하필 행운의 여신이 나만 피해갈 리 없고, 하필 불행의 여신이 내 발목만 잡을 리도 없다. 인생은 정직한 것이다. 묵묵히 걸어가라. 결과를 두려워할 필요도 없다. 이것이 바로 필자의 인생에서 아쉬웠던 점이자 이 시대의 청년들에게 하고 싶은 말이었다." 마치 저자가 내 바로 앞에서 말하는 것 같았다. 사실 책을 읽고 느낀게 너무 많아서 요약하려면 한도끝도 없다는 느낌이 많이 든다.(사실 읽을 당시에 이해는 가는데 막상 책을.. 더보기
[effective C++] 7장. 템플릿과 일반화 프로그래밍-41, 42 템플릿. 학생 때나 회사 다닐 때나 참 요물입니다, 이 녀석. 창피한 얘기지만 아직도 잘 모르겠어요. 그래서 공부할 겸, 정보 공유도 할 겸 포스팅으로 스터디 자료를 대체합니다. 항목 41: 템플릿 프로그래밍의 천릿길도 암시적 인터페이스와 컴파일 타임 다형성 부터.. 이게 도대체 뭔 소리냐.. 뭐 컨셉 자체는 심플합니다. 클래스와 비교를 하는 것이 이해가 빠를테니 클래스를 먼저 보지요. class Widget { public: Widget(); virtual ~Widget(); virtual std::size_t size() const ; virtual void normalize() ; void swap(Widget& other) ; // .. skip }; 예시를 보면, Widget 이라는 클래스는 일.. 더보기
[Web/Scrap]IIS를 Windows 7 에 설치하기 http://fearless.co.kr/20 따로 설명이 필요없는 블로깅이네요. 좋은 정보 감사합니다. :) 더보기