본문 바로가기

Happyer16

(314)
초보 개발자가 바라보는 블록체인 나는 아직 아무것도 못하는 무능력한 3년차 개발자이다. 3년차에 나는 블록체인과 관련된 스타트업으로 이직을 하게 되었다. 이 회사에서 일하면서 많은 VC(투자회사)들이 블록체인 회사에 관심을 가지고 있다는 것을 직접 느끼게 되었다. 도대체 "블록체인의 어떠한 매력이 이들을 투자하게 만드는 것일까? 나는 앞으로 어떤 공부를 해야되는 것일가?" 고민을 하게 되었다. ( 이 글을 읽는 분들은 비트코인, 이더리움, 토큰 개념은 저보다 잘 알거라 생각한다. 이에 대해 이야기는 하지 않겠습니다. ) 블록체인이 현실의 문제를 모두 해결해준다? 코인 중에 농수산물 유통과정을 투명하게 해주겠다는 것이 있다. 하지만 현실에서 농수산물에 붙어있는 바코드가 기록된 스티커를 사람이 바꾼다면? 블록체인이 오프라인에서 발생하는 문..
[1일차] 이더리움 테스트넷 연결하기 ( web3j ) web3j 라이브러리 다운받기 https://web3j.readthedocs.io/en/latest/getting_started.html 테스트넷 사용하기 Web3j web3 = Web3j.build(new HttpService("https://morden.infura.io/your-token")); token 받기 : https://infura.io/Web3j 설정 @Configuration public class EthClientConfiguration { @Value("${ethereum.testnet-url}") private String testnetUrl; @Value("${ethereum.testnet-token}") private String testnetToken; @Bean public..
마이크로서비스 개념 적용, 역량 모델 이 글에서 다루는 내용마이크로서비스 개발할 때 고려해야 할 설계 방안들의 장단점엔터프라이즈 수준의 개발 시 마주치게 되는 난관 마이크로서비스의 단위는 어떻게 되는가?배포 단위의 크기 : 배포 규모가 너무 커지면 배포 자동화와 서비스 구동 시간에 좋지 않은 영향을 미침분리하기에 적합한 기능 찾기 : 일반적인 예약 시스템에서는 50%이상이 검색이다. 이런 검색을 분리시키면 유연성, 자원 절약 등의 효과polyglot architecture : 마이크로서비스의 주요 특징 중 하나로, 여러 언어를 사용할 수 있는 것. 즉, 예약 서비스는 트랜젝션 통합이 필요할 것이기 때문에 MySQL을 쓰고, 검색 서비스는 트랜잭션 통합이 필요없기 때문에 NoSQL을 사용할 수 있다.선택적 확장 : 모든 서비스가 동일한 수준의..
Harbor가 무엇인가? Project Harbor란 Docker Image를 저장하고 분배하는 기업용 Registry Server이다. Docker Image : 애플리케이션에 필요한 라이브러리, 프로그램, 네트워크 설정, 미들웨어와 OS 등을 하나로 모아놓은 것이다. Docker에서는 코드로도 인프라 구성을 관리할 수 있는데, 이를 Dockerfile이라 한다. Registry Server : Harbor는 open source Docker에 기업들이 원하는 보안, 인증, 관리 기능을 추가하였다.기업용 private registry로써, Harbor는 더 나은 성능과 보안성을 제공한다. Private Registry : Docker의 가장 큰 특징은 이미지만 있으면, 어디서나 애플리케이션 실행환경을 마련할 수 있는 높은 이식..
How the blockchain is changing money and business The technology likely to have the greatest impact on the next few decades has arrived. And it's not social media. It's not big data. It's not robotics. It's not even AI. You'll be surprised to learn that it's the underlying technology of digital currencies like Bitcoin. It's called the blockchain. Blockchain. 몇 십년 후에 엄청난 영향을 끼칠 것 같은 기술이 나타났습니다. 소셜미디어는 아닙니다. 빅테이터는 아닙니다. 로보틱스는 아닙니다. AI도 아닙니다. 여러분은..
Functions 함수 선언 - 파라미터로 non-primitive value가 넘어오면 원본도 바뀐다. function myFunc(theObject) { theObject.make = 'Toyota'; } var mycar = {make: 'Honda', model: 'Accord', year: 1998}; var x, y; x = mycar.make; // x gets the value "Honda" myFunc(mycar); y = mycar.make; // y gets the value "Toyota" // (the make property was changed by the function)bind, apply, call 이란? Function level scope var로 선언된 변수나, 함수 선언
이직 - 기술면접 대비 깊이우선탐색 -> 백트래킹넓이우선탐색 재귀와 동적 프로그래밍 ex) 피보나치 수열 구하기 1. 노가다 재귀로 구하기 fibo(n) = fibo(n-1)+fibo(n-2)fibo(n-1) = fibo(n-2) + fibo(n-3)fibo(n-2) = fibo(n-3) + fibo(n-4) 처럼 호출하게 되면 1+2+2^2+ ... + 2^n-1번 호출을 하게 된다. 그럼 결국 O(2^n) 시간이 걸린다. 우리가 궁금한건 n개의 fibo들인데... 2. 메모이제이션 ( 하향식 접근 ) 이전에 구해둔 값을 배열에 저장해두자. 3. 상향식 접근 배열에 저장해둘 거 없이 fibo(0), fibo(1)부터 구해보자 ex) 0-1 배낭 문제 탐욕 알고리즘(Greedy Algorithm) 배열에 저장https://ww..
서버 아키텍처 대부분의 프레임워크는 클라이언트에서 어떤 작업을 요청하면 각각 받은 요청을 별도의 Thread에서 처리하도록 구성되어 있다. (Worker-Thread Model) 한 번에 많은 요청을 하여도 처리가 가능하지만, 만약 동시에 처리할 수 있는 MAX개가 모두 돌고 있다면 아무런 작업이 불가능해진다. 대부분의 요청은 '단순 조회나 단순계산'인 경우가 많다. 즉 서비스 처리 시간모다 Thread Block상태인 것이다. 그래서 새로운 아키텍쳐가 나왔는데 Node에서 사용하고 있는 Event-driven Architecture이다. 일단 요청이 들어오면 single-thread에서 요청을 처리를 하고, DB I/O등 Synchronous한 작업은 Worker-Thread Model을 이용하여 처리한다. 이 때 ..
HTTP 스크립팅 개요 HTTP(HyperText Transfer Protocol)는 웹브라우저가 서버로부터 문서를 전송받거나 폼의 내용을 보내는 방법, 그리고 해당 요청에 대해 서버가 어떻게 응답해야 되는지 명세한다. 일반적으로 HTTP는 스크립트의 제어를 받지 않는 대신 새로운 URL이 입력되거나 사용자가 링크를 클릭했을 때 발생한다. 그러나 HTTP는 자바스크립트 코드를 통해서도 작성할 수 있다 AJAX는 HTTP를 조작하는 데 특화된 웹 어플리케이션 설계 방식을 가르키는 용어다. 이것은 핵심적인 특징은 페이지를 로딩하지 않고 웹 서버와 데이터를 통신할 수 있는 것이다.
클라이언트 UI와 서버 데이터 제대로 연동하고 싶다. 상황 Server DB table에 있는 값들을 Client 화면에 실시간으로 보여주고 싶다. ( 2-way binding ) 이걸 구현하려면 어떻게 해야될까??? 만약에 Client에서 요청한 할 때 값을 받아온다면...1) DB를 조회하는 Service 만들기2) Client에서 해당 Service 요청3) Service response가 왔을 때 UI랑 data랑 바인딩 이런 순으로 구현하면 될 것이다. 하지만, 요청을 미친듯이 한다면? Connection하는데 드는 비용을 계속 감수해야 한다. 그렇다면 어떻게 해결해야 할까? HTML5 프로토콜에 추가된 WebSocket을 이용하면 된다. WebSocket은 브라우저와 서버 사이의 양방향 연결채널을 구성하는 HTML5 프로토콜이다. WebSocke..