IT
-
정렬 알고리즘 (Sorting algorithm) 종류 및 구현 알아보기!IT 2025. 4. 23. 15:23
1. 버블 정렬 (Bubble Sort)가장 단순한 정렬 방식으로, 인접한 두 수를 비교하며 정렬합니다. 성능은 느리지만 구현이 쉬워 교육용으로 많이 사용됩니다.public void bubbleSort(int[] arr) { int n = arr.length; for (int i = 0; i arr[j + 1]) { int temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } }}2. 선택 정렬 (Selection Sort)매 반복마다 가장 작은(또는 큰) 값을 선택해 앞으로 보내는 방식입니다. 버블 정렬보다 비교 횟수는 적..
-
RDBMS 와 NoSQL 비교해 보기IT 2025. 4. 17. 14:31
🔍 RDBMS vs NoSQL 차이점 항목 RDBMS (Relational DBMS) NoSQL (Not Only SQL) 데이터 모델 테이블 기반 (행/열) 문서, 키-값, 그래프, 컬럼 기반 등 스키마 고정 스키마 (정해진 구조) 유연한 스키마 또는 스키마 없음 확장성 수직 확장 (서버 스펙 업) 수평 확장 (서버를 여러 개로 분산) 트랜잭션 ACID 보장 (정합성 우선) 대부분 Eventually Consistent (속도 우선) 쿼리 언어 SQL 전..
-
동등하다?(동등성) 동일하다?(동일성) 개념 정리IT 2025. 4. 17. 14:05
✅ 동등성과 동일성의 차이 (Equality vs Identity)Java를 포함한 객체지향 프로그래밍 언어에서는 동등성(equality)과 동일성(identity)을 구분하는 것이 매우 중요합니다. 겉보기에는 같아 보여도 내부적으로는 완전히 다른 의미를 가지기 때문이죠.🧠 1. 용어 정리구분설명동일성 (Identity)두 객체가 완전히 같은 객체인지 확인. 즉, 메모리 주소가 같은지를 비교. Java에서는 == 연산자를 사용.동등성 (Equality)두 객체의 내용이 같은지를 비교. Java에서는 equals() 메서드를 오버라이딩하여 비교.🔍 2. 자바 코드 예제로 이해하기public class Person { private String name; public Person(String ..
-
Git 브랜치 전략에 대해 알아보자! (+ git flow)IT 2025. 4. 16. 15:56
💡 왜 Git 브랜치 전략이 필요할까? Git은 강력한 분산 버전 관리 시스템이지만, 협업 시엔 브랜치를 어떻게 나누고 관리할지가 중요합니다. 명확한 브랜치 전략이 없다면 다음과 같은 문제가 생길 수 있어요: 코드 충돌이 자주 발생함 기능별 작업 상황을 추적하기 어려움 배포 시점이 모호해짐 긴급 수정 대응이 늦어짐👉 그래서 브랜치 전략이 필요합니다.🌲 Git Flow 전략이란? Git Flow는 복잡한 개발 프로세스를 체계적으로 관리하기 위해 만들어진 전략입니다. 릴리즈 주기가 명확하고 기능 단위로 작업이 나뉘는 환경에서 특히 유용합니다.🔀 브랜치 구성 브랜치 역할 설명 main운영 배포용 최종 브랜치 develop다음 릴리스를 ..
-
Call by value?? Call by reference?? 알아보자IT 2025. 4. 9. 17:38
📌 Call by Value vs Call by Reference프로그래밍 언어에서 함수나 메서드에 인자를 전달할 때, 그 방식은 크게 두 가지로 나뉩니다.✅ Call by Value (값에 의한 호출) 값 자체를 복사해서 전달 함수 내부에서 매개변수의 값을 변경해도, 원본 값에는 영향이 없음public class Example { public static void changeValue(int x) { x = 100; } public static void main(String[] args) { int num = 50; changeValue(num); System.out.println(num); // 👉 출력: 50 }}설명: ..
-
UTF-8 vs EUC-KR 알아보자IT 2025. 4. 8. 23:06
✅ 문자 인코딩이란?문자 인코딩은 사람이 이해하는 문자(character)를 컴퓨터가 이해할 수 있도록 숫자(바이트)로 변환하는 방식입니다. 예를 들어 “가”라는 글자는 컴퓨터가 직접 이해하지 못하기 때문에, 이를 숫자(예: 0xB0A1)로 변환해 저장해야 합니다. 이때 사용되는 규칙이 바로 문자 인코딩 방식입니다.🔤 UTF-8 인코딩 방식UTF-8(8-bit Unicode Transformation Format)은 유니코드 기반의 인코딩 방식으로, 전 세계 대부분의 언어를 표현할 수 있는 범용 인코딩입니다.가변 길이 인코딩: 1~4바이트영어: 1바이트 / 한글: 2~3바이트웹 표준 인코딩다양한 언어를 동시에 표현 가능🇰🇷 EUC-KR 인코딩 방식EUC-KR(Extended Unix Code for..
-
암호화(Encryption) vs 해시화(Hashing): 차이점과 사용 예시IT 2025. 4. 8. 17:59
데이터 보안이 중요한 요즘, 암호화와 해시화는 자주 언급되는 개념입니다. 하지만 이 둘은 비슷해 보이지만 전혀 다른 목적으로 사용됩니다. 이번 글에서는 이 둘의 차이점과 어떤 상황에 각각을 써야 하는지 예제를 통해 알아보겠습니다.🔐 암호화 (Encryption)란?암호화는 원본 데이터를 특정 알고리즘을 이용해 다른 형태로 변환하는 과정입니다. 변환된 데이터는 복호화 키가 있어야만 다시 원래대로 되돌릴 수 있습니다.▲ 대칭키 방식의 암호화 예시 (출처: Wikipedia) 대표 알고리즘: AES, DES, RSA 사용 목적: 정보 보호 및 안전한 전송 복호화 가능🧩 해시화 (Hashing)란?해시화는 임의의 길이를 가진 데이터를 고정된 길이의 값으로 변환하는 과정입니다. 이 과정은 단방향으로, 원..
-
[IT용어] Cloud 뜻이 뭐야? 뭐가 다르지?IT 2022. 10. 22. 13:47
요즘 cloud 시스템, cloud 환경, cloud computing, cloud로 구축한다. cloud 라는 용어를 많이 보게 되는데 이 용어가 가지는 의미를 알아보려고 한다. 의미에 대해 이해하려면 반대되는 용어도 같이 정리해보는게 더 도움이 될꺼같아서 온프레미스(on-premise) 라는 용어도 함께 정리해보자. 서버구축방식 차이에 대한 내용으로 용어 의미를 비교해보았다. 서버구축방식 차이 비교내용 클라우드 (cloud) 온프레미스 (On-Premise) 초기도입비용 월정액기반으로 사용한만큼 요금을 지불 일회성 비용으로 구매시 많은 비용예산이 소요됨 인력운영비 시스템 엔지니어의 업무 감소 시스템 엔지니어의 업무 증대 ( 서버 운영 및 관리/ 전산실 유지관리 등) 활용성/효율성 시스템 설계시 서버사..