본문 바로가기

프로그래밍 실력쌓기

Block, None Block, 동기, 비동기, 멀티스레드, 배타제어 Block, None Block, 동기, 비동기, 멀티스레드, 배타제어 1. 프로세스와 스레드의 차이 각각의 스레드는 메모리 공유가 됩니다.각각의 프로세스는 메모리 공유가 되지 않습니다. 그렇기 때문에 통신을 하게 됩니다.Redis나 MemcacheD같은 메모리 디비를 하나 놓고 그곳을 통해 메모리를 공유하기도 하고DB에 저장하고 공유 하기도 합니다. 공유메모리, 무슨무슨큐, 이것저것 있는데 안쓰는게 정신건강에 좋을듯... 프로세스끼리 통신이 가능하고 메모리 공유가 가능해지면 물리적인 머신을 여러대 놓고 사용할수 있게 되니깐 부하분산도 시킬수 있고 좋죠. 대신 쉽진 않겠죠. 2. Block, NonBlock 어떤 함수가 있습니다. 그 함수를 호출했을때 그 함수가 모든 동작을 완료하고 다음 코드를 실행시킨..
네트웍 통신에서 알아야 할것 네트웍 통신에서 알아야 할것 먼저 알려드리고 싶은것은 이글은 강좌가 아니며 이전글과 마찬가지로 제가 그냥 머리속에 떠오르는대로 적을건데요.네트웍 통신 분야의 키워드들의 나열 그리고 개인적인 의견 짧막한 지식이 주요 내용이 될거 같습니다. TCP와 UDP 1. TCP와 UDP의 차이점을 알아야 합니다. 찾아보면 많이 나올거에요. 2. TCP 연결을 먼저 해야합니다. 내가 연결하려는 원격지가 공인IP여야 가능합니다. UDP는 Private IP여도 가능한 방법이 있습니다. 그건 아래 더 내려가면 나옵니다. 예전에 모뎀을 쓸때는 ARJ 파일을 받으면 데이타가 맞지 않아 압축이 풀리지 않는 경우가 많았습니다. 하지만 TCP를 쓰면 그런일이 없습니다. 받았다면 제대로된 데이타 입니다. 하지만 모든게 다 이론대로 ..
Design Pattern, Refactoring, TDD, UML Design Pattern, Refactoring, TDD, UML 1. 공통적으로 알아야 할 사항 a. 디자인 패턴 다 외우실 필요는 없습니다. 객체지향적 사고의 유연함과 패턴의 종류(생성, 상태변화등등..)를 알아두는게 중요합니다. 어차피 답이 있는 부분이 아니기 때문에 객체지향의 궁극적인 목표인 인터페이스! 에 대해서만 이해하시면 됩니다. b. 책 읽기. 모르는 부분이 있으면 일단 그냥 넘어가기.. 중요합니다. 계속 이해가 안되는걸 붙들고 있어봤자 아무 소용없습니다. 하기도 싫어지구요. c. 객체 지향 문법 한가지는 알아야 합니다. 시작 하시기엔 C#이 편하겠고 레퍼런스가 많기로는 JAVA가 좋습니다. d. UML 다 보다간 주화입마에 빠질수 있으니 상속, 위임을 어떻게 표현하는지만 알면 될거 같습..