인터넷은 우리의 삶을 아주 편리하게 만들어 주는 통신기술입니다. 우리는 컴퓨터에서 브라우저라는 애플리케이션을 통해 데이터를 손쉽게 전송하고, 수신받을 수 있습니다. 우리가 전송한 데이터가 어떻게 목적지까지 전달하고, 어떻게 다시 응답이 올 수 있는지 이해하기 위해서는 OSI 네트워크 계층의 동작을 전반적으로 이해하고 있으면, 다른 사람에게 손쉽게 설명할 수 있습니다. 이번 포스팅에서는 OSI 네트워크 계층과 자주 사용하는 TCP/UDP 통신에 대해 알아보겠습니다. OSI 7 계층 개요 OSI 7 계층이라 하면, 컴퓨터 네트워크 프로토콜과 통신 계층을 말합니다. 계층은 아파트 계단과 같다고 생각하면 쉽습니다. 7층에 도달하기 위해서는, 1~6층을 올라야만 하는 것처럼, 네트워크도 상위 계층에 도달하기 위해..
프로그래밍을 하다 보면, 본인도 모르게 같은 코드를 중복해서 작성하는 하기도 하고, 개발 일정이 촉박하여 변수, 함수, 클래스 이름을 테스트용 또는 의미 없는 단어로 작성하기도 합니다. 이후 소프트웨어를 유지 보수하기 쉽지 않고, 코드 가독성이 떨어지고 도한 간단한 수정임에도 불구하고 사이드 이팩트가 곳곳에서 발견됩니다. 기존 기능은 유지한 채, 소스 코드 아키텍처를 다시 재구성하는 방법을 리팩토링이라고 부릅니다. 그리고, 리팩토링을 자주 하고 코드의 가독성이 좋고, 유지 보수하기 좋은 구조를 갖춘다면 클린 코드가 될 것입니다. 우리가 클린 코드 작성을 위해 노력하는 이유는 개발자 및 운영자가 결국 일을 편하게 하기 위해 노력하는 행위입니다. 이번 포스팅에서는 클린 코드 작성을 위한 코드 스멜을 개선하는..
컴파일 과정 Compile : 소스코드 –> 어셈블리어로 변환, CPU에 의존적임 Assemble : 어셈블리어 –> 목적 파일(이진 파일)로 생성, 주소 정보가 기록되지 않음 Linking : 목적 파일, 라이브러리 –> 실행파일로 변환, 주소 정보가 기록되어 있음. OS에 의존적임 프로그램의 메모리 공간 데이터 : 전역 변수가 저장 스택 : 지역변수 및 매개변수 저장 힙 : 동적 메모리 저장(malloc) malloc & free : malloc으로 할당된 메모리는 free하지 않으면 해제되지 않는다. 함수 오버 로딩 함수 이름은 같으나, 전달 인자를 다르게 정의된 함수. C++은 함수 이름과 인자를 동시에 참조하여, 호출할 함수를 결정함 Namespace 이름 공간으로 함수, 클래스, 변수 명을 구..
"시작이 반이다"라는 말이 있듯이, 어떠한 일을 하고자 마음먹었을 때, 당장 시작하는 것만으로도 상당한 진전이 있습니다. 개발환경도 프로그래밍 언어를 익히기 전에, 환경설정 및 프로젝트 빌드 환경 구축하는 것만으로 진도가 많이 나간 것입니다. 본 포스팅에서는 SpringBoot 프로젝트 빌드 환경 구축 및 실행하는 방법에 관하여 글을 작성합니다. 스프링 부트 프로젝트 빌드, 실행하기 SpringBoot 초기 환경 설정이 작성되어 있는 프로젝트를 spring.io 사이트에서 다운로드하여 IntelliJ로 스프링 부트를 실행하는 것이 실습의 주요 목적입니다. 본 실습은 Java 프로그래밍 언어, IntelliJ IDEA를 통해 진행하므로, 두 가지 언어 및 IDE에 익숙해진다면, SpringBoot를 사용하..
- Total
- Today
- Yesterday
- 스프링부트실행
- springboot restapi
- API Gateway 캐싱
- MPA
- oracle pga sga
- C++
- 클린코드작성법
- iframe 태그 찾기
- 코드스멜 유형
- OSI 7계층
- SPA
- 테스팅 자동화
- oracle 메모리
- 클린코드작성원칙
- token
- 스프링부트빌드
- springboot build
- notion 업무일정관리
- notion
- springboot rest api 서버
- TCP/UDP
- 멀티코어 멀티프로세서
- 디자인패턴 구조패턴
- codesmell 유형
- 스프링부트 restapi
- python
- selenium
- springboot 실행
- 디자인패턴
- AWS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |