본문 바로가기

분류 전체보기100

[Python] Function 파이썬에 대한 기본적인 이해를 위해 작성했습니다. Type annotations def func_multi(a: int, b:int): return a * b 데이터 유형을 강제하지 않는다! 단순히 외부 라이브러리 및 IDE에서 사용할 수 있는 메타데이터다. 함수는 정수가 객체인 것처럼 객체이며 정수가 할 수 있는 것처럼 변수에 할당될 수 있다. my_func = func_multi my_func(2, 3) 하지만, 함수는 반드시 항상 무언가를 반환해야 한다. 반환 값을 지정하지 않으면 Python은 자동으로 None 개체를 반환한다. def func_4(): # does something but does not return a value a = 2 res = func_4() print(res) # No.. 2023. 3. 29.
[Python] ternary operator 파이썬에 대한 기본적인 이해를 위해 작성했습니다. Python은 조건식(삼항 연산자)을 제공한다. 삼항 연산자는 다음과 같이 작동한다. X if (조건) else Y (조건)이 True이면 X를 반환하고, 그렇지 않으면 Y를 반환 a = 25 if a = 5' print(b) 위 조건문을 삼항 연산자로 표현하면 다음과 같다. a = 25 b = 'a = 5' print(b) 2023. 3. 29.
[Python] 식별자 이름 짓는 방법 파이썬에 대한 기본적인 이해를 위해 작성했습니다. 식별자(Identifier)의 이름을 짓는 것은 특정 룰을 따라야만 한다. 또한 특정 컨벤션을 따라야 한다. 따라야만 하는 룰(Must) start with underscore ( _ ) or letter ( a-z A-Z ) followed by number of underscores ( _ ), letters ( a-z A-Z ), or digits ( 0-9 ) cannot be reserved words (예약어 사용 불가능): None, True, False, and, or, not, if, else, elif, for, while, break, continue, pass, def, lambda, global, nonlocal, return, y.. 2023. 3. 29.
[Python] NEWLINE 파이썬에 대한 기본적인 이해를 위해 작성했습니다. 파이썬 프로그램은 다음과 같은 과정을 거쳐서 실행된다. physical lines of code (end with a physical newline character)→ (Python compiler) → logical lines of code (end with a logical NEWLINE token) → tokenized → (Python interpreter can read) → run code 물리적 newline은 무시되기도 하며, 컴파일러에 의해 한 줄의 논리적 코드로 합쳐지기도 한다. 그렇다면, 왜 물리적 무시되는 newline을 작성하게 될까? 읽는 사람의 가독성을 위해서. 또한 inline comment를 작성하기 위해서. 파이썬은 암묵.. 2023. 3. 28.
[Python] Python Types 파이썬에 대한 기본적인 이해를 위해 작성했습니다. 참고자료 : https://www.codesansar.com/python-programming/type-hierarchy.htm Numbers 프로그래밍에 필수적으로 사용되는 '수'에 대한 타입은 다음과 같이 나눌 수 있다. 나눌 수 있는 수(Integral)와 나눌 수 없는 수(Non-Integral). Integral : Integers, Booleans Non-Integral : Floats (c doubles), Complex, Decimals, Fractions Collections collection은 다음 세 가지로 나눌 수 있다. sequence, sets, mappings Sequence는 가변 시퀀스와 불변 시퀀스로 나눌 수 있다. Mu.. 2023. 3. 28.
[알고리즘] Big O #1 Big O Big O는 코드가 얼마나 효율적으로 실행되는지 수학적으로 비교하는 방법. 동일한 작동을 하는 코드 A와 코드 B가 있다고 생각해 보자. 코드 A는 15초 동안 실행되고, 코드 B는 1분 동안 실행 된다면, 우리는 코드 A가 더 낫다고 생각할 것이다. 이것이 시간 복잡도이다. 하지만, 시간 복잡도는 시간으로 측정하지 않는다. 무슨 소리예요, 방금 15초와 1분을 비교했잖아요? 하실 것이다. 왜냐면 방금 시간을 측정한 컴퓨터보다 성능이 더 좋은 컴퓨터로 B코드를 실행하면 15초보다 빠르게 실행될 수도 있기 때문이다. 따라서, 무언가를 완료하는 데 걸리는 작업 수로 측정하는 것이 더욱 정확하다. 시간 복잡도 외에도 공간 복잡도를 측정해야 한다. 코드 A는 매우 빠르게 실행되지만 상대적으로 실.. 2023. 3. 16.
[WEEK 18] 크래프톤 정글 1기 MIL - Monthly I Learned 크래프톤 정글에서의 약 두 달간 성장일지입니다. 크래프톤 정글 에세이의 마지막 대단원입니다. 기술적인 내용이 전무합니다. 무슨 일이 있었던 거죠? pintOS project3, 4 그리고 설날 연휴, 마지막 나만의 무기( 자유 주제 팀 프로젝트 )까지... 회고 연재가 늦게 되어 죄송합니다. pintOS의 마무리 이번 글에서 pintOS 프로젝트는 전체적인 회고로 마무리하겠습니다. 왜 램의 용량이 중요한 거야? CPU랑 그래픽카드만 좋으면 되는 거 아니야? - 1년 전의 나 - 우선 게임하려면 그래픽 카드랑 CPU가 좋아야 한다. 인터넷이 느리면 통신사 탓이다. ( 틀린 말은 아니다 ) 그래픽 카드랑 CPU가 왜 좋아야 하고, 인터넷은 어떻게 연결이 되고, 램은.. 2023. 3. 14.
[Webpack] with debug bundle.js는 우리가 죽어도 못읽을것 처럼 적혀있다. 만약, 디버깅을 해야하는 상황에서 우리는 어쩔까... 디버깅을 위해서 우리는 소스맵을 추가해야한다. 소스 맵은 역매핑을 통해 빌드 전의 상태를 보여줌으로써 번들을 구성하고 있는 코드가 어디서 오는지를 보여준다. 1. tsconfig.json 파일의 sourceMap을 true로 변경한다. (주석을 해제한다.) 2. webpack.config.js 파일에 해당 소스 맵을 추출해 최종 번들에 포함하라고 지시한다. 이 두가지를 추가한 뒤 다시 번들링하면 브라우저에 소스 맵이 작동할 것이다. "부야~" 2023. 1. 30.
[Webpack] with TypeScript Webpack : 웹팩(Webpack 또는 webpack)은 오픈 소스 자바스크립트(JS) 모듈 번들러이다. 모듈 번들러 : 모듈 번들러란 웹 애플리케이션을 구성하는 자원(HTML, CSS, Javscript, Images 등)을 모두 각각의 모듈로 보고 이를 조합해서 병합된 하나의 결과물을 만드는 도구를 의미한다. (출처) 1. Typescript 환경 설정 tsc --init npm init -y npm install lite-server tsconfig.json 설정 "include": ["src"] 추가 "outDir": "./dist" 옵션 설정 "target": "ES6" 옵션 설정 ts 파일 작업. index.html의 body 태그에 type="module"을 제공하지 않는다면 서버를 설치.. 2023. 1. 30.