본문 바로가기

반응형

전체 글

(152)
[운영 체제] Segmentation Falut란? 페이징과 세그멘테이션 얕게 이해하기 1. 개요 업무 중 특정 고객사의 프로세스에서 segfault가 발생하였다. 대학교 3학년 때 운영 체제 수업을 들으면서 분명히 배웠던 내용이지만 자세한 기억이 나지 않아 정리하게 되었다. 2. 기본 개념 정리 참고 : https://steady-coding.tistory.com/524 2.1) 메모리 메인 메모리 : CPU가 직접 접근할 수 있는 기억 장치 (CPU는 연산을 수행하는 장치로 Memory에 적재되어 있는 프로그램 코드를 참조하여 연산을 수행한다.) 가상 메모리 : 메모리의 공간은 한정적이기 때문에 사용자에게 더 많은 메모리를 제공하기 위해 가상 주소를 사용한다. 메모리 관리 장치는 가상 주소를 이용해 실제 데이터가 담겨 있는 주소로 변환해준다. 가상 메모리의 장점 프로그램 용량이 실제 물..
[Kubernetes] Flannel CNI & PAUSE 컨테이너 알아보기 - 가시다님 주관 Kubernetes network 스터디를 진행하면서 Vagrant와 VirtualBox를 활용하여 Kubernetes 실습 환경을 구성하고 있으며, Flannel CNI 및 Pause 컨테이너에 대해서 알아보기 위한 실습을 진행하고자 합니다. - 본 글에서는 Kubernetes 기초 개념 및 아키텍처 등에 대한 자세한 설명은 진행하지 않음 - 선 요약 1. Flannel은 L2 Layer 스위치이며, L3 계층의 가상 스위치를 만든 뒤 VXLAN Encapsulation 이 후 다른 Worker Node들과 브로드캐스팅을 한다. => 이로 인해 다른 워커 노드에 있는 Pod 와도 통신이 가능하게 된다. 2. Pause 컨테이너는 IPC, Network Namespace를 동일 Pod ..
[Linux] iptables 정리 - Kubernetes network 스터디를 진행하면서 iptables 개념은 필수로 이해하고 있어야 하기 때문에 정리하였습니다. iptables : 네트워크 패킷들을 규칙에 따라 제어(Accept, Drop, Modify, NAT, ..)하기 위한 유저 스페이스 레벨의 애플리케이션이다. Packet은 Netfilter에서 설정한 여러 Hook들을 통과하게 된다. Hook별로 iptables에서 정의한 각 Chain들의 Rule들을 점검하며, 해당 Rule에 매칭되면 특정 Action을 Trigger한다. ⇒ 해당 부분이 이해가 가지 않을 수 있다. 중간에 한번 더 해당 문구가 보일 경우 의미를 되새겨보면 이해할 수 있을 것이다. 유저 스페이스 레벨의 애플리케이션이란 어떤 의미일까? ⇒ iptables..
[Vagrant] Vagrant 기본 사용법 현재 가시다님이 주관하고 있는 KANS(Kubernetes Advanced Network Study)를 참여하고 있다. Kubernetes Network을 학습하기 위한 기반 지식을 학습하고 있다. - iptables - Docker - Linux (chroot, pivot_root, namespace, cgroups) - Vagrant - VirtualBox - .. 스터디 정보 https://gasidaseo.notion.site/c9cd413265ea4ea1b1ae38eb36dfda94 쿠버네티스 네트워킹 스터디 [모집 마감] 모집 종료합니다. 감사합니다. gasidaseo.notion.site 스터디하면서 공부한 내용을 정리하여 올려볼까 한다. 그 첫 번째로 간단히 Vagrant 사용법을 정리해보..
[Python] CLB 인스턴스 상태 및 등록, 해제하는 파이썬 스크립트 Shell Script 작성 글 https://nyyang.tistory.com/109?category=990664 [Shell Script] CLB 인스턴스 상태 및 등록, 해제하는 쉘 스크립트 업무 중 특정 고객사에서 CLB에 등록된 웹 서비스에서 배포 작업이 있을 때 팀 내 엔지니어가 서로 연락을 취하면서 1) CLB에 등록된 인스턴스 해제 2) A 웹 서비스 배포 및 서비스 재시작 3) CLB에 등 nyyang.tistory.com 위에 Shell Script로 작성했던 글을 Python으로도 작성해보았다. ### 스크립트 목적 - 고객사 중 한 곳이 Legacy하게 배포 작업을 진행하는 곳이 있음 (SFTP 수동 배포) 1) 특정 CLB에 붙어 있는 Instance 중 A존 Detach 2) 배..
[SpringBoot] 간단한 게시판 만들기 #7 - Thymeleaf를 사용한 Fornt view 구현 Thymeleaf는 View Template이다. common.html 공통 부분을 따로 구현하여, 다른 HTML 파일에서 replace 하여 사용 Board 홈 (current) 게시판 (current) detail.html 글 상세 보기 부분을 구현 글 읽기 제목 작성자 작성일 [[${#temporals.format(boardDto.createdDate, 'yyyy-MM-dd HH:mm')}]] 본문 내용 수정 삭제 list.html 게시판 글 내역들을 보는 페이지 번호 글제목 작성자 작성일 수정일 [[${pageNum}]] 글쓰기 검색하기 update.html '수정하기' 버튼을 클릭하면 나오는 페이지 제목 : 작성자 : 수정 취소 write.html 글쓰기 페이지 게시글 등록 제목 작성자 내용 뒤..
[SpringBoot] 간단한 게시판 만들기 #6 - SpringSecurity 개념 및 구현 SpringSecurity를 이용하여 Google OAuth2 Login을 구현해보도록 한다. config 패키지에는 SessionUser와 SecurityConfig 클래스를 작성해주고, Index (/) 경로로 들어오는 Client만 허용하도록 BaseController에 해당 분기를 설정한다. 또한 domain은 Role(일반 사용자, 손님) Entity와 User Entity를 작성하고, Service로는 CustomOAuth2UserService를 작성하여 비즈니스 로직을 구현해준다. 의존성 implementation 'org.springframework.boot:spring-boot-starter-oauth2-client' implementation 'org.springframework.boo..
[SpringBoot] 간단한 게시판 만들기 #5 - Service 구현 Service : Business Logic을 담당하는 부분이며 DB로부터 데이터를 받거나 전달해주는 역할을 한다. ++ 추가 설명 @Controller Handler가 Scan 할 수 있는 Bean 객체가 되어 Servlet용 컨테이너에 생성된다. @Service, @Repository 해당 Class를 루트 컨테이너에 Bean 객 체로 생성 BoardService : 게시판 Service CustomOAuth2Service : SpringSecurity로 OAuth2 Google Login 관련 Service ** shop.pingping2.board.service.CustomOAuth2Service는 추후 SpringSecurity 부분에서 설명 ** shop.pingping2.board.servi..

반응형