본문 바로가기

분류 전체보기22

인트라넷: 사설 IP부터 방화벽까지 서론: 모든 조직의 보이지 않는 혈관, 인트라넷오늘날 우리는 회사, 학교, 군대 등 거의 모든 조직에서 내부 전산망, 즉 **인트라넷(Intranet)**을 당연하게 사용합니다. 외부 인터넷 세상과 분리되어 조직 내부의 구성원들만 정보를 공유하고 소통하는 이 폐쇄적인 네트워크는 어떻게 탄생했으며, 어떤 기술적 원리로 외부의 위협으로부터 안전하게 유지될 수 있을까요?인트라넷의 등장은 1990년대 중반, 기업들이 월드 와이드 웹(WWW)의 폭발적인 잠재력을 목격하면서 시작되었습니다. 웹 기술의 편리함과 강력함을 사내 정보 공유, 업무 프로세스 자동화에 적용하려는 시도가 바로 인트라넷의 시초였습니다. 하지만 인터넷이라는 개방된 공간과 달리, 기업의 민감한 정보가 오가는 내부망은 철저한 보안과 통제가 필수적이었.. 2025. 9. 27.
뷰(view) 뷰(View)를 사용하는 구체적인 이유뷰를 사용하는 이유는 크게 단순성, 보안, 독립성 세 가지로 나눌 수 있습니다.1. 쿼리의 단순화 및 재사용 매우 복잡한 SELECT 문(여러 테이블을 JOIN하고, 특정 조건으로 필터링하며, 함수로 값을 계산하는 등)을 자주 사용해야 한다고 가정해 봅시다.JOIN 사용 시: 이 복잡한 쿼리를 매번 다시 작성하거나 복사/붙여넣기 해야 합니다. 쿼리가 길어질수록 실수할 가능성이 커지고 유지보수가 어렵습니다.뷰 사용 시: 복잡한 쿼리를 한 번만 뷰로 만들어 저장해두면, 그 다음부터는 마치 하나의 테이블처럼 간단하게 SELECT * FROM my_complex_view; 와 같이 조회할 수 있습니다. 쿼리가 매우 간결해지고 재사용성이 극대화됩니다.2. 보안 강화 🔒뷰는 .. 2025. 9. 25.
var let 차이와 특성 let을 사용하는 것이 요즘 표준이 된 이유는, var가 가진 예측하기 어려운 문제점들을 해결하기 위해서입니다. 핵심적인 차이는 '스코프(Scope, 유효 범위)'와 '호이스팅(Hoisting)'이라는 두 가지 개념에 있습니다.var의 문제점: 너무 넓은 활동 범위와 이상한 행동var는 초창기 자바스크립트부터 존재했던 변수 선언 방식이지만, 몇 가지 고질적인 문제를 가지고 있습니다.1. 함수 스코프 (Function Scope)var로 선언된 변수는 함수 전체에서 유효합니다. {} 블록(if, for, while 등)을 무시하고 밖으로 빠져나가는 특징이 있어, 개발자의 의도와 다르게 동작할 때가 많습니다.비유: var는 '유령' 같아서, 자기가 선언된 방({})을 마음대로 드나들며 건물 전체(함수)를 돌.. 2025. 9. 25.
자바 생태계와 스프링 프레임워크에 대한 이해 1. 자바의 철학: '한 번 작성하면, 어디서든 실행된다' (Write Once, Run Anywhere)1.1. 자바 생태계의 3대 핵심 요소: JDK, JRE, JVM자바가 "한 번 작성하면, 어디서든 실행된다(Write Once, Run Anywhere)"는 강력한 철학을 구현하기 위해 채택한 가장 근본적인 전략은 바로 JDK, JRE, JVM으로 구성된 독특한 소프트웨어 생태계입니다. 이 구조는 과거의 컴파일 언어들이 겪었던 심각한 플랫폼 종속성 문제를 해결하기 위해 설계되었습니다. C나 C++ 같은 전통적인 언어는 소스 코드를 컴파일하면 특정 운영체제(OS)에 맞는 기계어로 직접 변환됩니다. 예를 들어, 윈도우에서 컴파일한 .exe 실행 파일은 맥(Mac) OS나 리눅스(Linux)에서 작동하지.. 2025. 9. 23.
Node.js 설치 방법 1. https://nodejs.org/ko 검색창에 복사 붙여넣기 또는 링크를 클릭하여 접속합니다. Node.js — Run JavaScript EverywhereNode.js® is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts.nodejs.org 2. 다음과 같은 화면이 나오는데 상단 다운로드 버튼 클릭3. 버전을 선택할 수 있습니다. 그냥 사용하셔도 되고, 저는 안정화가 잘 되어 있는 v18.20.8 버전을 다운로드 하겠습니다. 4. 원하는 버전 확인 후 Windows 설치 프로그램 버.. 2025. 9. 7.
[SQL 튜닝] 함수는 죄가 없다. JOIN, 서브쿼리, 함수 제대로 알고 쓰기 "SQL에서 함수 사용은 성능 저하의 주범이니, 무조건 JOIN이나 서브쿼리로 바꿔라"개발자라면 한 번쯤 들어봤을 법한 성능 튜닝의 격언입니다. 정말 그럴까요? 이 말은 반은 맞고 반은 틀립니다. 오늘은 함수가 왜 성능 문제를 일으키는지, 그리고 JOIN, 스칼라 서브쿼리와 비교하여 각각을 언제, 어떻게 사용해야 하는지에 대해 명확하게 정리해 보겠습니다.1. 문제의 시작: 함수는 왜 위험할까? 🤔가장 큰 이유는 함수가 데이터베이스 옵티마이저의 똑똑한 판단을 방해하여 인덱스(Index)를 무용지물로 만들 수 있기 때문입니다.데이터베이스를 거대한 도서관, 인덱스를 책의 '색인 카드'라고 비유해 봅시다. WHERE 절에 인덱스가 걸린 컬럼을 그대로 사용하면, 사서는 색인 카드를 보고 책을 바로 찾을 수 있습.. 2025. 8. 30.