안녕세계
Intellij를 사용할 때 내가 원하는 JDK를 바라보고 있지 않거나 찾을 수 없다고 나올 때가 있습니다. 이 경우 어떻게 Intellij에 내가 설치한 특정 JDK를 적용할 수 있는지 알아봅니다. 우선 Intellij를 실행하고 ⌘ + ; 를 눌러서 새로운 JDK 경로를 설정합니다. JDK home path가 알맞게 설정되었는지 확인하고 해당 JDK를 구별할 Name을 설정합니다. JDK 설정을 완료한 뒤 위에서 설정한 JDK로 Project SDK를 변경합니다. ✔︎ Note Intellij 프로젝트에서 JDK가 바뀌지 않으면 프로젝트에서 .idea 파일(Intellij 설정 파일)을 삭제합니다. 해당 파일을 삭제한 뒤 프로젝트를 다시 열면 JDK를 설정이 필요하다고 알림이 뜨면 원하는 JDK를 지..
OpenJDK는 다양한 Vendor에서 제공을 하고 있는데 이번 포스팅에서는 AdoptOpenJDK를 설치합니다. (homebrew를 사용하여 AdoptOpenJDK를 설치하는 방법은 다음 포스팅을 확인해주세요.) OpenJDK 설치를 위해 AdoptOpenJDK 사이트로 접속합니다. → https://adoptopenjdk.net/ AdoptOpenJDK AdoptOpenJDK provides prebuilt OpenJDK binaries from a fully open source set of build scripts and infrastructure. Supported platforms include Linux, macOS, Windows, ARM, Solaris, and AIX. adoptopen..
사용자로부터 입력받은 데이터를 파이썬에서 암호화하는 방법에 대해 알아봅니다.pycrypto 라이브러리를 fork하여 개선한 pycryptodome 또는 pycryptodomex를 사용하는 것을 권장합니다. pycryptodome- pycrypto를 대체하기 위해 개선된 라이브러리로 기존 코드와 호환됩니다.$ pip install pycryptodome pycryptodomex- pycrypto와 독립적인 완전히 새로운 라이브러리입니다.$ pip install pycryptodomex Sample Codeimport base64 import hashlib from Cryptodome import Random from Cryptodome.Cipher import AES from django.conf impo..
파이썬 requests 라이브러리를 사용하여 HTTP 요청을 하는 방법에 대해 알아봅니다.$ pip install requests 기본 사용법import requests url = 'https://www.google.com/ res = requests.get(url) res.status_code res.text get 요청과 query parameter 전달import requets params = {'param1': 'value1', 'param2': 'value'} res = requests.get(URL, params=params) post 요청과 body data 전달(1)import requests data = {'param1': 'value1', 'param2': 'value'} res = r..
[방법1] t = ((1, 'a'), (2, 'b')) ret = dict((y, x) for x, y in t) print(ret) # {'a': 1, 'b': 2} [방법2] *recommend t = ((1, 'a'), (2, 'b')) ret = dict(map(reversed, t)) print(ret) # {'a': 1, 'b': 2}Referenceshttps://stackoverflow.com/questions/3783530/python-tuple-to-dict
Iteratorcollection(list, tuple, set, dict), 문자열 등은 for문을 사용해여 데이터를 하나씩 처리할 수 있습니다.이 처럼 데이터를 하나씩 처리할 수 있는 collection이나 sequence를 Iterable Object라고 합니다.# List Iterable for n in [1, 2, 3]: print(n) # String Iterable for x in 'HelloWorld': print(x) 파이썬 built-in 함수 iter()는 iterator를 리턴합니다.iterator는 next()를 사용하여 다음 element를 가져옵니다.만약, 더이상 next() element가 없을 경우 StopIteration Exception을 발생시킵니다.m_list = [..
파이썬에는 switch 문이 없지만 switch 문과 동일한 기능을 하는 함수를 만들어 사용할 수 있습니다. [방법1] 함수로 구현한 switch 문 def switch(value): return { 'a': 'Apple', 'b': 'Banana' }.get(value, -1) # value 값이 존재하지 않을때 default 값으로 -1을 반환합니다. print(switch('a')) # Apple print(switch('c')) # -1 [방법2] 함수로 구현한 lambda switch 문 def switch(value): return { 'a': lambda x: x*10, 'b': lambda x: x+10 }[value](10) print(switch('a')) # 100 [템플릿1] res..
파이썬에서 활용되는 복사 유형에 대해 알아봅니다. 단순복사- 단순복사는 완전히 동일한 객체를 복사합니다.a = [1, [2, 3, 4]] b = a # b는 a와 같은 객체 주소를 바라 봅니다. print(b) # [1, [2, 3, 4]] b[0] = 100 b[1][0] = 100 print(a) # [100, [100, 3, 4]] print(b) # [100, [100, 3, 4]] * immutable 객체는 해당하지 않습니다.- immutable 참조변수를 수정하는 것은 값을 바꾸는 것이 아니라 새로운 객체를 할당하는 것입니다.a = 1 b = a print(b) # 1 b = 2 print(a) # 1 print(b) 얕은복사(shallow copy)# 방법1 b = copy.copy(a) ..