본문 바로가기

전체 글346

Network : Data Link Control : Framing, Flow&Error Control, Protocols, Noisy Channels Data Link Layer에서 control 담당하는 부분 1. Framing Data link layer는 physical layer에서 오는 signal을 frame으로 바꾸거나, frame을 signal로 바꿔서 physical layer로 보낸다. 데이터 배열에 Data, Header, Trailer 등을 넣어서 캡슐화(Encapsulate)를 하는 작업을 말한다. Flag는 Frame의 양끝이라고 알려주는 부분이다. 8bit로 되어있다. Header에는 Frame에 대한 정보가 들어있다. Trailer는 Frame 끝에 존재하며, 이는 Frame이 오류없이 도달했는지 오류검출을 해주기 위해 사용된다. 이 과정에서 framing을 할 때, Fixed-size framing, Variable-si.. 2019. 12. 10.
Deep_Learning : CNN (Convolutional Neural Network) CNN (Convolutional Neural Network), 합성곱 신경망 네트워크 정의 : CNN은 합성공을 이용한 신경망 네트워크를 말한다. 기존의 FNN (Fully-Connected Neural Network)에서는 데이터를 모든 신경망에 연결을 하다보니, 신경망의 수가 기하급수적으로 늘게 되었고, 우리는 조금 더 합리적이고 빠른, CNN을 찾게 되었다. CNN에서 layer는 입력데이터로부터 특징을 추출하는 역할을 수행한다. 이는 특징을 추출하는 Filter와 필터의 값을 비선형 값으로 바꾸어주느 활성화 함수 (Activation Function)로 이루어져 있다. Filter (특징을 추출하는 역할) filter는 오른쪽 같은 곡선의 그림을 행렬로 표현한 것이다. 내가 이런 곡선을 그림에서.. 2019. 12. 2.
Linux : pm2, forever * Pm2 이용하는 방법 1. npm install pm2 -g 로 모듈설치 2. express 프로젝트 폴더로 이동 3. pm2 start npm -- start 로 서버 시작 4. pm2 list 로 실행중인 프로세스 확인 * Forever 모듈이용하는 방법 1. npm install forever 로 설치 후 2. express 프로젝트폴더로 가서 3. forever start -c "npm start" ./ (-c 옵션: 커맨드 ./ : 현재경로) 출처: https://themestock7.tistory.com/110 원격(ssh) 꺼도 서버계속 돌아가게 하기 서버 초보입니다 ㅠㅠ 간단한 질문인데요, Putty로 우분투 서버에 접속해서 node.js 켜놓고 접속까지 확인했는데, Putty 끄면 자.. 2019. 12. 2.
Computer Structure : computer 요소 CPU (central processing unit , 중앙 처리장치) CPU는 중앙 처리장치로 연산을 담당한다. 또한 CPU에는 cache를 담당하는 부분이 존재한다. Memory, 주 기억장치 Memory는 주기억장치를 말하며, 이는 HDD나 SDD에 정보를 memory에 올려서 속도를 빠르게 쓰고자하는 목적이다. 컴퓨터에 전원이 차단되면 메모리의 내용은 사라진다. 또한 Access 방법에 따라 Random-Access-Memory, Read-Only-Memory로 나뉜다. GPU(Graphics Processing Unit), Graphics Card Graphics Card는 그래픽을 담당한다. GPU는 2019. 12. 2.
Open Source : Visual Studio Code 단축키 ctrl + D + 단어 : 단어를 모두 선택 alt + 커서클릭 : 커서 가있는 곳으로 클릭할 때마다 커서를 생성 alt 위아래 화살표 : 코드 위치를 변경 코드 블럭처리 후 alt + shift + 위아래 화살표 : 같은걸 밑으로 복사붙여넣기 효과 코드 블럭처리 후 alt + shift + I : 드래그 한 부분에 끝에 커서를 만들어줌 코드 블럭처리 후 alt + shift + drag : 드래그 한 부분에 길이에 맞춰서 커서를 만들어줌. 길이가 다른 코드일 때 유용 ctrl B : 파일창 닫아줌. ctrl K ctrl O : open folder Reference : code - preferences - keyboard - shortcuts 2019. 12. 1.
Python : basic : public, protected, private class Student : name = '박상진' def getName (self): return self.name def setName(self, name): self.name = name man = Student() 이런 클래스가 있다고 가정하자. 여기서 Student의 name 변수는 박상진, man이라는 객체의 name 변수는 유혁준이다. 만약 악의가 있는 사람이 Student라는 class의 변수 name을 임의로 수정할 경우, Student.name = 'devil' Student class를 써야하는 사람들은 name이 박상진으로 되야하지만, devil로 바뀌어 오류가 날 수도 있다. 이를 막기위해 private 변수 및 get-, set- 함수가 필요한 것이다. class Student .. 2019. 12. 1.
Python : basic : Override vs Overload 2019/11/03 - [java] - Java : Overidding vs Overloading Java : Overidding vs Overloading 전부터 헷갈리던 개념, Overriding, Overloading에 대해 포스팅! 특히 이 개념들은 class를 주로 다루는, python, C++, Java에서 사용하니 알아두면 좋다. Overloading Overloading 이란, 과적하다, 과부하라는.. mambo-coding-note.tistory.com 전에도 override vs overload 에 대하여 공부해놓은 글이 있다. 다시 한 번, 적어보면!!! Override는 내가 부모 class로 부터 상속을 받았는데, 어떤 함수가 맘에 안든다!! 내 맘대로 바꿀거다 하면 @Overri.. 2019. 12. 1.
Python : Basic : Class 기초 Class 정의 : 객채지향프로그래밍에서 지향하는 구조, 과자 틀과 비슷하다. 클래스(class)란 똑같은 무엇인가를 계속해서 만들어 낼 수 있는 설계 도면이고(과자 틀), 객체(object)란 클래스로 만든 피조물(과자 틀을 사용해 만든 과자)을 뜻한다. 특징 : class로 정의한 object, 객체마다 고유한 성격을 가진다는 것이다. 과자 틀로 만든 과자에 구멍을 뚫거나 조금 베어 먹더라도 다른 과자에는 아무 영향이 없는 것과 마찬가지로 동일한 클래스로 만든 객체들은 서로 전혀 영향을 주지 않는다. -> class를 지향하면서 함수의 재사용을 높이는 것이 중요하다 유의사항 : class 안에서 method를 정의할 때, 이는 함수 정의할 때도 똑같겠지만, method, function 둘 다, 기능.. 2019. 12. 1.
Linux : Duckdns DuckDNS duckdns란, ip를 입력하여, 내 ip를 free로 dns로 만들어주는 사이트를 말한다. 처음 사이트를 들어가면, Google ID로 로그인하게 만든다. 여기에 내가 dns로 쓰고 싶은 dns를 입력한 후, add domain을 해주면, 밑처럼 현재 ip가 나온다. 그 다음 나는 aws lightsail에서 진행을 하였다. aws ubuntu 환경에서 설정은 모두 밑에 링크 따라서 진행하였더니 자동으로 잘 되었다. https://jimnong.tistory.com/788 [우분투,리눅스] 무료 DDNS - 홈서버에 DuckDNS를 설치해보자(공유기 DDNS 탈출하기) 통상적으로 DDNS는 공유기 내장 기능으로 설정하시지요? 그런데 저전력 홈서버(24시간 켜져있는 PC)를 쓰고 계신다면.. 2019. 11. 26.
Linux : Google API 써보기 Google API 써서 로그인 환경 만들기 이번에 프로젝트를 진행하면서, Google API를 이용해서 로그인 환경을 만들어, 로그인하는 이름을 가지고 dir 구성하였다. 나중에 로그인 환경을 구축하는데 용이하게 사용가능할 것 같았다. 나중에 한 번 해보자 우선 Google API로 들어가서 프로젝트를 생성한다. 그 후, 사용자 인증 정보 만들기를 들어가서, 두 번째 OAuth 클라이언트 ID를 눌러준다. 아마 처음에는 OAuth 동의 화면에 설정이 안되어있을 것이다. 어플리케이션에 이름 적어준다. 그 밑에 승인된 도메인에 내가 주소로 걸어둘 도메인을 적어준다. 그 후 저장을 눌러준다. 그 다음 사용자 인증 정보 만들기를 들어가서 웹어플리케이션으로 정해준다. 여기서 만약 내가 다른 분야를 할 거면, 다.. 2019. 11. 26.
Big Data : Spark : SparkSession from pyspark.sql import SparkSession spark = SparkSession.builder .master("local[*]") .config("spark.driver.cores", 1) .appName("understanding_sparksession") .getOrCreate() --------------- spark.stop() SparkSession이란 Spark 2.0 버젼 모양을 가지고 있다. SparkSession은 여러가지 class들을 수행하기 위해 기반을 제공한다. 또한 method와 여러가지 class들을 제공한다. 사용자들은 SparkSession을 통해서 직접 fluent interface, 유동적인 interface를 구성하는데 도움을 주는, coding.. 2019. 11. 23.
Big Data : Spark : findspark package findspark 란? spark cluster가 생성되면, 이에 접근할 수 있는 지점이 필요한데, 이를 SparkContext라고 한다. 우리는 SparkContext를 통해 spark cluster에 접근해, 명령어를 전달, 결과를 전달 받는다. 우리는 SparkContext를 줄여 sc 라는 변수로 칭한다. SparkContext를 findspark 패키지로 찾아내며, pyspark.SparkContext 명령어로 스파크 접속지점을 특정한다. -> ('local', spark cluster의 이름) 을 실습을 통해 sys.argv로 입력받았다. -> export SPARK_HOME=/home/hadoop/spark 이것도 SPARK_HOME을 정해줌으로써 entry point를 알려준 것 impor.. 2019. 11. 23.