전체 글
-
python - f-string & printf-style string formatting카테고리 없음 2022. 3. 23. 21:20
Standard Format Specifiers 나중에 정리함.. 다만, [0]은 그 자리에 0만 있거나 없어야한다. 0 padding(zero padding)이다. (minimum width만큼) + f-string이나 format을 이용하는.. 즉 printf-style string formatting이 아니면, 정수가 아닌 실수 등을 'd' specifiers에서 받을 수 없다. ``` print(f"{1.0:d}") # error print("%d"%1.0) # good ``` Refs.. https://docs.python.org/3/library/string.html#formatstrings https://docs.python.org/3/library/stdtypes.html#old-strin..
-
"Python.h" No such file 오류 해결 : ft. WSL 시간 동기화프로그래밍/Python 2022. 3. 20. 03:58
annoy를 설치하다가 다음 오류를 만났다. src/annoymodule.cc:17:10: fatal error: Python.h: No such file or directory 17 | #include "Python.h" https://stackoverflow.com/questions/21530577/fatal-error-python-h-no-such-file-or-directory 여기에서 알 수 있다싶이 sudo apt-get install python3-dev 를 하면 된다. 하지만 에러가 뜬다. Ign:2 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 python3.8-dev amd64 3.8.10-0ubuntu1~20.04 Err:1 h..
-
C/C++ - 쉼표연산자 : Comma Operator프로그래밍/C 2022. 3. 11. 16:12
In the C and C++ programming languages, the comma operator (represented by the token ,) is a binary operator that evaluates its first operand and discards the result, and then evaluates the second operand and returns this value (and type); there is a sequence point between these evaluations. The use of the comma token as an operator is distinct from its use in function calls and definitions, var..
-
객체지향 - DI Container 구현 및 분석프로그래밍/객체지향 2022. 3. 4. 20:55
0. 개요 IoC의 구현방법 중 하나인 DI 컨테이너를 직접 구현해본다. 0.1. 사전지식 객체지향, SOLID원칙, IoC, DI, 리플렉션(개념만), 자바(annotation 등) 0.2. 코드 https://dev.to/jjbrt/how-to-create-your-own-dependency-injection-framework-in-java-4eaj 위 사이트의 코드를 분석하였다. 0.3. 기본지식 Dependency Injection이란? IoC를 구현하는 디자인패턴 IoC 디자인 원칙란? 프레임워크가 object의 생성과 할당을 관리하는 것. 사람이 관리하던일을 프레임워크가 관리한다는 측면에서 Inverse of Control, IoC라고 부른다. 싱글톤 방식을 사용해도 OCP, DIP원칙에 위배..
-
[JAVA] IntelliJ - 일반 JAVA 프로젝트를 Gradle 프로젝트로 변환하기 & Java file out of source root 오류 해결프로그래밍/JAVA 2022. 2. 20. 15:37
공식 홈페이지를 참고했다. 1. 프로젝트 폴더에 build.gradle을 생성한다. 2. build.gradle에 다음의 내용을 넣는다. plugins{ id 'java' } group 'org.example' version '1.0-SNAPSHOT' repositories { mavenCentral() } sourceSets { main { java { srcDirs = ['src'] } } } dependencies { compile 'junit:junit:4.12' } 3. 프로젝트를 다시 로드한다. 프로젝트는 build.gradle 파일을 선택하여 연다. Java file out of source root 해결 1. Project Structure에 들어간다. 2. Module탭에 들어간다. 3...
-
Git flow - 브랜치 이름 컨벤션, git hook으로 커밋에 이슈 번호 자동 추가프로그래밍/프로그래밍 2021. 12. 18. 22:35
깃깃깃깃갓갓갓갓. 차이가 느껴지는가? 아니? 깃은 갓(신)이다. 깃을 숭배하라!! 각설하자.. 멘탈차려!! 브랜치 이름 컨벤션 main or master develop feature-{issue_number}-{feature_name} release-(version_number) Hotfix-(Issue_number) 일반적으로, 이 형식으로 진행된다고 한다. 자세한 것은, git flow naming convention 등으로 검색해보자. 필자는, {issue_number}-{issue_description, feature_name etc..}의 방식을 택하였다. git hook을 이용한 커밋에 이슈번호 자동추가 git hook은 git폴더/.git/hooks/에 존재한다. 여기서, prepare-co..
-
로봇과 미래 일자리, 유토피아인가 디스토피아인가.잡담들 2021. 12. 2. 19:02
들어가기 전에 아래 글은 전적으로 필자의 사견입니다. 다만 글쓰기의 편의를 위해 단정적인 어조로 쓴 경향이 다소 큽니다. 이 점 유의해서 읽어주시기 바랍니다. 아직 사회경험 적은 한 학생의 글에 불과합니다. 너른 양해 부탁드립니다. 그리고, 글의 주장과 관련하여 나누고 싶은 말이 있으시다면, 꼭 댓글을 써주시기 바랍니다. 저만의 생각이 검증될 유일한 기회입니다. 읽어주셔서 감사합니다. 필자는 모든 일은 로봇과 AI로 대체될 것으로 본다. 3차 산업혁명에서 인간이 육체로 해야할 일이 대체되었다면, 4차 산업혁명에서는 인간이 두뇌로 해야할 일이 대체되고 있다. 시간은 오래걸릴지언정, General AI가 탄생하면 시간문제라고 본다. (탄생하지 않더라도, 지금의 약 인공지능이 활용되는 추세는 가파르고 이것만으..