네트워크와 CS 26

[Network] traceroute을 사용한 네트워크 실습

내 컴퓨터에서 구글까지 9개의 네트워크 대역이 지나간걸 알 수 있다. 보통 10개에서 15개 안에서 전세계가 연결될 수 있다고 한다. 이렇게 여러 네트워크들이 연결되어있는 걸 WAN(Wide Area Acess) 이라고 한다. daeunkim@Daeunui-MacBookPro ~ % traceroute 8.8.8.8 traceroute to 8.8.8.8 (8.8.8.8), 64 hops max, 52 byte packets 1 10.160.136.1 (10.160.136.1) 4.773 ms 4.382 ms 4.317 ms 2 * * * 3 100.70.61.181 (100.70.61.181) 7.073 ms 7.091 ms 7.885 ms 4 10.63.252.236 (10.63.252.236) 5...

네트워크와 CS 2024.01.04

[컴퓨터구조] 진법 변환의 실무 활용 예시

오늘 컴퓨터 구조를 공부하다가 문득 궁금한게 생겼다. 진법변환(이진법, 16진수)를 활용하여 실무에 활용하는 일이 있을까?! 이런의문.. 웹개발자, 백엔드 개발자로 근무하면서 진법변환과 같은 지식들이 필요했던적이 없던걸로 기억한다. 초반에 개념적인 부분들이 많다보니까 중요도를 부여하는게 잘안되는것 같다..! 하지만 알아보니, 진법 변환같은 경우는 실무에선 거의 쓰이지 않지만 아주 low-level에서는 쓰이기도 한다고 한다. network를 subnet을 나눌때도 사용하기도 한다. 컴퓨터는 결국 0과 1로 동작한다고 설명을 하지만 쉽게 얘기하면 결국 회로에 전기가 흐르냐/아니냐에 따라 1과 0으로 표시된다고 이해하면 될 것 같다. 컴퓨터 공학에서 진법 변환이란, 하나의 진법에서 다른 진법으로 수를 변환하..

네트워크와 CS 2023.05.10

[컴퓨터구조]C언어 내부적 컴파일 과정

지난 1년간 실무를 경험하면서 부족했던 근본지식을 채우고 내 머릿속 컴퓨터 지식들을 도식화하기 위해 컴퓨터 구조와 운영체제를 공부하고있다. 아마 웹/앱개발을 한 사람이라면, 이미 C언어보다는 다른 프로그래밍 언어를 주로 다루고 있을 가능성이 높겠지만. C언어는 다른 프로그래밍 언어의 기반이 되는 언어이기도하다. C언어 내부적 컴파일 과정을 이해하면, C언어의 작동 방식과 이를 이용한 프로그래밍 기법을 이해할 수 있게 된다. 그렇다고 갑자기 C언어를 메인언어로 갈예정은 전혀 아니다. 컴퓨터 구조를 이해하기 위해 공부하는 것이다. 개발 시 컴파일 에러 메시지를 이해하고 수정하는 데 깊은 이해 덕분에 도움이 될것같다. C언어 내부적 컴파일 과정에 대해 알아보도록 하자. C 언어 소스 코드를 컴파일하여 실행 파..

네트워크와 CS 2023.05.09

[ProblemSolver] @Transactional(readOnly = true)는 왜 필요한가?

회사에서 소스코드를 분석하고 에제코드를 작성해보면서 단순히 왜 쓰는지에 대해 이해도가 전혀없이 @Transactional(readOnly = true) 을 주었다. 트렌젝션 일어나는 insert, update, delete 에는 쓰기가 가능하도록 별도록 @Transaction 어노테이션을 메서드에 선언해야한다. Class Level에는 공통적으로 적용되는 읽기전용인 @Transacrtion (readOnly = true) 어노테이션을 선언만하고 실행을 시켜본 결과 당연히 되지않았다. 그래놓고 왜 update가 왜 안될까 고민하고 있었다. 아래와 같이 트렌젝션 일어나는 insert, update, delete 에는 쓰기가 가능하도록 @Transactional 어노테이션을 달아줘야한다. @Service @T..

네트워크와 CS 2022.10.24

[ProblemSolver] 개발 서버 구축하고 build 할 때 생기는 이슈들

안녕하세요. 스타트업으로 백엔드개발자로 이직한지 2주차입니다. 현재는 회사에서 사용하고 있는 백엔드 기술을 파악하고 소스코드를 분석하고 간단히 예제코드를 짜는 작업을 하며 업무 파악 중에 있습니다. 간단히 읊어보자면, 현재 회사에서는 Kotlin Web Server로 스프링부트를 사용하고 있고, JPA인 queryDSL을 사용하고 있습니다. 회사에서 사용하고 있는 백엔드 기술 기반으로 개발환경을 구축하고 코드작업을 하는데 지난 일주일동안 반복되는 에러를 경험하게되는 일 있었는데요. 그 때 겪은 이슈들을 공유해보고자합니다. 개인적으로 제일 어려운게 개발환경셋팅과 서버구축인것 같습니다. 1. 호환되지않는 다른 개발환경의 버전의 충돌 이슈 java, sdk, jdk , springboot 여러 개발 환경 버전..

네트워크와 CS 2022.10.23

면접 스터디 3주차 DB/Web/Network

DB DBMS란? DBMS는 데이터베이스 관리 시스템이다. 사용자가 데이터에 관한 정보를 가능한 한 효율적이고 효과적으로 구성, 복원 및 검색 할 수 있도록하는 응용 프로그램 모음이다. RDBMS란? 관계형 데이터베이스 관리 시스템 데이터베이스에 별도의 테이블에 저장된 관계형 데이터 모델을 기반으로하며 공통 열의 사용과 관련이 있다. SQL (Structured Query Language)을 사용하여 관계형 데이터베이스에서 데이터에 쉽게 액세스 할 수 있다. DBMS의 장점은? 데이터는 구조적으로 저장되므로 중복성 제어 입력 한 데이터의 유효성을 검사하고 데이터베이스에 대한 무단 액세스 제한 제공 필요한 경우 데이터 백업 및 복구 제공 여러 사용자 인터페이스를 제공 데이터베이스에서 유형의 관계에 대해 설..

네트워크와 CS 2022.02.23

섹션 4. HTTP 메서드

HTTP API를 만들어보자 요구사항 회원 정보 관리 API를 만들어라 회원 목록 조회 회원 조회 회원 등록 회원 수정 회원 삭제 API URI 설계 URI(Uniform Resource Identifier) • 회원 목록 조회 /read-member-list • 회원 조회 /read-member-by-id • 회원 등록 /create-member • 회원 수정 /update-member • 회원 삭제 /delete-member 가장 중요한 것은 리소스 식별 API URI 고민 리소스의 의미는 뭘까? 회원을 등록하고 수정하고 조회하는게 리소스가 아니다! 회원이라는 개념 자체가 바로 리소스다. 리소스를 어떻게 식별하는게 좋을까? 회원을 등록하고 수정하고 조회하는 것을 모두 배제회원이라는 리소스만 식별하면 ..

네트워크와 CS 2022.02.20