일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 파이썬 동시성
- play2 강좌
- 파이썬 데이터분석
- Play2
- 플레이프레임워크
- Actor
- 파이썬 머신러닝
- 이더리움
- Adapter 패턴
- 엔터프라이즈 블록체인
- CORDA
- Hyperledger fabric gossip protocol
- Play2 로 웹 개발
- play 강좌
- 파이썬 강좌
- 스칼라 동시성
- 안드로이드 웹뷰
- 파이썬
- 하이브리드앱
- 블록체인
- Akka
- akka 강좌
- 그라파나
- Golang
- 하이퍼레저 패브릭
- hyperledger fabric
- 주키퍼
- 스위프트
- 스칼라 강좌
- 스칼라
- Today
- Total
HAMA 블로그
실제 도메인 관점에서의 예를 통해 객체지향과 함수형 코드를 비교해보면, 어떤 분들에게는 좀 더 도움이 될 수 있을 거 같아서. 함수형& 반응형 도메인 모델링이라는 책에 있는 내용중 일부를 짧게 소개해 보려고 합니다. -장,단점을 논하는 글이 아니며, 더 자세한 내용이 필요하다면 책을 참고하세요. -DDD 하면 전 아직도 장거리 직통전화 와 김혜림씨가 먼저 생각나네요 :-) 개발자는 코드로 말하기 때문에 바로 코드 보겠습니다. 스칼라 코드이긴 하나 매우 간단하기 때문에 자바,C++,Python 개발자라면 무난히 이해 하실 겁니다만 약간의 설명은 추가 하겠습니다.1. 객체지향 은행등에서 계좌의 돈을 입금하고 출금하는 상황(도메인) 에 대한 코드입니다. Balance 케이스 클래스는 기본적으로 불변입니다. 즉..
진짜 함수형 초보자들을 위한 트레이닝(1) in Scala 검색해보면 많은 초보자들을 위한 함수형 글들이 있지만, 꽤 어렵지 않나 생각이 드는데요. 예) 초보자친화적 함수형 프로그래밍 투어 C = ... // B => C 함수 객체를 리턴하는 겁니다. (B가 매개변수 C가 리턴값) def doSomething[A,B,C](...): A => (B => C) = ... // A 매개변수를 받아서 (B => C) 함수 객체를 리턴하는 함수 객체를 리턴합니다.. (B가 매개변수 C가 리턴값)이제 본격적으로 시작해보죠!!예1)def add (a : Int, b : Int): Int = { a + b }스칼라에서 함수는 def 로 시작합니다. a : Int 는 매개변수 a 는 Int 타입이라는 의미이구요. 자바와..
스칼라 강의 (47) ADT (Algebraic Data Types) 이란? (feat. 타입클래스) "ADT는 정해진 숫자의 타입 군을 구축하는 방법에 관한 이야기. 행동은 상관없다" "타입클래스는 타입별로 행동을 다르게 하기 위한 이야기."라고 개인적으론 희미하게 구분하고 있습니다. 참고로 타입클래스는 우리가 알고 있는 그 클래스가 아닙니다. 인터페이스와 비슷한 것으로서 하스켈에서 나온 개념입니다. => 타입클래스 죄송하지만 하스켈을 공부해서 ADT에 대한 감을 잡는게 빠른거 같습니다. (아래 하스켈의 Sum 타입은 자바의 예를들고 있으므로 하스켈 몰라도 이해하기 쉬울 겁니다) - 하스켈의 Sum 타입 - [하스켈 기초][CIS194] 대수적 데이터 타입(Algebraic Data Type) 다음 블..
아주 비슷한 느낌을 주는 두 언어 스칼라와 코틀린에 대한 비교 글이 있어서 번역해 보았습니다 이런 글을 읽고 이 언어가 무엇인지 정확히 감을 잡는것은 불가능합니다. 가볍게 읽으세요. 또한 이 글은 superkotline.com 이라는 코틀린 싸이트의 글이므로 약간은 코틀린쪽으로 기운 느낌도 있습니다. 저는 스칼라와 Python 을 좋아하기 때문에 먼저 다음과 같은 언급을 하고 시작해 봅니다. :-) "Twitter 인프라의 대부분은 Scala로 작성되어 있으며..." Scala vs Kotlin : 네가 해결하기 원하는 문제(분야)가 뭐야? Scala와 Kotlin은 자바 왕좌( JVM 기반) 를 차지하기 위한 주요 두 경쟁자입니다.그들은 같은 문제를 해결하는 것을 목표로합니다 : 더 나은 자바를 제공 ..
[경고] 개인적으로 공부한것 정리한 것이라 내용이 두서없이 조악하게 연결되어 있습니다. 스칼라에서 리프팅(lifting) 이란? [번역/요약] 먼저 스칼라에서 에러처리하는 방식으로 option 을 사용하는데, 사용하다보면 이것을 리턴 받아서 사용 할 때 일일이 확인해서 처리 해주다보면 군더더기 코드가 덕지 덕지 되지 않을까 생각 할 수 있을 것이다. 초보시절에는 if 문이나 case 매칭으로 지져분하게 해결 한 경험도 많을 것인데, 여기서 설명할 리프팅을 알고 나면 그렇게 코딩 했어야 했었던 초보시절의 죄책감을 앞으로는 벗어 던질 수 있을 것이다. 아래 예 (pseudo-code)를 보면x = someOperation if !x.nil? y = someOtherOperation if !y.nil? doS..
스칼라 어플리케이션은 어떻게 빌드&디플로이 할까? [번역] http://fruzenshtein.com/how-to-build-deploy-scala-application/ 이봐요! 스칼라에 꽤나 익숙해 진 것 같군요. 당신이 이제 스칼라로 어플리케이션 개발을 할 수 있는것을 알겠습니다. 근데 코드의 주된 사명은 사람들이 문제를 해결 할 수 있도록 돕는 것이겠죠? 하지만 당신의 데스크탑에서만 로컬로 실행중인 경우 어떻게 이 작업을 수행 할 수 있을까요? 네~이 글에서는 Scala 애플리케이션을 배포하는 가장 쉬운 방법을 보여드리겠습니다. 스칼라 프로젝트 빌드하기 Scala 프로젝트를 "빌드" 한다고 말하면 무엇을 의미하나요? 그 의미는 당신의 IDE에서 로컬로 실행되는 프로젝트는 다른 환경 (Linux /..
스칼라 리플렉션 참고: http://3x14159265.tumblr.com/post/57543163324/playing-with-scala-reflection리플렉션에 대해서 생소하다면 먼저 자바 리플렉션 관련 읽을 거리를 읽어보세요. 1. 자바 클래스로더 이야기 2. 자바 리플렉션 사용하기 스칼라 2.10에서 새로운 리플렉션 API 가 소개되었습니다. 리플렉션으로 보통 우리는 제네릭 타입을 포함하여 객체의 타입을 조사한다.런타임에 클래스(파일 혹은 네트워크를 통해서 전해온 바이트를 통해) 객체를 생성한다.그 객체의 메소드를 호출한다. 를 할 수 있게 됩니다.하나씩 살펴 볼까요? 먼저 아래와 같이 임포트 해줍니다.import scala.reflect.runtime.universe._view rawrefl..
이 글은 Joel Thoms의 "자바스크립트에 대한 애정을 언어의 90%를 쓰레기통에 버리면서 다시 발견했던 과정"을 번역한 글을 보고, 번역이 안된 중요 부분을 추가 번역 한 것입니다. [번역] 자바스크립트에서 for 루프를 다시 생각해보자 JavaScript 의 for 루프는 나름 그 역할을 잘 해주었지만, 이제는 쓸모가 없어졌으며 새로운 함수형 프로그래밍 기술에 의해 은퇴 해야 할 때로 보입니다.걱정은 하지 마세요 굳이 함수형 프로그래밍 마스터가 될 필요는 없습니다. 그저 현재의 프로젝트에서 바로 시작 해 볼 수 있는 간단한 (하지만 쿨한) 녀석입니다.JavaScript for loop의 문제점은 무엇일까요?for 루프는 상태 변이와 부수효과을 조장합니다. 그 결과 각종 버그와 예측할 수없는 코드의..
텐서플로우는 범용적인 기술로써 딥러닝 뿐 만 아니라 다양한 곳에 사용 될 수 있습니다. 즉 머신러닝 라이브러리를 사용하지 않고 밑바닥에서 무엇인가 만들수 있는 여지가 많다는 뜻이겠지요. 예전에 CUDA 로 Ray-Tracing을 통해 볼륨랜더링을 만들어 본 경험이 있어, 혹시 TensorFlow 로도 할 수 있을 듯 하여 찾아 봤는데 관련 블로그가 있어서 번역 해 보았습니다. (오역이 있을 수 있으니, 진지하게 접근하는 분이라면 원문을 참고) [번역] https://medium.com/@awildtaber/building-a-rendering-engine-in-tensorflow-262438b2e062 텐서플로우로 랜더링 엔진 만들기 이 포스트에서는 텐서플로우를 이용해 만든 랜더링 엔진에 대해 파이썬 코..