Anaconda는 파이썬 데이터 사이언스를 위해 많이 사용되는 파이썬 배포판이다. 설치는 이곳에서 https://www.anaconda.com/download/ 환경변수를 추가하겠냐는 선택지가 있는데 Anaconda prompt내에서 사용할 계획이면 딱히 추가 할 필요가 없어보인다. 장점으로는 쉬운 패키지 관리가 있다. 파이썬은 이미 pip으로 쉽게 패키지 관리가 되고 있지만 많은 라이브러리를 사용하다보면 발생할 수 있는 에러들에 좀더 쉽게 대처할 수 있고, pip과 다르게 non-Python package들도 설치와 관리가 가능하다. 또한 가상환경을 지원해서 프로젝트 마다 개별적인 환경을 만들어 줄 수 있다. 명령어들은 Anaconda Prompt에서 실행을 하면 되는데 conda라는 명령어를 사용한다..
미니 프로젝트로 부트스트랩의 앨범 템플릿을 이용해 간단한 앨범형 게시판을 만들었다.node.js가 꽤 재미있어서 이거저거 기능을 추가하다보니 내 도메인으로 한 번 퍼블리싱을 해보고 싶었다.마침 godaddy.com에서 .com 도메인을 1년에 1300원으로 세일을 하고있다 godaddy.com에서 도메인 사기구글 데스크탑버전에서 검색창에 '도메인 싸게 구입'이라고 입력을 하면 프로모션 링크가 나온다. 해당 링크를 타고 들어가서 구입을 하면 1300원가량에 구입을 할 수 있음godaddy.com과 aws의 EC2인스턴스 연결시키기위 방법으로 회원가입후 도메인 구입을 마치고 홈 화면으로 돌아가보자 내 이름을 클릭하면 나오는 확장메뉴에서 My products를 클릭하면 내가 신청한 도메인이 리스트에 있다 거기..
$ virtualenv -p /usr/bin/python3 my_scrapy$ source my_scrapy/bin/activate$ pip install scrapy를 해주니 에러가 엄청나게 뜨면서 설치를 실패했다. scrapy를 설치하는데 시스템 패키지에 의존하지 않고 개별적인 환경에서 설치를 하려면 non-python dependencies가 필요하다고 나와있는데, 정식 가이드에 있는 방법으로는 해결이 안되어서 구글링함command 'x86_64-linux-gnu-gcc' failed with exit status 1터미널에서 떴던 위 에러 메세지를 그대로 입력하니sudo apt-get install python3 python-dev python3-dev \ build-essential libssl..
파이썬 패키지들을 하나둘 설치하다보면 지금 프로젝트에 어떤 패키지들이 사용되는지도 헷갈리고, 나중에 개발환경을 다시 설치하게 될때도 매우 귀찮아진다. 따라서 프로젝트별로 개발 환경을 만들고 지우기를 편하게 하기 위해서 virtualenv를 이용해 봤다.Pypi 가 설치되어 있다면 아래 명령어로 간단히 설치가 된다. 가끔 문제가 있기도 하지만 구글링으로 해결$ pip install virtualenv설치가 끝나면 프로젝트를 진행 할 폴더를 만들어준다.$ cd my_project_folder $ virtualenv my_projectvirtualenv 명령어가 파이썬 패키지들이 설치된 폴더를 하나 만들어준다.$ virtualenv -p /usr/bin/python2.7 my_project위와 같은 방법으로 ..
요즘 Udacity에서 fullstack web developer 강의를 듣는데 주로 강의에서는 postgresql을 사용했다.virtual box에 udacity course내에서 제공해주는 vagrant 설정을 이용하면 이미 강의 내용에 맞춰서 package들이 설치가 되어 있기 때문에 따라하는데 무리가 없지만, 연습 삼아서 내 컴퓨터에 설치된 ubuntu에서 직접 postgresql을 사용해 보려고 하니까 이거 저거 설정할 것이 많았기에 적어둔다. 터미널에서 postgresql을 설치$ sudo apt-get update$ sudo apt-get install postgresql postgresql-contrib 설치가 완료 된 후에 postgresql을 사용하기 위해서는 현재 터미널의 user이름..
문제 링크https://www.codewars.com/kata/rgb-to-hex-conversion/train/python def limit(x): if x > 255 : return 255 elif x < 0 : return 0 else : return x def rgb(r,g,b): return "{:02X}{:02X}{:02X}".format(limit(r),limit(g),limit(b)) 십진수 숫자 세 개를 16진수로 바꿔서 반환하는 문제이다. 0~255 범위를 초과하는 입력이 들어오면 제한된 값으로 바꿔주는 함수가 필요하고, format을 사용해서 숫자를 16진수로 바꿔줬는데 https://pyformat.info/ 이곳을 참고했다.같은 포멧이 세 번 반복되기 때문에 ("{:02X}" * ..
문제 링크https://www.codewars.com/kata/reversed-words/train/python def reverseWords(str): a = str.split() a.reverse() return " ".join(a) 한줄로 줄이면 def reverseWords(str): return " ".join(reversed(str.split())) 리스트.reverse()는 해당 리스트를 역순으로 재배열해주고 reversed는 역순으로 된 리스트를 반환. 저난번 문제에 나왔던 join으로 쉽게 합쳤다. 근데 풀수록 너무 쉬워서 알고리즘 공부라기에는 애매한 것 같다.
문제 링크https://www.codewars.com/kata/pete-the-baker/train/python 내 답안def cakes(recipe, available): return min([available[x] // recipe[x] if x in available else 0 for x in recipe]) available에 key값이 없는 경우를 생각 안 해줘서 처음에 오류가 났었다. 그래서 if를 이용해서 키값이 있는지 찾고 없으면 0을 반환하도록 했는데 def cakes(recipe, available): return min(available.get(k, 0)//recipe[k] for k in recipe)위에 답처럼 딕셔너리의 get 함수를 써서 키값이 없으면 디폴트로 0을 반환하도록..
앞에서 n^2 과 nlgn의 수행시간을 갖는 최대 부분합 탐색 알고리즘을 구현해 봤는데 이번에는 n 시간인 알고리즘을 구현해봤다. 이번에는 재귀로 분할을 하는 것도 아니고 모든 분할합들을 비교하지도 않는다. 작은 문제에서 시작해서 문제를 확장시켜 나간다. 책에 나온 힌트를 토대로 내가 구현해 본 코드는 아래와 같다.def maximum_sub(a): for i,value in enumerate(a): if(i==0): left_idx = 0 right_idx = 0 maximum_sum = value tail_maximum_sum = value tail_left_idx = 0 else: if tail_maximum_sum>0: tail_maximum_sum += value else: tail_maximu..
문제 링크https://www.codewars.com/kata/578aa45ee9fd15ff4600090d/train/python def sort_array(source_array): odd_num_idx = [] odd_num = [] for i,value in enumerate(source_array): if value%2==1 : odd_num_idx.append(i) odd_num.append(value) list.sort(odd_num) for i,value in enumerate(odd_num_idx): source_array[value] = odd_num[i] return source_array def sort_array2(arr): odds = sorted((x for x in arr if..
- Total
- Today
- Yesterday
- 개봉기
- 하스스톤
- 멜킨스포츠
- Introduction to algorithms
- 마스터킹
- introduction to algorithms third edtion
- 치닝디핑
- CHUWI HI8
- conda
- codewars
- 연습문제
- anaconda
- PYTHON
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |