728x90 반응형 전체 글164 VisualStudio Remote Debugging 1. 원격 디버거 설치 및 관리자 권한 실행 Visual Studio 가 설치되어 있다면 Remote Debugger에서 msvsmon.exe을 찾은 뒤 클릭한다. C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\Remote Debugger\x64\msvsmon.exe ( 위 경로는 버전/구매 라이선스마다 다를 수 있습니다. ) 더보기 C:\Program Files\Microsoft Visual Studio\2022\Preview\Common7\IDE\Remote Debugger\x64\msvsmon.exe 다음 단계까지 수락하고 나면 원격 디버거가 실행되면서 PC이름:포트번호로 연결되었음을 알 수 있다. 작업표시줄 아이콘에서도 확.. 2023. 5. 24. Shell 사용법(foreground/background) 프로세스 : 가상 메모리 및 물리 메모리 정보, 시스템 리소스 관련 정보, 스케줄링 단위 foreground process : 쉘에서 해당 프로세스 실행을 명령한 후, 해당 프로세스 수행 종료까지 사용자가 다른 입력을 하지 못하는 프로세스 * ctrl + c : 프로세스 작업 취소 (운영체제 소프트웨어 인터럽트가 해당 프로세스에 보내짐) background process : 사용자 입력과 상관없이 실행되는 프로세스(쉘에서 해당 프로세스 실행시, 맨 뒤에 &를 붙여줌) [ps] daemon process : 사용자 모르게 시스템 관리를 위해 실행되는 프로세스로 보통 시스템이 부팅될 때 자동으로 실행된다 2023. 4. 3. Shell 사용법(리다이렉션과 파이프) Standard Stream(표준 입출력) : command로 실행되는 프로세스는 세 가지 스트림을 갖고 있음 * 표준 입력 스트림(standard input stream) : stdin * 표준 출력 스트림(standard output stream) : stdout * 오류 출력 스트림(standard error stream) : stderr Redirection(>, >, 2023. 4. 3. moq 사용 보호되어 있는 글 입니다. 2023. 2. 4. Shell 사용법(다중 사용자, 파일 및 권한 관리) Shell 종류 - Bourne-Again Shell(bash) : GNU 프로젝트의 일환으로 개발됨. 리눅스는 거의 디폴트 - Bourne Shell(sh) - C Shell (csh) - Korn Shell (ksh) : 유닉스에서 가장 많이 사용됨 UNIX는 다중 사용자를 지원하는 시스템 - whoami : ubuntu - passwd : - useradd : 사용자 기본 설정을 자동으로 하지 않음 - adduser : 사용자 기본 설정을 자동으로 함 - sudo 명령어 : root 계정으로 로그인 하지 않은 상태에서 root권한이 필요한 명령을 실행할 수 있도록 하는 프로그램 - ls : 모든 파일 - ls - al : 숨김 파일을 포함한 모든 파일 파일 및 권한 관리 - pwd : 현재 dire.. 2023. 1. 30. 벤치마크 보호되어 있는 글 입니다. 2023. 1. 29. graphql 보호되어 있는 글 입니다. 2023. 1. 27. grpc 보호되어 있는 글 입니다. 2023. 1. 25. Mqtt C# 예제 MQTT는 경량의 Messaging Protocol로,- 헤더 오버헤드가 작기 때문에 제한된 대역폭과 고비용의 네트워크 환경에서의 메시징에 최적화되어 있다.- 주로 IoT(Internet of Things) 환경에서 사용된다- 소형 장치들이 신뢰할 수 있게 데이터를 교환할 수 있도록 설계되었다. 발행/구도 모델(Publish/Subscribe Model)로 MQTT는 client가 특정 topic에 메시지를 발행하고, 다른 client가 해당 topic을 구독하여 메세지를 수신하게 된다.위와 같은 아키텍처에서도 한 server에서 topic을 다르게 하여 다른 client에 각기 다른 message를 전송할 수 있다. 이 때 Mqtt는 세 가지 QoS(Quality of Service)레벨을 제공한.. 2023. 1. 24. Reverse Proxy 보호되어 있는 글 입니다. 2023. 1. 4. Windows Terminal default로 구성 설정하기 한번에 많은 프로그램을 실행해야 할 때마다 directory를 찾아서 입력하고 powershell의 tab을 나누고 하는 반복적인 작업을 줄이기 위해 다음과 같이 설정한다. 1. Windows Terminal 실행 2. 설정 3. 왼쪽 스크롤 하단에 새 프로필 추가 클릭 4. 새 빈프로필 만들기 후 이름, 명령줄을 주요하게 설정한다. 명령줄이 tab을 어떻게 분할 할 것인지 등에 대한 내용이다. 공식문서를 참고하자. ex ) 세 vertical로 구성된 화면에 대한 명령줄 wt -w 0 nt --title Test -d C:\Project\TestFolder\fold1; sp --title Test -V -s 0.7 -d C:\Project\TestFolder\fold2; sp --title Test -.. 2022. 11. 28. State Pattern 상태 패턴은 내부 상태가 바뀜에 따라 객체의 행동이 바뀔 수 있도록 해둔다. 마치 객체의 클래스가 바뀌는 것 같은 결과를 얻을 수 있다. 코드는 git! 2022. 11. 23. Composite Pattern 컴포지트 패턴은 객체를 트리구조로 구성해서 부분-전체 계층구조를 구현한다. 컴포지트 패턴을 사용하면 클라이언트에서 개별 객체와 복합 객체를 똑같은 방법으로 다룰 수 있다. 코드는 git! 2022. 11. 15. Iterator Pattern 반복자 패턴은 컬렉션의 구현 방법을 노출하지 않으면서 집합체 내의 모든 항목에 접근하는 방법을 제공한다. 코드의 컬렉션은 여러 방법으로 나타낼 수 있는데, 동일한 기능에 대해 각 방법마다 모두 구현이 필요한 경우 반복자 패턴을 사용하는 것이 좋다. 코드는 git! 2022. 11. 1. 14. Redux로 React app 상태 관리 Counter와 Todo component를 만들자. Counter.js import React from ‘react‘; const Counter = ({ number, onIncrease, onDecrease }) => { return ( {number} +1 -1 ); }; export default Counter; Todo.js import React from ‘react‘; const TodoItem = ({ todo, onToggle, onRemove }) => { return ( 예제 텍스트 삭제 ); }; const Todos = ({ input, // 인풋에 입력되는 텍스트 todos, // 할 일 목록이 들어 있는 객체 onChangeInput, onInsert, onToggle, onR.. 2022. 10. 26. Template Method Pattern Template Method Pattern은 알고리즘의 일부 단계를 서브 클래스에서 구현할 수 있으며, 알고리즘의 구조는 그대로 유지하며서 알고리즘의 특정 단계를 서브클래스에서 재정의할 수도 있다. 아래에서 coffee와 tea가 각각 coffee - prepare - boil - brew coffee grind - pour in cup - add sugar and milk tea - prepare - boil - steep tea bag - pour in cup - add lemon 의 과정으로 만들어진다면, boil과 pour in cup의 과정은 base에 공통적으로 구현할 수 있다. 추가적으로, brew coffee grind 와 steep tea bag 이 비슷하고 add sugar and mi.. 2022. 10. 25. Facade Pattern 퍼사드 패턴은 서브시스템에 있는 일련의 인터페이스를 통합 인터페이스로 묶어주는 패턴이다. 코드는 git! 2022. 10. 18. Adapter Pattern 어댑터 패턴은 특정 클래스 인터페이스를 클라이언트에서 요구하는 다른 인터페이스로 변환하는 패턴이다. Client가 여러개일 때 우리가 만든 모든 프로그램을 client의 interface에 맞출 수 없기 때문에, client의 inerface와 우리 프로그램의 interface를 convert할 수 있는 adapter를 사용한다. 객체 어댑터와 클래스 어댑터가 있는데 클래스 어댑터의 경우 다중상속이 가능할 때만 사용할 수 있다. 1) 객체 어댑터 2) 클래스 어댑터 git 코드는 클래스 어댑터를 구현하였다. 2022. 10. 18. Command Pattern 커맨드 패턴은 요청 내역을 객체로 캡슐화해서 객체를 서로 다른 요청 내역에 따라 처리한다. 요청을 큐에 저장하거나 로그로 기록하여 작업취소 기능을 사용할 수도 있다. 다음과 같은 리모컨과 리모컨 버튼을 눌렀을 때 작동시키고 싶은 가전제품이 있다. 가전제품은 각각 다른 커맨드를 갖고 있어서 한 제품당 on/off만 있는 버튼들을 눌러 어떻게 처리할지에 대한 고민이 필요하다. 이를 식당에서의 손님, 종업원, 요리사로 볼 수 있다. 종업원(Invoker)은 주문서(Command)를 모으고 전달하는 것 만으로도 요리사(Receiver)에게 손님(Client)의 주문서(Command)를 전달할 수 있다. 그러면 요리사는 주문서의 메뉴를 보고 어떤 작업을 수행할지 결정한다. 리모컨과 리모컨 버튼을 눌렀을 때의 다이.. 2022. 9. 28. Singleton Pattern 싱글턴 패턴은 class 인스턴스를 하나만 만들고, 그 인스턴스로의 전역 접근을 제어하는 패턴이다. 전역변수처럼 사용 가능하지만 전역볏누와 다르게 객체를 필요할 때만 만들기 때문에 자원의 낭비가 덜하다. 연결 pool , Thread pool 같은 자원 pool관리에 이점이 있다. - 고전 싱글턴 패턴 구현 public class Singleton { private static Singleton uniqueInstance; ------> a private Singleton(){}------> b public static Signleton getInstance() { if(uniqueInstance == null){ uniqueInstance = new Singleton();------> c } retur.. 2022. 9. 26. 이전 1 2 3 4 5 ··· 9 다음 728x90 반응형