전체 글

VMware를 통해 Kali 운영체제와 Xubuntu 운영체제를 사용하여 실습을 진행하고자 합니다. 공격 VM으로서 Kali Linux를, 피해 VM으로서 Xubuntu를 사용할 예정입니다. 오늘은 실습 진행 전 VMware 상에서 네트워크 설정을 하는 방법을 기록해 보겠습니다. Kali의 ip는 192.168.100.128로 설정하고, Xubuntu의 ip는 192.168.100.20으로 설정해볼게요. 가상머신 네트워크 설정 & KaliVMware의 Virtual Network Editor에서 NAT IP의 세 번째 넘버를 편하게 수정합니다. NAT Settings에서 Gateway의 네 번째 넘버를 수정할 수 있긴 하지만, Kali의 네트워크 설정(오른쪽)에서 똑같이 설정해주어야 하기 때문에 좀 귀찮..
C#에서 이벤트 기반 프로그래밍(Event-driven programming)은 비동기 프로그래밍 패러다임 중 하나이다. 이벤트가 발생할 때마다 이를 처리하는 콜백 함수 혹은 이벤트 핸들러가 호출되어 처리가 이루어진다. 이벤트 기반 프로그래밍이 이루어지는 단계는 다음과 같다. 1. 이벤트 정의이벤트는 일종의 메시지로서, 특정 상황이나 동작이 발생했음을 알리는 신호이다.  이벤트는 일반적으로 클래스 내에 정의되며, C#에서 이벤트는 delegate 타입으로 정의된다. public delegate void ButtonClickEventHandler(object sender, EventArgs e);public event ButtonClickEventHandler ButtonClicked;위 코드에서는 But..
교재 『데이터 통신과 컴퓨터 네트워크(박기현, 한빛미디어)』를 공부하고 정리한 내용입니다. 계층적 모듈구조 시스템 모듈화의 장범 계층구조 모듈화된 계층구조 프로토콜 장점 큰 시스템 -> 작은 시스템 전체 시스템 구조 단순히 특정 계층의 내부 변형이 다른 모듈의 동작에 영향 X 프로토콜 설계시 고려사항 주소표현 방법 1:다중 통신지원 유니캐스팅 브로드캐스팅 멀티캐스팅 오류제어 데이터분실 -> 재전송 데이터변형 -> 재전송 흐름제어 : 수신자가 제어 데이터 전달 방식 전이중 반이중 단방향 OSI 7 계층 모델 헤더정보 : 프로토콜마다 다르게 정의 중개기능 : 중개시스템은 라우팅 수행 (3계층) 1계층 물리적 매체를 통한 비트스트림 전송에 필요한 기능을 담당 (비트스트림을 전자기 신호로 변환) 주요 기능 인터..
교재 『데이터 통신과 컴퓨터 네트워크(박기현, 한빛미디어)』를 공부하고 정리한 내용입니다. 네트워크 관련 기초 용어 네트워크 시스템 인터페이스 : 한 호스트, 상하위 계층 전송매체 프로토콜 : 서로 다른 호스트, 동일 계층 인터넷 표준화 시스템의 구분 노드 호스트 클라이언트 : 서비스 요청 서버 : 서비스 제공 OSI 7 계층 모델 7 계층 응용 계층 (Application) 6 계층 표현 계층 (Presentation) 5 계층 세션 계층 (Session) 4 계층 전송 계층 (Transport) 3 계층 네트워크 계층 (Network) 2 계층 데이터링크 계층 (Data Link) 1 계층 물리 계층 (Physical) 인터넷 계층 모델 프로토콜 스택 : 계층구조로 이루어진 통신 프로토콜의 집합 인터..
· 유니티
유니티에는 Scriptable Object라는 기능이 있습니다. Scriptable Object를 왜 사용하며, 사용하면 어떤 점이 좋은지 정리해보도록 하겠습니다. Scriptable Object는 대량의 데이터를 저장하는데 사용할 수 있는 데이터 컨테이너입니다. 메모리의 효율 유니티에서 같은 오브젝트를 여러개 만들때, 프리팹이라는 방식으로 원본을 만들고 그 원본을 복사하여 원본과 똑같은 사본들을 만들어냅니다. 이런 경우에 Scriptable Object는 유용하게 사용될 수 있습니다. 프리팹을 인스턴스화 할 때 마다 해당 데이터의 자체 사본이 생성됩니다. 즉 사본을 많이 생성할수록 메모리를 많이 소모하게됩니다. 만약 원본 오브젝트가 1byte의 메모리를 사용한다면, 사본을 10개 만들면 10byte, ..
· 유니티
출처 : Rookiss님의 인프런 [C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] 강의를 수강 후 정리한 내용입니다. 서버 OT 웹서버? 게임 서버? 서버 운영? 서버란? 다른 컴퓨터에서 연결이 가능하도록 대기 상태로 상시 실행중인 프로그램 영업중인 식당과 유사함 손님이 올 수 있도록 식당을 열고 대기중인 상태 손님이 오면 식당 메뉴/정책에 따라 서비스 제공 게임 서버의 종류 Web Server (aka. HTTP Server) 테이크아웃 포장 전문 식당 손님이 음식을 받아서 떠나면, 그 이후론 연락이 끊긴다. 질의/응답 형태 Game Server (aka. TCP Setver, Binary Server, Stateful Server…) 일반 식당 서빙 직원이 와서 손님에게 물어볼 수도 있고 손..
회선 코딩 (Line Coding) 디지털 데이터 → 디지털 신호 한 비트 한 비트의 코딩 전송 시 인코딩(Encoding : 암호화)하고, 수신 시 디코딩(Decoding : 복호화) 한다. Polar - NRZ Non-Return to Zero Polar NRZ-L (Level) 전압 준위가 비트의 값을 결정 예시 0 : 양 전압 1 : 음 전압 Polar NRZ-I (Inversion) 전압의 변화로 비트 값 결정 예시 0 : 전압 변화가 없음 1 : 전압 변화가 있음 비트 1을 만날 때 마다 신호가 변하기 때문에 동기화 제공 동기화 결핍 효과 위와 같은 방법들은 동기화 결핍 효과로 문제가 발생할 수 있음 Polar - RZ Return to Zero 동기화 보장을 위해 각 신호마다 동기화 정보를 ..
Physical Layer (1계층) 물리적 매체를 통한 비트 스트림 (Bit Stream) 전송에 필요한 기능을 담당 즉, 하나의 비트를 정확하게 전송하는게 1계층의 임무이다. 개별 비트를 네트워크 채널을 통해 전달하는 역할 수행 기계적, 전기적 특성을 다룸 : 케이블, 커넥터 물리적인 장치와 인터페이스가 전송을 위해 필요한 기능과 처리 절차 규정 데이터 링크 게층으로부터 한 단위의 데이터를 받아 통신링크를 따라 전송될 수 있느 비트 형태로 변환 비트 스트림을 전자기 신호로 변환 (→ 인코딩, 디코딩) 매채를 통한 신호 전송 물리 계층의 주요 기능 인터페이스와 매체의 물리적인 특성 : 장치와 전송매체 간의 인터페이스 특성을 규정 비트의 표현 : 비트를 전송하기 위해 전기적 또는 광학적인 신호로 부호화 ..
· More
보호되어 있는 글입니다.
· More
출처 : 『이것이 UX 디자인이다 』, 조석봉 작성일 : 2021년 9월 18일 리쿠루팅을 하는 데 도움이 될만한 팁 SNS나 커뮤니티를 이용한다. 리서치 대상자 섭외 공고를 관련된 커뮤니티나 SNS에 올리면 예상 외로 쉽게 리쿠르팅을 해결할 수 있다. 사회적 행위가 왕성한 사람의 인적 네트워크를 활용한다. 종교기관에 있는 분들(예: 목사님)이나 동문회 등의 모임에 주도적으로 참여하는 사람, 동호회 운영자들은 많은 인적 네트워크를 가지고 있다. 이들을 활용하면 적지 않은 도움을 받을 수 있다. 리서치 풀은 평소에 만들어 놓고 그들에게 평소 에 작은 도움이나마 지속적인 유대관계를 만들어 놓는다. 사람들은 보답하기(Gifting)라는 심리가 있어서 작은 것이라도 자기가 받은 보상에 대해 보답하려는 경향이 있..
· More
출처 : 『아이폰 앱 UX 디자인』 , 수잔 긴스버그 작성일 : 2021년 9월 18일 이점 우수사례를 알 수 있다. 디자인에서 피해야 할 접근 방식을 찾는데 도움을 준다. 우수 사례 우수 사례는 플로우, 화면 레이아웃, 컨트롤과 용어를 포함한 거의 대부분의 UX 측면을 아우른다. 피해야 할 것 경쟁사의 잘못을 파악하면 자신의 앱에서 해야 하는 것에 대한 인사이트를 얻을 수 있다. 예시) 경쟁사의 분석을 통해, 웹사이트를 통해 저장한 '즐겨찾기'에 접근 가능한 앱이 없음을 확인한다. 그 결과 사용자는 웹에서 한 번, 앱에서 다시 한 번 중복해서 고생해야만 한다. 이 같은 어려움을 '웹과 아이폰 즐겨찾기가 서로 싱크돼야 한다'라는 우수 사례로 변활할 수 있다. 니즈 정렬 경쟁사 UX 분석은 경쟁사가 그와 ..
· 유니티
모든 UI 오브젝트는 Canvas 오브젝트의 자식 오브젝트여야 한다. Canvas는 EventSystem 오브젝트를 이용하여 메시징 시스템을 지원한다. 따라서 EventSystem이 꼭 필요하다. Draw order of elements 캔버스의 UI 요소는 하이어라키창에 등록한 것과 동일한 순서로 배치된다. UI의 앞,뒤 배치를 바꾸려면 하이어라키 창에서 UI 오브젝트의 순서를 바꾸면 된다. 또한 Transform 컴포넌트의 매소드를 사용해 스크립트에서 순서를 변경할 수도 있다. (SetAsFirstSibling, SetAsLastSibling, and SetSiblingIndex) Render Modes (1) Screen Space - Overlay 씬(scene)의 맨 위에 렌더링된 화면에 UI ..
· 유니티
서론 대화를 진행하는 도중에, 새로운 키워드가 등장하면 화면에 띄우는 코드이다. 키워드가 등장할 때, AppearKeyword() 코루틴을 시작하고 내부에서 Dotween을 이용해 키워드를 띄웠다. 문제는 2개의 키워드가 연달아 나왔을 때인데, AppearKeyword()를 두 번 연속으로 호출하다보니 뒤에 등장한 키워드만 화면에 보이게 되는 것이다. 때문에 첫번째로 호출된 코루틴이 끝나면 두번째 코루틴을 실행하도록 해야했다. 처음에는 코루틴 내부에서 yield return을 이용해 이후에 등장하는 코루틴을 멈추고자 하였다. 예를들면 코루틴이 진행중일 때, isResting 변수의 값이 false일 동안 멈춘다던지 하는 것이다. 하지만 별개의 코루틴을 제어하는게 생각보다 쉽지 않았고, 또 2개 이상의 키..
· More
git commit message convention example build Build related changes (eg: npm related/ adding external dependencies) 빌드 관련 변경 사항(예: npm 관련/외부 종속성 추가) chore A code change that external user won't see (eg: change to .gitignore file or .prettierrc file) 외부 사용자가 볼 수 없는 코드 변경(예: .gitignore 파일 또는 .pretierc 파일로 변경) -> 쓸데없는 것들 변경 feat A new feature 새로운 기능 fix A bug fix docs Documentation related changes 문서..
hye2021
all-i-want.tistory.com