전체 글 23

[C언어] C언어 기초 정리 #5 (完) (문자열, 메모리, 구조체)

[ 목차 ]1. C프로그램 구성2. 데이터형 / 변수 / 상수3. 입출력4. 연산자5. 제어문6. 1차원 배열7. 다차원 배열8. 함수9. 포인터의 이해10. 문자열11. 메모리 동적 할당12. 구조체10. 문자열   10.1. 문자 상수 / 문자열 상수 문  자문자열형태한 글자두 글자 이상표기방법작은 따옴표 (‘’)큰 따옴표 (“”)사용 예'A', 't', '\n'"apple", "banana"처리방법정수로 처리된다.주소로 처리된다.특징아스키코드와 대응된다.문자열 끝에 널 문자('\0')가 추가된다. 때문에 문자열의 길이보다 항상 1이 길다.  * 문자열은 문자열상수가 저장된 시작주소로 처리 한다. 때문에 각기 다른 문자열 길이의 끝을 알 수 있도록 문자열 끝에는 문자열의 끝을 의미하는 널 문자(’\0..

C, C++ 2025.03.19

[Python] tkinter를 활용한 SFTP 자동 실행 구현하기

자동으로 sftp다운로드 함수를 10분 간격으로 실행하고, 버튼으로 자동 실행을 On/Off 관리하는 데는 Python GUI 라이브러리 tkinter를 활용하여 구현하였습니다.아래는 tkinter를 활용하여 10분 간격으로 해당 함수를 실행하고, 간단한 UI에서 On/Off 버튼으로 자동 실행을 제어할 수 있는 예제 코드입니다.import tkinter as tkfrom tkinter import messageboximport threadingimport timefrom datetime import datetime# --- 필요한 모듈 및 함수 가져오기 ---import paramikoimport osdef create_sftp_client(host, port, username, password): ..

Python 2025.03.18

[C언어] C언어 기초 정리 #4 (함수와 포인터)

[ 목차 ]1. C프로그램 구성2. 데이터형 / 변수 / 상수3. 입출력4. 연산자5. 제어문6. 1차원 배열7. 다차원 배열8. 함수9. 포인터의 이해10. 문자열11. 메모리 동적 할당12. 구조체8. 함수   8.1. 함수  main함수 안에 모든 프로그램을 작성하면 전체 프로그램은 복잡해지고 이해하기가 어려워진다. 따라서 기능별로 분리된 단위 프로그램으로 나누어 정의함으로써 코드의 재사용이나 유지, 보수가 용이하게 된다. 또한 중복되는 작업을 함수로 정의하면 중복을 피할 수 있게 된다.  8.2. 사용자 정의 함수  필요에 따라 함수를 정의해서 쓸 수 있는 함수를 사용자 정의 함수라 한다.  8.2.1. 함수의 정의  ex) 리턴타입 함수명(데이터형 변수1, 데이터형 변수2, ... , 데이터형 ..

C, C++ 2025.03.18

[C언어] C언어 기초 정리 #3 (제어문과 배열)

[ 목차 ]1. C프로그램 구성2. 데이터형 / 변수 / 상수3. 입출력4. 연산자5. 제어문6. 1차원 배열7. 다차원 배열8. 함수9. 포인터의 이해10. 문자열11. 메모리 동적 할당12. 구조체5. 제어문   5.1. 제어문의 종류  조건문ifswitch반복문forwhiledo ~ while기타제어문breakcontinue    5.1. if문  조건식을 판별하여 조건이 참이면 중괄호 {}안의 명령을 수행하고, 거짓이면 중괄호 {}안의 명령을 점프 후 다음 명령을 수행. 조건에 따라 수행해야 할 명령문이 한 개일 경우 중괄호는 생략가능하다.  5.1.1. if ~ else문  둘 중 한 개를 선택하는 조건문으로 조건이 참인 경우와 거짓인 경우(else)에 수행하는 명령이 다르다. else 다음에는..

C, C++ 2025.03.17

[OOP] 객체지향 설계 5원칙

1.    SRP(Single Responsibility Principle) : 단일 책임 원칙-       어떠한 클래스를 변경해야 하는 이유는 오직 하나뿐이어야 한다.2.    OCP(Open Closed Principle) : 개방 폐쇄 원칙-       소프트웨어 엔티티(클래스, 모듈, 함수 등)는 확장에 대해서는 열려 있어야 하지만 변경에 대해서는 닫혀 있어야 한다.-       확장에 열려 있다 : 요구사항이 변경될 때 새로운 동작을 추가하여 애플리케이션의 기능을 확장할 수 있다.-       변경에 닫혀 있다 : 기존의 코드를 수정하지 않고 애플리케이션의 동작을 추가하거나 변경할 수 있다. -       자신의 확장에는 열려있고, 주변의 변화에 대해서는 닫혀 있어야 한다.-       JDB..

CS 2025.03.17

[CS] 디자인 패턴 간단 요약

1.    디자인 패턴 이란?-       소프트웨어 설계시 특정 부분에서 자주 발생하는 고질적인 문제들이 또 발생했을 때 재사용할 수 있는 해결책-       Don’t reinvent the wheel – 이미 만들어져 작동하는 것을 처음부터 만들 필요가 없다.-       각기 다른 소프트웨어 모듈이나 기능을 가진 다양한 응용 SW 시스템들을 개발할 때도 서로 간에 공통되는 설계 문서가 존재하        며 이를 처리하는 해결책 사이에도 공통점이 있다. 이러한 유사점을 패턴이라 한다.-       패턴은 공통의 언어를 만들어주며 팀원 사이의 의사 소통을 원활하게 해주는 아주 중요한 역할을 한다.2.    디자인 패턴 구조     2-1.     콘텍스트         A.     문제가 발생하는 ..

CS 2025.03.17

[C언어] C언어 기초 정리 #2 (입출력과 연산자)

[ 목차 ]1. C프로그램 구성2. 데이터형 / 변수 / 상수3. 입출력4. 연산자5. 제어문6. 1차원 배열7. 다차원 배열8. 함수9. 포인터의 이해10. 문자열11. 메모리 동적 할당12. 구조체3. 입출력   3.1. 입력 함수 - scanf  scanf 함수는 정해진 양식에 맞게 내용을 꺼내오는 함수이다. 변수 명 앞에는 주소를 의미하는 & 연산자(주소연산자)를 써야한다. ex) scanf("입력 변환문자“, &변수);문 자인수가 입력되는 형태문 자인수가 입력되는 형태%d정수 입력%lfdouble형 실수 입력%ldlong형 정수 입력%c문자 입력%ffloat형 실수 입력%s문자열 입력    3.2. 출력 함수 - printf  일반적인 출력함수로써, 표준 입, 출력에 관련된 헤더파일인 stdio..

C, C++ 2025.03.16

[C언어] C언어 기초 정리 #1 (C 프로그램 구성 / 데이터형, 변수, 상수)

[ 목차 ]1. C프로그램 구성2. 데이터형 / 변수 / 상수3. 입출력4. 연산자5. 제어문6. 1차원 배열7. 다차원 배열8. 함수9. 포인터의 이해10. 문자열11. 메모리 동적 할당12. 구조체1. C프로그램의 구성  C언어는 한 개 이상의 함수로 프로그램이 작성되는데 프로그램 실행 시 가장 먼저 호출되는 함수가 main함수이다. 때문에 C프로그램은 단 한 개의 main함수가 반드시 존재해야 한다.  1.1. 프로그램의 기본구조  C언어는 대문자와 소문자를 구별하는데 일반적으로 소문자를 기초하여 작성한다. 모든 명령문은 반드시 세미콜론(;)으로 끝나야 한다. 단, #으로 시작하는 구문 뒤에는 세미콜론(;)을 붙이지 않는다.  1.2. 프로그램 기본구조 분석  1) int main()        ..

C, C++ 2025.03.16

[재밌는 금융 이야기] 루나 코인 사태

불과 며칠 만에 수십조 원이 증발하고, 전 세계 가상자산 시장이 큰 충격에 빠졌습니다. 한때 혁신적인 모델로 주목받던 루나(LUNA)와 테라(UST)는 왜 이렇게 허무하게 무너진 걸까요?알고리즘 스테이블코인, 과연 지속 가능한 개념일까요, 아니면 결국 실패할 수밖에 없는 실험이었을까요? 이번 사태를 되짚어보며, 그 원인과 시사점을 살펴보겠습니다.암호화폐와 스테이블코인의 등장암호화폐는 2008년 금융위기 이후 등장한 비트코인을 시작으로 급격히 발전해 왔습니다. 하지만 비트코인의 가장 큰 단점은 가격 변동성이 심하다는 점입니다.이 문제를 해결하기 위해 등장한 것이 스테이블코인(stablecoin)입니다. 스테이블코인은 가치 변동성을 최소화하기 위해 설계된 디지털 자산으로, 몇 가지 유형으로 나뉩니다.법정화폐..

[데이터베이스] MySQL과 PostgreSQL 차이점과 선택 기준

# 서론최근 데이터 분석 툴 설계 중 어떠한 데이터베이스를 선택할지 고민이 생겼습니다.데이터 분석 관련 데이터베이스를 선택할 때는, 분석하려는 데이터의 규모와 특성, 그리고 필요한 작업 방식에 따라 선택하는 것이 중요합니다. 데이터 분석 환경에서는 관계형(RDBMS) 및 비관계형(NoSQL) 데이터베이스 모두 사용되며, 각 DBMS는 특정한 상황에 유리한 장단점이 있습니다. 주로 사용되는 데이터베이스 로는 MySQL과 PostgreSQL이 있었습니다. 이 중 어떤걸 선택할 지 고민하던 중 각각의 장단점을 분석해 보았습니다.[MySQL](장점)속도와 단순성읽기 작압의 성능이 뛰어나며, 특히 트래픽이 많은 웹 애플리케이션에서 우수한 성능 발휘간단한 쿼리 구조 및 관리가 용이해 사용하기 쉬움광범위한 커뮤니티 ..

데이터베이스 2025.03.14