-
hazard_dev@__
-
hazard_dev@__
c_oco
-
[Python] pickle 라이브러리는 왜 써야 될까?
[Python] pickle 라이브러리는 왜 써야 될까? pickle 라이브러리를 사용해서 일부 모듈을 구현하던 중, 의문이 생겼습니다. 이렇게 편리하고 좋은 라이브러리를 어떻게 사용하는 것이 효율적이고 적절한가 입니다. pickle 라이브러리에 대해서 공식적인 소개글을 한번 보도록 하겠습니다. 위의 설명만 보면은 어떻게 사용하는 것이 좋은지 어떻게 사용해야할지 감이 잡히지 않습니다. 왜냐하면 파이썬 객체 구조의 직렬화와 역 직렬화에 대한 이해가 우선되어야 하기 때문입니다. 데이터의 직렬화는 데이터를 바이트 스트림 형태로 변환하는 과정을 의미하게 되는데, 데이터를 이진화로 변환해야 네트워크 전송 등에 유리하기 때문입니다. 바이트 스트림은 1byte 를 입출력하게 해주는 스트림입니다! 그러니, 파일 전송,..
2023.04.05
-
[알고리즘#1] 알고리즘 ? 그리고 연산
알고리즘이란? 알고리즘이란 수학, 컴퓨터 과학 등의 분야에서 어떠한 문제를 해결하기 위한 일련의 절차 혹은 방법을 공식화한 형태로 표현한 것이라고 말하고 있습니다. 그러니까 어떠한 연산의 계산을 위한 단계적 절차라는 의미입니다. 뭐 예를 들면, 동전을 넣으면 뭔가가 나오는 기계가 있다고 생각해보겠습니다. 이 기계를 우리가 설계해서 판매를 해야 하는 입장이라면 일련의 절차를 마련해야 합니다. 쉽게 생각하면 동전이 들어오고, 기계의 물리적 장치를 이용해서 기계 내부의 물품이 빠져나가는 방식이겠죠? 세상이 이렇게 쉽게 돌아간다면 정말 좋으련만 그렇지 않습니다. 몇 가지 변수가 존재합니다. 동전이 들어옵니다. 하지만 들어온 쇳덩이가 동전인지 동전 같은 존재인지 판별해야 합니다. 동전이라는 것이 확인이 되었다면,..
2021.02.23
-
[C++]C++의 제네릭, Template class에 대해서
Powerful Language C++ 프로그래밍 언어에는 다양한 타입들이 존재합니다. 하지만 프로그램 내부에서 동작되는 코드들의 타입은 들어가는 함수 별로 다를 수 있고, 또한 클래스에서는 더욱 다양한 타입들을 인자로 받을 수 있습니다. 만약 아래와 같이 코드가 작성되었다는 상황을 가정한다면,.. class Int { private: int myVar; public: Int(int c),myVar(c){} ... }; 위와 같은 Int클래스의 멤버 변수 중 하나인 myVar는 정수형 타입으로 선언된 멤버 변수이기도 하며, 클래스 생성자가 구현된 코드를 보게 되면, 당연하게도 정수형 타입의 인자를 매개 변수로 받아서 초기화 멤버 변수의 값이 초기화됩니다. 만약 위와 같은 코드가 정말 정수형 변수만 받는 ..
2021.02.17
-
[C]C언어 구조체 활용 및 기초 문법(struct, typedef)
Really Powerful Programming Language C C언어에서는 자바나 C++와 같이 클래스는 없지만, 데이터의 집합체라고 불릴 수 있는 구조체가 존재하죠, 다른 객체 지향 언어부터 학습을 하신 분이라거나, 공부해오신 분은 생각보다 이 C언어의 문법에 쉽사리 익숙해지지 않습니다. 그중에서 구조체에 대해서 학습을 해보고자 합니다. 구조체는 말 그대로 건물의 형태와 같습니다. 그 구조체 내부에 위와 같이 정수형 변수 a와 문자열 변수 name이 있다고만 가정하면, 메모리는 당연히 우선 정수형 바이트 4바이트를 선점합니다. 그리고, 문자열의 사이즈를 확인할 수 없기 때문에 값이 복사되거나, 대입될 때 까지는 메모리를 문자열 포인터 변수만큼 차지하게 됩니다. 이외에도 다른 변수들 또한 메모리를..
2021.02.03
-
[python GUI] Tkinter_간단한 계산 프로그램 만들기!
Easy GUI on Python' 파이썬은 아주 다양한 모듈들이 많은 프로그램이라는 점은 모두 알고 계실 거라 생각합니다. 그중에서 간편하면서도, 쉽게 구현할 수 있는 그래픽 유저 인터페이스 모듈인 tkinter에 대해서 알아보도록 하겠습니다!! tkinter모듈은 그래픽 유저 인터페이스툴킷에 대한 표준 파이썬 인터페이스입니다. 대부분 유닉스 플랫폼, 윈도, 맥, 리눅스 등 대부분의 시스템은 지원하기 때문에 거의 다 사용할 수 있다고 보아도 무방합니다. 우선 tkinter가 잘 있는지 확인해보도록 하겠습니다. #윈도우 시스템 #커맨드 쉘창 연 후 아래 명령줄 입력 후 확인 #맥-리눅스 #터미널 실행 후 아래 명령줄 입력 후 확인 $ python -m tkinter 자 설치가 되어 있는 것을 확인하셨을 ..
2021.02.01