728x90
반응형

전체 글 147

[42서울] push_swap 그리디 알고리즘

서론 2서클 과제인 push_swap에 대해 정리해보려 한다. push_swap은 인자로 받은 숫자들을 두 개의 스택(stack_a, stack_b)을 이용해 최대한 적은 명령어를 사용하여 정렬하는 알고리즘을 구현하는 과제이다. 필자는 push_swap 평가를 처음 갔을 때 그리디 알고리즘을 사용하여 이 과제를 해결할 수 있다는 말을 듣고 매력적으로 느껴 그리디 알고리즘을 선택하게 되었다. push_swap 그리디 알고리즘 그리디 알고리즘은 매 결정마다 그 순간 최적의 결정을 내리는 과정을 반복해 최종적인 해답에 도달하는 알고리즘이다. 제한된 명령어만 사용할 수 있는 push_swap에 어떻게 그리디 알고리즘을 적용시킬 수 있을까? 답은 정렬되어 있지 않은 stack_b의 원소를 정렬된 stack_a로 ..

[42서울] Born2beroot 개념 정리 2

목차 파티션 - LVM sudo UFW SSH cron 과제 tip 명령어가 동작하지 않는다면 앞에 sudo를 추가해 보세요. 파티션 - LVM 하드디스크 파티션은 하드디스크를 여러 공간으로 나누어 사용하는 기술이다. 파티션 확인 lsblk LVM LVM(Logical Volume Manager)은 공간을 효율적으로 관리하기 위한 커널의 한 부분이다. LVM은 여러 디스크 공간 및 자투리 공간을 합쳐서 하나로 만들 수 있게 해 준다. 다른 디스크의 공간을 추가해서 사용 가능하다. 예시를 통해 알아보자. 기존 파티션은 하드디스크를 물리적으로 A구역, B구역... 이런 식으로 나누어 사용하는 반면, LVM은 물리적인 하드디스크를 작은 단위로 쪼개어 관리하며, 이들을 논리적으로 같은 공간으로 묶어 사용한다...

[42서울] Born2beroot 개념 정리 1

목차 서론 가상머신과 운영체제 사용자 관리 패스워드 정책 설정 호스트 서론 born2berroot(본투비)는 시스템(운영체제) 관리에 관련된 과제이다. 가상머신 개념 및 관련 용어, UFW 서비스, SSH 서비스, 유저 및 그룹 관리, 패스워드 정책 설정, 하드디스크 파티션과 LVM, SUDO, Cron 등에 대해서 배울 수 있다. 42서울의 다른 과제에 비해 코딩이 어렵기 보다는 처음 접하는 개념과 익숙하지 않은 환경에 공부할 것도 많고 은근히 까다로울 수 있는 과제이다. 이 포스팅에서는 본투비를 진행하며 배웠던 개념들에 대해서 정리해보겠다. 명령어가 동작하지 않는다면 앞에 sudo를 추가해보세요. 가상머신과 운영체제 가상머신 동작 원리 가상머신은 하이퍼바이저를 통해 동작 하이퍼 바이저 유형 TYPE ..

[Spring] DB에서 조건 검색 하는 방법 (Specification, Predicate)

오늘은 스프링JPA에서 DB 조건 검색을 하기 위해 제가 사용했던 코드들을 리뷰해보겠습니다. Repository @Repository public interface SubjectRepository extends JpaRepository, JpaSpecificationExecutor { } 리포지토리는 JpaRepository 사용 Specification을 사용하기 위해 JpaSpecificationExecutor를 extends 해주시면 됩니다. Specification, Dto public class SubjectSpecification { public static Specification subjectFilter(GetSubjectListRequestDto requestDto) { return (r..

[Spring] 엔티티 이름을 User로 지으면 안되는 이유와 해결 방법 (H2 버전 2.x.x)

코드 @Entity @Getter @Setter public class User { @Id @GeneratedValue @Column(name = "user_id") private Long userId; @Column(name = "user_name") private String userName; } 발생한 오류 Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Syntax error in SQL statement "\000a create table [*]user (\000a user_id bigint not null,\000a user_name varchar(255),\000a primary key (user_id)\000a )"; expected "ident..

[네트워크] #25 학교에서 노트북으로 구글 웹페이지에 접속하는 과정

목차 학교에서 노트북으로 구글 웹페이지에 접속하는 과정 DHCP ARP TCP HTTP Summary 1. 학교에서 노트북으로 구글 웹페이지에 접속하는 과정 1-1. DHCP 노트북을 연결하려면 자체 IP 주소, first-hop 라우터의 주소, DNS 서버의 주소 필요: DHCP 사용 UDP로 캡슐화, IP로 캡슐화, 802.3 이더넷으로 캡슐화된 DHCP 요청 DHCP 서버를 실행하는 라우터에서 수신된 LAN의 이더넷 프레임 브로드캐스트(대상-FFFFFFFFFFFF) 이더넷에서 IP로 디먹스 되고 UDP에서 DHCP로 디먹스 됨 DHCP 서버가 DHCP ACK를 공식화함 클라이언트의 IP 주소를 포함 클라이언트용 first-hop 라우터의 ip주소를 포함 DNS 서버의 이름과 IP 주소 DHCP 클라..

전공/네트워크 2023.12.12

[네트워크] #24 LAN (MAC 주소, ARP, Ethernet, 스위치, VLAN)

목차 LAN(Locak Area Network) MAC 주소 ARP(Address Resolution Protocol) Ethernet Switch VLAN 1. LAN(Local Area Network) LAN(근거리 통신망): 일반적으로 같은 건물 내에 있는 작은 지리적 영역 내에 포함된 네트워크 가정용 Wi-Fi 네트워크, 소규모 비즈니스 네트워크는 등 2. MAC 주소 MAC(or LAN or 물리적 or 이더넷) 주소 기능: 한 인터페이스에서 물리적으로 연결된 다른 인터페이스 네트워크로 프레임을 가져옴 48비트 주소 LAN에 연결된 각 인터페이스에는 고유한 MAC 주소가 있음 어댑터가 프레임을 일부 대상 어댑터로 전송하려는 경우 전송 어댑터는 목적지 어댑터의 MAC 주소를 프레임에 삽입한 다음 ..

전공/네트워크 2023.12.12

[네트워크] #23 Mulitple Access Protocols (TDMA, FDMA, Slotted ALOHA, CSMA/CD, Polling protocol, Token passing)

목차 Multiple access links and Protocols 채널 분할 방식 TDMA FDMA Random access protocols Slotted ALOHA CSMA CSMA/CD Taking turns Polling protocol Token passing 1. Multiple access links and Protocols 네트워크 링크에는 점대점 링크와 브로드캐스트 링크의 두 가지 유형이 있음 노드에 의한 둥 이상의 동시 전송: 간섭 노드가 동시에 두 개 이상의 신호를 수신할 경우 충돌 Mulitple access protocol (다중접속 프로토콜) 노드가 채널을 공유하는 방법, 즉 노드가 전송할 수 있는 시기를 결정하는 분산 알고리즘 채널 공유에 대한 커뮤니케이션은 채널 자체를 사..

전공/네트워크 2023.12.12

[네트워크] #22 링크 계층 (Error dection, Parity checking, CRC)

목차 링크 계층 Error detection 1. 링크 계층 노드: 호스트 및 라우터 링크(Link): 통신 경로를 따라 인접 노드들을 연결하는 통신 채널(그래프의 간선) 링크계층 패킷: 데이터그램 데이터 링크 계층은 하나의 노드에서 링크를 통해 물리적으로 인접한 노드로 데이터그램을 전송 Freaming 데이터그램을 프레임에 캡슐화, 헤더 추가, 트레일러 Link access 공유 매체인 경우 채널 액세스 프레임 헤더에서 소스, 대상을 식별하는 데 사용되는 "MAC" 주소 IP 주소와는 다름 인접 노드 간의 안정적인 전달 무선 링크: 높은 오류율 낮은 비트 오류 링크(파이버, 일부 트위스트 페어)에서는 거의 사용되지 않음 Error detection 신호 감쇄, 잡음에 의한 오류 수신기가 오류의 존재를 ..

전공/네트워크 2023.12.12

[네트워크] #21 Intra-AS, Inter-AS routing (OSPF, BGP, Intra-AS vs. Inter-AS)

목차 Intra-AS, Inter-AS routing OSPF BGP Intra-AS vs. Inter-AS routing 1. Intra-AS, Inter-AS routing 라우팅 규모 확장 네트워크 크기가 확장된 상황에서 라우팅 적용 라우팅 테이블에 수십억 개의 목적지 저장 불가 네트워크 관리자는 자신의 네트워크에서 라우팅을 제어하기를 원할 수 있음 Autonomous Systems(AS) 도메인 관점에서 보는 라우터들의 집합 Intra-AS routing 도메인 내에서 라우팅이 되는 것 AS 내의 모든 라우터는 동일한 도메인 프로토콜 실행 Gateway router: 다른 도메인으로 통신할 때 거쳐가는 관문 Inter-AS routing 도메인 간의 라우팅 게이트웨이에서 도메인 간 라우팅 수행(도..

전공/네트워크 2023.12.06
728x90
반응형