Dev 92

앤서블 철저 입문

챕터 5까지 자세한 설명과 따라하기식의 예제 구성이 좋다. 다만, 앤서블을 이용한 서버 재부팅 처리 예제에 포트가 잘못 설정되어 있어서 삽질하기에 딱 좋다. 책의 예제가 틀리게 들어가 있는 것은 에러를 찾으며 익숙해지라는 큰 그림일 것이다. 프로그래밍 서적에서도 컴파일이 안 되거나 런타임 에러가 숨어있는 예제는 독자의 실력을 키워주지 않았던가. 챕터 6 오픈스택에서 앤서블 활용에 들어가면 오픈스택 환경 설정에 대한 설명이 전혀 없어 당황스럽다. 기본적인 오픈스택 환경을 구성할 수 없다면 이 챕터는 무용지물이다. 챕터 6의 예제를 실행하기 위한 환경을 어떻게 구성해야 하는지 기본적인 안내는 있었어야 한다. 웃긴 건 챕터 7, 8 AWS과 애저 환경에서 앤서블을 사용하는 챕터에서는 AWS와 애저의 기본적인 ..

Dev 2019.08.30

프로그래밍 루아 3판

재미난 스크립트 언어가 있었네. 게임 서버 개발할 때 게임 이벤트용으로 사용한다고 들었었는데 직접 사용해 본 적은 없었다. Lua Struct를 json 이나 yml 처럼 설정 파일 용도로 사용하면서 추가로 제어 구조를 넣을 수도 있고, 인터페이스만 열어두면 빌드 타임 없이 Lua를 통한 코드 인젝션도 가능하고 재밌는 언어다. C, Go, Java 등의 언어와 손쉽게 연동이 되니 보조 언어로 사용하기 좋다. 다른 Lua 책을 본 것은 아닌데 내 사용 범위에서는 이 책 하나로 충분했다. 두꺼운 책이 아님에도 문법만 다루는 것이 아니라 언어의 세부사항과 주의 사항을 모두 다룬다. #독서 #개발서적 #추천도서 #루아 #프로그래밍루아 #lua 알라딘 : 프로그래밍 루아 3판 프로그래밍 루아 by 호베르토 이에루..

Dev 2019.08.21

테스트 용이성(Testability) 향상을 위한 델리게이션(Delegation)

이전 포스팅 ‘테스트 용이성(Testability) 향상을 위한 DI(Dependency Injection)’에서 이어지는 내용이다. 종속성 문제 테스트 코드 없이 개발할 때는 잘 인지하지 못하다가 테스트 코드를 넣으려고 할 때 만나는 문제 중 하나로 종속성 문제가 있다. 테스트 환경에서 특정 객체 하나를 생성하기 위해서 너무 많은 객체가 필요해지는 상황과 특정 객체가 내부적으로 다른 객체를 직접 생성하는 상황이 그것이다. 이런 상황은 몇 가지 방법으로 개선을 할 수 있다. 파라미터 수정 객체의 일부 값을 사용하려고 해당 객체를 파라미터로 받아서 생긴 종속성은 poor()가 info에서 얼마나 많은 정보에 접근하는지에 따라서 정리가 가능하다. 예를 들면 이런 식이다. 그 값들만 파라미터로 받는 것으로 리..

Dev 2019.08.01

HackerRank 에서 몇 문제 #1

Hacker Rank는 Codility보다 성능 부분에서 까다롭지 않은 것 같다. Java Stream을 사용해서 풀어도 time out없이 처리가 된다.Web 편집기도 codility보다 편의성이 좋다. 그래도 역시 IntelliJ에서 코딩하고 붙여넣는 것이 편하다. 쉬운 것으로 몇 문제를 풀어보았고 github에 풀이를 올려놓았다. Counting ValleysJumping on the CloudsSock MerchantGrid ChallengeElectronics ShopTwo CharactersMissing Numbers

Dev 2019.03.17

Codility Lessons 6 완료

4번 문제(NumberOfDiscIntersections) 어렵다! 저번 주 일요일 오후를 다 썼는데 정확도 100점, 성능 점수 25점으로 총점 62점까지가 한계였다. 결국, 컨닝을 하기로 하고 구글링을 했는데, 2010년도 챌린지 문제였네. 그래, 어렵더라. 여러 가지 솔루션이 있는데 정말 참신하다고 생각되는 솔루션이 2개 있어서 그걸 읽고 이해한 후에 다시 풀었다. 첫 번째는 두께로 접근해서 풀이한 방법이었는데 자바로 돌리면 성능 점수 62점으로 총점 81점이 나온다. 언어에서 pair 를 지원하지 않으니 객체를 만들어서 돌렸는데 객체 생성 비용에서 걸리는 것이 아닌가 생각한다. 두 번째는 원의 앞, 뒤를 주어진 배열 크기로 다 잘라내고, 시작점의 개수, 끝점의 개수를 카운팅하여 모아두고 해당 카운..

Dev 2019.02.22

Go 언어 입문서 추천

최근 프로젝트는 Go 언어로 개발을 진행하고 있어서 작년 말부터 Go 언어를 사용하고 있지만, 아직 손에 익지 않았다. 작년에 처음 Go 언어로 프로젝트를 시작하면서 몇 권의 Go 언어 책을 구매하고 공부했다. 그 중에 ‘개발자를 위한 하룻밤에 읽는 Go 언어 이야기’와 ‘디스커버리 Go 언어’ 2권을 추천한다. Go 언어는 스팩만을 보면 아직은 애매한 포지션에 있는 언어라고 생각한다. 처음에 접했을 때, 다시 C 로 코딩하는 느낌의 어색함과 반가움이 교차했었다. 그래도 최근 언어 답게(?) 동시성을 언어에서 go func 과 channel, select 등의 기본 스팩으로 제공한다. 하지만, class 는 없다. 상속도 없다. struct 와 receiver 라는 기능의 조합으로 구성을 해야 하는데 이..

Dev 2019.02.16

Codility Lessons 1 ~ 5 완료

이전 직장에서는 지원자에게 코딜리티 서비스를 사용해서 코딩 테스트를 봤었다. 그때는 무료 문제가 경력을 입력하면 해당 경력에 어울리는(겁나 어려운) 문제를 무료 문제로 풀어볼 수 있었는데. 언젠가 레슨이라는 기능이 생겼네.https://app.codility.com/programmers/lessons 설 연휴 동안 오랜만에 집에서 코딩을 해봤다.겨울이라고 요즘 너무 놀기는 했다. 보딩하러 가고, 책 보고, 영화 보고, 게임하고...레슨 5 까지 완료했고, 6 은 조만간 완료 예정이다.아래는 풀이를 github 에 올려놨는데, 먼저 문제를 풀어보고 참고용으로 사용하면 좋을 것 같다.https://github.com/prostars/codility Lession 1 Iterations1. BinaryGap ..

Dev 2019.02.06

7가지 동시성 모델

[2017년 9월 13일 작성글 옮김] 얼마 전에 클로저 입문서 하나를 봐서 다행이다. 이 책에 이렇게 클로저 코드가 많이 나올 줄이야. 액터까지는 매우 공감하면서 재밌게 봤다. (이후부터 좀 어렵다.) 아카의 액터를 사용할 때 이게 얼랭에서 가져온 거라고는 알고 있었는데 실제 엘릭서 코드를 보니 또 신기하네. 실제로 돌려보면서 봤으면 더 좋았을 건데 좀 아쉽다. 특히 8장의 하둡은 개념은 얼추 알겠는데 실제 돌려봐야지 감이 오겠다. 7장의 OpenCL 10여 년 전 자막기를 개발할 때 알았으면 유용했을 것 같다. (그때도 있었나??) 조만간 업무적으로 자바 / 스프링을 만져야 하니 당분간 스프링 쪽을 봐야겠구나~ 스프링은 어디부터 봐야하나... 리디북스 : 7가지 동시성 모델 #독서 #기술서적 #추천도서

Dev 2018.12.17
반응형