본문 바로가기

전체 글

(171)
파이썬 알고리즘 기초 - 이진 탐색(binary search) 이번 포스팅도 프로그래머스의 '어서와! 자료구조와 알고리즘은 처음이지?' 강의의 3강인 정렬과 탐색을 정리하는 내용입니다. 오늘은 이진 탐색에 대해 다뤄볼건데요. 그전에 메서드 몇 가지 알아보겠습니다. 1. 파이썬 정렬 메서드 2가지 1-1) sorted - 파이썬 내장 함수 , 정렬된 새로운 리스트를 얻어냄 sorted() 메서드를 이용하면 위 코드와 같이 정렬한 컬렉션 타입의 자료형을 리턴해줍니다. 1-2) sort() - 리스트의 메서드. 해당 리스트를 정렬한다. 리스트의 메서드인 .sort() 를 써도 됩니다. 이거의 경우 별도로 return 하지 않고 자체적으로 기존 리스트를 정렬한 뒤 그대로 반영합니다. +) 내장 함수와 메서드의 차이가 조금씩 감이 오시나요? reverse = True 위 인..
파이썬 알고리즘 기초 - 선형 배열 (feat. 시간 복잡도) 이번 시간부터 파이썬으로 프로그래밍 알고리즘을 다뤄보려고 합니다. 제가 워낙 약한 부분이라서 공부하면서 정리하고자 하니 첨언이나 조언 있으시면 언제든지 댓글 주시면 감사하겠습니다 :) 지금부터 쓰는 이 글을 프로그래머스에서 하는 '어서와! 자료구조와 알고리즘은 처음이지?' 강의를 듣고 문제를 풀면서 이에 대한 내용들을 정리를 위한 글입니다. 오늘은 선형 배열에 다뤄보려고 합니다. 1) Linked Array 선형 배열은 데이터들이 선 (line) 처럼 일렬로 늘어선 형태를 말합니다. 보통 프로그래밍에서 배열 (array) 이라고 하면 같은 종류의 데이터가 줄지어 늘어서 있는 것을 뜻하는데요, Python 에서는 서로 다른 종류의 데이터 또한 줄세울 수 있는 리스트 (list) 라는 데이터형이 있습니다. ..
install pytorch in ubuntu 18.04 Pytorch 를 우분투에 설치하는데요. 며칠 전 커뮤니티에서 pip 패키지가 업그레이드 된 게 문제가 있다고 해서 conda 로 설치했습니다. 시작하겟습니다! https://pytorch.org/ PyTorch An open source deep learning platform that provides a seamless path from research prototyping to production deployment. pytorch.org 공식문서에 들어가주세요! 본인의 pc 운영체제와 파이썬 버전 맞춰서 선택하시면 거기에 맞는 커맨드가 나옵니다! 주피터 상에서 돌아가는 파이썬 버젼 확인은 위 캡쳐본을 참고해서 보시면 됩니다! 공식문서에서 하라는대로 커맨드를 입력하시구요! $ conda list 명..
install tensorflow 1.15 in colab (20200402 리뉴얼) ( 2020.04.02 기준) 아직 GPU가 없는 저 같은분들은 AWS spot 이나 Colab 을 사용해서 예제들을 돌릴텐데요. 이제 코랩에서 tensorflow 의 디폴트는 2.x 버전이 되었습니다. 1) tensorflow 버전 확인 in colab import tensorflow as tf print(tf.__version__) 이제 코랩에서 tensorflow 는 2점대 이므로 만약 1점대를 원하신다면 제거하고 설치해주셔야 합니다. 2) Uninstall tensorflow==2.x in colab !pip uninstall tensorflow !pip install tensorflow==1.15 #런타임 재실행! import tensorflow as tf print(tf.__version__)..
Keras 입문 01- 모델 만들기 + IMDB 예제 딥러닝 라이브러리인 keras 입문을 시작하겠습니다. 이 글은 딥러닝에 대한 기초적인 이론 이해와 컨셉에 대한 개념을 잡았다는 전제 하에 쓰도록 하겠습니다. 코드 위주로 진행하려고 합니다. 코드 위주로 하면서 설명을 곁들이도록 하겠습니다. 하나의 인강과 책을 참고했습니다. (포스팅 제일 하단에 링크 걸었습니다 :) 1) 모델 만들기 우선 기초적인 그림을 보겠습니다. 딥러닝을 공부하시는 분이라면 너무나 익숙한 뉴럴네트워크의 그림입니다. 이제 간단한 레이어들을 구성해보겠습니다. 케라스는 사실 layer를 쌓는데 굉장히 직관적으로 코딩을 할 수 있게 되어 있습니다. 그래서 어느정도 익숙해졌다면 pytorch 나 tensorflow 로 모델을 구성하는 것이 맞습니다. keras 의 경우, 모델을 만드는데 자유도..
우분투 18.04 MYSQL workbench 에서 csv import 하기 이번 시간에는 mysql-workbench를 통해서 csv 파일을 임포트 하는 법을 소개 해보겠습니다. 1) 첫 번째 이용할 데이터셋은 https://github.com/billyrohh/dataset billyrohh/dataset Contribute to billyrohh/dataset development by creating an account on GitHub. github.com 링크에 나오는 데이터셋입니다. 위 링크에서 dataset3 을 다운받아주세요. 이제 스키마를 먼저 새로 만들겠습니다. SCHEMAS 부분에서 마우스 우측 클릭하고 create schema 를 눌러주시면 위 사진과 같은 창이 뜹니다. mydata 라는 이름의 스키마를 만듭니다. mydata 스키마에서 테이블에 마우스를 ..
우분투 18.04 에 MySQL , MySQL-workbench설치하기 Ubuntu 18.04 에 MySQL을 설치해보겠습니다. Chapter01. mysql 설치 우선, 버젼 확인을 하고 목록을 소프트웨어 목록을 최신으로 업데이트 하겠습니다. $ sudo apt-get install mysql-server 설치 명령어를 통해서 mysql-server를 설치합니다. 그리고 포트를 열어줘야 되는데요. 만약 iptable이 실행되고 있다면 외부에서 접속할 수 있도록 mysql 포트(3306)를 열어줘야 합니다. +) iptable 이란? """ iptables는 시스템 관리자가 리눅스 커널 방화벽(다른 넷필터 모듈로 구현됨)이 제공하는 테이블들과 그것을 저장하는 체인, 규칙들을 구성할 수 있게 해주는 사용자 공간 응용 프로그램이다. 각기 다른 커널 모듈과 프로그램들은 현재 다른..
파이썬 객체 내부 검사 - dir, type, id, __dict__ ,네임 스페이스 파이썬은 클래스와 인스턴스를 알아보기 위해 내장에서 제공하는 함수와 클래스가 있습니다. 1) 객체 내부 검사 dir 함수 - 클래스와 인스턴스 내부에서 사용할 수 있는 정보를 확인한다. id 함수- 클래스와 인스턴스의 레퍼런스를 정수로 보여준다. type 클래스- 클래스와 인스턴스가 누구에 의해 만들어졌는지에 대한 정보를 확인 a 라는 변수에 type 클래스를 입력하면 str 이라고 나옵니다. 보통 이걸 보면 'a 라는 변수는 class 가 str 이구나!' 라고만 생각하실 수 있는데요. 정확히 말하면 a 라는 변수는 RoBeRt 라는 리터럴이 할당되었고, str 이라는 클래스에 의해 만들어졌다. 그리고 a 라는 변수가 사용할 수 있는 메서드가 나옵니다. 저는 upper 라고 하는 메서드를 썼는데 결과는..
2. SQLD 세팅 2단계 JDK 설치, 환경변수 설정 SQLD 실습 환경 구축 2단계입니다. 1) JDK 설치하기 https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html Java SE Development Kit 8 - Downloads Java SE Development Kit 8 Downloads Thank you for downloading this release of the Java™ Platform, Standard Edition Development Kit (JDK™). The JDK is a development environment for building applications, applets, and components using the Java..
리눅스(우분투)입문자를 위한 기초 명령어3. I/O redirection , cat 이번 시간에 배우는 개념은 조금 어렵습니다. I/O redirection 입니다. 쉽게 후려쳐서 말하면 '(standard output 관점에서는) 프로그램의 결과를 다른 방향으로 출력하는것' 입니다. 좀 더 정확히 말하면 리다이렉션(redirection)은 컴퓨팅에서 표준 스트림을 사용자 지정 위치로 우회할 수 있는 다양한 유닉스 셸을 포함한 대부분의 명령어 인터프리터에 일반적인 명령입니다. 방향 지정, 방향 변경으로도 부릅니다.(by 위키) 위 그림의 오른쪽 도표를 봐주시면 리눅스 터미널에서는 Unix Process 좌측에 커맨드라인 속성이 있고 이를 통해서 exit status 가 되는 것이 일반적입니다. 1. I/O redirection - standard output 1-1) 꺽쇠(>) 앞이 1..
1. SQLD 세팅 1단계 oracle database 11g 설치 안녕하세요. 제가 작년(2019년)에 SQLD를 취득하였는데, 당시 SQL 실습을 위한 환경설치 때문에 조금 헤멘 기억이 있었습니다. SQLD 준비를 하시는 분들을 위해 환경 세팅 하는법을 포스팅 해보려고 합니다. window 운영체제에서 설치를 기준으로 합니다. 시작하겠습니다! 1) 다운로드 아래 링크로 접속하세요! https://www.oracle.com/database/technologies/112010-win64soft.htmlㅇ Oracle Database 11g Release 2 for Microsoft Windows (x64) Oracle Database 11g Release 2 Grid Infrastructure (11.2.0.1.0) for Microsoft Windows (x64) Co..
리눅스(우분투) 입문자를 위한 기초 명령어2 - sudo, apt, wget 지난 시간에 이은 리눅스 기초명령어 포스팅 계속 이어 나가겠습니다. 1) sudo : substitute user do sudo sudo 명령어는 유닉스 및 유닉스 계열 운영 체제에서 다른 사용자의 보안권한과 관련된 프로그램을 구동할 수 있게 해주는 프로그램입니다. 이것은 substitute user do, 다른 사용자의 권한으로 명령을 이행하라라는 뜻으로 줄임말입니다. 기본적으로 Sudo는 사용자 비밀번호를 요구하지만 루트 비밀번호(root password)가 필요할 수 도 있고, 한 터미널에 한번만 입력하고 그 다음부터는 비밀번호가 필요 없다. Sudo는 각 명령줄에 사용할 수 있으며 일부 상황에서는 관리자 권한을 위한 슈퍼유저 로그인(superuser login)을 완벽히 대신하며, 주로 우분투 리..