반응형

언어 Language 35

파이썬으로 API 키 만들기: 숫자와 영어 소문자로 된 임의의 문자열 만들어 보기

API키 카카오 개발자 사이트든, 구글이든 API를 이용하려면 API 키를 발급받아야 한다. API키를 통해서 API를 제공해주는 서버는 인증된 사용자인지 아닌지를 구별하게 된다. 카카오 개발자 사이트 경우 API키는 32글자로 되어 있고, 숫자와 영어 소문자로 되어 있다. 직접 API 서버를 만든다면 API키를 생성할 필요가 있다. 입력받은 글자 개수만큼 숫자와 영어 소문자로 이뤄진 임의의 문자열 만들기 import string import random def get_api_key(key_len): string_lower = string.ascii_lowercase #영어 소문자 string_upper = string.ascii_uppercase #영어 대문자 string_digits = string...

주피터 노트북에서 셀 단위로 처리 속도 측정하기

%%time 활용 주피터 노트북Jupyter Notebook 셀 안에서 맨 위에 %%time이라고 적으면 된다. 코드 예 %%time max = 100000000 for i in range(max): if i % (max / 10) == 0: print(i) 결과 0 10000000 20000000 30000000 40000000 50000000 60000000 70000000 80000000 90000000 CPU times: user 10 s, sys: 13.5 ms, total: 10 s Wall time: 10 s for문을 이용해서 1억번 실행하도록 했더니 10초가 걸렸다. 참고: Built-in magic commands

파이썬 문자열 추출 라이브러리 pygrok 사용 예: 이름 추출, 날짜 추출

pygrok이란? 문자열을 쉽게 추출할 수 있는 라이브러리다. A Python library to parse strings and extract information from structured/unstructured data (출처: pygrok) pygrok 페이지에 나온 문자열 추출 예제 from pygrok import Grok text = 'gary is male, 25 years old and weighs 68.5 kilograms' pattern = '%{WORD:name} is %{WORD:gender}, %{NUMBER:age} years old and weighs %{NUMBER:weight} kilograms' grok = Grok(pattern) data_dict = grok.mat..

파이썬 딕셔너리로 된 리스트 순서를 무작위로 섞기

리스트 순서를 랜덤으로 썪을 필요가 생겨서 코드를 만들었다. 그냥 리스트도 비슷하게 만들 수 있다. import random dict_list = [{"id": 1, "name": "amy"}, {"id": 2, "name": "ted"}, {"id": 3, "name": "john"}, {"id": 4, "name": "james"} ] dict_list_new = [] while len(dict_list) > 0: print("len(dict_list):" + str(len(dict_list))) index = random.randint(0, len(dict_list) - 1) print(index) dict_list_new.append(dict_list[index]) dict_list.pop(ind..

Q. 파이썬Python PyQt5, Could not find the Qt platform plugin "cocoa" in "" 에러 원인은?

A. 에러 원인은 한글 폴더명이었다. 프로젝트명을 한글로 적었더니 저런 에러가 나타났다. qt.qpa.plugin: Could not find the Qt platform plugin "cocoa" in "" This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem. 새로 프로젝트를 만들고, 프로젝트명(곧 폴더명)을 영어로 해서 다시 만들어서 실행하니 정상 작동했다. 다른 팩키지도 이런 문제가 있을까 싶어서 requests로 테스트하니 정상 작동했다. PyQt5 팩키지를 불러올 때 생기는 문제로 보인다.

python파이썬 독학 프로그램 추천, PyCharm Edu

PyCharm Edu 내려받기 PyCharm Edu 이전 버전 받기 Version 2019.3 버전 추천한다. 저 버전에서 설치 에러가 발생하면 더 이전 버전을 받으면 된다. 새롭게 유료화로 바뀌는 중인 거 같다. 최신 버전을 내려 받으면 로그인해야 학습을 할 수 있다. hyperskill.org로 자동 연결되고, 여러 코스를 선택할 수 있다. 자바, 파이썬, HTML, CSS 등 코스가 많아서 좋은데, 일단 무료로 써보고 좋으면 유료까지 해도 좋을 거 같다. 영어라서 아쉽긴 하지만 직접 코드를 입력해서 배울 수 있어서 좋다. PyCharm Edu 설치 PyCharm Edu 설치하면 다음과 같은 화면이 나온다. Learn을 누른다. Browse Course Introduction to Python을 선택..

Javascript set을 사용해서 배열 안에 있는 객체의 중복도 없앨 수 있을까?

그냥 Set을 사용해서는 안 된다. 배열 안에 객체가 없는 경우에는 중복을 없앨 수 있지만, 배열 안에 객체가 있는 경우에는 중복을 없앨 수 있다. 따로 함수를 만들어줘야 한다. let arr1 = ['a', 'a', 'b']; let p1 = {name: 'Peter', age: 21}; let p2 = {name: 'James', age: 23}; let p3 = {name: 'James', age: 23}; let arr2 = [p1, p2, p3]; let set1 = new Set([...arr1]); let set2 = new Set([...arr2]); console.log("arr1:", arr1); console.log("arr2:", arr2); console.log("set1:", s..

자바스크립트 프로그래밍 스타일, 코딩 컨벤션 조사

W3Schools 설명 (참고: www.w3schools.com/js/js_conventions.asp) 변수명은 낙타표기법 camelCase으로 예) firstName = "John"; 연산자 앞뒤로 한칸 띄우기 예) var x = y + z; 코드 블럭 안에는 2칸 띄우기 예) function sum(a, b) { return a + b; } 모든 구문 끝은 세미콜론; var values = ["Volvo", "Fiat"]; 이름 짓는 방법Naming Conventions 변수와 함수명은 낙타표기법으로. camelCase 전역변수는 대문자로. UPPER CASE 상수도 대문자로. 예) PI Underscores 방식은 주로 SQL 데이터베이스에서 사용 예) date_of_birth camelCase ..

Q. 함수function와 메소드method의 차이는?

A. 메소드는 객체와 관련된 함수로 자바처럼 클래스 기반 언어라면 클래스 내부에 있는 함수다. 함수가 메소드를 포함하는 개념으로 볼 수 있다. 함수 ⊃ 메소드 자바스크립트 함수 예를 들어 자바스크립트에서는 함수라고 한다. 예를들어 자바스크립트로 덧셈 함수를 만들면 아래와 같다. 자바 메소드 덧셈 함수를 자바스크립트에서 하듯 Java에서 만들려고 아래처럼 입력하면 에러가 난다. class Main { public static void main(String[] args) { int sum = sum(1, 2); System.out.println("sum:" + sum); } } public int sum(int a, int b){ return a + b; } 에러 코드 Main.java:8: error: c..

언어 Language 2020.10.25

자바 공식 문서: Learning the Java Language

자바 문서에 가면 Learning the Java Language 항목이 있다. (출처: Trail: Learning the Java Language) 그 항목을 들어가면 자바 프로그래밍 언어에 대한 기초 학습 내용이 나온다. Trail: Learning the Java Language This trail covers the fundamentals of programming in the Java programming language. Object-Oriented Programming Concepts 객체지향 프로그래밍 개념 Object-Oriented Programming Concepts teaches you the core concepts behind object-oriented programming:..

Java의 변수variables, 데이터타입datatype

변수(變數) variables 변수는 변하는 수다. 수학 시간에 공부하는 그 변수다. 그 변수를 영어로 variable이라고 한다. 프로그래밍에서는 a = 1 이런 식으로 주로 쓴다. 이 말은 삼성전자가 만드는 그 메모리, RAM에 공간을 만들고 그 공간의 이름을 a라고 부르겠다는 것이고, a란 메모리 공간에 1이란 값을 저장해달란 뜻이다. 프로그래밍에서 변수란 메모리 공간을 뜻한다고 볼 수 있다. a = 2라고 쓰면 1이란 값은 날리고 2로 새로 저장해 놓는다. a를 출력하라고 명령하면 2가 나온다. a = "Hello World" a = 3.141592 a = 10의 100제곱 a = 1 / 3 a = 참 등 이런 저런 정보를 저장하고 싶을 것이다. 여기서 질문이 생기게 된다. a란 변수에 저렇게 다..

Java의 Hello World

Java의 Hello World Java의 Hello World는 너무 복잡하다. Hello World! 한 문장을 출력하기 위해서 코드가 너무 길다. 이해해야 할 것도 많다. class는 뭐지? public은? static? void? String? []는? args? System.out 은 또 뭐지? class란 개념부터가 프로그래밍을 하기 싫게 만든다. 각 용어가 영어사전에 나오는 단어 뜻과 프로그래밍 언어 안에서 쓰는 뜻은 또 다르다. class는 수업은 아닐테고 종류? public은 공공? static은 정지된, 정적인? void는 빈? main은 주된? String은 줄? [] 뭐지? args는 안 나오네. System은 시스템일테고. 이미 여기서부터 자바란 프로그래밍 언어는 사람을 피곤하게 ..

변수나 함수 등 표기법 정리

헝가리안 표기법 Hungarian notation 변수나 함수 이름에 그 종류, 데이터 타입 따위를 명시하는 표기법. 고안자인 찰스 시모니가 헝가리인이라서 헝가리안 표기법이라고 부름. 예) strName(string 타입), lAccountNum (long 타입) 참고: 위키백과 요즘에는 헝가리안 표기법을 쓸 일이 없다. 통합개발환경(IDE)가 워낙 좋아져서 자동으로 변수 이름만 적어도 어느 타입인지 다 IDE 프로그램이 알려준다. 낙타 소문자 lower camel case 단어 전체적으로 소문자를 사용하지만, 각 합성어의 첫 글자만 대문자로 표기 예) className 참고: 위키백과 파스칼 표기법 Pascal Case 또는 낙타 대문자 Upper Camel Case 단어 전체적으로 대문자를 사용하고 ..

언어 Language 2020.10.17

Python 혼자 공부, 독학할 때 도움이 될 사이트와 도구

PyCharm Edu 공짜 파이썬 학습용 프로그램 www.jetbrains.com/ko-kr/pycharm-edu/ 이 프로그램만 설치해서 각 과정 눌러보고 실행해봐도 파이썬을 이해할 수 있다. Codecademy 무료로 Python2를 공부할 수 있다. 파이썬 코딩도장 dojang.io/course/view.php?id=7 위키독스: 왕초보를 위한 Python wikidocs.net/book/2 책 내용이 위키 형태로 공개되어 있다. 파이썬 언어를 간단히 실습할 수 있다.

반응형