본문 바로가기

전체 글

(104)
[C++] 3. 메모리관리 / 동적 할당 new & delete (malloc/free in C) 이 포스팅은 윤성우님의 열혈 C++ 프로그래밍 책을 기반으로 작성되었습니다. 메모리관리와 동적할당은 C++에서 매우 중요한 개념이다. 어떻게 보면 이 메모리관리를 효율적으로 잘하는 코드를 짜는 사람이 진정 프로그래밍을 잘하는 사람일 것이다. 하지만 우리는 C나 C++이 아닌 파이썬에서는 이 개념을 쉽게 간과하고 있다. 이유는 간단하다. 파이썬은 C로 만들어진 프로그래밍 언어이며, 개발자들의 효율을 위해 직접 레퍼런스 카운트와 가비지 콜렉션을 이용하여 메모리를 생성 및 해제하며 스스로 메모리를 관리해주기 때문이다. 때문에 파이썬으로 만들어진 프로그램들도 어떻게 코드를 이해하고 짜느냐에 따라 효율이 몇십프로까지 향상될 수 있다. 결론은 메모리관리는 아무리 강조해도 지나치지 않다! 그럼 이제 한번 포스팅을 시..
[C++] 2. const / 메모리 공간 / Reference 참조자 / 함수에서의 참조(Reference in function) 이 포스팅은 윤성우님의 열혈 C++ 프로그래밍 책을 기반으로 작성되었습니다. 먼저 시작 전에 헷갈리거나 중요한 개념을 몇개 잡고 시작해보고자 한다. Const는 어떤 의미를 가지는가? const는 말 그대로 상수화이다. 이렇게 보면 굉장히 쉬운 개념 같지만 쓰임새가 다양하면서 사람들에게 혼란을 주기도 하는데, 다음과 같이 깔끔하게 정리할 수 있다. const int num=10; //num이라는 변수는 10을 값으로 가지며 이를 변경할 수 없다. const int *ptr = # //ptr포인터는 변수 num을 가리키며 이 ptr을 이용해서 가리키는 변수의 값을 변경할 수 없다. int * const ptr = # //ptr포인터는 변수 num을 가리키며 이 ptr이 가리키는 변수를 변경할..
[C++] 1. 이름공간(Namespace), 인라인 함수(Inline function) 이 포스팅은 윤성우님의 열혈 C++ 프로그래밍 책을 기반으로 작성되었습니다. 유튜버 포프님의 영상을 보고 unmanaged 언어의 중요성을 느끼고, 이제부터 학부 초반에 배웠던 객체지향프로그래밍과 데이터구조의 기억을 되살려서 한번 C++을 공부해보고자 한다. 앞으로의 포스팅은 순전히 나를 위한, 내가 모르는 것들을 기반으로 기록하는 형태로 작성될 예정이다. 윤성우님은 C를 안다는 가정하에 C++책을 작성해나가셨고, 나는 C를 본 적이 없지만. 이전에 C++경험이 있고 파이썬을 계속 공부를 했으니 어느정도 괜찮지 않을까라는 믿음에서 출발해본다. Namespace란 무엇일까? A사 B사가 함께 개발 콜라보를 진행한다고 했을 때, 서로 분담을 한 후 만나서 합치려고 보니 함수의 이름이 양쪽이 똑같은 게 많다고..
토플 코로나 무료 취소/연기하기(1일 소요) _ 국내 / 해외 연락 부산대학교에서 2월 29일 내정되어 있던 토플시험. 방학동안 주구장창 혼자서 해커스 파랭이 빨갱이 주황이 보라돌이 책들을 열심히 돌리면서 공부했건만... 갑자기 코로나 사태때문에 불안해졌다. 대구 시험이 취소됐다던데, 부산은 계속 취소안되나 검색해보다가 부산이 무려 감염자가 40명을 넘었고 당장에 내 집 근처에도 감염자가 생겼다는 소식에 이러지리 취소를 했다는 후기를 찾아보려고 했으나 잘 없었고... 이에 아니 이걸 무료로 연기 안해줄리가 없잖아?! 싶어서 본사에 연락하여 연기를 성공했다! 이번 포스팅이 나같은 고민이 많았던 분들에게 도움이 되었으면 한다. 실제로 토플 홈페이지에 나가면 아래처럼 코로나 관련규정이 업데이트가 되어있지 않아 막막함을 느끼게 된다. 1. 국내 연락. (국번없이) 00-798-..
4. Python _ 내장함수, 외장함수 정리, 스레드 Thread 이 포스팅은 '점프 투 파이썬'을 다시 정독하면서 파이썬의 기초적이지만 매번 찾아보거나 몰랐던 부분을 정리하기 위한 목적으로 작성되었습니다. 내장함수 정리 - print, del, type 처럼 import하지 않고 쓸 수 있는 내장함수들 abs() - 절댓값 all(iterable data) iterable data: 반복가능한 자료형으로, 리스트 튜플 문자열 딕셔너리 집합 등.. - 자료 모두 참이면 True 하나라도 거짓 False any(iterable data) - 하나라도 참이면 True, 모두 거짓이면 False chr() - ASCII 코드값을 문자열로 출력 ex) chr(97) = 'a' ord() - 문자의 ASCII 코드값 반환 dir() - 객체가 가지고 있는 변수나 함수를 보여줌 ..
3. Python _ 모듈, 패키지, 예외처리, 내장함수 _ Module, Packages, try exception 이 포스팅은 '점프 투 파이썬'을 다시 정독하면서 파이썬의 기초적이지만 매번 찾아보거나 몰랐던 부분을 정리하기 위한 목적으로 작성되었습니다. Module 모듈 모듈: 함수나 변수 또는 클래스 들을 모아 놓은 파일로 다른 파이썬 프로그램에서 불러와 사용할 수 있게끔 만들어진 것. import 모듈이름 을 통해서 불러온다. ex) mod1.py를 불러오고 싶으면 import mod1이라고 한 뒤, mod1.sum으로 도트 연산자를 붙여서 사용한다. from 모듈이름 import 모듈함수로 호출도 가능. 이 경우에는 그냥 바로 함수를 사용가능하다. ex) from mod1 import sum 혹은 import *(전부 다) if __name__ == "__main__": 의 의미. 간단히 말해 파일을 직접 실..
2. Python _ 조건문, 반복문, 파일 읽고 쓰기, 클래스 Class, 객체지향프로그래밍 이 포스팅은 점프 투 파이썬을 다시 정독하면서 파이썬의 기초적이지만 매번 찾아보거나 몰랐던 부분을 정리하기 위한 목적으로 작성되었습니다. if/for/while 요즘 파이썬 커뮤니티에서 들여쓰기 할 때, 탭(tap)보다 공백 4개사용을 권장한다. 일단 둘을 혼용해서 쓰면 당연히 안됨. 근데 난 탭이 아직 좋다... 조건문에서 아무 일도 하지 않게 설정하고 싶다면? pass를 쓰면 된다. 수행할 문장이 한 줄이면 그냥 한줄에 적어버려도 됨. ex) if 'money' in pocket: pass else: print('내가 살게') while문에서 while문을 빠져나가고 싶다면 break fore, while문을 빠져나가고 싶진 않은데 처음으로 가게 하려면 continue를 쓴다. print(a, end..
1. Python _ 기본, 자료형 이 포스팅은 점프 투 파이썬을 다시 정독하면서 파이썬의 기초적이지만 매번 찾아보거나 몰랐던 부분을 정리하기 위한 목적으로 작성되었습니다. 파이썬은 C/C++와 결합이 가능하다. 때문에, 파이썬은 접착(Glue)언어라고도 불리며, C나 C++로 만든 프로그램을 파이썬에서 사용할 수 있으며, 파이썬으로 만든 프로그램 역시 C나 C++에서 사용할 수 있다. 예로 Numpy(Numeric Python)은 파이썬의 느리다는 특성을 보완하기 위해 만들어진 수치연산모듈로 C로 작성되었다. 파이썬은 아직 모바일 프로그래밍에는 부족하다. 안드로이드/아이폰 모두.. 8진수와 16진수의 표현 8진수는 0o또는 0O로 시작 ex) a=0o177 16진수는 0x로 시작 ex)0x8ff