데몬에 대하여..
·
Study/리눅스
리눅스 데몬과 프로세스 트리 정리 PPID가 1이라는 게 무슨 뜻인지, 데몬이 어떻게 띄워지는지, systemd 시대엔 어떻게 바뀌었는지 1단계— 데몬이 뭐고 왜 이름이 d로 끝나나 2단계— PID·PPID로 보는 프로세스 트리 3단계— 데몬을 띄우는 두 방식과 systemd 시대 STAGE 1 데몬이 뭐고 왜 이름이 d로 끝나나 우리가 직접 켜지 않아도 백그라운드에서 조용히 돌고 있는 그 프로그램들의 정체. 1 데몬이라는 단어부터 풀어보자 서버에 SSH로 들어가서 ps aux를 쳐보면 내가 띄운 적이 없는 프로그램이 잔뜩 돌고 있다. sshd, cron, nginx 같은 것들. 이렇게 시스템이 부팅될 때 같이 켜져서 누가 요청을 보낼 때까지 백그라운드에 조용히 떠 있는..
리눅스 정리 — 명령어부터 SSH·RSA까지
·
Study/리눅스
리눅스 기본기 정리 — 명령어부터 SSH·RSA까지파일 명령어·디렉토리 구조·프로세스·권한·네트워크·키 인증을 한 번에 훑는다1단계— 파일 명령어와 입출력 리다이렉션2단계— 커널·쉘과 리눅스 디렉토리 구조3단계— 프로세스와 권한4단계— 웹서버·SSH·RSASTAGE 1파일 명령어와 입출력 리다이렉션매일 쓰는 ls·cd·rm을 다시 한 번 다지고, 명령 결과를 파일로 흘려보내는 리다이렉션까지 본다.1 ls — 디렉토리 안을 본다지금 어떤 폴더에 뭐가 들어있는지 보고 싶을 때 가장 먼저 치는 명령어다. 그냥 ls만 치면 이름만 나오고, 옵션을 붙이면 더 자세한 정보가 같이 나온다. 손에 익혀둘 옵션은 -l(자세히)과 -a(숨김 파일까지)다.$ ls -ldrwxr-xr-x 2 user user 4096 May..
Docker 네트워크 & Swarm 개념 정리
·
Study/도커
1단계 — Docker 네트워크 구조 이해 · overlay network 원리 · 컨테이너와 커널의 관계 2단계 — Docker Swarm overlay network vxlan 동작원리 · Docker Swarm 네트워크 아키텍처 STAGE 1 기본 개념 Docker 네트워크 구조 이해 · overlay network 원리 · 컨테이너와 커널의 관계 1컨테이너와 커널의 관계 커널이란? 커널(Kernel)은 Linux OS의 핵심이다. CPU, 메모리, 네트워크, 디스크 같은 하드웨어를 직접 관리하며, 모든 프로그램은 커널을 통해서만 하드웨어에 접근할 수 있다. 예를 들어 웹 서버가 네트워크 패킷을 보내려면, 직접 랜카드를 제어하는 게 아니라 커널에..
Java - Object와 OCP
·
Study/Java
해당 내용은 인프런 - 김영한의 실전 자바 - 중급 1편 내용을 정리한 글입니다. Object와 OCP1. Object가 없다면?만약 Object가 없고, Object가 제공하는 toString()이 없다면 서로 아무 관계가 없는 객체의 정보를 출력하기 어렵다. 만약 작성 해야 된다면 다음과 같이 각각의 클래스마다 별도의 메소드를 작성해야 할 것이다. public class BadObjectPrinter { public static void print(Car car) { //Car 전용 메서드 String string = "객체 정보 출력: " + car.carInfo(); System.out.println(string); } public static vo..
Java - Object의 toString()
·
Study/Java
해당 내용은 인프런 - 김영한의 실전 자바 - 중급 1편 내용을 정리한 글입니다. 1. toString() - 객체를 문자열로 표현하는 방법 디버깅을 하다 보면, 객체의 정보를 콘솔에 출력해야 될 때가 많다. 이 때 toString() 메소드를 제대로 이해하고 활용하면 개발 생산성이 향상된다. 1.1. toString() 이란?toString()은 Object 클래스에 정의된 메소드로, 객체의 정보를 문자열로 반환한다. 모든 클래스가 Object를 상속받기 때문에 모든 객체에서 사용할 수 있다. public class ToStringExample { public static void main(String[] args) { Object object = new Object(); ..
Java - Object 클래스
·
Study/Java
해당 내용은 인프런 - 김영한의 실전 자바 - 중급 1편 내용을 정리한 글입니다. 김영한의 실전 자바 - 중급 1편| 김영한 - 인프런 강의현재 평점 5.0점 수강생 10,700명인 강의를 만나보세요. 실무에 필요한 자바의 다양한 중급 기능을 예제 코드로 깊이있게 학습합니다. 실무에 필요한 다양한 자바 중급 기능, Object, 불변 객체, Stringwww.inflearn.com Java의 모든 클래스의 조상, Object 클래스개발을 하다 보면, Object 클래스를 자연스럽게 사용하지만, 정작 "왜 존재하는지", "어떤 역할을 하는지"는 명확히 정리되어 있지 않은 경우가 많다. 이번 글에서는 Object 클래스의 개념과 주요 메소드들을 정리하려고 한다. 1. Object 클래스란?1.1. 모..
리눅스 접근권한 관리
·
Study/리눅스
개발을 하다 보면 코드만 다루는 게 아니라 서버 인프라 관련 업무도 종종 맡게 된다. 이번에 폴더별 권한 부여라는 과업을 하면서 애매하게 알고 있던 부분들을 확실히 정리했다. 1. 파일 권한 정보 확인(소유권 & 허가권 확인 방법)1.1. ls -l : 파일/폴더 권한을 확인~ ❯ ls -l total 80drwx------@ 9 ojihwan staff 288 9 3 00:05 Desktopdrwx------@ 4 ojihwan staff 128 5 26 22:18 Documentsdrwx------+ 39 ojihwan staff 1248 8 24 21:53 Downloadsdrwx------@ 90 ojihwan staff 28..
Spring MVC 구조의 처리 과정 정리
·
Study/Spring
부족한 CS 공부를 진행하다가 잊혀진 개념에 대해서 다시 정리하고 있다. 이번엔 Spring MVC 구조의 처리 과정 처리에 대해서 정리해보자. Spring MVC 구성요소 1. DispacherServlet - Front Controller를 담당하고- Servlet / JSP에서 사용자 요청이 발생하면 요청 정보를 해석하고 모든 HTTP 요청을 받아들여서 다른 객체 사이의 흐름 제어 - Request를 처리할 Controller에게 전달하고 결과값을 받아서 View에 전달하여 응답 생성 2. HandlerMapping - Request URL에 따라 각각 어떤 Controller가 실제로 처리할 것인지 찾아주는 역할 3. Controller - Request를 직접 처리하고 그 결과를 다시 Dispa..
토비의 스프링 부트 - 스프링 JDBC 자동 구성 개발
·
Study/SpringBoot
본 글은 인프런 - 토비의 스프링 부트 강의를 듣고 정리할 목적으로 작성되었습니다 자동 구성 클래스와 빈 설계새로운 기술의 자동 구성 클래스를 작성할 때 자동 구성 클래스에 적용할 조건과 만들어지는 빈 오브젝트의 종류을 먼저 설계한다. Spring에서는 DataSource라는 Java 표준 기술을 사용해서 DB 커넥션을 관리한다. 자동 구성 클래스를 설계할 때는, 특정 라이브러리(HikariCP 등)의 존재 여부나 스타터 의존성 여부를 기준으로 적용 여부를 판단한다.Spring JDBC는 JdbcTemplate을 통해 DB 작업을 수행하며, JdbcOperations 인터페이스를 구현한 클래스다. DataSource는 DataSourceProperties 설정을 통해서 SimpleDriverDataS..
토비의 스프링 부트 - 외부 설정을 이용한 자동 구성
·
Study/SpringBoot
본 글은 인프런 - 토비의 스프링 부트 강의를 듣고 정리할 목적으로 작성되었습니다. 스프링 Environment 추상화 1. 스프링부트가 뽑아놓은 imports가 대략 150개 정도 된다. 그 목록이 imports로 끝나는 파일에 저장 되어 있다.- 무조건 적용 하는게 아니라, "후보로 로딩한다." 2. @Conditional 조건 체크를 이용해 하나씩 검증하며, 최종적으로 Application에 적용할 빈을 결정한다.- Configuration의 Class 레벨에서 Starter, Dependency를 등록하고 Classpath가 잡히게 되고 Class가 추가 된다. 3. @Bean 어노테이션이 붙은 메소드에서 빈 오브젝트를 생성 할 것인가, 아니면 개발자가 "유저 구성 정보"를 통해서 만들어..
SOAP 통신의 모든 것
·
Study/Spring
SOAP 이란?"Simple Object Access Protocol"로 HTTP, HTTPS, SMTP 등을 사용해서 XML 기반의 메세지를 컴퓨터 네트워크 상에서 교환하는 통신 프로토콜을 말한다. JSON과 같이 XML도 플랫폼과 프로그래밍 언어에 종속적이지 않기 때문에 이기종간의 통신이 가능하다는 장점이 있다. SOAP는 WSDL(Web Service Description Language)를 통해서 이 서비스가 현재 어떤 내용들을 제공해주는지 알려준다. REST의 예로 들면 api/v1/github/docs 라는 api가 해당 api에 대한 명세에 대한 목록들을 담고 있다 가정하면, SOAP에서는 WSDL이 그러한 역할을 해준다고 볼 수 있다. 동작원리 이 그림은 SOAP 기반 Web Servic..
스웜 모드(Swram mode) - 개념 및 manager, worker node
·
Study/도커
배경 도커를 처음 배울 때는 보통 하나의 서버(호스트)에서 도커 엔진을 설치하고, docker ps나 docker run 같은 명령어로 컨테이너를 실행해보는 식으로 시작한다. 이 과정에서 모든 작업이 단일 도커 엔진 안에서 이뤄지기 때문에, 도커라는 도구가 간단하고 직관적으로 느껴진다. 하지만 개발을 넘어 운영환경에서 도커를 적용하려고 하면 이야기가 달라진다. 단일 서버에서 도커를 사용하다 보면 언젠가는 자원이 부족해지는 순간이 온다. CPU 사용률이 치솟고, 메모리가 부족해서 컨테이너가 자주 시작되거나, 로그나 데이터 때문에 디스크 용량이 한계에 다다르는 상황이 발생한다. 마음 편하게 "그냥 성능 좋은 서버 하나 새로 사면 되지 않을까?" 이 방법은 당장의 문제는 해결해 줄 수 있지만, 거시적으로 ..
0'stin
0'stin