반응형

2025/06 9

[개발상식] OOP란?

OOP란?OOP(Object-Oriented Programming,객체지향 프로그) 은 프로그램을 객체 들의 상호작용으로 구성하는 프로그래밍 패러다임 이다.현실 세계의 사물이나 개념을 객체로 보고 그 객체를 구현하는 방식객체란?속성(데이터) + 동작(메서드)로 구성된 것을 말하면예를 들어 현실 세계에서 “자동차”라는 객체를 생각해보면:속성(필드): 색상, 브랜드, 속도, 연료량동작(메서드): 운전하다, 멈추다, 가속하다class Car { String color; int speed; void drive() { System.out.println("차가 달립니다."); } void stop() { System.out.println("차가 멈춥니다."); ..

CS/개발상식 2025.06.19

[최근동향] 생성형 AI, 이제는 작고 똑똑하게 – SLM 시대의 도래

생성형 AI, 이제는 작고 똑똑하게 – SLM 시대의 도래 최근 몇 년 사이, 인공지능은 비약적인 발전을 거듭해 왔습니다. 특히 GPT, Claude, Gemini 등 초거대 언어 모델(LLM)의 등장은 많은 사람들에게 “AI가 인간을 넘보는 시대”가 온 듯한 인상을 주었죠. 하지만 그 이면에는 환각(hallucination), 불신, 높은 비용, 그리고 모호한 책임 문제가 함께 자리하고 있습니다.이제 AI의 방향은 단순히 “크고 강력한 모델”을 지향하는 시대를 지나, 신뢰 가능하고 작지만 유능한 모델, 즉 SLM(Small Language Model) 중심으로 재편되고 있습니다. 왜 사람들은 AI를 믿지 못할까?KPMG와 멜버른대학교의 글로벌 AI 보고서에 따르면, AI를 신뢰한다고 답한 사람은 절반도..

CS/최근동향 2025.06.16

[개발상식]클린코드란?

클린코드란?가독성이 높고 유지보수가 쉬운 코드를 의미소프트웨어 개발에서 클린 코드를 작성하는 것은 코드 품질을 높이고 협업을 원할하게 하며 버그를 줄이는 중요한 원클린코드 작성법1. 의미 있는 변수 및 함수명 사용변수,함수,클래스 등의 이름은 코드의 의도를 잘 표현할 수 있도록 지어야 하며이름만으로도 코드가 하는 일을 예측할 수 있도록 해야한다.2.함수는 하나의 역할만 수행하나의 함수에 여러개의 기능을 수행하기보다는 여러개의 함수를 만들어 호출하는 방식으로 함수들을 분리하면 유지보수가 쉬워지고 가독성이 올라가면 테스에 용이하다.3. 서술적인 이름을 사용하라서술적인 이름을 사용하면 읽는 사람이 어떤 기능을 하는지 예측할 수 있도록 해준다.사각형 넓이 구하는 함수 ⇒ calculateSquare4. 객체 생..

CS/개발상식 2025.06.15

[네트워크]TCP/IP란?

TCP/IP란?패킷 통신 방식의 인터넷 프로토콜인 IP와 전송 프로토콜인 TCP를 의미하면 데이터를 주고 받을때 어떻게 나눌지,어디로 보낼지 ,어떻게 다 시 합칠지를 정의한다.IP의 역할은데이터를 목적지 까지 전달하는 역활을 한다.패킷이 제[대로 전달되었는지 확인하지는 않는다순서를 보장하지 않는다.TCP의 역할IP 위에서 동작하며 신뢰성 있는 통신을 보장한다패킷이 정확하게 도착했는지 확인보낸 순서대로 정렬하여 다시 조립TCP(Transmission Control Protocol)전송 제어 프로토콜로 osi 7계층에서 4계층인 전송 프로토콜에 해당한다.데이터 전송을 안정적으로 순서대로 에러 없이 전달한다.신뢰성 보장, 흐름제어, 혼잡제어 기능을 할 수 있다.흐름제어란? 데이터의 처리속도를 제어하여 수신자가..

CS/네트워크 2025.06.14

[네트워크]TCP/IP 와 OSI7 계층

계층을 나누는 이유각계층별 역할을 정의하여 서로다른 시스템에서도 원할하게 연결하기 위해문제해결의 용이성 문제가 발생하였을때 원인을 분석하기 쉽다.TCP/IP 4계층모델통신 규약(프로토콜)의 모음이다.인터넷에서 컴퓨터들이 서로 정보를 주고받는 데 사용되는 프로토콜의 집합을 설명하는 네트워크 아키텍처입니다1계층 - 네트워크 액세스 계층osi 7 계층에서는 물리계층과 데이터링크 계층에 해당실제 데이터를 전달하는 물리적인 계층입니다.전선, 광섬유, 무선 등의 매체를 통해 데이터를 전송합니다.이더넷 프레임을 통해 에러 확인, 흐름 제어, 접근 제어를 담당합니다.물리적 주소인 MAC 사용2계층 - 네트워크(인터넷)계층OSI 7계층의 네트워크 계층에 해당IP 주소를 사용하여 패킷을 목적지로 전송하는 역할을 합니다.I..

CS/네트워크 2025.06.14

[스프링부트] SSE 사용법 코드 예제

[Spring Boot]SSE란?Server-Sent-Event 약자로 서버에서 클라이언트로 실시간 데이터를 단방향 전송 할 수 있도록 하는 기술HTTP의 비연결성 문제를 해결하여 실시간 통신을 위한 방법중 하나로 SSE 이외에도 Polling,WebSocket 등이 존재한다. 특징단방향 통신 : 서버 → 클라이언트만 가능HTTP 기반 통신연결이 끊어지면 자동으로 재연결 한다.대부분 브라우저에서 지원한다.GET 메소드만 지원어디에 사용할 수 있을까?실시간 알림 서비스라이브 채팅주식/경매 등 실시간으로 가격등 업데이트 필요한 시스템공식 문서https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/servl..

[자바] 병합정렬 (합볍 정렬) (merge sort) 이란?

병합 정렬 이란?분할 정복 방법을 사용하여 가장 작은 문제로 분리하여 해결한 결과들을 가지고 원래 문제를 해결하는 방법이다.병합 정렬은 이 분할 정복 방법을 사용하여 주어진 배열을 정렬하는 방법으로주어진 배열을 절반으로 나누어 나누어진 배열을 정렬 하는 방법이다.이때 나누어진 배열이 또 나눌수 있다면 이 과정을 더이상 나누지 못할때 까지 반복하는 방법이다.시간 복잡도가 O(n log n) 으로 일반적인 정렬보다 정렬하는 속도가 빠르다.그림으로 설명하면 이걸 코드로 나누어 보면분할 단계 코드 static void mergeSort(int[] list,int left,int right) { //나누는 위치 if(left병합 단계 코드 static void merge(int[] list, int left..

알고리즘 2025.06.12

[백준 자바] 16173번 점프왕 쩰리(small)

문제쩰리’는 점프하는 것을 좋아하는 젤리다. 단순히 점프하는 것에 지루함을 느낀 ‘쩰리’는 새로운 점프 게임을 해보고 싶어 한다. 새로운 점프 게임의 조건은 다음과 같다.‘쩰리’는 가로와 세로의 칸수가 같은 정사각형의 구역 내부에서만 움직일 수 있다. ‘쩰리’가 정사각형 구역의 외부로 나가는 경우엔 바닥으로 떨어져 즉시 게임에서 패배하게 된다.‘쩰리’의 출발점은 항상 정사각형의 가장 왼쪽, 가장 위의 칸이다. 다른 출발점에서는 출발하지 않는다.‘쩰리’가 이동 가능한 방향은 오른쪽과 아래 뿐이다. 위쪽과 왼쪽으로는 이동할 수 없다.‘쩰리’가 가장 오른쪽, 가장 아래 칸에 도달하는 순간, 그 즉시 ‘쩰리’의 승리로 게임은 종료된다.‘쩰리’가 한 번에 이동할 수 있는 칸의 수는, 현재 밟고 있는 칸에 쓰여 있..

BookSpresso [안드로이드 + 스프링부트]

1. 프로젝트 개요프로젝트 명 : BookSpresso기간 : 2025.05.23~2025.05.27 (5일)팀 구성 : 2인 팀 프로젝트북스프레소는 룸 형태의 북카페에서 사용할 수 있는 모바일 애플리케이션으로,사용자가 방 안에서 책을 읽으며 움직이지 않고 음료 및 디저트를 주문하고,NFC 태그를 통해 책을 간편하게 대여·반납할 수 있도록 설계된 스마트 서비스입니다.2. 기획 의도 / 배경기존 북카페에서는 책 대여 및 음식 주문이 번거롭고, 관리 측면에서도 효율이 떨어지는 점이 있었습니다.저희는 이를 디지털화하여 고객 편의성과 운영 효율을 동시에 향상시키는 것을 목표로 프로젝트를 기획했습니다.3. 주요 기술 스택Frontend: Android (Kotlin)Backend: Spring Boot, Spri..

프로젝트 2025.06.04
반응형