전체 글 84

1. React 살펴보기

1. React 살펴보기 기존 템플릿 엔진의 재사용 불편함을 개선하기 위해 Facebook에서 개발한 라이브러리 Templete Language React 재사용 힘듬 재사용이 쉬움 도메인 특정 언어 사용 사용 X 1.1 React란 무엇인가? React : UI Component Library 여러 컴포넌트로 UI를 구성하는 방식 Component-Based Architecture (CBA) 1.2 React가 해결할 수 있는 문제 복잡한 UI로 구성된 프론트엔드 애플리케이션을 개발하고 관리하는 데 어려웠음. '우리는 한 가지 문제를 해결하기 위해 React를 만들었습니다. 우리가 해결하고자 한 문제는 시간에 따라 변화하는 데이터를 다루는 거대한 애플리케이션의 개발입니다.' in Reac..

React 2018.12.02

Flutter 시작하기 for Window

윈도우 설치도 크게 어려울게 없더라.. 1. 초기 필요 환경 설정하기(Windows PowerShell 5.0 or git) 필요.파워쉘보다 깃이 설치가 더 편하니 깃을 설치하도록 한다. 링크 2. Flutter SDK 설치Flutter 공식 홈페이지에 올라와 있는 SDK를 설치한다. 링크 3. 압축 해제설치한 경로로 이동하여 합축을 해제한다. (이 때 주의할 점은 압축 해제한 파일의 경로에는 한글이 있으면 안된다.) 4. 환경 변수 설정윈도우즈키 + R로 실행창을 열고sysdm.cpl 입력 후 확인고급 탭으로 이동하여 하단에 환경변수 클릭사용자 변수에 Path를 더블클릭 하여 설치한 Flutte의 경로를 등록한다.(설치 경로\flutter\bin) 5. Flutter 실행설치된 Flutter 경로로 가..

안드로이드 2018.11.10

Flutter 시작하기 for Mac

구글에서 열심히 밀고 있는 (개인적인 생각..) Flutter를 다뤄보기로 했다.Android와 iOS를 하나의 프레임워크로 만들 수 있다는 점에서 기존 네이티브 앱 보다 좋은 이점을 가지고는 있으나..역시 새로운 언어를 배우는 것은... 흥미롭다 (응?) Flutter은 공식 홈페이지를 제외하고는 아직 자료가 그렇게 풍부하지 않은 것 같다. (이것 또한 개인 생각..)우선은 설치부터 알아보기로.. 이 글의 설치 기준은.. Mac OS윈도우는 열심히 공식 홈페이지를... 1. Flutter SDK 설치하기Flutter 공식 홈페이지에서 제공하는 SDK를 설치한다. (https://flutter.io/setup-macos/)2. 압축된 파일을 받아왔기 때문에 압축을 해제한다.(설치 한 폴더에서 해도 좋고,..

안드로이드 2018.10.20

비트코인 정리

이 페이지는 '비트코인, 블록체인과 금융의 혁신' 이라는 책을 보며 공부한 내용을 정리한 페이지입니다. 비트코인중앙 장치 없이 P2P(Peer to Peer) 기반 분산 데이터베이스를 사용하며 256bit 해시 함수 알고리즘을 사용하는 디지털 화폐돈이 아니라 분산화된 신뢰 네트워크 * 분산화된 시스템의 경우에도 회복력이 있고 중앙 권력이나 계급, 복잡한 역할 분담 없이도 복잡성이 새롭게 만들어지며 믿기 힘들 정도의 정교함이 생길 수 있다는 사실 가위개미(leafcutter ant) 무리의 행동양식 * 채굴자들은 평균 10분마다 누군가가 지난 10분동안 발생시킨 거래들에 대해 입증하고 채굴에 성공하는 경우 새로 생성된 비트코인으로 보상 받음. * 비트코인 프로토콜은 비트코인 공급량을 4년마다 절반으로 낮추..

Blockchain 2018.10.04

자바8 - 8. 리팩토링, 테스팅, 디버깅

리팩토링, 테스팅, 디버깅 1. 가독성과 유연성을 개선하는 리팩토링 간결성, 유연성 1.1 코드 가독성 개선 가독성이 좋다 : 어떤 코드를 다른 사람도 쉽게 이해할 수 있다. 자바8에서 제공하는 코드 가독성에 도움을 주는 기능 코드의 장황함을 줄여서 쉽게 이해할 수 있는 코드를 구현할 수 있다. 메서드 레퍼런스와 스트림 API를 이용해서 코드의 의도를 쉽게 표현할 수 있다. 1.2 익명 클래스를 람다 표현식으로 리팩토링하기 ex) 익명 클래스 사용하는 이전 코드 Runnable r1 = new Runnable() { public void run() { System.out.println("Hello"); } }; ex) 람다 사용 Runnable r2 = () -> System.out.println("He..

JAVA 2018.10.02

자바8 - 7. Stream - 4

병렬 데이터 처리와 성능 포크/조인 프레임워크 스트림을 이용하면 순차 스트림을 병렬 스트림으로 자연스럽게 바꿀 수 있음. 1. 병렬 스트림 컬렉션에 parallelStream을 호출하면 병렬 스트림이 생성 ex) 모든 숫자 합계 메서드 public static long sequentialSum(long n) { return Stream.iterate(1L, i -> i + 1) .limit(n) .reduce(0L, Long::sum); } ex) 전통 자바 예시 public static long iterativeSum(long n) { long result = 0; for( long i = 1L; i i +1) .limit(n) .parallel() .reduce(0L, Long::sum); } 병렬 ..

JAVA 2018.10.02

자바8 - 6. Stream - 3

스트림으로 데이터 수집 ex) 통화별로 트랜잭션을 그룹화한 코드(명령형 버전) Map transactionByCurrencies = new HashMap(); for (Transaction transaction : transactions) { Currency currency = transaction.getCurrency(); List transactionsForCurrency = transactionsByCurrencies.get(currency); if(transactionsForCurrency == null) { transactionsForCurrency = new ArrayList(); transactionByCurrencies.put(currency, transactionsForCurrency);..

JAVA 2018.10.02

자바8 - 5. Stream - 2

Stream 멀티 스레드 코드를 구현하지 않아도 데이터를 투명하게 병렬로 처리할 수 있음. ex) 저 칼로리 요리 반환 후 칼로리 기준으로 요리 정렬 (기존 코드) // 400칼로리보다 작은 요리 선택 List lowCaloricDishes = new ArrayList(); for(Dish d: menu) { if(d.getCalories() < 400) { lowCaloricDishes.add(d); } } // 익명 클래스로 요리 정렬 (칼로리 순) Collections.sort(lowCaloricDishes, new Comparator() { public int compare(Dish d1, Dish d2) { return Integer.compare(d1.getCalories(), d2.getCa..

JAVA 2018.10.02

자바8 - 4. Stream - 1

Stream 멀티 스레드 코드를 구현하지 않아도 데이터를 투명하게 병렬로 처리할 수 있음. ex) 저 칼로리 요리 반환 후 칼로리 기준으로 요리 정렬 (기존 코드) // 400칼로리보다 작은 요리 선택 List lowCaloricDishes = new ArrayList(); for(Dish d: menu) { if(d.getCalories() < 400) { lowCaloricDishes.add(d); } } // 익명 클래스로 요리 정렬 (칼로리 순) Collections.sort(lowCaloricDishes, new Comparator() { public int compare(Dish d1, Dish d2) { return Integer.compare(d1.getCalories(), d2.getCa..

JAVA 2018.10.02