1. docker run : 컨테이너 생산 및 실행 / 종료시 꺼짐
-i 데이터 보이기 -t 터미널형식 -d 데몬 --name 도커네임 -p 포트:포트
docker create : 컨테이너 생산 / 실행되진 않음
docker attach : 컨테이너로 접속 / 종료시 꺼짐
docker exec -it ~ bash: 외부에서 컨테이너로 명령 / 종료시 안꺼짐
docker ps : 실행중인 도커 컨테이너 목록
docker ps -a : 모든 도커 컨테이너 목록
docker images : 모든 도커 이미지 확인
docker search ~ : 도커 이미지 검색
docker pull ~ : 도커 이미지 다운로드
docker logs -f 컨테이너이름 : 로그 보기
docker stop ~ : 컨테이너 중지
docker rm ~ : 컨테이너 삭제
2. shell이란? 사용자와 커널 사이에 존재
커널이란? 하드웨어를 제어하기 위한 존재 C
bash 쉘의 한 종류
3. 어셈블리어 : 기계와 1:1로 대응되는 저급언어
컴파일러 : 고급언어를 다른 언어로 변환
인터프린터 : 한 행씩 실행
속도는 컴파일러 보안은 인터프린터
4. cache
데이터를 임시로 저장해두는 장소
5. cvs
update먼저 받아야함
mark as marged 하면 내께 최신이됨
6. 클러스터
여러개의 컴퓨터가 연결되어 하나의 시스템 처럼 작동하는 것
7. serialize(직렬화)
자바 시스템 내부에서 사용되는 Object 또는 Data를 외부의 자바 시스템에서도 사용할 수 있도로 byte 형태로 데이터를 반환하는 기술
JVM의 메모리에 상주되어 있는 객체 데이터를 바이트 형태로 변환하는 기술
8. Deserialize(역직렬화)
byte로 변환된 Data를 원래대로 Object나 Data로 변환하는 기술
직렬화된 바이트 형태의 데이터를 객체로 변환해서 JVM으로 상주시키는 형태로
9. CSV
데이터 표현하는 방법 중 하나로 콤마(,)로 데이터 구분
10. IMDG(In Memory Data Grid)
더 빠른 결과를 위해 여러 시스템의 메모리에 데이터를 분산시켜 저장
11. jackson
java object <-> json 변환
13. Jersey
RESTful 웹 서비스용 java API
14. nohup
쉘스크립트파일을 데몬형태로 실행시키는 프로그램
터미널 세션이 끊겨도 실행을 멈추지 않고 동작
15. &
프로세스를 실행할 때 백그라운드에서 동작하도록 만드는 명령어
16. JPA(Java Persistence API)
자바 애플리케이션과 JDBC 사이에 동작
ORM을 구현하기 위한 인터페이스 자바에서 사용. 보통 hibernate와 같이 사용
DB랑 통신
17. UUID
범용 고유 식별자 표준
18. BufferdReader InputStreamReader InputStream
Reader = 바이너리 스트림을 문자로 바꿔서 읽어주는 역할
InputStream = 바이트의 흐름을 받아들인다 (10101111 10110011 ...)
InputStreamReader = 바이트를 한 문자로 바꾸어주는 역할
BufferdReader = reader의 문자를 버퍼형태로 저장하는 역할
19. String, StringBuffer, StringBuilder
String = 힙 주소 불변, 새로 할당하면 새로운 주소로 변경
StringBuffer = 기존의 힘 주소를 가변적으로 변경 (멀티스레드 환경에 좋음)
StringBuilder = 기본의 힙 주소를 가변적으로 변경 (단일스레드 환경에 좋음)
20. DAO, DTO, VO
DAO = Data Access Object
database에 접근하기 위한 객체
DTO = Data Transfer Object
VO = Value Object
계층간 데이터 교환을 위한 자바빈즈
21. abstract, interface
abstract(추상) - 추상 클래스를 받아서 구현하고 확장
interface(구현) - 인터페이스 받아서 강제 구현하고
22. extends, impliments
extends는 abstract를 상속
impliments는 interface를 구현
23. collection
컬렉션에 저장되어 있는 요소들을 읽어오는 방법
24. set, list , map
set : 순서를 유지하지않고 중복 불허
list : 순서가 있고 중복 가능
map : key-value로 이루어진 데이터
25. iterator
컬렉션 종류에 상관없이 동일한 방법으로 접근할 떄 사용
26. vector
동적 배열
27. 객체, 인스턴스
객체 ex) Car matiz;
선언만 한 상태(null 값으로 메모리에 없고 실체화 되지 않음)
인스턴스 ex) Car matiz = new Car();
객체가 메모리에 올라간 상태(실체화 됨)
28. static
클레스에서 로딩할때 메모리에 올라가 있음
공통으로 쓰는것이나 메서드에 인스턴스변수가 필요하지 않다면 사용 고려
29. http vs socket 통신
http : 단방향 통신
클라이언트 요청에 대한 응답을 서버에서 주는 방식
서버에서 응답 받은 후 종료
socket : 실시간 양방향 통신
서버와 클라이언트가 실시간으로 양방향 통신 연결을 계속 유지한다
실시간 동영상 스트리밍, 온라인 게임
30. 샤딩
총 저장되는 용량이 많을 때 여러개의 db인스턴스에 나누어 저장
31. html
HyperText Markup language
5까지 나옴
32. http
HyperText Transfer Protocol
1.1 / 2버전이 있는데
1.1은 주고 받고 해야하고 오버해드가 들어가서 용량및 시간증가
2는 다 보내고 각각에 대한 리스폰스를 따로 받아서 시간 줄어듬
33. ORM
Object-relational mapping(객체 관계 매핑)
객체와 RDB를 자동으로 매핑
객체가 테이블이 되도록 매핑
sql 구문 몰라도 사용가능
복잡해지면 느리다는 단점이 있음. JPQL, QueryDSL 등을 사용
hibernate
34. local cache, global cache
local cache : 각 서버가 캐시를 가지고 있어서 빠름
glocal cache : 여러 서버에서 캐시를 참조하고 네트워크를 통해야되서 로칼캐시보다 느림, 서버간 데이터 공유가 쉽다
35. Saas, Paas, Laas
Saas : Software as a Service [응용프로그램을 서비스 형태로 제공]
Paas : Platform as a Service [응용프로그램을 개발 할 수 있는 API 제공]
Laas : Infrastructure as s Service [ip, network, storage 등 여러가지 제공]
36. flush()
현재 버퍼에 저장되어 있는 내용을 클라이언트로 전송하고 버퍼를 비운다.
ex) 호수를 쓰고나서 안의 물을 빼내는 작업 처럼
37. WebRTC
Web real time communication
웹 브라우저 간에 실시간 영상, 음성, 게임 공유가
38. Janus(야누스)
WebRTC Server의 일종
39. AOP(Aspect Oriented Programming)
관점 지향 프로그래밍
기능을 핵심 비지니스 로직과 공통모듈로 구분하고, 핵심 로직에 영향을 미치지 않고 사이사이에 공통 모듈을 효과적으로 끼워넣도록 하는 개발 방법
ex. asm, aspectj
40. DB link
물리적으로 떨어져있는 DB를 사용할 수 있도록 연결하는 것
41. env / export
42. bash_profile
명령어를 저장하기 위해 사용하는 파일 예) 시스템 환경변수, alias
적용하기 위해서 source ~./bash_profile
43. Throwable 클래스
Exception과 Error가 Throwable을 상속받는다
Exception은 개발자가 구현한 로직에서 발생, JVM은 정상 동작
Error는 시스템 레벨에서 발생, 개발자가 어떻게 조치할 수 없는 수준 , JVM OOM
44. 예회
try ~ catch : 일반적인 예외문
throws : 자신을 호출하는 메소드에게 책임을 넘긴다
throw : 개발자가 직접 정의한 예외를 발생시키고 싶다
45. catalina.out
일반적으로 system.out 을 다 찍는다
46. df -h
리눅스 남은 용량 보여줌
47. truncate table
table 내용만 지우는 명령어
48. OOP(Object Oriented Programming)
객체 지향 프로그래밍
49. Aspectj
AOP를 java로 확장한 것
50. Mybatis
개발자가 지정한 SQL, 저장 프로시저 그리고 몇가지 고급 매핑을 지원하는 퍼시스턴스 프레임워크
51. curl
다양한 프로토콜을 지원하는 데이터 전송용 Command line
-H 해더, -X 리퀘스트, -d 데이터
52. get, post, put, delete
post / put 차이 put은 등록된 것에 대한 수정
53. metric
타임스탬프와 한두가지 값을 포함한 이벤트
로그랑 달리 주기적으로 보낸다
54. sms, apm
sms(server monitoring service)
apm(application performance management)
55. IPMI
Intelligent Platform Management Interface
하드웨어 액세서, 모니터링, 부팅, 로그 종료 또는 유지
56. BCI(Byte Code Injection)
.class에 내가 만든 파일을 바이트 단위로 넣을 수 있는 기술
ex. aspectj, asm
57. 프로그램, 어플리케이션, 프로세서, 스레드
프로그램 : 작업을 위해 실행할 수 있는 파일
어플리케이션(응용 프로그램) : 특정 업무 처리를 목적으로 만들어진 프로그램
프로세스 : 메모리에 올라와서 cpu를 할당받고 프로그램이 실행되고 있는 상태(실행된 프로그램)
스레드 : 프로세서 안에서 실행되는 여러 흐름의 단위, 프로세스 내에서 stack 을 할당받아서 사용됨 여러개 존재 가능
ex : 메모장 프로그램을 두개 실행하면, 메모장 프로세스가 두개 생성된다
구성 : 운영체제[프로세스1[스레드1],프로세스2[스레드1,스레드2,스레드3],프로세스3[스레드1,스레드2]]
58. API(application programming interface)
어떤 서버의 특정한 부분에 접속해서 그 안에 있는 데이터와 서비스를 이용할 수 있게 해주는 소프트웨어 도구
59. REST
REST API : uri와 http를 사용해서 json을 전달 웹에서 많이 사용
RESTFUL : rest하게 만들어진 것
60. polling, push
polling : 하나의 장치에서 다른 장치 상태를 주기적으로 검사하여 일정한 조건을 만족할 때 송수신 등의 자료처리를 하는 방식
클라이언트가 서버에게 일정한 주기를 가지고 응답을 주고받는 방식
push : 서버에서 클라이언트로 일방적으로 전송
61. rolling, rollup
rolling : 큰 데이터를 자르는 것
rollup : 일정단위로 aggregation 해서 다른곳으로 옮김(샘플링, 평균, min, max로 aggregation 한 값을 저장)
62. id, class
id: 고유한 값, 표기방식 : #이름
class : 여러번 사용 가능, 표기방식 : .이름
63. npm(node Packaged manager)
nodejs로 만들어진 pakage를 관리해주는 툴
64. su, su-
su는 다른 계정으로 로그인 하지만 환경변수는 원래 계정 사용
su - 는 다른 계정으로 로그인 하면서 환경변수도 그 계정 것 사용
65. uri, url
uri가 최상위 개념
http://test.com/test.pdf?docid=111 이라는 주소는 URI이지만 URL은 아니다.
http://test.com/test.pdf 까지만 URL임(주소의 위치)
66. directive(디렉티브)
디렉티브는 애플리케이션 전역에서 사용할 수 있는 공통 관심사를 컴포넌트에서 분리하여 구현한 것으로 컴포넌트 복잡도를 낮추고 가독성을 향상시킨다
67. CDN(Contents Delivery Network)
느린 응답속도/다운로딩 타임을 극복하는 기술
원격 서버에서 자료를 받는데 가까운곳(캐시 서버)에서 파일을 전송
68. babel
es6같은 것을 지원 안하는 브라우저에서 지원하도록 다운그래이드 컴파일 해줌
69. 기본키, 후보키, 대체키, 복합키
기본키 : null값 없고 고유한 값
후보키 : 기본키가 될 수 있는 키
대체키 : 기본키가 될 수 있지만 선택되지 않은 키
복합키 : 두개 이상의 속성들로 구성된 키
70. REST API 디자인
URI는 정보의 자원을 표현해야한다
행위는 GET, POST, PUT, DELETE로 표현한다
71. wget, rpm, yum, npm
wget : 인터넷에서 파일을 다운받기 위한 명령어
rpm(Redhat Package Manager) : 리눅스 페키지 , 의존성 페키지를 다 따로 받아야함
yum(Yellodog Updater Modified) : rpm 의 의존선 페키지를 다 같이 받아줌
npm(node package manager) : 노드 js로 만들어진 페키지
72. gpio
general-purpose input/output
입력이나 출력을 포함한 동작시 런타임 시에 사용자에 의해 제어
73. onem2m
machine to machine
통신과 ICT 기술을 결합하여 원격지의 사물, 차량, 사람의 정보 등을 확인 할 수 잇는 제반
74. ICT
Information & Communication Technology (정보통신기술)
75. Lambda
익명함수, () -> {}
'개발 > 용어' 카테고리의 다른 글
컴파일러 언어 VS 인터프리터 언어 (0) | 2021.08.28 |
---|---|
Web Service Architecture (0) | 2021.03.30 |