A day without laughter is a day wasted.

코딩 18

컴퓨팅사고와 sw코딩

소프트웨어, 컴퓨팅 사고, 코딩 – 쉽게 배우는 IT의 세계1. 소프트웨어란?소프트웨어는 컴퓨터를 움직이는 두뇌 같은 존재이다. 우리가 사람이라면, 뇌에서 생각하고 몸을 움직이는 것처럼, 소프트웨어는 컴퓨터가 작동하도록 명령을 내리는 역할을 한다.소프트웨어 vs 하드웨어하드웨어(Hardware): 물리적인 부분(컴퓨터 본체, 마우스, 키보드 등)소프트웨어(Software): 하드웨어를 작동시키는 프로그램📌 비유하자면하드웨어는 자동차의 몸체, 소프트웨어는 자동차의 엔진과 네비게이션 시스템이라고 할 수 있다.소프트웨어의 종류시스템 소프트웨어: 컴퓨터를 관리하고 운영하는 프로그램 (예: 운영체제 Windows, macOS, Linux)응용 소프트웨어: 특정 작업을 수행하는 프로그램 (예: MS Word, 포..

Spring boot에서 WebSocket + STOMP 이해 및 정리

1. WebSocket 개요WebSocket은 클라이언트와 서버 간의 양방향 통신을 위한 프로토콜.HTTP와 달리 WebSocket은 연결이 한 번 맺어지면 클라이언트와 서버가 실시간으로 데이터를 주고받을 수 있습니다.특징:Full-duplex 통신 지원.HTTP보다 네트워크 효율성 높음 (헤더 오버헤드가 적음).주로 채팅, 실시간 알림, 스트리밍 서비스에 사용됩니다.2. STOMP(Simple or Streaming Text Oriented Messaging Protocol) - 텍스트 기반의 메시징 프로토콜을 의미합니다. 클라이언트와 메시지 브로커 간의 통신을 간단하고 효율적으로 수행할 수 있도록 설계되었습니다. 이는 WebScoket에서 쉽게 메시지를 주고받을 때 사용이 됩니다. 이 프로토콜은 We..

코딩/spring 2025.01.14

JWT(Json Web Token)란?

1. Introduction (소개)JWT는 JSON 기반의 구조로 클레임을 안전하게 전달하기 위한 압축되지 않은 문자열입니다. 주로 다음 용도로 사용됩니다:인증 및 권한 부여정보 교환JWT는 서명(Signed) 또는 암호화(Encrypted) 방식으로 보호되며, 서명된 JWT는 무결성 검증을, 암호화된 JWT는 기밀성을 제공합니다.2. JWT 프로세스클라이언트 서버────────────── ──────────────| 사용자 로그인 | → 로그인 요청 → | JWT 생성 |────────────── ────────────── ..

1. 싱글톤 패턴(Singleton pattern)의 개념과 구현 및 예시

1. 싱글톤 패턴의 정의싱글톤 패턴은 특정 클래스의 인스턴스를 하나만 생성하고, 이를 전역적으로 접근할 수 있도록 제공하는 디자인 패턴입니다.  2. 싱글톤 패턴을 사용하는 이유하나의 인스턴스만 필요할 때특정 클래스가 여러 개의 인스턴스를 가질 필요가 없고, 공유 자원이나 글로벌 설정 정보를 관리하는 경우 유용합니다.자원의 낭비 방지객체를 여러 개 생성하는 것은 메모리와 CPU 자원을 소모하므로, 하나의 인스턴스를 공유함으로써 자원을 절약합니다.전역 상태 관리애플리케이션의 설정, 로깅, 데이터베이스 연결 등 공유된 상태를 관리하는 데 적합합니다.쉽게 설명하면싱글톤 패턴은 "딱 하나의 물건(인스턴스)만 만들고, 모두가 그걸 공유해서 쓰게 하겠다"는 약속입니다.왜? 자원을 절약하고, 하나의 상태를 유지하기 ..

인스턴스(instance)란 무엇일까?

1. "인스턴스"란?컴퓨터에서는 클래스(Class)를 설계도라고 생각할 수 있습니다.클래스는 그냥 어떤 물건을 만들기 위한 설계도 => 그런데 이 설계도만 가지고는 실제로 아무것도 할 수 없죠.설계도를 바탕으로 진짜 물건을 만들어야 비로소 사용할 수 있어요.즉 인스턴스란, 설계도(클래스)를 가지고 만들어낸 실제 물건입니다 🍰 클래스 = 케이크 레시피케이크를 만드는 방법이 적힌 레시피(설계도)라고 생각하면 됩니다.🎂 인스턴스 = 실제로 만든 케이크레시피를 보고 "케이크"를 하나 만들면, 그게 인스턴스 입니다.3. 자바 코드로 이해하기클래스(설계도)class Cake { String flavor; public Cake(String flavor) { this.flavor = flav..

Spring Swagger 공부하여 API 명세서 작성 자동화

스웨거는 API 개발 과정에서 특히 백엔드 개발자, 프론트엔드 개발자, QA, 그리고 문서화 담당자 간의협업을 도와주는 툴입니다.1. 스웨거의 정의스웨거(Swagger)는 API 설계, 문서화, 테스트 및 디버깅을 지원하는 오픈소스 프레임워크입니다.현재는 **OpenAPI Specification(OAS)**이라는 이름으로 발전했으며, 스웨거 툴킷은 이를 기반으로 동작합니다. 2. 스웨거를 사용하는 이유API 문서 자동화스웨거는 코드를 기반으로 API 명세서를 자동 생성합니다. 별도로 문서를 작성할 필요가 없어지며, 코드와 문서 간의 불일치를 방지합니다.API 이해도 향상API의 요청/응답 구조를 명확히 보여주기 때문에, 협업 중인 팀원들이 API를 쉽게 이해할 수 있습니다.개발 속도 향상개발자는 스웨거..

코딩/spring 2025.01.01

프로그래밍, 그리고 c언어의 기본개념과 배워야 하는 이유

프로그램 컴퓨터나 스마트폰에서 특정한 목적의 작업을 수행하기 위한 관련 파일의 모임 -사용자의 프로그램 조작에 따라 컴퓨터에게 적절한 명령을 지시 프로그래밍 언어 프로그램을 개발하기 위해 사용하는 언어 종류 -C, C++, Visual Basic, PASCAL, COBOL -Java, JSP, Javascript -Python, C#, Go, Swift, Kotlin 하드웨어와 소프트웨어 하드웨어 -중앙처리장치 -주기억장치 -보조기억장치 -입력장치, 출력장치 소프트웨어 -전자적 명령어들의 집합으로 구성된 프로그램 기계어와 컴파일러 기계어 -컴퓨터가 유일하게 인식가능한 언어 컴파일러 -고급언어로 작성된 프로그램을 기계어로 바꾸어주는 프로그램(C언어) 프로그래머 - 컴파일러 - 컴퓨터 즉, 컴파일러는 프로그..

코딩/c언어 2024.01.05

파이썬 조건문(if, else, elif, 중첩if)

안녕하세요 오늘은 조건문에 대해 공부해 보려고 합니다 조건문은 굉장히 많이 쓰이며 필수적인 내용이기 때문에 잘 알아두어야 합니다 조건문? 조건의 결과에 따라 명령의 순서를 선택하는 문장 조건문에서 주로 다루어야할 것은 if, else, elif, 중복활용 정도입니다 기본 if문 조건식이 참이면 문장을 처리하고 거짓으면 if문이 종료됩니다 -형식- if 조건식: 실행할 문장 1 2 3 4 5 6 a = 5 if a == 5: print(a) #결과 = 5 cs if, else문 조건식이 참이면 if문의 실행할 문장을 처리하고 아니라면 else문의 실행할 문장을 처리합니다 -형식- if 조건식: 실행할 문장 1 else: 실행할 문장 2 1 2 3 4 5 6 a = 5 if a == 5 print(a) #결..

코딩/파이썬 2022.03.05

파이썬 연산자 종류와 입출력

오늘은 파이썬 연산자가 무엇이고 어떤 것들이 있고 어떻게 사용하는지 알아보겠습니다 연산자(operator) = 연산할때 쓰는 기호(+, -, *,/...) 비연산자(operand) = 연산의 대상(변수, 상수, 식...) 연산자와 비연산자를 사용하여 수식을 만든다 그렇다면 이런 연산자의 종류에는 무엇이 있을까? 산술연산자 관계연산자 논리연산자 비트연산자 기타... 산술연산자 연산자 뜻 사용 예시 결과 + 더하기 3+2 5 - 빼기 3-2 1 * 곱하기 3*2 6 / 나누기 3/2 1.5 // 나누기 3//2 1 % 나누기(나머지) 3%2 1 ** 거듭제곱 3**2 9 대입연산자 연산자 사용 예시 의미 += a+=1 a=a+1 -= a-=1 a=a-1 *= a*=1 a=a*1 /= a/=1 a=a/1 //..

코딩/파이썬 2022.03.03

파이썬 입력과 출력 (input , print함수)

오늘은 파이썬의 입력과 출력에 대해 알아보겠습니다! 입력에 대표적인 함수 2개가 있는데요 input함수와 print함수 입니다 print 소개후 input에 대해 소개해 보겠습니다! %를 활용한 print() 함수 1. 정수형 데이터 서식 %d = 10진수 %x = 16진수 %o = 8진수 1 2 3 4 a = 10 print("%d" %a) #결과=10 print("%x" %a) #결과=a print("%o" %a) #결과=12 cs %필드폭d = 왼쪽에 필드폭에 적힌 수만큼 공백이 생깁니다 %0필드폭 = 왼쪽에 필드폭에 적힌 수만큼 0이 생깁니다 1 2 3 a = 10 print("%5d" %a) #결과= 10 print("%05d" %a) #결과=0000010 cs %-d=왼쪽정렬 %+d=+부호가 ..

코딩/파이썬 2022.02.18
반응형