전체 글209 [리눅스 기초]help와 man -생활코딩 리눅스 강의를 기반으로 정리, 추가 보충 학습 했다. -리눅스의 명령어 help, man을 살펴 본다. -가상머신 프로그램인 오라클 버츄얼박스로 우분투(ubuntu) 12.10을 사용하였다. 중요한 명령어나 옵션들은 숙달되어 외워 사용해야 하거나 구글링으로 찾아 사용할 수 있다. 하지만 좀 더 디테일하게 확인하기 위해 스스로 내부 명령어 메뉴얼을 참고할 수 있다. 리눅스를 잘 다루는 개발자들은 자주 사용할 것 같다. help와 man 명령어 명령어 --help : 명령어에 대한 간단한 관련 메뉴얼이 나온다. 위의 이미지는 보는 것 처럼 mkdir --help를 통해 간단한 메뉴얼을 확인할 수 있다. 상단의 Usage: mkdir [OPTION]... 부분은 명령어를 쓰는 방식 및 명령어의 기능.. 2021. 3. 1. [리눅스 기초]디렉토리, 파일 관련 명령어 -생활코딩 리눅스 강의를 기반으로 정리, 추가 보충 학습 했다. -리눅스의 디렉토리, 파일에 대한 명령어와 구조를 살펴본다. -가상머신 프로그램인 오라클 버츄얼박스로 우분투(ubuntu) 12.10를 사용하였다. CLI와 GUI 운영체제를 다루는 방식은 CLI(Command Line Interface)와 GUI(Graphic User Interface)로 나눌 수 있다. 대부분 알다시피 윈도우에서 마우스를 이용해 아이콘을 클릭하여 명령을 내리는 방식을 GUI 방식이라고 한다. 리눅스 OS 역시 GUI방식으로 설치가 가능하다. CLI방식은 윈도우 CMD나 리눅스 터미널을 사용하는 방식이다. 리눅스의 경우 터미널에 명령어를 입력하면 쉘(Shell)이 이를 해석하여 커널이 해석할 수 있는 명령어로 변경되어 하.. 2021. 3. 1. JAVA JVM(Java Virtual Machine)의 개념, 구조, 작동과정 -컴파일된 파일을 실행하는 가상머신인 JVM(Java Virtual Machine)에 대해 알아본다. JVM이란? 컴파일러가 컴파일한 파일을 실행하는 가상 머신이다. '가상'의 머신이기 때문에 하드웨어적인 요소가 아니라 JDK에 포함된 일종의 프로그램이다. 개발자는 인간이 이해 가능한 영어로 자바 문법에 맞게 코드를 java파일로 작성한다. java파일은 컴파일러를 통해 자바 바이트코드로 작성된 class파일로 변환된다. 자바 바이트코드로 변환된 파일은 가상머신인 JVM이 해석할 수 있게 된다. 그렇기 때문에 JVM만 설치되어 있다면 어떤 운영체제(OS)에서도 실행가능하다. 기존의 C++같은 경우에는 컴파일한 파일이 OS에 종속된다. 예를 들어 리눅스기반 OS에서 개발하고 컴파일을 했다면 윈도우에서는 바.. 2021. 2. 27. [제이쿼리]$('a,b')와 $('a','b')의 차이점 최근 프로젝트에서 $('a', 'b') 문법이 종종 나오고 있는데 해석할 때마다 헷깔릴 때가 있어서 정리한다. $('a','b')라고 쓰면 b개체에 포함된 a개체를 선택한다는 의미이다. $('a, b')로 쓰면 a와 b 개체를 모두 포함한다. head1 head2 headData1 headData2 2021. 2. 23. [디자인패턴]어댑터 패턴(Adapter Pattern) -디자인 패턴 중 어댑터 패턴에 대해 알아본다. 어댑터 패턴? 한 클래스의 인터페이스를 클라이언트에서 사용하고자 하는 다른 인터페이스로 변환하는 패턴이다. 인터페이스 호환성이 맞지 않아 같이 사용할 수 없는 클래스를 연관 관계로 연결해서 사용할 수 있게 해주는 패턴이다. 블로그들을 보니 전기 콘센트와 플러그의 예시를 많이 든다. 한국의 가전제품은 220V이다. 110V가 표준인 일본의 제품을 한국에서 사용하기 위해서는 돼지코라는 어댑터가 필요하다. 이런 발상을 기반으로 패턴을 이해하면 도움이 될 것이다. 어댑터 패턴은 클래스방식과 객체방식이 있으며 우선 객체방식으로 예제를 만들었다. 예제 어댑터패턴을 활용한 간단한 예제를 만들어 보았다. 기존의 솔루션(OldSoultion) 이후 새로운 솔루션(NewSo.. 2021. 2. 22. 커널(kernel)과 쉘(shell)에 관하여 -운영체제(리눅스)를 구성하는 두 가지 요소인 커널과 쉘에 대해 알아본다. 커널(kernel)이란? '커널'이란 운영체제(OS)의 두 가지 구성요소 중 하나이다. 커널은 하드웨어를 직접적으로 제어하는 운영체제의 핵심이며 프로세스 관리, 메모리 관리, I/O 시스템 관리, 파일 시스템 관리 등을 수행한다. 흔히 리눅스의 우분투, 센토스 등의 배포판은 리눅스 커널을 기반으로 만들어졌다고 보면 된다. 리눅스 커널을 기반으로 만들어진 배포판들을 흔히 리눅스라고 칭한다. 커널은 리눅스가 부팅될 때 메모리로 로드된다. 쉘(shell)이란? '쉘'이란 운영체제(OS)의 두 가지 구성요소 중 나머지 하나이다. 쉘은 커널을 컨트롤할 수 있으며 커널은 하드웨어를 컨트롤한다. 즉, 하드웨어를 유저가 컨트롤하기 위한 인터페이.. 2021. 2. 22. [디자인패턴]전략 패턴(Strategy Pattern) -디자인 패턴 중 전략패턴에 대해 알아본다. 전략패턴이란 전략패턴이란 특정 객체의 행위 알고리즘군을 각각 캡슐화하고 필요시에 객체지향 원칙을 위배하지 않고 교환해서 유연하게 사용할 수 있는 패턴이다. 여기서 행위 알고리즘 자체를 '전략'으로 표현하고, 이런 전략을 상황에 맞게 교체해주는 역할을 하는 클래스를 '컨텍스트'라고 표현한다. 컨텍스트는 클라이언트와 전략 사이에서 '접점'역할을 한다. 행위 알고리즘 자체는 인터페이스로 설계하고 각자 캡슐화된 행위로 구현한다. 예시 컴퓨터 백신 인스톨러 A, B가 있다고 가정하며 둘다 네이버백신을 설치하는 프로그램. 추후 요구사항이 B 인스톨러의 프로그램을 V3백신으로 바꿔달라는 요구사항이 들어온 경우 전략패턴으로 샤샤샥 바꾸는 예제 전략패턴 적용 전 예시 pack.. 2021. 2. 20. DHCP의 개념 및 할당 과정 -DHCP가 무엇인지 알아본다. -DHCP의 동작 과정을 간단하게 살펴본다. 1.DHCP란 Dynamic Host Configuration Protocol의 약자이며 직역하면 '동적 호스트 설정 프로토콜'이다. PC가 고정IP를 사용하는 것이 아니라, 유동IP를 사용할 수 있게 도와준다. DHCP를 통해 클라이언트(ex>내 PC)는 라우터(ex>내 공유기)를 통해 사설IP를 할당 받는데, 이 할당받는 IP는 정해진 IP를 고정으로 할당 받는 것이 아니다. 일정 기간 라우터의 DHCP서버를 통해 '임대'받는 것이다. 즉, DHCP서버에서 특정 IP를 클라이언트들에게 임대해주는 기술이라고 요약할 수 있다. DHCP서버는 라우터에 포함되어 있지만 라우터와 따로 두고 사용하는 경우도 많다고 한다. 2.장점 클라.. 2021. 2. 17. 공인IP와 사설IP의 차이점 -네트워크 기본 상식인 공인IP와 사설IP의 차이점을 구분한다. -공인IP와 사설IP를 변환해주는 NAT에 대해서 간단하게 살펴본다.(자세한 사항은 추후 포스팅 예정) 공인IP와 사설IP란? IP라는 것은 ISP(인터넷 서비스 공급자)가 제공하는 주소이다. 여기서 ISP는 SK, KT, LG U+ 등이 있다. 이 업체들은 우리가 인터넷을 신청하면 IP를 제공하는데 각 신청 당 1개의 IP를 제공한다. 이 IP는 외부에서도 인식 할 수 있는 유일무이한 IP이며 이 IP를 공인IP(public IP)라고 한다. 보통 일반적인 가정에서는 이 공인IP를 공유기(라우터)가 할당 받아서 각각의 스마트폰, 노트북 등에 사설IP(Private IP)로 제공한다. IP확인은 cmd창에서 'ipconfig' 명령어로 확인.. 2021. 2. 16. 이전 1 ··· 8 9 10 11 다음