전체 글 12

[Python] 모듈/패키지/클래스/함수 구조 이해하기

Python은 코드 재사용성과 조직화를 위해 다양한 구조를 제공합니다. 패키지, 모듈, 클래스, 함수는 이러한 구조의 기본 요소입니다. 이번글에서는 누구나 쉽게 이해할 수 있도록 각각의 개념을 자세히 설명하겠습니다. 패키지(Package)패키지는 여러 모듈을 하나의 디렉토리로 모아놓은 것 입니다. 패키지를 사용하면 코드의 조직화를 더 잘할 수 있고, 네임스페이스를 제공하여 모듈 간의 이름 충돌을 피할수 있습니다. __init__.py 는 패키지를 포기화 하는 파일로, 패키지를 import할때 실행됩니다. Python 3.3이후로는 없어도 되며, 있을경우 해당 코드에 초기화 코드를 넣을수 있습니다. 모듈(module)모듈은 함수, 클래스, 변수 등을 담고 있는 하나의 Python파일 입니다. 모듈을 사용하..

코린이 2024.07.14

스레드 기초 (Thread)

스레드(Thread)란?프로세스에서 실행되는 가장 작은단위의 작업 흐름 입니다. 스레드는 물리적인 CPU에 있는 코어(Core)를 사용하여 프로세스를 진행합니다. 프로그래밍시 기본적으로 1개의 스레드만 사용되며, 해당 작업이 끝나기 전까지 다른 작업은 수행할 수 없습니다. 멀티스레드(Multithreading)하나의 프로세스 내에서 여러 스레드를 생성하여 동시에 여러 작업을 수행하는 프로그래밍 기법, 멀티 스레딩을 사용하면 프로그램이 동시에 여러개의 작업을 병렬적으로 처리할 수 있어 성능과 응답성을 향상 시킬수 있습니다. 무거운 작업을 수행할때는 필수적으로 필요한 기술입니다. 가벼운 작업을 수행시 눈에 보이지 않아 멀티스레드의 필요성을 못느낄수 있습니다. 하이퍼 스레딩(Hyper-Threading) 인텔..

코린이 2024.07.13

프로그래밍 기본 용어 (Python)

인터프리터(Interpreter)인터프리터는 소스 코드를 한 줄씩 읽고, 해석하고, 실행하는 프로그래밍 언어즉, 실행시 코드를  한 줄씩 분석하고, 한 줄씩 실행하며, 작은 프로젝트에 유리함작동방식 : 소스 코드를 한 줄씩 읽어들여 즉시 실행속도 : 코드 해석 및 실행이 동시에 이루어지기 때문에, 실행 속도가 비교적 느림(컴파일러 대비 느린것일뿐 사용못하는 수준의 느림을 표현한것은 아님)사용언어 : Python, Ruby, JavaScript  컴파일러(Compiler)컴파일러는 소스 코드를 한 번에 모두 읽어들여 기계어 또는 바이트로 변환하는 프로그래밍 언어변환된 기계어 코드는 실행 파일로 저장되어 나중에 실행하며, 대형 프로젝트에 유리함작동방식 : 소스 코드를 전체적으로 분석하고, 기계어 또는 바이트..

코린이 2024.07.12

PyQt5 GUI 기본 코드

PyQt5 Window 생성 기본 코드import sys #시스템 모듈을 불러옴from PyQt5.QtWidgets import *from PyQt5.QtGui import * #필요에 따라 사용하고자 하는 매서드만 호출해도되며, "*"를 입력하여 전체를 불러와도 되지만, 메모리 최적화를 위해서 필요한 매서드만 호출하는것이 유리함class MyWindow(QMainWindow): #Mywindow 클래스를 만들고, QMainWindow를 부모클래스로 보고 상속 받음 def __init__(self): #부모클래스에서 상속받아 self에 넣어줌 super().__init__() #QmainWindow를 상속 받았지만, 자동으로 생성자(__init__)가 호출되진 않음, 명시적으로 부모클래..

코린이 2024.07.11

시티즌 디벨로퍼(Citizen Developer)란?

최근 회사에서 "시티즌 디벨로퍼"라는 개념을 듣게 되었습니다. 처음 들어본 용어라 많이 생소하게 느껴졌지만, 의미를 찾아보고 이해하면서 시티즌 디벨로퍼(Citizen Devbeloper)가 기업, 개인업무 환경에서 얼마나 중요한 역할을 할 수 있을지 이해가 되었습니다.   시티즌 디벨로퍼(Citizen Developer)란?시티즌 디벨로퍼란 프로그래밍 지식이 없거나 제한적인 일반 사용자들이 직관적인 개발 도구와 플랫폼을 사용해 자신이 필요한 비즈니스 어플리케이션을 직접 개발하는 것을 말합니다. 이는 전문 개발자가 아닌 일반 사람들도 손쉽게 소프트웨어를 만들 수 있게 하여, 업무의 효율성을 크게 향상시킵니다.매일 반복되는 작업이지만, 없어서는 안될 중요한 업무들에서 특히 필요한 개념입니다. 필요할경우 소프..

코린이 2024.07.10

[명명규칙]Python 변수 표기법

클래스명 클래스명은 PascalCase(파스칼표기법) 을 사용합니다. 각 단어의 첫 글자를 대문자로 쓰고 단어를 이어서 작성합니다.  예시class MyClass: passclass EmployeeRecord: pass  함수명 함수명은 snake_case(단어간 사이를 언더스코어,언더바 사용)를 사용합니다. 모든 글자를 소문자로 작성하고 단어 사이를 언더바('_')를 사용하여 연결 합니다.   예시def my_function(): passdef calculate_salary(): pass  변수명 변수명도 함수명과 동일하게 snake_case를 사용하여 작성하며 소문자로 작성합니다.   예시my_variable = 10employee_name = "John"  상수명 상수명은 UP..

코린이 2024.07.09

프로그램 언어 구동 방식

프로그래밍 언어는 인터프리터 언어와 컴파일 언어로 크게 나눌 수 있습니다.이 두 가지 유형은 코드 실행 방식, 성능, 그리고 개발 경험에서 큰 차이를 보입니다이 글에서는 인터프리터 언어와 컴파일 언어의 기본 개념, 각각의 장단점,그리고 대표적인 사례들을 살펴보겠습니다. 인터프리터 언어란?인터프리터 언어는 프로그램을 실행할 때 한 줄씩 읽고 해석하여 바로 실행하는 언어입니다. 인터프리터는 코드의 각 명령을 직접 실행하는 소프트웨어입니다. 대표적인 인터프리터 언어로는 Python, JavaScript, Ruby 등이 있습니다 컴파일 언어란?컴파일 언어는 프로그램을 실행하기 전에 컴파일러라는 소프트웨어를 사용해 전체 소스 코드를 한 번에 기계어로 번역한 후 실행하는 언어입니다. 대표적인 컴파일 언어로는 C, ..

코린이 2024.07.09

Python 입문

Python은 강력하면서도 직관적인 문법을 제공하여 많은 개발자들에게 사랑받는 언어입니다. 특히, Python의 객체 지향 프로그래밍(Object-Oriented Programming, OOP) 기능은 다른 언어들과 비교했을 때 매우 간결하고 이해하기 쉽게 설계되어 있습니다. 객체지향 언어란? 데이터를 객체로 만들고 객체들 간의 상호작용을 통해 문제를 해결하는 방식 코드의 재사용성, 확정성, 유지보수성이 높은 장점이 있습니다.   Python 입문하기 위한 꼭 알아야할 핵심 문법 __init__클래스(Class)의 초기화 하는 매서드로서, 객체가 생성될 때 자동으로 호출됩니다. Class를 생성할때 __init__ 매서드는 필수는 아니지만, Python에서 권장하는 프로그래밍 입니다.__init__ 매서..

코린이 2024.07.09

전기의 발견과 역사

안녕하세요, 이번 블로그에서는 전기의 발견과 역사에 대해 블로그를 하고자 합니다. 전기의 발견 기원전 600년, 고대 그리스 탈레스(Thalse BC624-547)는 호박이 천연 자석임을 알고 있었다고 전해지고 있다. 이것을 영국인은 「헤라클레스의 돌」이라고 불렀다 16세기 영국의 길버트 (W.Gilbert 1540-1603)는 지구가 큰 자석임을 나타내고 자기의 근본적인 성질에 대한 이론을 얘기하였으며, 나침반이 북쪽을 가리키는 것을 확인합니다. 길버트는 호박이 가벼운 것을 끌어당기는 성질을 호박의 그리스어 "Electrum"을 따서 "lectrica"라고 불렀습니다. 동전기와 정전기의 발견 17세기 미국 프랭클린(B.Franklin)은 연을 올려 번개가 전기임을 증명해 피뢰침을 발명하게 되었고, 이후..

전기전자 2024.01.22

전기기초 용어 정리

이번에는 전기와 전자에 대한 기초를 공부하게되면 가장먼저 알아야할 기호와 계산식을 소개해드리겠습니다. 전기 기호 전 류 : [I] (Amperes, A) 전 압 : [V] (Volts, V) 저 항 : [R] (Ohms, Ω) 전 력 : [P] (Watts, W) 주파수 : [F] (Hertz, Hz) 전 하 : [Q] (Coulomb, C) 용어설명 전류(Current)단위는 암페어(A)이며, 1A는 1초 동안 1쿨롱의 전하가 흐르는 것을 의미합니다. 전압(Voltage)의 단위는 볼트(V)이며, 1V는 1쿨롱의 전하에게 1줄의 에너지를 주는 것을 의미합니다. 저항(Resistor)의 단위는 옴(Ω)으로, 1옴은 1볼트의 전압에 대해 1암페어의 전류를 유지하는 데 필요한 저항을 의미합니다. 전력(Wat..

전기전자 2024.01.20