Programming Language
-
[Java] Virtual Thread에 대해서Programming Language/Java 2024. 1. 10. 12:22
2023년 9월 19일에 릴리즈된 Java 21 는 Java 8 이후 세번째 LTS 버전이다(11, 17, 21). 이 버전에서는 많은 사람들이 기다리고 있는 가상 스레드 라는 기능이 추가되었다. Virtual Thread가상스레드란 전통적인 Java 스레드에 더하여 새롭게 추가되는 경량 스레드이다. 경량 스레드 모델이란 기존 언어의 스레드 모델보다 더 작은 단위로 실행 단위를 나눠 컨텍스트 스위칭 비용과 Blocking 타임을 낮추는 개념이다. Project Loom의 결과물로 추가된 기능으로 OS 스레드를 그대로 사용하지 않고 JVM 자체적으로 내부 스케줄링을 통해서 사용할 수 있는 경량의 스레드를 제공한다. Project Loom이란? 경량 스레드를 Java에 추가하기 위해서 가상 스레드를 비롯한..
-
[Java] Record Class란?Programming Language/Java 2023. 12. 20. 03:21
Record란 데이터 클래스로 Java 14에 추가되어 Java 16에 정식으로 포함되었다. Record 클래스를 사용하기 이전에는 변경 불가능한 단순 데이터 클래스를 표현하고자 할 때 불편함이 있었다. 불변 데이터 객체 User가 있다고 해보자. public class User{ private final String name; private final String gender; public Person(String name, String gender) { this.name = name; this.gender= gender; } @Override public int hashCode() { return Objects.hash(name, gender); } @Override public boolean equ..
-
[Python Error] attributeerror: module 'typing' has no attribute '_specialform'Programming Language/Python 2023. 2. 22. 16:10
Error pip install로 python 라이브러리를 설치하던 중에 에러가 발생하여 해결하다가 다음과 같은 에러가 나면서 윈도우 터미널이 먹통됐다. 윈도우 터미널에 어떤 명령어를 쳐도 다음 에러가 발생... pip uninstall dataclasses 위의 명령어를 통해서 해결했다는 문서도 봤지만 내 경우에는 해당 명령어를 실행할 경우 다음 에러가 발생하면서 다시 먹통되기를 반복했다. modulenotfounderror: no module named 'dataclasses' Solutions 이것 저것 찾아봤지만 해결책은 pip를 다시 설치하는 것이 제일 빠르고 쉬웠다. curl -O https://bootstrap.pypa.io/pip/3.6/get-pip.py python get-pip.py ..
-
[Python] ubuntu에 Python 버전 설정하기Programming Language/Python 2022. 7. 24. 22:01
Python 버전 확인 python3 --version python --version Python 설치경로 확인 which python which python3 Alternatives로 Python 버전 변경 1. alternatives 확인 # python sudo update-alternatives --config python # python3 sudo update-alternatives --config python3 2. alternative 등록 # python sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.9 1 sudo update-alternatives --install /usr/bin/python pyt..
-
[Python] virtual env 설정Programming Language/Python 2022. 5. 8. 17:26
Virtual env venv를 사용하여 프로젝트 별 전용 가상공간을 생성하여 프로젝트 별로 독립된 파이썬 실행환경을 가질 수 있다. 여러 프로젝트의 python package를 섞이지 않게 관리할 수 있는 장점! 서로 다른 프로젝트의 패키지 버전이 충돌날 일이 없어진다. venv 설정 python3.x 버전일경우 python대신 python3으로 명령어 실행 # 파이썬 버전 확인 python --version # 가상환경 생성 cd project_directory python -m venv .venv # 윈도우 가상 환경 활성화 cd .venv/Scripts activate # 우분투 가상 환경 활성화 source .venv/bin/activate # 가상환경 비활성화 deactivate require..