일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Go디자인패턴
- vue3 axios
- vue3
- 디자인패턴학습필요성
- Line차트
- Iperf3
- Vue.js
- 대역폭측정하기
- Golang부하테스트
- GO부하테스트
- 리플렉션성능
- Golangbenchmark
- Go성능테스트
- GObenchmark
- Golang벤치마킹
- 챠트그리기
- snoflake
- Go벤치마크
- line챠트
- GO벤치마킹
- vue3 통신
- Golang디자인패턴
- Golang성능테스트
- vue3-chartjs
- 디자인패컨
- golang벤치마크
- golang uuid
- go리플렉션성능
- go로드맵
- pprof
- Today
- Total
목록전체 글 (48)
import ( "코딩", "행복", "즐거움" )

리눅스 환경에서 서비스 할 것임으로 .net core 기반에서 작업을 한다. 현재 노트북에서 작업을하는데 맥북에어 m2버전이다. 이 버전에서는 .net sdk 설치 시 m2지원 가능한 버전을 다운로드 받아서 설치 해야 한다. 다운로드 사이트 https://dotnet.microsoft.com/ko-kr/download 위 그림처럼 .net sdk x64 버튼 옆의 아래방향 버튼을 누그로 Arm64버전을 다운로드 한다. 이제 터미널을 열어 아래 처럼 입력하면 설치된 것을 확인 할 수 있다. MacBookAir ~ % dotnet Usage: dotnet [options] Usage: dotnet [path-to-application] Options: -h|--help Display help. --info ..
UDP는 데이터 전송 시 데이터 패킷 손실을 감지하거나 복구하지 않습니다. 따라서, 데이터 패킷의 일부가 네트워크 혼잡으로 인해 손실될 수 있습니다. 두 개 이상의 패킷이 동시에 네트워크를 통해 전송될 때, 패킷 충돌이 발생할 수 있습니다. 이 경우 충돌된 패킷 중 하나 이상이 손실될 수 있습니다. UDP 패킷의 크기가 라우터나 네트워크 장비에서 처리할 수 있는 최대 크기를 초과하는 경우, 패킷 손실이 발생할 수 있습니다. 네트워크 장비에서 오류가 발생하거나, 장비가 과부하인 경우 UDP 패킷의 일부가 손실될 수 있습니다. 따라서, UDP는 신뢰성이 낮은 전송 프로토콜이며, 데이터 손실이 발생할 수 있습니다. 이러한 이유로 UDP는 대부분 실시간 스트리밍, 온라인 게임, DNS 등에서 사용됩니다. 이러한..
중재자 패턴(Mediator Pattern)은 객체 간의 상호작용을 캡슐화하여 객체 간의 결합도를 낮추는 디자인 패턴입니다. 이 패턴에서 중재자(Mediator)는 객체 간의 통신을 총괄하는 객체로서, 객체 간의 직접적인 상호작용을 허용하지 않고 중재자를 통해 간접적인 상호작용을 수행하도록 합니다. 이를 통해 객체 간의 결합도를 낮출 수 있습니다. 중재자 패턴은 다음과 같은 구성 요소로 구성됩니다. 구성요소 중재자(Mediator): 객체 간의 상호작용을 총괄하는 객체입니다. 동료(Colleague): 중재자를 통해 상호작용을 수행하는 객체입니다. 중재자패턴의 장점 객체 간의 결합도가 낮아져 객체를 수정하거나 추가하는 일이 쉬워집니다. 객체 간의 상호작용이 중재자를 통해 이루어지므로 코드의 복잡성이 낮아..
메멘토 패턴은 객체의 상태를 저장하고 복원할 수 있는 설계 패턴으로, 주로 소프트웨어에서 되돌리기 기능을 구현할 때 사용됩니다. 이 글에서는 메멘토 패턴에 대해 설명하고, 이를 사용하여 프로그래밍에서 객체 상태 관리를 어떻게 할 수 있는지 알아보겠습니다. 메멘토 패턴 소개 메멘토 패턴은 캡슐화를 유지하면서 객체의 내부 상태를 저장하고 이전 상태로 복원하는 것을 목적으로 하는 패턴입니다. 메멘토 패턴의 주요 구성 요소는 세 가지로 구분됩니다. Originator: 상태를 저장하고 복원할 객체 Memento: Originator의 상태를 저장하는 객체 Caretaker: Memento를 저장하고 관리하는 객체 메멘토 패턴의 동작 원리 메멘토 패턴은 다음과 같은 과정을 통해 동작합니다. Originator의 ..
원문: https://zenn.dev/kouhei_fujii/articles/72ac1f8d4e8a84 【Golang】コネクションプーリングの設定をテストしてみる 最近はNuxt, TypeScriptで開発をしています。 バックエンドはGo, Rubyの経験があります。 zenn.dev 개요 이번 글에서는 Golang에서 연결 풀링 설정에 대해 설명한다. 커넥션 풀링은 데이터베이스와의 접속을 위한 리소스를 미리 확보해 두었다가 필요할 때 해당 리소스를 이용함으로써 접속 시간을 단축하거나 Mysql에 과도한 부하가 걸리지 않고 시스템의 응답성을 향상시킬 수 있게 됩니다. 환경 본 글의 코드는 아래 환경에서 동작을 확인하였습니다. Golang v1.18.6 Mysql Ver 8.0.32 Docker version 20.1..
프로세스는 메모리를 여러 영역으로 나누어 사용합니다. 각 영역은 주소 공간(Address Space)을 차지하며, 프로세스는 이러한 영역을 사용하여 실행 중인 프로그램과 관련된 데이터를 저장하고 관리합니다. 일반적으로 대부분의 운영 체제는 프로세스를 위한 4개의 주요 메모리 영역을 제공합니다. 텍스트 영역 (Text Segment 또는 Code Segment) 실행 파일에 포함된 코드를 저장하는 메모리 영역입니다. 이 영역은 읽기 전용으로 지정되며, 프로그램 코드가 저장되어 있습니다. 데이터 영역 (Data Segment) 전역 변수와 정적(static) 변수를 저장하는 메모리 영역입니다. 이 영역은 초기화된 데이터를 저장합니다. BSS (Block Started by Symbol) 영역 초기화되지 않은..
비지터 패턴은 객체지향 프로그래밍 패턴 중 하나로, 주로 데이터 구조와 그 데이터를 처리하는 로직을 분리하고자 할 때 사용합니다. 간단하게 말하면, 여러 종류의 객체에 동작을 적용하려 할 때 비지터 패턴이 유용합니다. 예를 들어, 동물원에서 동물들을 관리한다고 가정해보겠습니다. 동물원에는 여러 종류의 동물이 있고, 이들에게 다양한 활동을 시키고 싶습니다. 이때 비지터 패턴을 사용하면 동물 클래스와 활동 로직을 분리할 수 있습니다. 이렇게 하면 동물에 대한 정보와 활동 로직이 결합되지 않기 때문에, 새로운 동물이나 활동을 추가할 때 기존 코드를 수정하지 않고 확장이 가능합니다. 간단한 비유로, 동물원에서 '방문자'가 차례로 동물들을 방문하며 다양한 활동을 수행한다고 생각할 수 있습니다. 이 방문자는 각 동..
메모리 페이징은 컴퓨터가 데이터를 관리하는 방식 중 하나로, 이해하기 쉽게 설명하자면, 컴퓨터가 정보를 저장하고 가져오는 방법을 조금 더 효율적으로 만든 것이라고 할 수 있습니다. 이를 책을 읽는 것에 비유하면 이해하기 쉬울 것입니다. 예를 들어, 커다란 책을 읽을 때 우리는 책을 한 페이지씩 넘기며 읽습니다. 이때, 책의 전체 내용을 한 번에 보는 대신에, 필요한 부분만 찾아볼 수 있는 것이죠. 메모리 페이징도 비슷한 원리로 작동합니다. 컴퓨터는 정보를 메모리에 저장합니다. 그러나 메모리는 한정된 크기를 가지고 있기 때문에, 컴퓨터는 데이터를 작은 조각으로 나누어 저장하고 관리합니다. 이 작은 조각들을 '페이지'라고 부릅니다. 프로그램이 실행되면, 컴퓨터는 필요한 페이지만 메모리에 불러옵니다. 이후 프..
인터프리터 패턴?? Interpreter 패턴은 특정 언어의 문법 규칙을 클래스화하고, 이를 사용하여 특정 언어로 작성된 문장을 해석하는 패턴입니다. 이 패턴은 각 문법 규칙을 나타내는 AbstractExpression 클래스와 하위 클래스로 구성됩니다. 이 클래스들은 해석하고자 하는 언어의 구문 요소를 나타내며, 해석하는 데 필요한 메서드를 구현합니다. Interpreter 패턴에서는 Context 클래스가 사용될 수있고 생략할 수 도 있어요 .. Context 클래스는 해석하고자 하는 언어의 상태를 저장하며, Expression 클래스에서 이 상태를 참조하여 결과를 반환합니다. Context 클래스는 ConcreteContext 클래스로 구현되며, 해석하고자 하는 언어의 상태를 저장하는 역할을 합니다..
인덱스(Index)는 데이터베이스에서 테이블의 검색 성능을 향상시키기 위한 데이터 구조입니다. 데이터베이스 테이블에 대한 인덱스를 생성하면 검색 작업을 수행할 때 데이터베이스가 전체 테이블을 검색하는 대신 인덱스를 사용하여 검색 속도를 높일 수 있습니다. 인덱스를 사용하면 데이터베이스 검색 작업의 속도가 향상되지만, 인덱스를 생성하면 데이터베이스 크기가 증가하고 쓰기 작업에 대한 성능이 감소할 수 있습니다. 이러한 이유로 인덱스를 잘못 사용하면 오히려 데이터베이스 성능에 부정적인 영향을 미칠 수 있습니다. 따라서, 인덱스는 데이터베이스 성능을 최적화하기 위해 사용되지만, 테이블의 크기와 쿼리 패턴 등을 고려하여 신중하게 설계해야 합니다. 효율적으로 사용된 인덱스는 데이터베이스 검색 작업을 빠르고 효율적으..