분류 전체보기
[Python] swap, 두 개의 변수를 교환하는 방법
변수a = 10b = 20# a와 b를 교환a, b = b, aprint(a, b)# 출력# 20 10 또 다른 방법으론 swap 함수def swap(a, b): temp = a a = b b = temp return a, b a = 10b = 20# a와 b를 교환swap(a, b)print(a, b)# 출력# 20 10 n개 이상도 가능하다a = 10b = 20c = 30a,b,c = c,b,aprint(a,b,c)# 출력# 30 20 10 리스트arr1 = [1,2,3]arr2 = [4,5,6]arr1 , arr2 = arr2, arr1print(arr1, arr2)# 출력# [4, 5, 6] [1, 2, 3]#요소 위치변경하기arr = [1,2,3,4]arr[0],arr[1] = arr[..
[Java] Comparable과 Comparator : 비교를 위한 인터페이스
Comparable 인터페이스Comparable은 자기 자신과 매개변수 객체를 비교할 수 있도록 만들어주는 인터페이스이다. 이 인터페이스를 채택하여 구현하면 compareTo 메서드를 통하여 객체간에 비교가 가능해진다.Comparable 인터페이스와 Comparator 인터페이스Comparable과 비슷한 기능을 하는 인터페이스로 Comparator가 있다. 둘의 차이점은 다음과 같다.1) 구현해야 하는 메서드의 차이Comparable은 compareTo(T o1)을 구현해야 한다.Comparator는 compare(T o1, T 02)를 구현해야 한다. 매개변수가 2개이다. 2) 사용 방법의 차이Comparable은 자기 자신과 다른 객체를 비교한다.Comparator는 매개변수로 들어오는 두 객체를 ..
[Java] Collections 클래스
collection vs Collection vs Collectionscollection)데이터나 집합이나 그룹, 객체가 저장되고 반복되는 자료구조 Collection인터페이스(java.util.Collection 프레임워크)Collection '프레임워크' 내에 있는 Collection '인터페이스'여러 요소들을 담기 위해 만들어졌기 때문에, Container 객체라고도 불림Set, List, Queue 인터페이스가 하위 인터페이스로서 있음ex) ArrayList : Collection 인터페이스 → List 인터페이스 → ArrayList 클래스로 구현을 하는 것Collectionsutility 클래스 (java.util.Collections 클래스)Collection인터페이스이며, Iterable을..
[Python] 연산자
연산자피연산자를 이용해 계산을 하는 기호산술 연산자 : +, -, *, /, %, //, **할당 연산자 : =, +=, -=, *=, /=, %=, //=비교 연산자 : >, >=, 논리 연산자 : and, or, not정수, 실수의 산술 연산에서는 기본적으로 범위가 큰 자료형으로 형변환된다.산술 연산자덧셈)정수, 실수 덧셈num1 = 9; num2 = 3result = num1 + num2print(f'result : {result}')fNum1 = 1.3; fNum2 = 3.14result = fNum1 + fNum2print(f'result : {result}')result = fNum1 + num1print(f'result : {result}')문자(열) 덧셈 : 각 문자를 연결(나열)str1 ..
[Java] Generic 제네릭
사용법다이아몬드 연산자 ()에 타입을 정의해주면 되지만 명명 규칙이 존재한다.E : 요소(element)K : 키(key)N : 숫자(Number)T : 타입(type)V : 값(value)S, U, V : 2,3,4번째 선언된 타입장점컴파일 타임때 타입추론을 통한 타입에러를 사전에 잡을 수 있다.컴파일러가 타입추론을 통한 타입 캐스팅을 자동으로 해준다.코드의 재사용성이 매우 높아진다.컴파일 타임 때 타입 추론을 통한 타입 에러를 사전에 잡을 수 있다public interface List extends Collection {...} List를 사용할 때 우리는 다이아몬드 연산자 () 안에 어떠한 타입을 지정하고 사용한다. Java 7 버전 이후로 도입됐다.List string = new ArrayList..
DoS 및 DDoS 정리
서비스 공격 거부 (DoS, Denial of Service) 1. 정의 : 공격 대상 시스템이 정상적인 서비스를 할 수 없도록 만드는 공격 2. 목적 : 가용성 저하 3. 주요 공격 : SYN Flooding Attack, 스머프 공격(Smurf Attack) 등 4. 스머프 공격(Smurf Attack), 스머핑(Smurfing) 1) 희생자의 스푸핑(Spoofing)된 원본 IP로 브로드캐스팅 방식으로 ICMP(Internet Control Message Protocol) 패킷 전송 2) 전달받은 시스템들은 원본 IP로 ICMP 응답 메시지 전송 3) 희생자 시스템은 ICMP 트래픽 과부화로 정상적인 서비스 불가능 ※ IP Spoofing : 네트워크의 취약점을 이용하여 해커가 자신의 IP를..
동적테스트 화이트박스 테스트 검증기준 (WhiteBox Test Coverage)
1) 문장 검증 기준 (Statement Coverage)문장 1회모든 문장이 한 번 실행된다. 2) 분기 검증 기준 (Decision Coverage)T/F분기점은 조건문에서의 각 분기 또는 논리적 분기 지점을 나타내고, 각 분기는 프로그램의 특정 경로를 나타내며, 조건문의 참/거짓에 따라 결정된다.모든 코드 분기가 테스트 되었을 때 100%의 분기 커버리지가 달성된다. 3) 조건 검증 기준 (Condition Coverage)TF, FT각 조건이 참과 거짓으로 평가되는 모든 가능한 경우를 테스트한다.각 조건이 최소한 한 번은 참으로, 한 번은 거짓으로 평가되도록 한다. 4) 분기/조건 기준 (Condtion Decision Coverage)TT, FF프로그램의 모든 분기점이 최소한 한 번 실행되었는지..
서브넷, 서브넷마스크, 서브넷팅
서브넷 (Subnet)IP 주소 공간을 더 작은 네트워크로 분할하는 기술이다 IP 주소 공간을 서브넷으로 분할하면 네트워크를 효율적으로 관리하고, 더 많은 호스트들을 지원하거나 보안을 강화할 수 있다.서브넷 마스크 (Subnet Mask)주어진 IP 주소를 네트워크 환경에 맞게 나누어 주기 위해서 씌어주는 이진수의 조합이다.서브넷을 만들 때 사용되는 것으로 IP 주소에는 반드시 서브넷 마스크가 있는데, 이 서브넷 마스크를 이용하여 IP주소에서 Network ID와 Host ID를 분리할 수 있다.서브넷팅 (Subnetting)네트워크를 더욱 작은 단위의 네트워크로 분할하는거다 IP주소의 낭비를 방지하고 브로드캐스트 도메인의 크기를 줄여서 성능을 향상하는 것이 주된 목적이다.예를 들어 당신이 192.167..
OSI 7계층 개념 정리
OSI (Open System Interconnection) 7계층은 국제 표준화 기구인 ISO (International Standardization Organization)에서 개발한 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명한 개방형 시스템 상호 연결 모델이다.AH : Application HeaderPH : Presentation HeaderSH : Session HeaderTH : Transport HeaderNH : Network Header / NT : Network TailDH : Data Link Header / DT : Data Link Tail계층을 지날 때마다 헤더(Header)가 붙는데, 이것은 해당 계층의 기능과 관련된 제어 정보가 포함 되어 있다.제어 정보들..
IaaS, PaaS, SaaS 차이
IaaS, PaaS, 및 SaaS는 클라우드 컴퓨팅 모델을 나타내는 서비스 유형이다.차이점은 각각 다른 수준의 관리와 책임을 제공하고, 사용자가 원하는 만큼의 제어와 유연성을 제공한다.SaaS는 소프트웨어 기반 서비스PaaS는 플랫폼 기반 서비스IaaS는 인프라 기반 서비스IaaS Infrastructure as a ServiceIaaS는 가장 기본적인 클라우드 서비스 모델로, 가상화된 컴퓨팅 리소스(가상 머신, 스토리지, 네트워킹 등)를 제공하는 것이다.사용자는 여기에 운영체제부터 응용프로그램, 데이터 등 전반적인 관리 책임을 갖게 된다. IaaS는 기본 인프라를 프로비저닝(IT 인프라를 설정하는 프로세스)하고 관리하는 데 필요한 컨트롤을 제공하면서도 하드웨어와 물리적 자원에 대한 걱정을 줄여준다.ex..