분류 전체보기
-
[weather_app_1] react-native 와 expo프로젝트/[react]weather_app 2018. 4. 14. 19:01
날씨를 불러와 표시해주는 어플리케이션 제작 제목이 멋지지만 f word는 빼고 작업해야겠다..ㅎㅎㅎ react native, expo, node.js, npm 이 사용된다. react native네이티브 웹 어플리케이션을 빌드하게 도와주는 ui라이브러리jsx/javascript로 작성하고 컴파일링 할때 각각 ios(objective-c)/android(java) 네이티브 코드로 실행됨페이스북의 기술에 의하여 js-objective-c 의 브릿지 혹은 js-java가 연결됨 장점1. 자바스크립트를 활용할 수 있다는것2. 커뮤니티가 크다는것3. 많은 회사가 리액트 네이티브를 쓴다는것 (ex. 인스타그램,에어비앤비,페이스북,디스코드) expohttps://expo.io/tools리액트 네이티브로 앱을 만드는 ..
-
해시 테이블알고리즘공부 2018. 4. 11. 14:56
해시 함수 문자열을 받아서 숫자를 반환하는 함수문자열에 대해 숫자를 할당(mapping) 한다조건 1 일관성이 있어야한다. 예를 들어, "apple"을 넣었을 때 "4"를 반환한다면 "apple"을 넣을 때마다 반환되는 값은 항상 "4"이어야 함=같은 이름에 대해서는 항상 같은 인덱스를 할당한다조건 2 다른 단어가 들어가면 다른 숫자가 나와야 함. 예를들어 어떤 단어를 넣어도 "1"만 나온다면 좋은 해시 함수가 아님=다른 문자열에 대해서는 다른 인덱스를 할당한다. 해시 함수는 배열이 얼마나 큰지 알고 있어야 하며, 유효한 인덱스만 반환해야 한다. 해시 테이블(=해시 맵 =맵 =딕셔너리 =연관 배열) 해시 테이블 = 해시 함수 + 배열 book = dict() book["apple"] = 0.6book["..
-
퀵정렬알고리즘공부 2018. 4. 5. 15:01
범용기술 : 다양한 기술을 통해 해결 방법을 알아내는것 분할정복 ( 범용기술 중 하나 )문제를 더 작은 조각으로 나누어 푼다. '기본단계'까지 퀵정렬 ( 분할정복전략사용 )def quicksort(array): if len(array) < 2: #기본단계 return array else: #재귀단계 pivot = array[0] #기준 원소 less = [i for i in array[1:] if ipivot] return quicksort(less) + [pivot] + quicksort(greater) 기준 원소를 무작위로 선택한다. 평균 실행시간은 O(n log n), 최악의 경우 O(n²) 리스트에서 가장 큰 수를 찾기def max (list): if len(list) == 2: return li..
-
배열, 연결리스트, 선택정렬알고리즘공부 2018. 4. 4. 20:12
배열 리스트 읽기 O(1) O(n) 삽입 O(n) O(1) 삭제 O(n) O(1) 접근 방식임의 접근 random access순차 접근 sequential access O(n) 실행시간이 걸리는 연산을 n번 해야 함 => O(n²) 배열의 모든 원소는 같은 자료형이어야 함def findSmallest(arr): smallest = arr[0] smallest_index = 0 for i in range(1, len(arr)): if arr[i] < smallest: smallest = arr[i] smallest_index = i return smallest_index def selectionSort(arr): newArr = [] for i in range(len(arr)): smallest = fin..
-
binary search, 빅오표기법알고리즘공부 2018. 4. 4. 19:52
단순탐색 O(n) (선형시간) 이진탐색 O(logn) (로그시간) list는 정렬된 배열 # -*- coding: cp949 -*-def binary_search(list, item): low = 0 high = len(list)-1 while low item: high = mid - 1 else: low = mid + 1 return None my_list = [1, 3, 5, 7, 9] print binary_search(my_list, 3) #1print binary_search(my_list, 7) #3print binary_search(my_list, -1) #None 알고리즘의 속도는 시간이 아니라 연산 횟수가 어떻게 증가하는지로 측정 O(log n) < O(n) < O(n*log n) < O..
-
[movie_app_8] gh-pages로 배포하기프로젝트/[react]movie_app 2018. 4. 4. 02:22
github에서 제공하는 gh-pages로 무료 호스팅 터미널에서 yarn build 하고 시키는대로 하면 된당! package.json에 "homepage" : "http://myname.github.io/myapp", 추가하고 다시 yarn build "scripts": { "start": "react-scripts start", "build": "react-scripts build", "test": "react-scripts test --env=jsdom", "eject": "react-scripts eject", "predeploy": "npm run build", "deploy": "gh-pages -d build" } 스크립트 추가하고 yarn run deploy 하면 링크가 나온다! 나의 링..
-
[movie_app_7] css프로젝트/[react]movie_app 2018. 4. 4. 02:15
props를 몇개 더 추가한다. [App.js] _renderMovies = () => { const movies = this.state.movies.map(movie => { return }) return movies; } [Movie.js] function Movie({poster,title,genres,synopsis}){ return( {title} {genres.map((genre, index) => )} {synopsis} )} function MoviePoster({poster, alt}){ return ( )} function MovieGenre({genre}){ return( {genre} )} Movie.propTypes = { title: PropTypes.string.isRequir..