일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Akka
- 이더리움
- akka 강좌
- 파이썬 강좌
- Actor
- 파이썬 동시성
- Hyperledger fabric gossip protocol
- 안드로이드 웹뷰
- 주키퍼
- 파이썬
- CORDA
- 파이썬 머신러닝
- 하이브리드앱
- hyperledger fabric
- 블록체인
- 스위프트
- play 강좌
- 스칼라 동시성
- Adapter 패턴
- 파이썬 데이터분석
- 스칼라
- 엔터프라이즈 블록체인
- 그라파나
- Golang
- 플레이프레임워크
- play2 강좌
- 하이퍼레저 패브릭
- Play2 로 웹 개발
- Play2
- 스칼라 강좌
- Today
- Total
HAMA 블로그
쓰레드 똑똑똑! 누구니? 쓰레드 에요.. 프로그램(프로세스) 안에서 실행 되는 하나의 흐름 단위에요. 내부에서 while 을 돌면 엄청 오랬동안 일을 할 수 도 있답니다. 쓰레드 끼리는 값 (메모리) 을 공유 할 수 있습니다. 가끔 서로 말도 없이 값을 바꾸어서 곤란에 빠지기도 합니다. 내가 알람을 6시로 맞춰 놨는데 B가 8시로 맞춰놓는바람에 지각을 하고 말았어요. 쓰레드는 필요 할때마다 OS 공장에서 만들어서 사용하고 , 다 사용하고 나면 공장에서 수거해가요. 쓰레드는 동일한 메모리 영역에서 생성되고 관리되어서 상태 변이 속도가 '프로세스' 보다는 빠르지만 그래도 생성/수거에 드는 비용이 나름 있다고 해요. 각각의 쓰레드는 동시에 자기가 맡은 일을 하기 때문에 빠르게 처리 된답니다. 멀티쓰레드 라고 ..
더위를 많이 타지 않는데도 불구하고 이번 여름은 무척 덥네요. 출근하고 나니 시원하고 좋습니다. ^^ 에어컨을 빵빵하게 틀기가 겁도나고.. ( 이번 여름에 꼭 누진제를 손질 했으면 하는 바람이구요. ) 어제는 월드컵 경기장쪽에 놀러 갔었습니다. 앞에 한강망원지구도 있고, 경기장내 CGV 도 있죠. 이 날씨에 하늘공원에서 손을 꼭잡고 등산하고 내려오는 어린 커플을 보고 사랑은 위대하다 라고 감탄.. 제 평생에 가장 더운 여름은 단연코 94년 여름이였는데요. 그 해 여름은 통계적으로도 대한민국의 가장 뜨거운 여름인걸로 아는데.. 여름방학을 맞이하여 아르바이트를 하겠다고 나섰고 '전선 지중화 작업' 을 하게 되었습니다. 말 그대로 지저분한 전봇대의 전선들을 땅 속에 넣겠다는건데요. 삼성역 근처에서 작업했던거로..
저번 주말에는 "신과 함께" 라는 만화를 4900원인가 주고 결재해서 8권 완결본을 다 보았습니다.1부는 "지옥" 편 2부는 "이승" 편3부는 "신화" 편요렇게 구성되있는데요. 1부 "지옥" 편은 40대 직장인이 과로 및 음주로 사망한후에 지옥을 가서 일생에 대한 재판을 받는 여정을 그리고 있습니다.그 지옥편을 보면서 어렸을때 부처님 오시날이면 종종 해주던 영화가 생각 나더라구요. "지옥에간 어머니를 구하기 위해 지옥으로 뛰어든 스님" 의 이야기를 그린 영화였던거 같은데 그 동양적 SF 와 신화적인 분위기는 , 반지의 제왕이나 해리포터 시리즈 같은 서양 판타지에서 느낄 수 없는 무엇인가가 있었습니다. 지금도 그 분위기가 아련하게 느껴지는군요. 다시 만화 스토리로 넘어와서 만화는 주인공 "김자홍" 이 다음..
엄청 깊이 있는 내용은 아니나 , 시간이 급한 일을 넉넉한 돈으로 해야한다. *파트를 나누어서 개별 파트에 능숙한 개발자를 이용합니다.깊이있는 내용은 아니고 시간은 나름 넉넉한데 회사가 유지될 돈이 중요하다. 고용에 부담이 있는 상황이다. * 풀스택 개발자를 구합니다.깊이있는 내용이 한두꼭지있고, 대부분 평이하다. 시간은 넉넉하다. * 풀스택 개발자를 구합니다. 해당 분야의 전문가를 단기적으로 이용하거나 똑똑한 혹은 진취적인 개발자가 전담합니다.어느정도 안정적이 궤도에 들어섰다. 시간,돈도 준비되었다 * 파트로 나누어서 개발자를 이용한다. 완성도를 높이기 시작합니다. 결국 시간과 돈에 따라서 결정되는 그냥 이것 일 뿐이며, 이상한 미사여구를 가져다 붙여가며 폄하하거나 띄워주는 논쟁은 의미가 없습니다. (..
List 활용 * List 는 스칼라에서 가장 많이 사용되는 데이터 구조일 겁니다.* 스칼라의 리스트는 디폴트로 불변형입니다.* 스칼라의 리스트 타입은 공변적입니다. 길이 구하기val a = List (1,2,3) a.length // 3 *배열과 달리 리스트의 length 는 비교적 비싼 연산입니다. a.isEmpty 를 a.length == 0 으로 사용하지 마세요. 양 끝에 접근하기val a = List ('a','b','c','d')a.head // 'a' 처음a.last // 'd' 마지막a.tail // List('b', 'c','d') 처음 제외 나머지 a.init // List('a','b','c') 마지막 제외 나머지 리스트 뒤집기 val a = List ('a',b','c','d')a...
스칼라에서 implict 는 편하기도 하지만 코드가독성을 엄청 떨어뜨릴 수도 있기 때문에 논란이 되곤합니다. 왜 그런지 한번 살펴 볼까요? 0. 암시규칙 x + y 라는 표현식에서 타입 오류가 있다면 컴파일러는 convert(x) + y 를 시도 해봅니다. 여기서 자동으로 가져다 사용되는 convert 는 무엇일까요? convert 는 암시적으로 적용되는 변환을 목적으로 자동적으로 사용됩니다. convert 가 아래의 규칙들을 갖는다면 말이지요. 1. 표시규칙 : implicit 로 표시한 정의만 검토 대상이 된다. 즉 implicit def intToString(x : Int) = x.toString 과 같이 implict 를 붙여주면 컴파일러가 암시적 변환에 사용할 후보에 넣는다. 변수,함수,객체정의..
1. EC2 에 Amazon Linux AMI 로 생성 별개 없음2. Java 8 로 업그레이드 (이거 말고 아무것도 필요 없음) sudo yum remove java-1.7.0-openjdk sudo yum install java-1.8.0 3. 자신의 PC 에서 새로운 Play-Scala 만들기 Activator 를 here서 다운받고 환경 설정한 후 에 적당한 위치의 콘솔에서 activator new helloworld 엔터~! 1) minimal-akka-java-seed 2) minimal-akka-scala-seed 3) minimal-java 4) minimal-scala 5) play-java 6) play-scala 6번 선택하자. 그럼 기본적인 프로젝트가 만들어진다. 로컬에서 테스트하기..
내 환경 - 클라이언트 : windows 8.1- EC2 서버 : Ubuntu 14 http://theweak.tistory.com/52 http://behonestar.tistory.com/63 참고해서 했는데 안됬다. ㅜㅜ 왜 안될까 -.-a
trait * Scala 는 interface 가 없으며 대신 trait 을 사용한다. * Scala 의 trait 는 자바의 interface 와 달리 구현 가능하다. (자바8 부터는 자바인터페이스도 디폴트메소드등 구현)* 하나의 부모클래스를 갖는 클래스의 상속과 달리 트레이트는 몇개라도 조합해 사용 가능하다. * Scala 의 trait 는 자바의 인터페이스와 추상클래스의 장점을 섞었다. * 트레이트를 믹스인 할때는 extends 키워드를 이용한다. * extends 를 사용하면 trait 의 슈퍼클래스를 암시적으로 상속하고 , 본래 trait 를 믹스인한다. * trait 는 어떤 슈퍼클래스를 명시적으로 상속한 클래스에 혼합할 수 있다. 그때 슈퍼클래스는 extends 를 사용하고, trait 는 ..
case class case 클래스 예제 abstract class Exprcase class Var(Name: String) extends Exprcase class Number(num: Double) extends Expr case class BinOp(operator: String, left:Expr , right:Expr) extends Expr * 스칼라에서 클래스 본문이 비어 있으면 중괄호를 생략할 수 있다. case 클래스 특징 * 컴파일러는 클래스 이름과 같은 이름의 팩토리 메소드를 추가한다.new Number(3.0) 대신해서 Number(3.0) 가능하다.* 케이스 클래스의 파라미터의 목록을 val 접두사를 붙인다. val n = Number(3.0) n.num // 3.0 * toSt..