전체 글 91

[OOP] interface - Go와 함께 알아보는 인터페이스(error, io package)

Go 와 함께 알아보는 interface 에 대한 포스팅입니다.      컴퓨터에서 인터페이스란인터페이스(interface)는서로 다른 두 개의 장치나 시스템 사이에서정보나 신호를 주고받는 접점, 혹은 경계면입니다. 즉 사용자가 기기를 쉽게 동작하는 데 도움을 주는 시스템입니다.개인 컴퓨터에서 인터넷 통신을 하기 위해서는본체에 랜선을 꽂아야 하는 것을 다들 알고 계시겠죠? 이 때 개인 컴퓨터를 사용하는 사람은벽에 끼워져 있는 선에서 부터 흘러나오는 전기적 신호의 규칙을 이해하고 있지 않더라도외부 네트워크 세상에서 흘러들어오는 정보를 잘 받아올 수 있습니다. 네트워크를 타고 흘러들어오는 정보는 “안녕!”과 같은 일반적인 텍스트여도절대 “안녕”이라는 문자 형태로 전송되어오지 않습니다.여러 프로토콜을 거쳐 결..

프로그래밍/OOP 2024.09.30

[Linux] traceroute 소스코드 분석

네트워크 공부를 하던 중패킷의 목적지까지의 경로분석을 해주는 유틸리티인 traceroute가 어떻게 생겼는 지(동작하는 지)를알아보기 위한 포스팅입니다.   traceroute (8)https://linux.die.net/man/8/traceroute한 네트워크 호스트까지의 패킷 경로를 추적한 결과를 내주는 명령입니다.  IP protocol의 TTL, 즉 time to live 필드를 사용합니다.TTL 값은 우리가 지정할 수 있고,패킷이 라우터를 한 개 거칠때마다 하나씩 줄어듭니다. 특정 목적지 도달 이전 TTL이 0이되면, 패킷은 source host에게 TIME_EXCEEDED 라는 ICMP 응답을 돌려주게 됩니다.이 ICMP 응답에 어디서(어떤 라우터에서) TTL이 0이 되었는지에 대한 정보가 실..

엔지니어에게 가장 중요한 것은?

[후니의 쉽게 쓴 CISCO 네트워킹 Vol.1 317p 발췌]   엔지니어에게 가장 중요한 것은 무엇일까요? 저자는 상대로 하여금 '신뢰를 갖도록 하는 것'이라 합니다.즉, 고객으로부터의 신뢰를 의미합니다. 신뢰를 얻은 엔지니어는 모든 일을 수월하게 실행할 수 있을 뿐 아니라고객의 전폭적인 협조로 일 자체도 수월해지고문제가 발생하도 고객이 스스로 해결하거나최소한의 인력 투입으로 해결되도록 협조를 하기 때문에엔지니어로서는 이보다 더 좋을 수가 없습니다.      그렇다면, 신뢰받는 엔지니어가 되려면 어떻게 해야 할까요? 일단 고객을 리드해야 합니다.고객보다 앞서 나가야 합니다. 네트워크 엔지니어라면, 네트워크 기술은 물론이고컴퓨터에 관한 기술, 신 기술 경향고객의 궁금증까지 쉽게 풀어줄 수 있는 능력이 ..

사람 2024.09.27

데이터 무결성과 DHCP

강남으로 가는 버스에서 이런생각을햇다 내가 만든 블로그 서비스가 있다여기서 글 하나를 일단 생성했다이 서비스의 글에 대한 경로는 /api/카테고리명/세부카테고리/글 번호이렇게 지정했다고 하자예시 나는 나중에 카테고리를 변경할 것이다 근데 카테고리 변경 전에 이 글에 대한 경로를 다른 글에서 썻다즉 링크를 걸었다예시 그러고나서 카테고리를 수정했다 그러면 글 경로가 변경된다그러면 다른 글에서 레퍼런스를 못한다 왜 이렇게 됐을까?논리적으로 동일하다 생각하는 객체가사실 물리적으로 다르게 참조되어있기 때문에 참조 에러가 발생했다(객체에 대한 참조는 하나만 가질 수 있다고 가정) 변할 수 있는 데이터에 대해서는 이렇게 유지하면 안되나? 뭐가 변하는 데이터인가? ERD를 생각해볼까여기서 데이터 무결성 생각했고전개 데..

사고실험 2024.09.23

24/09/23

1. 연구실에 가자마자 남는 스위치가 있어서 뜯어봤다. 20만원 상당의 제품이었는데, 막상 열어보니 뭔가 많이 없어서 오히려 신기했다. 방열판? 방열용 기둥(히트싱크라 한다.)이 많은 공간을 차지했다. 배치구조도 대칭적이지 않은데, 아마 회로 배치 및 열 관리에 따른 가장 효율적인 구조가 아닐까 싶다. 칩(트랜지스터)이 8개 있었고, 하나의 칩 마다 포트 2개를 담당하는 것 같았다. 포트가 8개씩 모여있는 집합이 2개 있었는데 각 집합마다 브로드캐스트 도메인이 다른걸까? 그렇다면 얘는 L3 스위치인가? 찾아보니까 그냥 스위칭 역할만 하는 L2 스위치라고 한다. 여러 설정 없이 바로 사용 가능한 L2 스위치인데도 포트 수가 많으니까 20만원 정도 하는 건가? 아무것도 모르는 나인데도 많이 비싸게 느껴지긴 ..

일기장 2024.09.23

[GitHub] 프로젝트 관리자가 여러 명일 때 - Organization 관리하기

[이전 포스트] [GitHub] GitHub 프로젝트 관리하기 - 프로젝트 관리자 입장에서Git - GitHub 프로젝트 관리하기GitHub 계정 없이 Clone 할 수 있기 때문에 공개 프로젝트를 공유할 때는 SSH보다 HTTP URL를 더 많이 공유한다. SSH URL을 사용하려면 계정도 있어야 하고 SSH 키도 GitHub에 등300-29-1.tistory.com    Git - Organization 관리하기만약 회사에 frontend, backend, deployscripts 이렇게 저장소가 세 개 있다고 하자. HTML/CSS/JavaScript 개발자는 frontend 저장소에 접근 권한이 있어야 한다. 반대로 운영하는 사람들은 backend 나 deployscripts 같git-scm.co..

[GitHub] GitHub 프로젝트 관리하기 - 프로젝트 관리자 입장에서

[이전 포스트] [GitHub] 개발자라고? 깃헙 알지? PR 할 줄 알지? - GitHub를 얕게만 아는 사람을 위해Git - GitHub 프로젝트에 기여하기과거에는 “Fork” 가 좋은 의미로 쓰이지 않았다. 오픈 소스 프로젝트를 “Fork” 한다는 것은 복사해서 조금은 다른 프로젝트를 만드는 것을 의미했고 때때로 원300-29-1.tistory.com    Git - GitHub 프로젝트 관리하기GitHub 계정 없이 Clone 할 수 있기 때문에 공개 프로젝트를 공유할 때는 SSH보다 HTTP URL를 더 많이 공유한다. SSH URL을 사용하려면 계정도 있어야 하고 SSH 키도 GitHub에 등록해야 한다. 브라우저에서git-scm.com'깃북 6.3 GitHub - GitHub 프로젝트 관리하..