일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- network
- NoSQL
- VCS
- javascript
- socket
- html
- mongodb
- Elk
- 데이터통신
- git
- AWS
- Java
- ajax
- libuv
- redis
- Linux
- HTTP
- reactor
- Lombok
- mybatis
- github
- nodejs
- Heap
- Static
- r
- spring
- effective
- 네트워크
- reactive
- cache
- Today
- Total
목록분류 전체보기 (187)
빨간색코딩
입력과 출력은 프로그램의 흐름이다. 입력을 키보드뿐만아니라 파일로도 할 수 있으며, 출력에도 모니터뿐만 아니라 파일역시 출력의 대상이다.1. 표준 스트림특정한 프로그래밍 언어 인터페이스뿐 아니라 유닉스 및 리눅스,윈도 등에서 컴퓨터 프로그램과 그 환경 사이에 미리 연결된 입출력 통로이다. 스트림은 단방향이다.데이터 스트림은 순차적인 데이터 바이트들을 파일의 끝(EOF)까지 읽는다. 이런 방식으로, 프로그램은 쓸 데이터가 얼만큼 남았는지, 혹은 어떤 식으로 묶여있는지 알 필요 없이 필요한 데이터를 쓸 수 있었다.c언어에서 함수앞에 f가 붙은 함수들은 보통 인자로 FILE *stream을 받는다.2. 표준입력입력을 위한 스트림(Standard input, STDIN, 0) 변수는 FILE* stdin;3. ..
앞에서 문제풀이에서 말했듯이, 직접 푼거기때문에 틀릴 수 도 있다. 댓글로 질문받습니다~~ 데이터통신, 이재광 편저, 맥그로힐에듀케이션코리아 Chapter 10. 데이터 링크 제어 문제 1. 흐름 제어는 어디에서 필요하며 왜 필요한가? 고려되어야 할 요소는 무엇이 있는가? 흐름제어는 프로토콜에서 수신기로부터 응답을 기다리기 전에 얼마나 많은 데이터가 전송 될 수 있는지를 송신기에 알려주는 절차들의 모임이다. 흐름제어는 데이터가 오류없이 완벽하게 전송하기 위해 필요하다. 문제 2. 정지-대기 흐름 제어에서 다음에 관한 처리를 정의하고 설명하시오.a. 손상된 프레임: 수신기에 의해 오류를 포함하는 프레임이 발견되면, NAK프레임으로 응담되고 송신기는 마지막 프레임을 재전송한다.b. 손실된 프레임: 손실된 데..
https://www.gitignore.io/ 를 가면 미리만들어진 파일을 받을 수 있다. 작성법 기호 의미 # 주석 ! 예외 / 디렉터리를 의미 *.exe 확장자 exe파일을 모두 무시 A/*.exe A 디렉터리 안에 있는 확장자 exe파일을 모두 무시 .gitignore 은 앞으로 Git 버전 관리에서 제외할 파일 목록을 지정하는 파일이다. 따라서 이미 버전 관리에 포함되어 있는 파일들을 .gitigore 파일에 기록한다고 해서 Git이 알아서 버전 관리에서 제외 하지는 않는다. 이 경우에는 수동으로 해당 파일들을 버전 관리에서 제외시켜줘야 하는데 git bash에서 git rm --cached 를 입력하면 적용된다
1. 브랜치로 일하기현업에서는 이슈를 해결하기위해 이슈마다 브랜치를 딴다. 이렇게 딴 브랜치로 이슈를 해결한 후 master에서 이슈브랜치를 병합하는 것을 Fast-forward 방식이라고 한다. 실제 master 브랜치는 커밋 object가 생성되지 않지만, 포인터를 앞으로 옮긴다. (fast-forward빨리감기라고 함)별도의 커밋을 갖고있는 master브랜치와 이미 분기된 다른 브랜치와 merge할 때는 fast-forward 방식이 아니다. 이때 git은 공통 조상을 찾고 3way-merge를 이용하여 갈라진 커밋객체를 합치고 새 커밋객체를 만든다. 2. 충돌해결같은 파일(=A)의 같은 코드를 각자 브랜치(로컬과 원격저장소가 될수도 있다)로 작업(commit)을 하고 merge를 할 때 충돌이 발..
git의 원리흐름도git의 object들이 working디렉터리에서 index를 거쳐 repo까지 어떤 명령어로 어떻게 움직이는지 원리를 정리해봤다. 이제 아래그림을 완벽히 이해할 수 있을 거다!! 1. git init.git의 초기구성HEAD config description /branches /hooks /objects /refs 2. git addgit add를 했을때 index(=stage area,tree구조)에 object이름과 실제파일이름이 추가되고(추적등록) objects에 blob타입으로 파일내용이 추가된다.같은 파일이라도 파일내용이 달라지면 새로운 object가 생긴다.object의 이름은 SHA1로 HASH된다. 즉 파일내용이 같으면 object명이 같다.3. git commitgit..
학교애들 알려주던거 기록해둔다ㅋㅋ Thread.sleep(1000); 이 이해안된다고!? 참조문서: http://docs.oracle.com/javase/8/docs/api/javax/swing/Timer.html 1. Timer 클래스의 생성자Timer(int delay, ActionListener listener) delay : 초기 지연 후에 listener를 설정된 밀리세컨드마다 호출한다.listener : 호출될 이벤트 2. 소스 이다. 3. 실행결과메인쓰레드 START반복문0반복문1반복문21번째 호출: Sun Mar 19 00:23:14 KST 2017반복문3반복문42번째 호출: Sun Mar 19 00:23:16 KST 2017반복문5반복문63번째 호출: Sun Mar 19 00:23:18 ..
구조체의 메모리 저장방식을 알면 멤버변수들을 선언할때 좀 더 메모리를 효율적, 최적화되게 쓸 수 있다.1. 구조체의 바이트 패딩바이트패딩이란 멤버 변수를 메모리에서 CPU로 읽을 때 한번에 읽을 수 있도록, 컴파일러가 레지스터의 블록에 맞춰 바이트를 패딩해주는 최적화 작업이다. 만약 컴파일러가 패딩을 하지 않는다면(=최적화를 해주지 않는다면) CPU가 메모리에 다시 접근하면서 성능이 떨어질 것이다.struct x { char a; int b; char c; }; struct x data; 위 구조체를 sizeof(data) 로 찍어보면 6이 나올 것같지만 12가 나온다. 컴파일러는 구조체를 구성하는 멤버들을 가장 크기가 큰 멤버 자료형의 배수가 되도록 정렬한다. 이 정렬을 위해 의미없는 바이트(패딩)들을..
자바스크립트(JavaScript)를 들어가며 1. 자바스크립트란?약칭 js라고 하며 객체 기반의 스크립트 프로그래밍 언어이다. 주로 웹브라우저(스크립트엔진-인터프리터가 내장되어 있다)에서 사용한다. CSS가 디자인을 담당한다면 js는 클라이언트 단에서 웹페이지가 동적으로 랜더링하는 것을 담당해준다. 최근에는 node.js로 서버사이드부분에도 상당히 유명해졌다. 뿐만 아니라 앵귤러, 리액트, 리액트 네이티브는 웹과 앱개발에서 매우 상승세타고있다.. 주변에서 하도 리액트리액트거려서 리액트공부해야하나 싶을정도다ㅋㅋㅋ 결국 할거지만 2. 자바와는 관계가 있나요?자바스크립트는 자바와 이름이 비슷해서 착각을 할 수 있다. 자바와 문법, 구문이 유사한 점도 있지만, 이는 C언어를 조상으로 물려받았기 때문이며, 두 언..
HTML PART1 코드카데미 Learn HTML & CSS: Part I 를 소개한다. HTML, CSS는 웹의 기초이니 분명히 잘알아야 한다. HTML이야 태그 몇개없으니 금방 알게되지만 CSS같은 경우 레퍼런스문서나 잘 정리된 표들고 찾아 쓰는게 일반적이다ㅋㅋ 그래서 쓰면서도 (특히 비슷한 속성값일때) 이게 뭔지 뭔차이가 있는지 모를때가 있다. 코드카데미를 풀어가면서 조금이라도 햇갈릴 여지가 있는 것들을 정리해보았다. 아그리고 이거하면 영어독해 강제로 하게된다 사실 문제푸는것보다 독해하는게 더걸리는기분 2. HTML기본a태그: target="_blank" 를 쓰면 새 탭으로 연다W3C 표준: 들여쓰기는 스페이스 2칸와 태그의 차이점은 눈에 보이는 효과는 같으나 시각장애인에게 음성으로 읽어줄 때 st..
TCP소켓 프로그래밍의 기초 0. 다루는 소켓에 대하여일반적으로 사용되는 INET(TCP/IP 를 이용한 인터넷 주소 패밀리)와 TCP(데이터 연결지향형, 신뢰성이 높은 Stream) 에 대해서 다룬다. 리눅스(centos7) 환경을 기준으로 다룬다. 이번에도 느낀건데 이런식으로 넘버링하면서 공부하면 뇌에 효율적으로 저장되는거같다..1. 소켓이란?직관적인 예로 전구는 소켓을 이용하여 전기를 공급받는다. 이처럼 컴퓨터도 네트워크에서 데이터를 얻기위해 소켓을 사용할 수 있다. 소켓 프로그램은 서버-클라이언트의 2개의 프로그램으로 쌍을 이룬다. 서버는 서비스를 제공하는 프로그램이고, 클라이언트는 서버에 서비스를 요청하는 프로그램이다.TCP 소켓이란?TCP소켓은 연결지향형이다. 중간에 데이터가 소멸되지 않고 목..
1. Git같은 버전관리시스템이 나오게 된 배경- 파일이나 폴더를 편집할 때 작업을하면서 아래 사진처럼 번잡하게한다.- 만약 여러명이 공유한 파일을 편집한다면 저장할때 동기화문제가 있다.- 이와같은 문제를 해결하기위해 git이 탄생. 2. git을 이용한 버전관리 - 소스 코드가 변경된 이력을 쉽게 확인 가능- 특정 시점에 저장된 버전으로 되돌아 갈 수 있다.- 동시저장할때 누군가 편집한 내용과 충돌한다면, 경고메시지 발생. 내용덮어쓰는 실수가 없다.- 매번 백업용 파일 복사본을 만들 필요가 없다.3. 초기설정: ~/.gitconfig 에 저장된다git config --global user.name 자신의 닉네임git config --global user.email 자신의 이메일4. 명령어 도움말 보는법..
앞에서 문제풀이에서 말했듯이, 직접 푼거기때문에 틀릴 수 도 있다. 댓글로 질문받습니다~~ 데이터통신, 이재광 편저, 맥그로힐에듀케이션코리아 Chapter 9. 오류 검출과 오류 정정 문제 1. 오류 검출에서 중복의 개념을 설명하시오 중복은 전체 데이터 열을 반복하여 오류가 있는지 검사하는 방식이 아니고 짧은 비트 그룹이 각 단위의 끝에 추가되는 것이다. 이 비트들은 전송 데이터에 오류가 없는 것으로 판정되면 바로 폐기된다. 중복 검사의 종류는 4가지로, 수직 중복 검사(VRC), 세로 중복 검사(LRC), 순환 중복 검사(CRC), 검사합(Checksum)이 있다. 문제 2. 짝수 패리티를 가정할 때 다음 데이터 단위의 패리티 비트를 구하시오. VRC는 데이터 내에서 1의 갯수가 짝수개가 되도록 한다...
1. 마크다운이란? 일반 텍스트 문서의 양식을 편집하는 문법, README 파일이나 온라인 문서, 혹은 일반 텍스트 편집기로 문서 양식을 편집할 때 쓰인다. 마크다운을 이용해 작성된 문서는 쉽게 HTML 등 다른 문서형태로 변환이 가능 2. 기본문법 ※ 개행: 스페이스 2개 + 엔터※ 문단구분: 엔터 2번 ①. 제목# 텍스트#을 하나 쓰면 HTML의 태그를, #을 두개 쓰면 태그를 의미한다. 즉, #은 하나에서 여섯개까지 쓸 수 있고, #이 늘어날때마다 제목의 수준은 내려간다.(보통 글씨 크기가 작아진다.) ②. 번호 없는 리스트-/+/* 텍스트 ③. 번호 있는 리스트숫자. 리스트 ④. 기울인 글씨 (html의 태그)*텍스트* or _텍스트_ ⑤. 굵은 글씨 (html의 태그)**텍스트** or __텍스..
CSS를 배워보자 4. 선택자의 우선순위 CSS는 중복선언을 허용한다. 중복되는 속성이 있을경우 아래와 같은 우선순위로 처리된다.①. 속성값 뒤에 !important 를 붙인 속성 ②. HTML에서 style을 직접 지정한 속성③. #id 로 지정한 속성 ④. .클래스, :추상클래스 로 지정한 속성 ⑤. 요소이름으로 지정한 속성 ⑥. 상속된 속성 같은 우선순위에 있는 경우, 나중에 선언된 것이 우선되어 적용된다. 5. 명시도 계산법 !important > id [ 100 ] > class [ 10 ] > tag [ 1 ] > * [ 0 ] ID 선택자의 갯수를 세어서 개당 100 으로 계산한다. 클래스 선택자의 갯수를 세어서 개당 10 으로 계산한다. 태그 선택자의 갯수를 세어서 개당 1 로 계산한다.공..
CSS를 배워보자 1. CSS란? Cascading Style Sheets 라고하며, HTML과 같은 마크업 언어들이 실제 표시되는 방법을 기술하는 언어이다. W3C의 표준이며 레이아웃과 스타일을 정의할 때 주로 쓴다. 마크업 언어가 몸체를 이룬다면 CSS는 그것을 꾸며주는 역할을 하는 것이다. 2. 선언방식 공백은 W3C 표준에서 들여쓰기는 스페이스 2칸을 권장하고 있다. 각 선택자간에는 한줄의 여백을 권장한다. 선언방식으로는①. in-line: 태그안에서 속성으로 추가. ②. internal: head안에 넣어서 선언 ③. external: head안에 링크넣어서 선언 3. 선택자 보기 쉽게 표로 만들어보았다 선택자 선택자명 설명 * 전체 선택자 모든 요소를 선택한다 #id ID 선택자 id값이 같은..