일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
29 | 30 |
- 파이썬 머신러닝
- 스칼라
- 하이브리드앱
- play2 강좌
- Adapter 패턴
- 이더리움
- akka 강좌
- 파이썬 강좌
- Actor
- 파이썬 동시성
- 파이썬 데이터분석
- 스칼라 동시성
- 블록체인
- Golang
- Play2
- 엔터프라이즈 블록체인
- Play2 로 웹 개발
- play 강좌
- 플레이프레임워크
- Hyperledger fabric gossip protocol
- 안드로이드 웹뷰
- 그라파나
- 하이퍼레저 패브릭
- CORDA
- 스칼라 강좌
- 파이썬
- 스위프트
- hyperledger fabric
- 주키퍼
- Akka
- Today
- Total
목록소프트웨어 사색 (80)
HAMA 블로그
IBM 클라우드(하이퍼레저)에서 와이프 카드로 날라온 50만원 상당의 결재 금액에 멘붕중이네요. 예전에 계정관련 카드문제가 있어서 굉장히 큰 곤란을 겪었는데... 내카드,와이프카드,회사1카드모두 안되서 결국회사2카드를 통해서 서류를 미국으로 직접 보내서 겨우 서비스 이용중이고 요금도 납부중인데.. 난데없이 아내 카드로 잠시 Start plan 을 시동만 걸어놨다가 락걸려서 (이 부분에 대한 기억이 가물가물..) 잊어버린 서비스가 살았는지 청구를 해 왔습니다. 계정/결제 관련 문제는 한국에서 절대 해결 불가능하다고 하여 미국과 직접 소통하라고 메일하나 던져준 한국IBM 사용자지원센터. 여기까진 ㅇㅋ 50십만원 상당의 금액은 제 실수 일지도 모르기 때문에 납부하려고 마음먹고 (AWS는 이런것도 잘 해결해 주..
해석)C++: 완성은 되지만, 시대에 뒤떨어진 포인터사용,쓰레드사용에 의한 버그로 맛이 간 제작물이 탄생. 그것을 보완하기 위해 덧붙혀진 복잡한 래퍼기술의 복잡성에 의한 구토. (feat, Mordern C++ design) JAVA: 시작하기 전에 먼저 프레임워크부터 만들어야함. 혹은 다양한 프레임워크(도구)들에 대해서 잘 알아야함. 시작 못함. JavaScript: 다양하고 많은 오픈소스 라이브러리/프레임워크들이 있지만 멀 선택해야 할지 모르겠다. 그리고 안정성은 개나줘버려. NoSQL: 쩐다고 말들은 하지만, 실체는 없음. 혹은 자신이 하려는 일에는 맞지 않음. Cobol: 너무 오래되서 유지보수 막장. 잘못 건드리다간 엉뚱하게 작동할 확률이 큼. 건드리지 말자. Lisp: 코드에 괄호가 너무 많아..
인터넷은 아직 진화 단계의 초기에 있다좀 충격적인 문장이죠? 아래의 링크 글에 나오는데요. 매우 휼륭한 글로써 (맞는 글로써가 아니라, 생각을 하게 만드는 글) 블록체인에 관심이 없더라도 개발자들이라면 반드시 읽어보시길 바랍니다. 아래 문장도 좋았습니다. 게임의 규칙이 변하는 것을 걱정하지 않고 그 프로토콜 위에서 비즈니스를 만들 수 있었기 때문이다.원문) Why Decentralization Matters 번역본) 왜 탈중앙화가 중요한가? 음..현재 웹 아키텍쳐(단일지점서비스)에서 완전히 변화된 발상으로 혁신을 꾀하고 있는 분산웹에 관심 있는 분들은 IPFS 에 대해서 읽어보셨으면 좋겠습니다. 블록체인/코인과 직접적인 관계는 없습니다만 분산이라는 사상과 윤활류로써의 역할은 간접적으로 관계가 있습니다. ..
블럭,논블럭,동기,비동기 이야기 블록,논블럭,동기,비동기를 구분하는 것에 대한 글들이 많이 있는데, 어렵게 풀어내는 거 같아서 나름 간단하고 분명하게 구분해 보는 글을 작성 해 본다. 근데 함정이 있는데 분명하게 정답을 말해 준다는게 아니다. 분명하게 정답이 없으며, 불분명하다고 말해주려는 것이다. ㅎㅎ 면접시나 시험지에 적을 정확한 정답을 몰라서 혹시 불안해 하시는 분이 있다면 이 글을 읽고 안심하셔도 될 것이다.(뭐 시험관이 잘못알고 있는것 까지 책임지진 못하겠다. 과감히 논쟁하시라~~ㅎ) 구체적으로 블럭/논블럭에 대한 구분은 비교적 명확하다. 동기/비동기로 넘어가면 말하는 상황에 따라서 조금 달라지기 시작한다. 이제 조합하기 시작하면 문제가 발생하기 시작한다. 이 글에서는 이것의 구분에 대한 설명을..
(A,B) -> B 보다 A -> (B->B) 가 더 좋다? 사실 명령형 파라다임에 적폐인 나로써는, 함수형 파라다임의 체득이란 살아 생전 가능할까 싶다. ㅎㅎ 특히 함수형 파라다임을 체득(머리로 이해가 아닌) 하기 위해서 제일 먼저 만나는 관문을 "커링"이라고 보는데...왜 저 짓을 하냐? 저게 진짜 더 좋긴해? 를 넘어서서 저렇게 하는게 너무 당연하게 느껴지는 퀀텀점프의 경험을 하고 싶다.* 이 글에서는 부분적용함수와의 차이는 무시한다. 부분적용함수도 커링이라고 친다.함수형 언어와 함수형 프로그래밍이 다르듯이 파이썬이나 자바스크립트로도 충분히 커링이 가능하다.// 파이썬 def curry(func, var): y = var def f(x): return func(x, y) return f커링을 사용한..
C / C++ : 극한의 상황에서도 돌아가야해. 메모리관리,쓰레드관리,리소스관리를 마이크로 컨트롤하여 솔루션을 만드는게 진정한 개발자라고 할 수 있지 자바 : C++ 은 반쪽짜리 객체지향에다가 오류의 대부분이 포인터 관련인 어처구니 없는 적폐의 언어. 보통 사람의 능력으로는 항상 문제가 발생 할 소지가 많은 언어. 이제 누구나 개발하는 시대이지. 기본적인 것은 플랫폼에서 해주고, 대규모어플리케이션도 편하면서도 강력하게 만들게 해주는 생산성 높은 자바. 대세의 언어가 된데에는 이유가 있는법 파이썬: 얘들아 쉽고 빠르게 개발하는 시대가 왔어. 니들이 진짜 만들고 싶은게 뭐야? 그거에 집중하라고. 초딩들처럼 유치하게 로우레벨 가지고 투닥대지말고~ 하스켈,스칼라: C++/JAVA는 그냥 그저그런 지적능력을 가진..
소프웨어 엔니지어링에서 가장 교조주의적인 덕목은 인터페이스를 위시한 유연성,확장성이 아닐까 싶다. (추가적으로 제네릭과 폴리모피즘의 환상 떡칠은 가독성을 최악으로 치닫게 만든다.) 그게 절실히 필요한 코드는 5%나 될까 싶은데 주로 공용 라이브러리겠지.나머지 95%의 코드를 만드는 사람들이 모든 책에 적혀져있는 "확장가능하게 만들어야한다" 를 맹목적으로 받아드리고 있는거 같기도 하며,교조적인 덕목에 따라 혹시 자신은 유연하게 만들지 않았는지에 대한 죄책감이 남아 있을지도 모르겠다. 물론 그 정도 고민을 하는 사람이라면 그것만으로도 훌륭하다고 볼 수 있겠다. 까놓고 말해보자. 자신이 만든 클래스가 100개 있다면, 그 중에 1년 후에 형제 클래스를 만들어야 했던 경우가 얼마나 되었는지. 내 경우는 하나 밖..
쓰레스세이프하다? 란 과연 무엇인가? 모든것이 불변이면? 동기화객체로 공유변수가 감싸져 있으면? TLS,STM,Actor,CSP 를 사용하면? 땡~~~!쓰레드로 경쟁으로 인해서 솔루션이 원하는대로 동작하지 않는다면 모두 쓰레드 세이프하지 않는 것이다. 좁은 의미로 단어를 사용하다 보면 그게 넓은 범위로 벌어진다고 착각하기 쉽다. 객체 및 내부 변수를 불변으로 만들어 두었다고 쓰레드세이프하다고 착각하지말자. 그것을 어떻게 사용하냐에 따라서 쓰레드들은 당신이 원하는대로 동작하지 않은 결과를 내놓을 것이다.
한글,한국어 공부했다고 멋진 소설이 안나오듯이, 해쉬,비대칭암호화,링크드리스트 ,p2p를 학생때 이해했다고 블록체인/비트코인등의 멋진 알고리즘,아이디어를 만틀 수 있는 것은 아니다. "천지차이"컴퓨팅파워, (특히) 저장용량, 네트워크의 엄청난 발전으로 그 동안 알고있었던 기술,아이디어를 확장,발전시킨 빅데이터,딥러닝,사물인터넷(특히 스마트폰 같은 개인화 네트워크 덕분) 등은 모두 "블럭체인" 의 탄생과 궤를 같이 하고 있다고 볼 수 있다. "규제 받지 않는 인간(민간)의 무한한 탐욕" 신뢰의 사회적 비용을 낮추는 탈중앙화 때문에 역설적이게도 민간 자본 괴물이 나타날 수도 있을 거란 우려가 드는 것은 왜 일까.. 즉 사회적 비용은 낮추지만, 균형은 더욱 무너트리는..앞으로 누군가 (or 단체) 는 이 탐욕..
소프트웨어 개발은 집을 짓는것 보다는 정원을 돌보는 일이라고 합니다. ㅡ실용주의 프로그래머 인용 살아 숨쉬는 녀석들을 꾸준히 관리 해 줘야 한 다는 의미겠지요. 더 이쁘고 건강 하게... 가꿀수록 좋아지는 소프트웨어 개발은 정원처럼 한번 만들고 나서 내버려두는것이 아니라, 계속 관심을 쏟는게 필요하며, 그런 의미에서 테스팅 코드, 특히 리팩토링등은 당연해 집니다.그런것을 무시 하는 관리자들이 많은데요.개발자들이 코드를 보살펴 줄 시간이 필요 하다고 하면, 말 좀 들으십시요. 다른 정원 만들라고 하지 마시고....모든 정원에 잡초와 폐자재와 쓰레기가 쌓이고 오염되는것을 원치 않는다면 말이지요.그런의미에서, 개발자들이 어떻게 보살펴 줬는지 질문하고, 확인하며, 어드바이스를 할 줄 모르는 사람이라면 개발자들을..