ALL Post 202

Ubuntu 특정 port 죽이기

netstat명령어로 모든 포트를 확인할 수 있다. 좀더 자세하게, 내가 원하는 포트를 찾으려면 '-nap|grep 포트넘버'를 추가하면 된다. hoon@hoon-MS-7C51:~$ netstat -nap|grep 8080 $ netstat -nap|grep 8080 이런 결과가 나타난다. 지금은 사용 중인 LISTEN상태다. 여기서 8080포트를 죽이고 싶다면 sudo kill $(sudo lsof -t -i:8080)이 명령을 실행하면 된다. 그러고 나서 다시 조회해보면, 이렇게 비활성화 된 것을 확인할 수 있다.

infra 2020.09.08

다형성Polymorphism

📚 자바의 정석을 정리한 내용입니다. 다형성? 운전하는 법은 한 번만 배우면 어떤 자동차든 운전할 수 있다. 자동차 브랜드나 내부 구현에 따라 달라지지 않는다. 동일한 인터페이스를 가지고 있기 때문이다. 이게 다형성이다. OOP에서 다형성이란 여러가지 형태를 가질 수 있는 능력. 말하자면 조상클래스 타입의 참조변수로 자손 클래스의 인스턴스를 참조할 수 있는 것이다. class Tv { boolean power; int channel; void power{ power = !power;} void channelUp() { ++channel;} void channelDown() { --channel;} } class CaptionTv extends Tv { String text; void caption() {..

Java 2020.09.06

상속Inheritance

📚 자바의 정석을 정리한 내용입니다. 상속Inheritance 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것이다. 코드를 공통적으로 관리할 수 있기 때문에 유지보수 하기 쉽다. class Child extends Parent { //... } extends만으로 간단하게 상속 받을 수 있다. 상속해주는 클래스Parent를 조상 클래스, 상속을 받는 클래스Child를 자손 클래스라고 한다. 이 두 관계를 상속관계라고 부른다. 출처 : https://www.javatpoint.com/inheritance-in-java 조상클래스는 자손 클래스가 변경 되어도 영향을 받지 않지만, 조상클래스가 변경되면 자손 클래스는 영향을 받는다. 자손 클래스는 조상 클래스의 모든 멤버를 상속 받는다. 따라서 항상 조..

Java 2020.09.06

제어자Modifier

📚 자바의 정석을 정리한 내용입니다. 제어자Modifier Non-Access-Modifiers 접근 제어자가 아닌 제어자들로는 static, final, abstract, synchronized......등이 있다. 몇 가지만 소개한다. static 멤버변수, 메서드, 초기화 블럭 앞에 붙는다. static이 변수에 붙으면 모든 인스턴스에서 공통으로 사용되는 클래스 변수가 된다. 메서드에 붙으면 인스턴스 생성없이 호출할 수 있는 static 메서드가 된다. final 클래스, 메서드, 멤버변수, 지역변수에 붙는다. final이 붙으면 수정할 수 없는 메서드, 변수, 클래스가 된다. 즉, final변수는 값을 변경할 수 없는 상수. final method는 오버라이딩 불가. final class는 ext..

Java 2020.09.06

객체지향2

📚 자바의 정석을 정리한 내용입니다. JVM 메모리 구조 JVM은 프로그램을 수행하는데 필요한 메모리를 할당 받는다. JVM은 이 메모리를 여러 영역으로 나누는데, 주요 영역 세 가지다. Method area 클래스가 사용될 때, JVM은 해당 클래스의 클래스 파일*.class를 읽고 클래스에 대한 정보를 이곳에 저장한다. 당연히 클래스 변수도 이곳에 저장된다. Call Stack 혹은 Execution Stack 메서드 작업에 필요한 메모리 공간을 제공한다. 메서드가 호출되면 콜스택에 메모리가 할당되고, 작업이 끝나면 반환된다. Heap 인스턴스가 생성되는 공간이다. 인스턴스 변수도 이곳에 생성된다. 위에서 말한 호출스택Call Stack은 이런 식으로 동작한다. 클래스(static) 메서드와 인스턴스..

Java 2020.09.06

이진수로 숫자와 문자 나타내기

이번 시간에는 어떻게 컴퓨터가 수치 데이터를 나타내고 저장하는지 알아본다. 참과 거짓은 이진수 0과 1로 나타낼 수 있다. 이진수에서 0과 1을 비트라고 부른다. 8비트를 다룬다면 0-255 사이의 숫자를 표현할 수 있다. 32비트나 64비트, 라는 컴퓨터 용어에 대해 들어봤을 것이다. 이건 32나 64비트의 덩어리로 작동한다는 뜻이다. 이건 아주 많은 숫자를 다룰 수 있따. 32비트로 다룰 수 있는 가장 큰 숫자는 43억 미만이다. 이것이 우리가 인스타그램 사진을 매우 부드럽고, 선명하게 볼 수 있는 이유다. 32bit는 32개의 0과 1로 이루어진다. 문제는 모든 수가 양수가 아니라는 것이다. 음수는 어떻게 다룰 것인가? 대부분 컴퓨터는 부호의 첫번재 비트를 음과 양을 나타내는 데 사용한다. 맨 첫자..

Computer Science 2020.09.06

#3.부울연산 boolean logic & logic gates

CrashCourse Computer Science 강의를 듣고 정리했습니다. 정확하지 않은 내용이 있을 수 있습니다. 2가지의 전기적 상태만으로 우리는 중요한 정보를 표현할 수 있다. 우리는 이것을 두 가지 상태를 일컫는 이진Binary이라고 부른다. 이 두 가지는 정확히 참이거나 거짓을 나타낼 때 필요하다. 초기 전자 컴퓨터 중에는 3 개의 상태를 가진 3진법 또는 5진법을 채택한 컴퓨터도 있었다. 그러나 중간 상태가 많을 수록 그것을 나누기가 힘들었다. 트랜지스터가 1초에 수백만 번 상태를 바꾼다면 상황은 더 안 좋다. 그래서 단지 on과 off만을 사용하고 두 개의 신호를 멀리 배치하게 되었다. 이진법을 채택한 또 다른 이유는 참과 거짓을 다루는 학문이 독점적으로 있었기 때문이다. 그 수학 분야는..

Computer Science 2020.09.06

#2.전자 컴퓨터Electronic computing

이 글은 CrashCourse ComputerScience강의를 제멋대로 정리한 글입니다. 정확하지 않은 정보가 있을 수 있습니다. 첫 강의에서 20세기 초반부까지 컴퓨터의 역사에 대해 살펴봤다. 계전기 tabulating machines 같은 특수목적장치는 수동으로 이루어지던 작업을 자동화하면서 정부와 사업에 거대한 이익을 가져왔다. 그러나 사회 시스템 규모는 예측 불가능할 정도로 계속 커졌다. 20세기 초 세계 인구는 거의 두 배가 되었다. 세계 무역과 운송 네트워크는 서로 연결되었다. 기술, 과학 수준이 높아졌고, 데이터는 폭발적으로 늘어났다. 컴퓨터는 미래 혁신을 위한 발판을 마련했지만 전기 기계식 컴퓨터는 유지 보수 비용이 많이 들고 오류가 발생하기 쉬워졌으며 크기 또한 거대해졌다. 가장 크기가..

Computer Science 2020.09.06

#.1 초기 컴퓨터 Early Programming

** 이 글은 Youtube채널 CrashCourse - Computer Science 영상을 보고 제 맘대로 정리한 내용입니다. 정확하지 않은 정보가 포함되어 있을 수 있습니다. ** Computer is Everywhere. 스마트폰이나 컴퓨터에는 수십억 개의 트랜지스터가 있다. 그러나 겁 먹을 필요 없다. 컴퓨터는 많은 단계를 추상화하여 복잡한 작업을 실행하는 단순한 기계일 뿐이다. 첫 시간에는 이 추상화된 단계를 분석한다. 위대한 Carrie Anne선생님 0과 1의 개념 논리 단위 CPU 운영체제 전반적인 인터넷 개념과 그 외 컴퓨터의 기원 출처:CrashCourse Youtube channel 기원전 2500년, 메소포타미아에서 주판이 사용 되었다. 주판은 점점 커져가는 사회 규모, 인구, 자..

Computer Science 2020.09.06

객체지향1

📚 자바의 정석을 정리한 내용입니다. 객체지향 코드 재사용 유지보수 용이 신뢰성 높은 프로그래밍 클래스와 객체 클래스란 객체를 정의해놓은 일종의 설계도다. 도대체 클래스를 왜 만드는데? 클래스는 일종의 부품이 아닐까? 이를테면 거대한 우주선을 만든다고 하자. 수만가지의 부품이 필요하다. 그렇다고 우리가 그 많은 부품들 직접 만들어서 쓰지 않는다. 이미 누군가 만들어놓은 부품을 그대로 가져와서 쓰는 것이 (합리적이랄 것도 없이)당연한 선택이다. 물론 없는 부품은 직접 만들 수도 있다. 사용자 정의 타입처럼. 아무튼. 클래스로 객체를 만드는 과정을 클래스의 인스턴스화라고 한다. 만들어진 클래스를 우리는 객체(=인스턴스)라고 부른다. 객체의 구성요소 속성property과 기능function이 있다. prope..

Java 2020.09.06