본문 바로가기

Language7

코딩을 처음 시작하는 개발입문자가 배우면 좋은 프로그래밍 언어 추천 오늘은 코딩을 처음 시작하는 개발 입문자가 배우면 좋은 프로그래밍 언어를 개인적으로 정리해봤다. 각 언어에 대한 설명은 검색하면 쉽게 나오니 내 경험위주로 간단히 정리해보고자 한다. 필자에 대해 설명을 하자면, 한국에서 디자인을 하다가, 비전공자로서 개발을 배워서 취업한 후, 현재 캐나다에 와서 Electronic Arts 에서 4년차 소프트웨어 엔지니어로 일하고 있다. 현재 회사에 정착하기까지 많은 일이 있었지만, 개발자로 성장하기까지, 한국에서 6개월동안 배운 컴공 기초가 큰 기반이 되주었다 라고 생각한다. 그래서 오늘 예전의 나처럼 처음 개발직에 인문하게 될 사람들을 위해 글을 써보고자 했다. 들어가기에 앞서, 처음 이 언어들을 배울때 나중에 꼭 쓰일지에 대해서 너무 고민하지 않았으면 좋겠다. 나도.. 2022. 2. 10.
자바스크립트 Javascript 와 동작방식, V8에 대해서 이해하기 기록하는 것이 남는 것이다! 개발중에 항상 썼던 Javascript이지만 좀 더 제대로 이해하고 싶어서 개념정리를 해보고자 한다. 1. Javascript는 동적 언어이다. (Dynamic programming language) 동적언어란 뭘까? 동적언어란 컴파일 시에 자료형 (타입)이 정해지지 않는 언어이다. (예를 들어 Javascipt, Ruby, Python 등이 있다.) 동적 언어의 자료형은 실행시 (runtime 때) 정해된다. 그럼 반대로 정적 언어는 컴파일시에 자료형(타입) 이 지정되는 언어이다. 예로, Java, C++, C#, C 등 우리가 흔히 알고 있는 안정적인 느낌을 주는 언어들이다. 따라서 이에 따라 오는 문제점들이 있을 것이라고 예상해 볼 수 있다. Javascript의 경우 .. 2020. 2. 17.
Python 비트연산자(Bitwise Operator) << , >> , |= , &= 등 알고리즘을 풀다가 모르는 연산자가 나와서 포스팅 한다. , |=, &= 는 비트 연산자이다. & (Binary AND) : bit 단위로 and연산을 한다. | (Binary OR) : bit 단위로 or연산을 한다. ^ (Binary XOR) : bit 단위로 xor연산을 한다. ~ (Binary NOT) : bit 단위로 not연산을 한다.(1의 보수) > (Binary right Shift) : bit 단위로 오른쪽으로 비트단위 밀기 연산을 한다. 예를 들어 a = 0011, b = 1100일 때, a & b 는 둘다 1 일이여야만 1이기 때문에, 0011 1100 _____ 0000 해서 0000이 된다. # 비트 연산자(Bitwise Operators) a = 0b10000001 b = 0b11.. 2020. 2. 8.
Python 프로젝트 Git Ignore 쉽게 설정하기 .gitignore 파일 쉽게 생성하기 프로젝트를 만들다 보면 깃에다가 푸쉬를 해야하는데, 로컬에서 명령어로 깔 수 있는 venv폴더 안의 내용 등, 깃에 푸쉬하지 않아도 되는 내용 들을 따로 .gitignore로 관리한다. 이 파일을 쉽게 설정하는 방법을 알아보자. 나는 다음의 웹사이트를 이용한다. https://www.gitignore.io/ gitignore.io Create useful .gitignore files for your project www.gitignore.io 이 웹사이트에 들어가서, Python을 검색하면 자동으로 python프로젝트에 사용되는 gitignore파일을 생성해 준다. 생성받은 .gitignore파일을, 프로젝트의 최상위 디렉토리에 배치한다. 만약에 직접 만들고 싶으.. 2020. 1. 24.
Python VENV 설정 시 module/python.exe 관련 invalid SDK 오류 해결 Python 가상환경 설정 : 모듈 패키지 버전을 프로젝트 별로 다르게 관리해야 할 때 venv로 수월하게 관리할 수 있다. 그런데 이 venv를 적용하다가 다음과 같은 문제가 생겼다. 1. pip로 다운받은 모듈을 파이참이 인식하지 못함 해당 내용을 보면, 전역적으로는 camelcase라는 모듈이 깔렸는데도 불구하고 로컬에서 해당 파일을 import를 못함을 알 수 있다. 이를 해결하기 위해 venv를 재 설치 하는 과정에서 오류가 났다. 2. venv설정 과정에서 SDK invalid 오류가 뜸. The SDK seems invalid. python 을 interpreter로 설정하는 과정에서 위와 같은 오류가 뜬 것. 이 오류가 뜨는 여러가지 경우가 있는데, 보통은 Python.exe 나 Pycha.. 2020. 1. 24.
Python Pycharm 환경설정 / venv 설정 Pycharm 에서 파이썬 3.8 환경설정 (Project Interpreter)하기 Pycharm 에서 run 할 때 python 을 돌리도록 자동 선택하려면 (CTL + Enter 시 작동하도록) 다음과 같이 interpreter를 선택해줘야 한다. File - Setting - Project Interpreter (나중에는 설정한 environment를 입력) 이렇게 설정한 Interpreter 는 나중에 모듈을 깔았을 때 전역으로 깔리게 된다. Venv 설정 Venv 설정을 하면, 마치 npm install 시 npm 모듈들이 프로젝트 아래에 깔리는 것처럼, 전역이 아니라 프로젝트 안에 pip 모듈들이 깔리게 되어서 따로 관리할 수 있게 된다. 파이참에서 위 화면에서 설정 버튼을 누른 뒤 new .. 2020. 1. 8.
Java Input / Output Stream 을 열고 닫기 흔히 쓰는 Scanner.close() 를 쓰면 System.in 스트림을 다시 열 수 없다. 따라서 다음과 같은 방법으로 대체한다. Console에서 얻어온 Reader 객체는 close를 해도 실제 console 을 close 하지는 않는다. 또한, Console 은 명시적으로 Console 창을 제공하는 형태에서만 얻어 올 수 있다. 만약, javaw 로 실행하고 있거나, IDE 처럼 표준 입출력을 전환해서 사용하고 있는 경우에는 System.console() 로 Reader 를 얻어올 수 없다. import java.io.Console; import java.util.Scanner; /** * java.io.Console (jdk 1.6) * Invoking close() on the object.. 2019. 12. 29.