본문 바로가기

분류 전체보기56

직접 설명해보는 패킷의 생성 원리 ※  아래 내용은 스스로 공부한 내용을 정리한 글입니다.     ※  때로 정확하지 않을 수 있으며, 참고만 부탁드립니다.     ※  잘못된 내용이 있을시 댓글로 알려주시면 감사하겠습니다.   ※ 노란 형광펜은 궁금점, 회색 형광펜과 파란 형광펜은 궁금점 해결에 대한 표시 입니다.   상황 전제 )proccess가 소켓에 I/O (입출력)을 시도한다. 이때 memory에 저장된 stream 데이터가 생긴다.  stream이란, 소켓 수준의 데이터 단위를 말한다. 소켓은 TCP라는 요소를 user mode application이 접근할 수 있도록 추상화한 인터페이스를 말한다. 소켓의 본질은 file이다. 그리고 소켓 수준의 데이터 단위는 stream이다. stream은 시작 지점부터 길게 쭉- 늘어진 데.. 2022. 9. 29.
직접 설명해보는 TCP/IP 송수신 원리 ※  아래 내용은 스스로 공부한 내용을 정리한 글입니다.     ※  때로 정확하지 않을 수 있으며, 참고만 부탁드립니다.     ※  잘못된 내용이 있을시 댓글로 알려주시면 감사하겠습니다.   ※ 노란 형광펜은 궁금점, 회색 형광펜과 파란 형광펜은 궁금점 해결에 대한 표시 입니다.    컴퓨터 구조는 세 부분으로 이루어진다. OS 수준의 User application (User mode)과 System S/W인 Kernel, 그리고 H/W 영역이다. 이 영역에 OSI 7 Layer가 위치한다. Kernel에는 Network 계층 L3와 Transport 계층 L4가 위치하고 있고,  User application에는 L5, L6, L7이 위치한다. 이를 더 간소화하여 네 개의 계층으로도 설명할 수 있다.. 2022. 9. 27.
Wireshark 개론, 네트워크 패킷 분석 툴 1. wireshark 란 무엇일까?무료 오픈 툴(tool)로서 네트워크 상의 패킷을 분석해서 보여주는 도구참고 > 처음 배포되었을 때의 툴의 이름은 Ethereal(이더리얼)이었으나 회선 위에서 상어가 패킷을 잡아먹는 것과 유사하다고 하여 프로그램의 이름을 wireshark(와이어샤크)로 개명유닉스와 윈도우에서 둘 다 사용이 가능하며 실시간으로 패킷 확인이 가능하여 유용추가로 패킷을 캡쳐하기 위해 pcap 네트워크 라이브러리를 사용엔지니어들이 네트워크적 문제를 해결하는데 많이 사용하는 도구 2. wireshark 사용법1번메뉴들을 나타내며 [ File | Edit | View | Go | Capture | Analyze | Statistics | Help ] 총 8개의 메뉴로 구성되어 있음[File] .. 2022. 8. 30.
Linux 생태계 이해하기 🐧 Linux?유닉스에 관심이 많았던 리누스 토발즈가 유닉스 시스템의 작은 버전인미닉스(Minix) 보다 좋은 운영체제를 만들자는 목표로 리눅스를 만들었다.리눅스는 커널이라고 부르는 리눅스의 핵심 부분만 작성해 배포한다.일반적으로 리눅스는 (리눅스 토발즈가 만든) 커널 + 컴파일러 + 셸 +기타 응용 프로그램이 조합된 배포판을 말한다. Linux의 주요 특징폐쇄적인 유닉스와는 다르게 리눅스는 누구든지 자유롭게 프로그램을 변경하여 유통시킬 수 있는 프리웨어이다. 우분투, 페도라 모두 수많은 배포판 종류 중 하나이다.다중 사용자, 다중 처리 시스템커널을 비롯해 대부분의 응용 프로그램의 소스 코드가 공개된 시스템(GPL)다양한 네트워크 프로토콜 및 환경 지원 : 리눅스는 네트워크에 관해 타의 추종을 불허할 .. 2022. 8. 30.
[버스커즈 프로젝트] 프로젝트를 마무리하며, 피드백 시간 가지기 🍊왕고냐가 구현한 기능 링크 🔍 👉프론트 작업 레파지토리 👉백엔드 작업 레파지토리 🍊왕고냐가 버스커즈 프로젝트로 느낀 점 에러 정리는 아주 중요하다. 어제 본 에러가 오늘도 보이고, 방금 해결한 에러로 팀원도 고생할 확률이 높다. 에러 메세지와 해결원인, 해결법을 기록해두면 공부도 되거니와 프로젝트 진행률을 높이는데 기여할 수 있었다.👍 에러 정리 참고 왕고냐의 기술 블로그 프로젝트를 진행하는데 있어, 팀원간의 코드리뷰와 서비스 흐름에 대한 토론은 필요하다. AJAX를 이용하여 페이지 이동 없는 화면을 구현할 때 팀원과 나의 DOM을 넣는 방식에 차이가 있었다. "이걸 이렇게도 할 수 있구나" 라는 생각은 더 나은, 더 효율적인 방법을 고안하게 만들었다. 생각하지 못했던 색다른 방법을 보면 사고의 확장이.. 2022. 7. 21.
[Spring boot] [에러 해결] 스택오버플로우요..? 드디어 내게도 이런 에러가 컴퓨터는 비명을 지름 하지만 에러 사랑꾼인 나는 조금도 놓치지않고 스택오버플로우라며 좋아 날뛰었다. 실제로 보는 건 처음이기때문... 인증샷 먼저 박고 디버깅을 해볼까! 에러 원인 아.. business 설계 담당자가 showmapper. 를 빠트려서 메소드 무한 반복... ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 에러 해결 Public int getTotal(ListDTO listDTO) { return showmapper.getTotal(listDTO) } 깨알 지식 stack overflow 란? 지정한 스택 메모리 사이즈보다 더 많은 스택 메모리를 사용하게 되어 에러가 발생하는 상황을 일컫는다. stack overflow 는 언제 발생하는가? 1. 재귀 함수 재귀 함수는 스택 오버플로우의 대표적인 사례다. 예시.. 2022. 6. 19.
[Spring Boot] [에러 해결] listDTO no getter이래잖어~ 나의 삽질 과정 에러 메세지 org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'listDTO' in 'class com.example.teamprojeect.domain.vo.list.ListDTO' https://twofootdog.github.io/Mybatis-There-is-no-getter-for-property-named-%EC%97%90%EB%9F%AC/ [Mybatis]There is no getter for property named 에러 | 두발로걷는개 Mybatis 에러 원인 및 해.. 2022. 6. 18.
[REST] [Ajax] RESTFul api 방식과 Ajax, json REST (Representational State Transfer) 직역하면 데이터 전송 대표 상태?! 1. 서버가 달라도 데이터를 전송하고 받을 수 있어야한다. 2. 개발할 때 다양한 언어를 쓴다. 다른 언어에서 다른 언어로 객체를 보낼 수 없기때문에 json 등의 방식을 쓴다. 즉, 서버가 달라지고 언어도 달리지니 원활한 데이터 전송을 위해 json을 사용하자는 것. 메서드 불러다가 편하게 데이터 쓰고싶다는 것. 그리고 이런 것을 'REST'라고 한다는 것! 그 전에, URL과 URI의 차이를 보자 UR은 Uniform Resource 를 의미하고 URL 의 L은 Locator URI의 I는 Identifier를 의미한다. 2022. 6. 4.
[SQL] [에러 해결] SQL Error [904] [42000]: ORA-00904: 에러 해결 에러 메시지SQL Error [904] [42000]: ORA-00904:에러 원인입력된 열 이름이 누락되었거나 잘못 되었을 경우 발생한다.- 존재하지 않는 열 이름을 지정함- 정의된 열 이름과 대소문자가 일치하지 않는 경우- 작은 따옴표(')와 큰 따옴표(") 사용 방법의 오류- 열 이름에 특수 문자 사용- 열 이름에 Oracle 예약어 사용 이 중 세번째, 따옴표 사용에서 문제가 있었다. 에러 해결작은 따옴표를 사용해서 값으로 취급해주고 해결했다.문자열을 표현하기 위해 "이진서콘서트" 와 "20220202" 로 작성했더니 오류가 났다.따라서 둘다 ' ' 작은 따옴표로 감싸주니 잘 실행되었다.  [ Reference ] [Oracle] ORA-00904 : 부적합한 식별자 invalid identifi.. 2022. 6. 4.