목록전체 글 (249)
고래씌

1. 산술연산자 : 산술연산자(이항연산자 == 두개의 값을 가지고 연산) → * / % + - package com.kh.operator; public class A_Arithmetic { public void method() { int num1 = 10; int num2 = 3; System.out.println("num1 + num2 = " + (num1+num2)); // num1 + num2 로 출력해버리면 String처럼 각각의 숫자 10과 3을 찍기때문에 103이 출력됨. // 괄호로 묶어서 먼저 산술연산처리를 해줘야함 System.out.println("num1 - num2 = " + (num1-num2)); // 뺄셈은 괄호로 묶어주지 않는 경우 숫자로 인식하기 때문에 에러발생 System..

1. 형 변환 1) 형 변환 : 값의 자료형을 바꾸는 개념 2) 컴퓨터상에서 값 처리 규칙 2-1. 대입연산자(=) 기준으로 왼쪽과 오른쪽은 같은 자료형이어야함. 즉, 같은 자료형에 해당하는 값만 대입이 가능하다. 만약, 다른 자료형의 값을 대입하고자한다면 "형변환"이라는 과정이 필수다. [표현법] 자료형 변수형 = (바꿀 자료형) 값; 2-2. 같은 자료형끼리만 연산이 가능하다. => 즉, 다른 자료형끼리 연산을 수행하고 싶으면 한 구문은 "형변환"을 해야함 [표현법] 값 + (바꿀자료형) 값 1) (암시적)자동형변환 => 자동으로 형변환이 진행되는 케이스로 내가 직접 형변환할 필요가 없다. 작은바이트의 자료형 -> 큰바이트의 자료형으로 변환시 발생 2) (묵시적)강제형변환 => 자동형변환이 되지 않아..

1. 자바의 특징1) 운영체제에 독립적 2) 사용하기 쉬운 언어 - 다른 언어의 단점 보완(포인터, 메모리 관리) - 객체 지향 언어 - 능률적이고 명확한 코드 작성 가능 3) 자동 메모리 관리(Garbage Collection) 4) 네트워크와 분산환경 지원 5) 멀티쓰래드 지원 6) C언어와 달리 메모리를 동적할당 2. JVM? 자바를 실행하기 위한 가상 기계로 플랫폼에 의존적. byte code(class 파일)을 해석하고 실행하는 interpreter 자바 프로그램 실행환경을 만들어 주는 소프트웨어 2-1. JRE, JDK? JDK는 자바 애플리케이션을 개발하기 위한 환경을 지원한다. JDK는 JRE를 포함할 뿐만 아니라 컴파일러(javac), javadoc, jar, API, JVM, 유틸리티 ..
1. 변수를 사용하는 이유? 1) 변수는 우선적으로 값에 의미를 부여할 목적으로 사용(가독성이 좋음) 2) 단, 한번 값을 기록해두고 필요할 때마다 꺼내서 계속 사용할 목적으로 사용한다(재사용이 좋음) 3) 유지보수를 쉽게 할 수 있다. 2. 변수 선언(면접 꼭 나옴 ★) public void declareVariable() { 변수의 선언(값을 기록하기 위한 변수를 메모리 공간에 확보해두겠다) [표현법] 자료형 변수명; 자료형 : 어떤 값을 담아낼지, 어떤 크기의 값을 담아낼지에 따라서 변수의 크기 및 모양을 지정하는 부분 변수명 : 변수의 이름을 정하는 부분 - 주의점 1. 변수명은 소문자로 시작하는게 관례(단, 낙타등표기법 지키기) ex) String userName;(o) String userna..

1. 메소드 1. 메인메소드 : 자바 애플리케이션, 자바프로그램이 시작되는 시작점(entry point) 따라서 하나의 java 애플리케이션에는 1개 이상의 main 메소드가 포함된 클래스가 반드시 존재해야 함 ※ 기본 메소드가 없다면 자바 어플리케이션은 돌아가지 않음 □ class : 자바에서 모든 코드는 반드시 클래스 안에 존재해야 함. 서로 관련된 코드들을 그룹으로 나누어 별도의 클래스 구성. 클래스들이 모여 하나의 Java 애플리케이션 구성 □ main : 'public static void main(String[] args)' 는 main 메소드의 고정된 선언부임 2. 클래스명 작성 규칙 1) 항상 첫글자는 대문자로 시작 자동완성 단축키 : ctrl + spaceBar

★ ★ ★ ★ ★ ★ ★ 면접 단골 질문!!!!! ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ 1. 자바 언어 특징 1) 운영체제에 독립적 => JVM의 역할이 가장 크다! 2) 사용하기 쉬운 언어 - 객체 지향 언어 3) 자동 메모리 관리(Garbage Collection) -> 항상 실행됨 4) 네트워크와 분산환경 지원 5) 멀티쓰래드 지원 JDK : 설정을 간편하게 하는 자바 개발도구 JVM : 컴파일된 파일을 실행시켜주는 역할을 함 API : 자바에서 공공데이터 활용해서 쓸 수 있도록하는 API 코드 2. 자바 프로그램 실행하기 전에 기본 세팅 - window -> Show View -> other -> Navgation 생성 - 꼭 설정해줘야함! (Winodw - Preferences-왼쪽 메뉴 화면..

1. python를 사용해 단순한 서비스를 시작 작성한다. 다음 파일을 작성하여 test_server.py로 저장한다. # test_server.py import socket with socket.socket() as s: s.bind(("0.0.0.0", 12345)) s.listen() print("server is started") conn, addr = s.accept() # conn 클라이언트와 통신할 소켓 # addr 클라이언트의 정보가 들어있음 with conn: print("Connected by", addr) while True: data = conn.recv(1024) if not data: break conn.sendall(data) s.bind(("0.0.0.0", 12345)) :..
1. 기존에 설치된 모든 컨테이너와 이미지 정지 및 삭제 sudo docker stop 'sudo docker ps -a -q' sudo docker rm 'sudo docker ps -a -q' sudo docker rmi 'sudo docker images -q' 2. 도커 기능을 사용해 Jenkins 검색 sudo docker search jenkins 3. Jenkins를 사용하여 설치 sudo docker pull jenkins / docker pull jenkins/jenkins sudo docker inspect jenkins / docker inspect jenkins/jenkins sudo docker run -d -p 8080:8080 --name jk jenkins / sudo doc..
1.2 컨테이너 위협 모형 - 외부 공격자 : 외부에서 배치본에 접근하려 함 - 내부 공격자 : 배치본의 일부에 이미 접근한 사람 - 악성 내부 행위자 : 어느 정도의 권한을 가지고 배치본에 접근할 수 있는 개발자나 관리자를 말함 - 부주의한 내부 행위자 : 뜻하지 않게 문제를 일으킬 여지가 있는 사람 - 응용 프로그램 프로세스 : 비록 의도적으로 시스템을 침해하려는 지능적인 존재는 아니지만, 그래도 시스템에 접근해서 문제를 일으킬 수 있음 ▶ 응용 프로그램 코드의 취약점 ▶ 컨테이너 이미지 구축 시 설정 오류 컨테이너가 루트 사용자 권한으로 실행되게 설정해 버리면 컨테이너는 호스트에 대해 실제로 필요한 것보다 더 많은 특권을 가지게 됨 ▶ 이미지 구축용 컴퓨터 공격 이미지에 악성코드를 슬쩍 끼워 넣어서..