반응형

Contents 175

[네트워크]Blocking/Non-Blocking, Sync/Async

*이 포스트는 아래의 url에서 퍼온 것입니다.https://homoefficio.github.io/2017/02/19/Blocking-NonBlocking-Synchronous-Asynchronous/ 꽤 자주 접하는 용어다. 특히나 요즘들어 더 자주 접하게 되는데, 얼추 알고는 있고 알고 있는게 틀린 것도 아니지만, 막상 명확하게 구분해서 설명하라면 또 만만치가 않은..그래서 찾아보면 또 대충 뭔소린지 알아들을 것 같다가도, 구분해서 설명하라면 머뭇거리게 되긴 마찬가지다.자료마다 미세하나마 조금씩 차이가 있는 것들도 많아서, 정확하고 유일한 구분법은 사실 없는 것 같다. 그리고 이렇게라도 꼭 구분해야만 하는 것인가 하는 생각도 들지만, 그래도 ‘나의 언어로 구분하고 설명해보는 것’을 목표로 한 번 정..

[문자열]비어있는 문자열과 NULL을 체크하는 방법

*이 포스트는 아래의 url에서 퍼온 것입니다.출처: http://tost.tistory.com/96 [정선생의 블로그] 기존에는 null체크를 해서 없으면 바로 return으로 함수(메소드)를 탈출해 버렸으나... 내가 범접하기 힘긴 높은 내공을 지닌 그룹장님께서 return으로 탈출하면 가독성이 떨어져 문제점을 찾기 힘들어 진다는 충격적인(??) 이야기를 들었다. 일단 화면출력을 위한 가공을 위한 기능에서는 null이냐 '' 빈값이냐는 큰 의미가 없다. 오히려 에러를 낼수 있는 잠재문제을 가질뿐.... 아무튼 return문이 문제가 된다고 해서 최근 쓰는 코딩스타일... public static String formatHeadstr(String head, String str) { String resu..

[후니의 쉽게 쓴 시스코 네트워킹]4주차

1. 용어정리( > : 설명, >> : 정리) - IP 주소(1) : TCP/IP라는 프로토콜을 만들 때 이 프로토콜을 사용하는 모든 장비들을 구분해 주기 위해서 만들어낸 것이 IP주소이다. > 여러가지 주소들의 공통점은 서로 구분된다는 것이다. 즉 서로 달라야 한다. 같으면 구분하기 힘들기 때문이다. 또한 일정한 규칙이 있어야 한다. (이진수 8자리마다 중간에 점을 찍는 규칙.) >> IP 주소는 원래 이진수 32자리로 되어 있다. 각 8자리(십진수로 하면 최대 255가 된다.), 즉 옥테트(Octet) 사이에는 점을 찍는다. 우리가 보통 쓰는 IP 주소는 이진수를 다시 십진수로 만들어서 쓰는 방식이다.EX) 127.0.0.1 - 라우터에서의 IP 주소 : 우리가 보통 쓰는 라우터에 배정해야 하는 IP..

[알고리즘] 백준 - 1152: 단어의 개수

코드는 github에서 SoongsilMilhouse를 검색하시면 됩니다.(https://github.com/SoongsilMilhouse/BaekjoonOnlineJudge) * 큰 틀1) 입력을 받고 '\n'(개행문자)를 null(널문자)로 바꿔준다. (fgets를 쓰면 개행까지 들어가기 때문이다.)2) 문장의 끝 지점을 nullPoint라는 변수에 저장한다. 3) 반복문을 시작하기 전에 배열의 첫 문자가 공백인지 공백이 아닌지 검사한다.4) 반복문으로 원소 하나하나 접근하며 공백 개수(spaceCount)를 센다. * 세부사항('_'(언더바)문자는 공백입니다.)1) 첫문자가 공백이 아닌 경우 1-1) 'a' 입력한 경우 (배열엔 'a','\0'으로 저장되어 있다.)spaceCount = 0; 1-2..

[후니의 쉽게 쓴 시스코 네트워킹]3주차

1. 용어정리( > : 설명, >> : 정리) Q. 콜리전 도메인을 나누어 줄 수 있는 장비는 무엇인가?A. 브리지(Bridge)와 스위치(Switch) > 스위치가 나오기 전까지는 이 역할을 브리지 혼자 다 했지만 이제 브리지보다 빠른 스위치가 나와서 브리지는 스위치에게 그 자리를 내주었다. 그러나 원조는 브리지이다. >> 따라서 스위치의 모든 기능은 브리지에서 출발한다는 것을 잊어서는 안된다. - 스위치(Swicth): 스위치는 예를 들어 1번 포트에 연결된 PC가 2번 포트에 연결된 PC와 데이터를 주고받는 동안에도 3번 포트에 연결된 PC와 4번 포트에 연결된 PC가 서로 데이터를 주고받을 수 있게 하는 장비이다. 이걸 전문적인 용어로는 '포트별로 콜리전 도메인이 나누어져 있다'라고 말한다. > ..

[후니의 쉽게 쓴 시스코 네트워킹]2주차

1. 용어정리( > : 설명, >> : 정리) - IPX(Internetwork Packet eXange) : 파일 서버와 클라이언트 간의 통신에서 사용하는 프로토콜이다. 파일 서버란 간단하게 설명하면 파일을 한 곳에 넣어두고 서로 공유하는 장비를 말한다. 각자의 PC에 자료를 넣어두는 것에 비해서 공유가 쉽고 보안이 우수하기 때문에 많이 사용하고 있는 추세이다. >IPX 프로토콜과 TCP/IP를 비교해 보면 LAN 구간에서는 IPX의 성능이 좀더 좋고 WAN 구간 즉 외부로 접속하는 경우엔 IPX가 TCP/IP보다 느리다. - DHCP(Dynamic Host Configuration Protocol) : DHCP는 PC마다 하나하나 IP 주소를 미리 지정해 놓지 않고 DHCP 서버가 그 네트워크에 필요..

Java(import(임포트))

*이 포스트는 남궁성님의 '자바의 정석'책을 참고하여 작성했습니다. * import문 :소스코드를 작성할 때 다른 패키지의 클래스를 사용하려면 패키짐여이 포함된 클래스 이름을 사용해야 한다. 하지만, 매번 패키지명을 붙여서 작성하는 것은 비효율적이다. 클래스의 코드를 작성하기 전에 import문으로 사용하고자 하는 클래스의 패키지를 미리 명시해주면 소스코드에 사용되는 클래스이름에서 패키지명은 생략할 수 있다. import문의 역할은 컴파일러에게 소스파일에 사용된 클래스의 패키지에 대한 정보를 제공하는 것이다. 컴파일 시에 컴파일러는 import문을 통해 소스파일에 사용된 클래스들의 패키지를 알아 낸 다음, 모든 클래스이름 앞에 패키지명을 붙여 준다. * import문의 선언 : 모든 소스파일(.java)..

Java(package(패키지))

*이 포스트는 남궁성님의 '자바의 정석'책을 참고하여 작성했습니다. * Package(패키지) : 패키지는 '클래스의 묶음'이다. 패키지에는 클래스 또는 인터페이스를 포함시킬 수 있으며, 서로 관련된 클래스들끼리 그룹 단위로 묶어 놓음으로써 클래스를 효율적으로 관리할 수 있다. 같은 이름의 클래스 일지라도 서로 다른 패키지에 존재하는 것이 가능하므로. 자신만의 패키지 체계를 유지함으로써 다른 개발자가 개발한 클래스 라이브러리의 클래스와 이름이 충돌하는 것을 피할 수 있다. 지금까지는 단순히 클래스 이름으로만 클래스를 구분 했지만 클래스의 실제 이름은 패키지 명을 포함한 것이다. 예를 들면, String 클래스의 패키지명을 포함한 이름은 java.lang.String이다. 즉, java.lang 패키지에 ..

Java(왜 자바에서 static의 사용을 지양해야 하는가?)

자바에서 데이터를 가공하거나 특정 메서드를 수행할 때 새로운 클래스를 만들어서 이를 인스턴스화 해서 쓸건지 아니면 static 으로 쓸건지 고민하게 될 때가 있다. 사실 후자는 객체지향적 관점에서 그리 좋은 선택은 아니다. Vamsi Emani라는 프로그래머가 stack overflow에 남긴 질문 Why are static variables considered evil? 과 가장 많은 지지를 받은 두개의 답변을 번역했다.Q by V. EmaniI am a Java programmer who is new to the corporate world. Recently I’ve developed an application using Groovy and Java. All through the code I’ve u..

[후니의 쉽게 쓴 시스코 네트워킹]1주차

1. 용어정리( > : 설명, >> : 정리) - 인터넷(Internet) : 네트워크를 여러 개 묶어놓은 네트워크 연합을 말하고 이것들은 TCP/IP란 공통의 프로토콜을 사용한다. - 인트라넷(Intranet) : 회사에서 쓰는 여러 가지 프로그램들을 마치 인터넷을 사용하는 것처럼 쓰도록 만들어놓은 것인데, 인트라넷은 그 회사의 직원 이외에는 사용 할 수가 없다. - 엑스트라넷(Extranet) : 인트라넷을 사용하는 직원 이외에도 협력 회사나 고객까지로 확대한 개념이다. - LAN(Local Area Network) : 어느 한정된 공간에서 네트워크를 구성한다. 예를 들어 한 사무실에 컴퓨터가 30대 있다고 하자. 이것들을 네트워크로 구성한다면 이런 경우 '사무실에 LAN을 구축한다'라고 말한다. -..

반응형