srang_의 등록된 링크

 srang_로 등록된 네이버 블로그 포스트 수는 214건입니다.

Dart 기본 문법 8: Interface와 Generic [내부링크]

1. 인터페이스 (Interface) 프로그래밍에서의 인터페이스는 꼭 구현해야 하는 기능들을 리스트업 하고 있다가, 해당 인터페이스로 상속받아서 구현하도록 유도하는 것이다. Dart 언어에서는 다른 프로그래밍 언어와 달리 Interface를 생성하기 위해 class로 선언해서 사용할 수 있다. (1) 인터페이스 클래스 정의 class 키워드로 PersonInterface를 선언한다. 그리고 필수로 구현해야 하는 Introduce() 메서드를 본문 없이 정의한다. class PersonInterface{ String? name; PersonInterface(this.name); void Introduce() {} } (2) 인터페이스 상속 정의한 인터페이스를 사용하기 위해서는 implements 키워드와 함께 상속받을 인터페이스 명을 작성한다. 그리고 상속받은 클래스는 인터페이스가 가지고 있는 모든 멤버들을 동일하게 맞춰줘야 한다. 즉 인터페이스를 상속받은 클래스는 무조건 필드나 메서

Dart 기본 문법 9: List, Map, Set [내부링크]

함수형 프로그래밍의 기본은 형 변환이다. List, Map, Set 타입은 Dart 언어에서 제공해 주는 메서드로 형 변환을 수행할 수 있다. List, Map, Set 타입의 map() 메서드를 사용하여 각각의 요소들에 접근해 새로운 객체를 만드는 방법을 공부해 보겠다. 1. 형 변환 1) 리스트 생성 void main(){ List<String> staff = ['Ian', 'Max']; print(staff); } 2) 리스트 to Map List에서 제공하는 asMap() 메서드를 사용하여 List<String> 자료형을 가진 데이터를 Map 타입으로 변경할 수 있다. 변환되었을 경우 Key에는 리스트의 Index 값이 들어가고, value에는 리스트의 요소 값이 들어간다. Map map_staff = staff.asMap(); // List to Map print(map_staff); // {0: Ian, 1: Max} 3) 리스트 to Set toSet() 메서드를 사용하

Dart 기본 문법 10: 리스트 메서드 (Where, Reduce, Fold) [내부링크]

1. Where 메서드 리스트에서 제공하는 where() 메서드는 각 요소들을 하나씩 접근하여 조건에 부합하면 새로운 리스트에 추가하고, 부합하지 않다면 리스트에 추가하지 않는 일종의 필터링 역할을 한다. 아래의 코드는 staff 중 지역이 SEOUL인 staff만 필터링해서 새로운 리스트를 만드는 것이다. void main() { List<Map<String, String>> staff = [ {'name': 'Ian', 'region': 'SEOUL'}, {'name': 'Max', 'region': 'INCHEON'}, {'name': 'Kevin', 'region': 'PUSAN'}, {'name': 'Roy', 'region': 'SEOUL'}, ]; final staff_age28 = staff.where((x) => x['region'] == 'SEOUL').toList(); print(staff_age28); // [{name: Ian, region: SEOUL}, {

Dart 기본 문법 11: 비동기 프로그래밍 (Future, async, await) [내부링크]

1. 비동기 프로그래밍 작업을 하는 가장 작은 단위를 의미한다. 프로그램 실행 시 스레드에 할당되어 프로그램을 실행할 수 있다. (1) 스레드의 작동 방식 하나의 작업이 수행되고 있을 때 해당 작업이 완료될 때까지 CPU를 사용할 수 없다. 절차적으로 또는 동기적으로 돌아가는 프로그램의 경우 스레드를 사용할 필요성이 없어진다. 하지만 네트워크, 서버 요청, 데이터베이스, 파일 스트림 등 오랜 시간이 걸릴 수 있는 작업이 실행될 경우 CPU를 사용할 수 없게 된다. 이는 CPU를 사용하여 다른 작업을 하고 싶지만 사용할 수 없는 자원의 낭비 상태가 된다. (2) 비동기 프로그래밍의 동작 방식 비동기 프로그래밍을 수행하면 작업을 하는 동안 CPU 사용을 Block 하지 않고, 다른 작업을 동시에 수행할 수 있게 된다. CPU를 효율적으로 사용할 수 있고, 시간 낭비를 줄일 수 있다. 2. Future 키워드 Dart 언어에서 비동기 프로그래밍을 위해 Future 키워드를 사용한다. (1

Dart 기본 문법 12: 비동기 프로그래밍 (Stream) [내부링크]

1. Stream 이전 포스팅에서 배웠던 Future는 작업이 실행될 때 await 키워드를 통해 결과값을 기다릴 수 있다. 이 때 하나의 작업에서는 하나의 결과값만 return을 통해 반환할 수 있는 특징을 가진다. 원래 프로그램에서 하나의 작업을 함수로 나타낼 때, 하나의 결과를 반환하는 것이 원칙이다. Stream은 하나의 작업을 여러번 결과를 yield 키워드로 반환하고,직접 닫아줘야 작업이 종료된다. 하나의 작업 안에서 yield 키워드르 통해 여러번 반환하는 특징을 가진다. (1) Stream Package 등록 Stream은 Dart언어에서 import를 통해 외부 라이브러리를 등록해야 사용할 수 있다. import 'dart:async' // dart 패키지 등록 (2) StreamContoller 사용 import 하게 되면 StreamController 클래스를 사용할 수 있게 된다. Controller을 불러오면 Stream을 가져와 사용할 수 있다. final

C# 배열 형 변환 (Casting) [내부링크]

1. Cast 메서드 객체의 배열형 데이터를 형 변환하는 방법을 알아보겠습니다. (1) 클래스 정의 먼저 Car 클래스를 정의하고, Car 클래스를 상속받는 자식 클래스 SuperCar, SUV도 함께 정의하겠습니다. public class Car { public string _name; public Car(string name) { _name = name; } } public class SuperCar : Car { public SuperCar(string name) : base(name) { } } public class SUV : Car { public SUV(string name) : base(name) { } } (2) 객체 생성 List<Car> 형태의 객체를 생성하고 SuperCar 2개를 인스턴스화 하겠습니다. static void Main(string[] args) { List<Car> cars = new List<Car>() { new SuperCar("람보르기니"

Docker 도커 정리 [내부링크]

1. Docker (1) Docker란 Docker는 많은 분들이 들어봤기 때문에 기본적인 이야기는 생략하겠다. 여러 가지 자료나 영상은 많은 곳에서 확인할 수 있다. https://www.youtube.com/watch?v=hWPv9LMlme8 Docker 대신에 VM을 사용하면 되지 않을까라는 질문도 있겠지만, OS 위에 또 다른 VM OS들을 설치하고 사용하기 때문에 불필요한 파일까지도 설치가 될 수 있고, VM 특성상 자원을 할당받은 만큼 사용하므로 실질적인 성능을 낼 수가 없다. 생각보다 VM이 무겁기도 하고 매번 부팅하거나 해야 하는 번거로움도 발생한다. 이때 OS 위에 VM과 OS를 또 설치하지 않고 Docker를 설치하여 여러 개의 개발 환경을 세팅할 수 있다. 개발 환경에 꼭 필요한 파일들과 실행할 수 있는 파일만 컨테이너라는 공간에 세팅하고 원할 때 언제든지 사용할 수가 있다. Host와 Docker 기본적인 OS에서 원하는 프로그램을 App store에서 설치하는

C# 클래스와 구조체 [내부링크]

1. 클래스와 구조체의 차이 클래스와 구조체의 차이점은 많이 있겠지만 그중에서 가장 큰 차이점은 상속입니다. 클래스는 상속을 통해 부모의 프로퍼티와 메서드를 상속받아 접근할 수 있는 반면, 구조체는 상속을 하지도 받지도 못합니다. 또한 구조체는 Value(값) 타입으로 스택 영역에 값이 할당되고, 클래스는 Reference(참조) 타입으로 힙 영역에 값이 할당되고 힙 영역의 주소 값이 스택 영역에 할당되는 차이점을 가지고 있습니다. 참고적으로 C#에서 구조체 문법을 가지고 있는 이유 중 하나로 C 코드에서 구조체를 사용할 경우 호환성을 위해 가지고 있다고 볼 수 있습니다. 그럼 먼저 Value 타입과 Reference 타입의 차이점을 알아보도록 하겠습니다. 2. Value 타입과 Reference 타입의 차이 (1) Value 타입 값 타입은 원하는 데이터를 값 타입 변수에 바로 할당할 수 있습니다. // 값 타입 변수 iNumber에 10이라는 값을 바로 할당 가능 int iNum

Dart 기본 문법 1: 변수 [내부링크]

1 . 화면 출력 모든 프로그래밍 언어는 화면에 데이터를 출력하는 함수 또는 메서드를 가지고 있다. C에서는 printf(), C#에서는 Console.WriteLine(), 자바에서는 System.out.println(), 파이썬에서는 print 등 기본적으로 탑재되어 있다. Dart 언어는 print() 메서드로 데이터를 출력할 수 있다. void main() { print('Hello World'); } 2. 변수 선언 [1] 변수 선언을 위해 var 키워드를 사용하고 변수명을 작성한다. [2] 선언된 변수의 값은 변경할 수 있다. [3] 선언된 변수와 동일한 이름의 변수를 다시 선언할 수 없다. void main() { // [1] variable 선언 및 할당 var name = 'Ian'; print(name); // [2] 변수의 값 변경 name = 'Star'; print(name); // [3] 동일한 변수명 name 선언 불가능 //var name = 'None'

Dart 기본 문법 2: 연산자와 리스트 종류 [내부링크]

1. 연산자 (Operator) (1) 연산 수행 우리가 알고 있는 연산자를 통해서 연산을 수행할 수 있다. 프로그래밍에서 사칙연산 말고 % (모듈러) 연산자를 사용하여 나머지 값을 구할 수 있다. void main() { // 변수 선언 int x = 10; int y = 2; // 사칙연산 수행 print(x + y); print(x - y); print(x * y); print(x / y); print(x % y); } (2) 증감 연산자 전위 연산자, 후위 연산자를 통해 증감 연산을 수행할 수 있다. 1씩 증가하거나 빼거나 할 때 유용하게 사용할 수 있다. 전위 연산자는 값이 출력되기 전 연산을 수행하고, 후위 연산자는 값을 출력 후 연산을 수행한다. int x = 10; int y = 2; // 후위 연산자 x++; y--; // 전위 연산자 --x; ++y; (3) 대입 연산자 대입 연산자는 변수에 값을 대입할 수 있는 연산자이다. 위에서부터 계속 사용하고 있는 = 연산자

Dart 기본 문법 3: 조건문과 반복문 [내부링크]

1. 조건문 (if) 조건문의 종류에는 if 조건문과 switch 조건문이 존재한다. (1) if 프로그래밍에서 분기를 담당하는 조건문을 사용하기 위해 if를 사용할 수 있다. if() 괄호 안에 원하는 조건을 작성해서 조건일 경우 { ... } 스코프 안에 있는 기능을 수행한다. 아래의 식은 'iNumber 변수의 값이 5보다 클 경우 print() 함수를 수행해라.' 의미를 가지고 있다. iNumber 변수의 값이 5보다 크기 때문에 함수를 실행하게 된다. 만약 5보다 작을 경우 print() 함수는 실행되지 않는다. int iNumber = 10; if(iNumber > 5){ print("$iNumber is bigger than 5"); } (2) if else if와 else문을 사용하여 조건에 만족할 경우와 만족하지 않을 경우를 분기할 수 있다. if() 괄호 안의 조건을 만족하지 않는다면 else {}구문 안의 기능이 수행된다. if(iNumber > 5){ print

Dart 기본 문법 4: Enum과 함수 [내부링크]

1. eum enum은 열거형 상수를 표현하기 위해 사용하는 키워드이다. 상수들을 숫자 보다 의미 있는 단어들로 표현할 수 있어 개발자가 코드를 읽기 편리하게 해준다. (1) enum 선언 enum 이름을 작성하고 { ... } 중괄호 안에 목록들을 작성해서 사용할 수 있다. enum Status { pending, start, end, } (2) enum 사용법 아래의 코드는 switch 문과 함께 enum을 사용해 보았다. enum은 조건값이 정해져있기 때문에 swith 조건문과 함께 사용한다. case 마다 enum의 상수값들을 지정하고, 해당 조건값에 해당할 경우 case 안에 있는 코드를 수행한다. 아래의 코드에서 변수 s는 Status의 pending 값을 가지고 있기 때문에 switch 문에서 case Status.pending: 에 해당하므로 '대기'라는 문구가 출력되고 switch 문의 종료된다. Status s = Status.pending; switch(s){ c

Dart 기본 문법 5: 클래스 [내부링크]

1. 클래스 클래스: 설계서를 만드는 것이다. 인스턴스: 실제로 결과물을 만들어 내는 것이다. 설계 정보인 클래스를 바탕으로 프로그램 상에서 객체를 만들어 사용하기 위해 인스턴스화 과정을 거치게 된다. (1) 클래스 선언 class Company{ ... } (2) 클래스의 멤버 클래스를 선언하고 멤버 변수와 함수를 정의할 수 있다. class Company{ String name = ''; List<String> staff = ['Ian', 'Max', 'Lisa']; void introduce(){ print('회사 소개: $name'); } void startProject(){ print('프로젝트 시작 with: $staff'); } } (3) 인스턴스화 클래스는 실제로 사용하기 위해 객체를 만들 수 있다. 객체를 만들기 위해서 클래스를 함수를 호출하는 것처럼 사용하는 것을 인스턴스화이라고 한다. 다른 객체지향 프로그래밍 언어에서는 new 키워드를 호출해서 인스턴스화를 할 수

Dart 기본 문법 6: private과 상속 [내부링크]

1. private private 속성은 외부에서 접근하지 못하도록 설정하는 접근제한자이다. 1) private 클래스 private 클래스를 사용하는 방법은 클래스명 앞에 _(언더바)를 붙이면 된다. class _Company{ String name; List<String> staff; } 2) private 멤버 변수 멤버 변수명 앞에 _(언더바)를 추가하면 마찬가지로 private 한 멤버 변수를 선언할 수 있다. private 멤버 변수는 외부에서 해당 멤버 변수를 접근하지 못하도록 설정하는 것이다. 이는 객체지향언어의 캡슐화라는 특징으로 볼 수 있다. class Company{ String _name; List<String> _staff; } 3) private 메서드 메서드 앞에 _(언더바)를 붙이면 해당 메서드도 private 메서드가 된다. 마찬가지로 외부에서 해당 메서드를 호출하지 못하고, 클래스 내부에서만 사용할 수 있다. 2. 상속 (Inheritance) 자식

Dart 기본 문법 7: Static [내부링크]

1. Static 변수 static 멤버는 인스턴스에 귀속되지 않고 클래스에 귀속된다. (1) static 변수란 static 변수로 선언한 경우 인스턴스화를 하지 않고 클래스명으로 접근해서 사용할 수 있게 된다. Person 클래스에 static 변수(country)와 final 상수(name)를 선언한다. 그리고 introduce() 메서드 정의하여 country와 name을 출력한다. class Person{ static String? country; final String name; Person(this.name); void introduce(){ print('${this.name} [${country}]'); } } (2) 일반 변수와 static 변수 차이점 메인 함수에서 Person 객체를 하나 생성하고 introduce() 메서드를 호출한다. 생성자 함수를 통해 name의 값을 할당하였지만, country는 할당하지 않았다. 그리고 static 변수인 country는

[프로그래머스] 옹알이 (1) [내부링크]

프로그래머스에서 제공하는 옹알이 (1) 문제를 풀어보았습니다. 문자열을 Join(), Split() 메서드를 사용하여 비교하고, 원하는 문자열을 포함하는지 확인하는 문제였습니다. 문제 설명 머쓱이는 태어난 지 6개월 된 조카를 돌보고 있습니다. 조카는 아직 "aya", "ye", "woo", "ma" 네 가지 발음을 최대 한 번씩 사용해 조합한(이어 붙인) 발음밖에 하지 못합니다. 문자열 배열 babbling이 매개변수로 주어질 때, 머쓱이의 조카가 발음할 수 있는 단어의 개수를 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ babbling의 길이 ≤ 100 1 ≤ babbling[i]의 길이 ≤ 15 babbling의 각 문자열에서 "aya", "ye", "woo", "ma"는 각각 최대 한 번씩만 등장합니다. 즉, 각 문자열의 가능한 모든 부분 문자열 중에서 "aya", "ye", "woo", "ma"가 한 번씩만 등장합니다. 문자열은 알파벳 소문자로만

[프로그래머스] 개인정보 수집 유효기간 [내부링크]

코딩테스트 연습 > 2023 KAKAO BLIND RECRUITMENT > 개인정보 수집 유효기간 프로그래머스에서 제공하는 코딩 테스트 문제인 "개인정보 수집 유효기간"를 풀어보았습니다. 문제 설명 고객의 약관 동의를 얻어서 수집된 1~n번으로 분류되는 개인정보 n개가 있습니다. 약관 종류는 여러 가지 있으며 각 약관마다 개인정보 보관 유효기간이 정해져 있습니다. 당신은 각 개인정보가 어떤 약관으로 수집됐는지 알고 있습니다. 수집된 개인정보는 유효기간 전까지만 보관 가능하며, 유효기간이 지났다면 반드시 파기해야 합니다. 예를 들어, A라는 약관의 유효기간이 12 달이고, 2021년 1월 5일에 수집된 개인정보가 A약관으로 수집되었다면 해당 개인정보는 2022년 1월 4일까지 보관 가능하며 2022년 1월 5일부터 파기해야 할 개인정보입니다. 당신은 오늘 날짜로 파기해야 할 개인정보 번호들을 구하려 합니다. 제한사항 today는 "YYYY.MM.DD" 형태로 오늘 날짜를 나타냅니다.

직장인 토익 시험 응시 후기 [내부링크]

토익 2023년 2월 26일에 실시한 483회 응시 후기 포스팅입니다! 많이 부족한 점수이지만, 직장 다니면서 학원다니고 했던 제 모습을 간직하고 싶어서 작성해보았습니다 ㅎㅎ 1. 토익 시험을 준비하기로 한 계기 언어라는 것은 꾸준히 오래 사용해야 유지와 향상이 되는데, 최근에 너무 사용하지 않은 것 같아 반성을 하게 되네요. 회사에서 영어로 미팅 해야 하는 빈도 수가 증가하게 되었고, 영어 공부에 대한 필요성을 느끼게 되어 오랜만에 영어 공부를 시작하였습니다. 먼저 강제성을 부여하기 위해 서현에 있는 토익 전문 학원의 평일 저녁 초급반 (월수금) 에 등록하였습니다. 처음부터 다시 시작하자는 마음으로 공부를 시작했습니다. 2. 학원까지 가는 길 평일 퇴근하고 판교를 지나 서현까지 매번 버스를 타고 학원에 내원하는 것이 가장 힘들었습니다. 버스에 사람도 너무 많고, 항상 막히는 도로를 다니면서 학원 등록한 것을 살짝 후회했지만 돈이 아까워서라도 열심히 출석했습니다. ZOOM 온라인 수

파일 입출력 및 스트림 (File IO / Stream) [내부링크]

1. Stream (스트림) 1) Stream 이란? Stream (스트림)은 컴퓨터에서 데이터를 이동시키기 위한 중요한 개념입니다. 영어 사전에서의 Stream은 흐름, 시내, 연속이라는 사전적 정의를 가지고 있으며, 데이터가 연속적으로 흐른다는 것을 연상시키면 좋을 것 같습니다. 데이터를 이동시키기 위해서는 Stream을 생성하여 두 객체를 연결해야 합니다. Stream은 데이터가 흐르는 통로를 의미하며, 데이터를 이동시키는 역할을 수행합니다. Stream은 메모리나 하드 디스크(HDD)와 같은 저장 매체에 데이터를 저장하거나 로드할 때, 데이터를 바이트 단위로 전달하는 역할을 합니다. 이러한 역할로 인하여 파일 입출력, 네트워크 통신, 데이터베이스 등 다양한 컴퓨터 시스템에서 사용할 수 있습니다. 하지만 개발자가 직접 스트림을 컨트롤하는 것은 어려울 수 있어 프로그래밍 언어에서는 스트림을 다루기 쉽게 하기 위한 클래스를 제공합니다. 스트림 관련 클래스들은 스트림을 추상화하여 더

직렬화 (Serialization) [내부링크]

1. 직렬화 (Serialization) 1) 직렬화란? 객체의 상태를 메모리나 영구 저장 장치에 저장이 가능한 데이터인 0과 1의 순서로 바꾸는 것을 의미합니다. 2) 직렬화를 사용하는 이유? 개발을 할 경우 기본 데이터 형식보다 프로그래머가 직접 정의한 구조체, 클래스와 같은 복합 데이터 형식을 많이 사용할 수 있습니다. BinaryWriter, BinaryReader, StreamWriter, StreamReader 객체는 기본 데이터 형식만 Stream에 읽고 쓸 수 있기 때문에 복합 데이터 형식을 파일에 저장하거나 쓰기 위해서는 모든 멤버 변수를 저장할 수 있는 방법을 직접 코드로 정의해야 합니다. 이러한 번거로운 작업을 수행하지 않고, 복합 데이터 형식을 Stream에 저장하고 불러올 수 있도록 도와주는 기능이 직렬화 (Serialization)입니다. 2. 파일 직렬화 [1] 직렬화를 하고 싶은 구조체, 클래스 위에 [Serializable] Attribute를 정의합니

[프로그래머스] 평행 [내부링크]

프로그래머스에서 제공하는 평행 문제를 풀어보았습니다. 두 선분이 평행으로 위치하고 있는지를 확인하는 문제입니다. 문제 설명 점 네 개의 좌표를 담은 이차원 배열 dots가 다음과 같이 매개변수로 주어집니다. [[x1, y1], [x2, y2], [x3, y3], [x4, y4]] 주어진 네 개의 점을 두 개씩 이었을 때, 두 직선이 평행이 되는 경우가 있으면 1을 없으면 0을 return 하도록 solution 함수를 완성해보세요. 입출력 예 설명 입출력 예 #1 점 [1, 4], [3, 8]을 잇고 [9, 2], [11, 6]를 이으면 두 선분은 평행합니다. 입출력 예 #2 점을 어떻게 연결해도 평행하지 않습니다. [ 코딩 풀이 ] 먼저 점을 객체로 만들기 위해 Point 클래스를 선언하고, dots 배열에서 하나씩 꺼내 총 4개의 점을 객체로 변환합니다. 그리고 두 점을 인자로 받아 기울기를 구하는 GetInclination() 메서드를 구현합니다. 총 3번의 기울기 비교를 통해

동기와 비동기 (Sync & Async) [내부링크]

1. 동기 (Synchronous) 코드가 순차적으로 실행되며 한 작업이 완료될 때까지 다른 작업을 수행하지 않습니다. 한 작업이 완료되기를 기다리는 동안 다른 작업을 수행할 수 없는데, 이러한 작업을 블로킹(Blocking)이라고 합니다. * 동기 작업에서 블로킹(Blocking)은 스레드 블로킹(Thread Blocking)을 의미합니다. 스레드 블로킹은 스레드가 한 작업을 수행하는 동안 다른 작업을 수행하지 못하도록 막습니다. 예를 들어 파일을 읽는 작업을 수행하는 동안 해당 스레드는 파일을 전부 읽을 때까지 대기하며, 다른 스레드는 실행될 수 없습니다. 이러한 스레드 블로킹은 멀티 스레딩 프로그램에서 성능 저하를 일으키거나 데드락(Deadlock) 현상을 초래할 수 있습니다. 1) 동기 프로그램 구동 방식 ① 프로그램을 실행한다. ② 기능 1() 메서드를 실행한다. ③ 기능 1() 메서드가 완료되면, 기능 2() 메서드를 실행한다. ④ 기능 2() 메서드가 완료되면, 기능 3

C# 형 변환과 박싱(Boxing) [내부링크]

1. 암시적 형 변환 프로그래머의 추가적인 코드 없이 자동으로 컴파일러가 형을 변환해 주는 것을 암시적 형 변환이라고 합니다. 아래의 코드는 int 자료형의 변수를 하나 만들어 100을 저장합니다. 그리고 double 자료형의 변수를 정의하고, int 자료형의 변수를 할당합니다. double 자료형이 int 자료형 보다 크기 때문에 dNumber에 100이라는 정수를 할당할 수 있습니다. int iNumber = 100; double dNumber = iNumber; 2. 명시적 형 변환 프로그래머가 직접 코드를 입력하여 강제로 형 변환을 해야 하는 것을 명시적 형 변환이라고 합니다. 아래의 코드는 double 자료형의 변수를 정의하고 1.2를 저장합니다. 그리고 int 자료형의 변수를 정의하고, double 자료형의 변수를 할당합니다. int 자료형은 double 자료형 보다 작기 때문에 iNumber에 값을 할당할 수 없어 컴파일 오류가 발생합니다. 이때 원하는 자료형을 명시적으

[CSS] 박스 모델 [내부링크]

1. 박스 모델 (Box-Model) 1) 박스 모델이란? HTML 문서를 통해 웹 콘텐츠 요소를 표현하면 브라우저에서 해당 문서를 바탕으로 렌더링을 수행합니다. 브라우저가 요소를 렌더링 할 때, 각각의 요소는 기본적으로 사각형 박스 형태로 영역을 차지합니다. CSS는 요소들의 박스의 크기, 위치, 속성을 결정할 수 있습니다. 2) 박스의 4가지 영역 박스는 콘텐츠 영역, padding, 경계선, margin 으로 총 4가지의 영역으로 구성됩니다. ① 콘텐츠 영역 (Content) 박스의 중심부에 위치하며, 태그 안에 작성된 텍스트나 이미지 같은 콘텐츠들의 나타냅니다. 이때 콘텐츠의 높이와 너비를 가집니다. 크기 속성으로 width, height가 있습니다. ② 안쪽 여백 (Padding) 콘텐츠 영역과 경계선 사이의 여백 영역을 안쪽 여백이라고 하며 padding으로 사용됩니다. 크기 속성으로 padding 있습니다. ③ 경계선 (Border) 콘텐츠 영역은 경계선 (테두리)로 감

[CSS] Float 속성 [내부링크]

1. Float 속성 부동 요소로 공간에서 떠있는 요소를 만들 수 있습니다. 요소들이 공간을 차지하고 위에서 아래로 차례차례 생성되는 흐름에서 제외되어 자신을 포함하고 있는 컨테이너의 왼쪽이나 오른쪽에 배치할 수 있습니다. Float이 지정된 요소는 문서의 흐름에서 제외되지만, 필요한 공간만큼은 차지하는 상태가 됩니다. 속성값 내용 none Float의 기본 값으로, 원래의 상태를 의미합니다. left 자신을 포함하고 있는 박스의 왼쪽에 떠 있도록 설정합니다. right 자신을 포함하고 있는 박스의 오른쪽에 떠 있도록 설정합니다. 1) float: none 속성값 문서의 기본적인 흐름은 먼저 작성된 요소가 브라우저 화면에서 가장 먼저 보이는 것입니다. BoxA, BoxB, BoxC의 id 값을 가진 div 태그들은 순서대로 화면에 출력되게 됩니다. <style> #BoxA{ width: 200px; height: 50px background-color: lightcyan; } #Bo

[CSS] position 위치 속성 [내부링크]

1. position 속성 position 속성은 문서 상에 요소를 배치하는 방법을 정의하는 속성으로 top, right, bottom, left를 사용하여 오프셋을 지정하여 최종 위치를 결정합니다. 1) Position 속성의 종류 속성값 내용 position: static position 속성의 기본값으로 요소를 일반적인 문서의 흐름에 따라 배치합니다. position: relative 일반적인 문서의 흐름으로 요소를 배치하지만, 상하좌우 위치 값에 따라 오프셋을 적용합니다. position: absolute 일반적인 문서 기본 흐름에서 요소를 제거하고, 가장 가까운 position 지정 요소에 대해 상대적으로 오프셋을 적용합니다. position: fixed 일반적인 문서의 기본 흐름에서 요소를 제거하고, 지정된 위치에 고정합니다. position: sticky 일반적인 문서의 기본 흐름으로 요소를 배치하지만, 스크롤이 동작이 존재하는 가장 가까운 요소에 대해 오프셋을 적용합니

[CSS] Float 속성 특징 [내부링크]

| Float 속성 특성 Float 속성은 Flex 속성과 함께 기본적으로 CSS 기초에서 레이아웃을 구현할 때 필수로 알아야 하는 속성입니다. 1) Float 속성 적용 Float이 적용된 요소가 float: left 을 설정하면 왼쪽 방향으로, float: right를 설정하면 오른쪽 방향으로 이동이 가능합니다. 2) Float 요소의 너비 Float이 적용된 요소의 너비가 해당 요소의 콘텐츠 영역 크기만큼만 차지하도록 변경됩니다. float 속성값으로 변경된 요소는 블록 요소처럼 모든 너비를 차지하는 것이 아닌, 인라인 요소처럼 콘텐츠의 너비만큼 차지하도록 변경됩니다. 이때 display 속성값이 inline-block으로 실제로 변경되는 것이 아니라 외형만 콘텐츠 너비만 차지하는 것처럼 출력됩니다. 3) Float 요소의 흐름 Float 속성이 적용된 요소 뒤에 있는 다른 요소들이 해당 요소를 감싸는 성질을 가집니다. float 속성을 가지는 요소는 기본적인 문서의 흐름에서

[CSS] 레이아웃 정리 [내부링크]

1. display 속성 CSS에서 display 속성은 block, inline, inline-block이 있습니다. 1) block 하나의 블록으로 HTML 문서에서 좌우 영역을 차지하는 요소입니다. <div>, <h1>, <p>와 같은 태그가 블록 요소로 사용됩니다. 하나의 블록은 좌우 공간을 차지하므로 다음 블록은 순차적으로 아래에 생성됩니다. block 요소 2) inline 인라인 속성은 콘텐츠의 크기만큼 영역을 차지하는 요소입니다. <span>, <a>, <img> 태그가 인라인 요소로 사용됩니다. 하나의 인라인 요소는 콘텐츠가 존재하면 콘텐츠의 크기만큼 요소의 크기가 결정되며, 좌우 공간 모두 차지하지 않기 때문에 다음 요소는 오른쪽에서 왼쪽으로 생성되게 됩니다. 이때 요소의 크기를 width와 height 속성으로 지정해도 크기가 변하지 않습니다. inline 요소 3) inline-block 인라인-블록 속성은 인라인 요소의 특징과 블록 요소의 특징을 둘 다 가지고

[CSS] Flex 속성과 배치 방향 [내부링크]

1. Flex 속성 1) Flex 속성이란 Flex 속성은 요소들을 유연하게 배치하는 방법으로 수평 또는 수직으로 배열할 수 있고, 공간 분배와 정렬 등을 설정할 수 있습니다. 부모 요소에 flex 속성을 부여하면 부모 박스 안에서 다른 추가 설정 없이 자식 요소들 수만큼 영역을 나눠서 가로 배열을 수행합니다. 또한 자식 요소들은 블록 수준의 flexable 박스로 사용될 수 있습니다. Flex 속성은 기본적으로 주축과 교차 축로 2가지 방향을 가지고 있습니다. 2) Flex 속성 종류 display: flex 자식 요소들을 블록 수준의 flexable 박스로 동작하도록 합니다. display: inline-flex 자식 요소들을 인라인 수준의 flexable 박스로 동작하도록 합니다. 2. Flex 요소들의 배치 방향 flex-direction 속성에 아래의 속성값을 부여해서 요소들의 배치를 변경할 수 있습니다. 속성 내용 flex-direction: row -기본값으로 박스들을

[프로그래머스] 한 번 등장한 문자 [내부링크]

코딩 테스트 > 프로그래머스 문제인 "한 번 등장한 문자"를 풀어보았습니다. 문제 설명 문자열 s가 매개변수로 주어집니다. s에서 한 번만 등장하는 문자를 사전 순으로 정렬한 문자열을 return 하도록 solution 함수를 완성해보세요. 한 번만 등장하는 문자가 없을 경우 빈 문자열을 return 합니다. 제한사항 0 < s의 길이 < 1,000 s는 소문자로만 이루어져 있습니다. 입출력 예 설명 입출력 예 #1 "abcabcadc"에서 하나만 등장하는 문자는 "d"입니다. 입출력 예 #2 "abdc"에서 모든 문자가 한 번씩 등장하므로 사전 순으로 정렬한 "abcd"를 return 합니다. 입출력 예 #3 "hello"에서 한 번씩 등장한 문자는 "heo"이고 이를 사전 순으로 정렬한 "eho"를 return 합니다. [ 코드 풀이 ] - 소문자 a 는 int 정수로 97으로 변경할 수 있습니다. - InsertArray() 함수를 정의하여 97을 최솟값으로 하고 26개을 알파

4장 ADO.NET 정리 [내부링크]

MVC 패턴 중 Control을 구현하기 전 DB의 명령을 전달하기 위한 Command에 대해서 정리하고자 합니다. 웹(.NET)과 DB 연동을 위해 필요한 기능은 연결, 명령, 종료입니다. 연결과 종료는 이전에 만들었던 SqlControl의 Connection에서 구현을 완료하였습니다. 이번 내용은 명령에 대한 EvidenceControl을 생성하기 전에 .NET에서 어떻게 DB Server로 명령을 보내고, 요청한 결과값을 받을 수 있는지 알아보도록 하겠습니다. 1. SqlCommand .NET에서는 DB에 쿼리문을 요청하기 위해 SqlCommand 클래스를 사용할 수 있습니다. SqlCommand 객체를 생성하여 명령을 수행하는 인스턴스를 만들어야 합니다. SqlCommand cmd = new SqlCommand(query, conn); 첫 번째 인자로는 Query 문 또는 프로시저명으로 문자열 데이터가 올 수 있고, 두 번째 인자로 DB와 연결하기 위한 SqlConnectio

5장 ASP.NET MVC 패턴 Control 생성 [내부링크]

MVC 패턴 중 기능을 제어하는 Control 부분을 구현해 보도록 하겠습니다. 기존에 학습한 ConnectionString과 ADO.NET 라이브러리를 활용하여 코드를 작성합니다. 1. Evidence Control 생성 생성된 Model인 데이터를 생성, 수정, 삭제, 출력 기능을 위해 Control을 구현하려고 합니다. 이때, Control에 해당하는 기능들을 인터페이스로 미리 작성하고, 작성된 인터페이스(IEvidenceControl)를 상속받아 Control 클래스를 생성하겠습니다. 인터페이스를 작성하여 Control을 구현할 경우 내가 어떤 기능을 작성해야 하는지 알 수 있고, MS-SQL을 통한 Evidence Control이 아닌 MySQL, Oracle 등 다른 DBMS를 사용할 경우 작성된 인터페이스를 상속받아 Control 클래스를 생성하여 사용할 수 있는 유연성과 유지보수의 장점을 가지고 있습니다. Control은 기능을 수행하는 역할을 하지만, View(웹)에

Winform 배포 파일 기본 설정 [내부링크]

1. 프로그램 Title 표시줄 (1) 아이콘 추가 프로젝트 > 오른쪽 클릭 후 속성 > 애플리케이션 탭 > 아이콘 설정 Form > 속성 창 > Icon 항목 > 아이콘 설정 (2) 프로그램 이름 표시 현재 Form 객체의 타이틀을 변경하기 위해 this.Text 속성을 사용할 수 있습니다. this.Text = "내가 원하는 타이틀 작성"; using System.Reflection; string strName = Assembly.GetEntryAssembly().GetName().Name; this.Text = strName; 2. 프로그램 버전 관리 Assembly Version 정보를 가져와서 프로그램 버전을 출력할 수 있습니다. Assembly Version의 버전은 4자리를 기본으로 1.3.0.2 형태로 관리하고, 버전 정보는 1)주 버전, 2)부 버전, 3)빌드 번호, 4)수정 버전으로 작성됩니다. 버전 정보를 지정할 경우 '*'을 사용하여 빌드 번호 및 수정 번호를

6장 ASP.NET 서버 컨트롤 [내부링크]

이전까지 MVC 패턴 중 데이터 구조에 해당하는 Model 과 기능에 해당하는 Control을 구현해 보았습니다. Model과 Control을 사용하고 화면을 담당하는 View를 구현하기에 앞서 ASP.NET에서 사용되는 서버 컨트롤과 포스트 백 개념에 대해서 정리하도록 하겠습니다. 1. ASP.NET 기본 원리 ASP.NET은 <form> ... </form> 태그 안의 요청(Request)을 받고, 해당 결과물을 화면 (View)에 출력하는 역할을 수행합니다. HTML의 태그들을 서버 컨트롤을 사용하여 모두 프로그래밍 방식으로 사용할 수 있는 장점을 가지고 있습니다. (1) login.aspx 파일 로그인 기능을 수행하기 위해 <form> 태그 안에 아이디와 비밀번호를 입력할 수 있는 <input> 박스 2개와 버튼 하나를 배치하였습니다. 버튼을 누르게 되면 method로 지정된 방식으로 action에 위치한 곳으로 <form> 태그 안에 데이터가 전송됩니다. 이때 name 속성

C# RSA 암호화 [내부링크]

프로젝트 도중 라이선스 발급을 위한 몇 가지 데이터를 암호화하기 위해 RSA 암호화 기술을 사용하려고 합니다. 암호학이나 RSA 암호화에 대한 상세한 내용은 구글링 또는 검색을 통해서 찾아보시면 더 퀄리티 높은 자료들을 확인하실 수 있습니다. 1. RSA란 RSA는 가장 널리 사용되는 공개키 암호 알고리즘으로, 데이터를 암호화하거나 전자서명에서 표준으로 사용되는 암호화 방식을 의미합니다. 공개키 암호의 응용 방안으로 데이터 암호화, 전자 서명(Digital Signature), 대칭키 교환(Key Exchange)이 존재합니다. RSA의 계산 시간이 길기 때문에 긴 메시지를 암호화하는 경우 대칭키 알고리즘으로 암호화를 수행합니다. (1) 대칭키 기법과 비대칭키(공개키) 대칭키는 비밀키 하나를 사용하여, 암호화와 복호화에 동일한 키를 사용하는 알고리즘입니다. 비밀키를 하나만 사용하므로 유출될 경우 보안 사고 및 데이터 유출이 발생할 수 있습니다. 비대칭키(공개키)는 공개키(Public

[CSS] 선택자와 텍스트 [내부링크]

1. 선택자 1) Selector (선택자) html에 표현되는 태그에 선택자를 추가해서 CSS 스타일을 입힐 수 있습니다. 2) Selector Priority(선택자의 우선순위) 아이디 선택자 > 클래스 선택자 > 태그 선택 * 동일한 우선순위일 경우 스타일 시트에 마지막으로 작성된 스타일이 적용됩니다. 2. 텍스트 1) 글꼴 font-family: 요소를 구성하는 텍스트의 글꼴을 정의합니다. 글꼴들을 나열하면, 첫 번째 글꼴이 없을 경우 두 번째 글꼴로 대체되어 적용됩니다. 사용자의 PC 로컬에 설치되어 있는 글꼴이거나, 웹 서버에 파일 형태로 보유하고 있는 글꼴을 의미합니다. h1{ font-family: Pretendard, times } 2) 글자 크기 font-size: 글자 크기를 정의합니다. 단위 의미 사용 px 모니터 상의 화소 하나당 크기에 해당하는 절대적인 크기 font-size: 16px; rem 최상의 태그의 font-size에 대응하는 상대적인 크기 fon

[CSS] Display와 Border 속성 [내부링크]

1. 블록 요소와 인라인 요소 1) 블록 레벨 요소 자기가 속한 영역의 너비를 모두 차지하여 블록 형태를 가지는 것을 의미합니다. ex) <div>, <p> 2) 인라인 요소 자기에게 필요한 만큼의 공간만 차지하는 것을 의미합니다. ex) <span>, <a> 블록 요소인 div에 border 값을 추가하고 인라인 요소인 span 태그에 border를 추가하면 아래와 같이 차이를 시각적으로 확인할 수 있습니다. <style> div {border: 3px solid black;} span { border: 3px solid blue;} </style> <body> <div>div 블록 레벨 요소</div> <span>span 인라인 레벨 요소</span> </body> 블록 요소와 인라인 요소 차이 2. display 속성 선택된 요소를 블록과 인라인 요소 중 원하는 형태로 변경할 수 있습니다. 속성값 내용 display: inline 인라인 형태로 처리한다. display: blo

데이터 모델링 3화 feat. 생활코딩 [내부링크]

본 포스팅인 생활코딩의 내용과 본인이 프로젝트를 진행하면서 데이터 모델링을 한 경험을 바탕으로 작성되었습니다. 서비스를 파악한 업무에서 현실 세계의 개념을 뽑아내는 과정 개념적 모델링 지금부터 데이터 모델링의 단계 중 두 번째 단계인 개념적 데이터 모델링에 대해서 알아보겠습니다. * 데이터 모델링의 단계중 첫 번째 단계인 업무 분석은 아래 링크를 참조해주세요. (이전 포스팅) https://blog.naver.com/srang_/222618903657 데이터 모델링 2화 feat. 생활코딩 본 포스팅인 생활코딩의 내용과 본인이 프로젝트를 진행하면서 데이터 모델링을 한 경험을 바탕으로 작성되... blog.naver.com 1. 개념적 모델링이란? 개념적 데이터 모델링은 우리가 파악한 업무에서 현실의 개념을 분석하는 과정으로 관계형 데이터 모델링 전체 프로세스에서 가장 중요한 과정입니다. 개념적 모델링을 잘했다면 논리적 모델링과 물리적 모델링은 비교적 기계적인 일이기 때문에 쉽게 그려

데이터 모델링 4화 feat. 생활코딩 [내부링크]

본 포스팅인 생활코딩의 내용과 본인이 프로젝트를 진행하면서 데이터 모델링을 한 경험을 바탕으로 작성되었습니다. 지금부터 데이터 모델링의 단계 중 세 번째 단계인 논리적 데이터 모델링에 대해서 알아보겠습니다. * 데이터 모델링의 단계 중 두 번째 단계인 개념적 데이터 모델링은 아래 링크를 참조해 주세요. (이전 포스팅) https://blog.naver.com/srang_/222624028057 데이터 모델링 3화 feat. 생활코딩 본 포스팅인 생활코딩의 내용과 본인이 프로젝트를 진행하면서 데이터 모델링을 한 경험을 바탕으로 작성되... blog.naver.com 이전에 포스팅했던 개념적 모델링은 데이터 모델링을 여러 전문가들이 분업을 하게 된다면 최고의 실력자는 개념적 모델링에 배치할 수 있을 만큼 데이터 모델링에서 가장 중요한 단계입니다. 제일 어렵고 중요하기 때문에 앞쪽의 과정에 배치되어 있습니다. 개념적 데이터 모델링이 잘 이루어졌다면 논리 데이터 모델링은 비교적 기계적인 일

VS Code sftp 설정 [내부링크]

웹 호스팅 서버에 파일을 업로드하기 위해서는 FTP 서버를 연결해서 파일 추가 및 관리를 할 수 있습니다. 1. Filezilla (파일 질라) FTP (File Transfer Protocol) 서버는 파일을 요청한 클라이언트에게 정보를 제공하기 위해 사용되는 서버입니다. FTP 서버에 접속하기 위한 프로그램은 대표적으로 Filezilla를 사용합니다. 웹 호스팅에 로그인하신 후 나의 호스팅 관리 영역에서 FTP 관련 정보를 확인하실 수 있습니다. * 카페 24 > 나의 서비스 관리 > 서비스 접속 관리 > 서비스 접속 정보 아래의 스크린샷을 보시면 3가지의 Form이 존재합니다. ① 호스트 : FTP 서버의 호스트 도메인을 입력하시면 됩니다. 이때 https://www.srangblog.com일 경우 sranglob.com만을 입력하시면 됩니다. ② 사용자명 : FTP 서버의 아이디를 입력해 주세요. ③ 비밀번호 : FTP 서버의 비밀번호를 입력해 주세요. 호스트와, 사용자명,

월세 to 전세 (중기청 대출) [내부링크]

안녕하세요! 서울 생활한지 벌써 1년이 지나고 이사를 가야 할 시간이 다가왔습니다. 서울에 강남권에 살다 보니 월세가 너무 많이 지출로 나가서 이번에는 중소기업청년대출로 이사를 하기로 마음먹고 하나씩 준비하면서 이사를 완료했습니다! 중기청 매물이 서울과 수도권에 정말 없어서 찾기 힘들었는데 운이 좋게 가격 대비 괜찮은 곳을 발견해서 잘 적응하면서 지내고 있습니다. 지금부터 "서울에서 경기도로 이사 그리고 중기청 대출받기" 글을 포스팅하겠습니다. * 본 포스팅은 중기청 대출 80%를 기준으로 하고 있습니다. 1. 타임라인 - 온라인 리서치 : 2021.11.26 ~ 11.29 (4일) - 부동산 방문 : 2021.11.30 ~ 12.07 (8일 / 총 4곳) - 은행 방문 및 가심사 : 2021.12.06 - 전세 계약서 작성 : 2021.12.07 - 중기청 대출 신청 : 2021.12.09 - 대출 완료 : 2022.01.07 - 이사하기 : 2022.01.08 총 소요 기간 :

1장 ASP.NET 미니 프로젝트 생성 [내부링크]

우리가 사용하는 모든 웹사이트, 시스템들은 기본적으로 데이터를 가지고 있습니다. 데이터를 저장하고 우리에게 보여주기 위해서는 논리적으로 또는 물리적 공간이 필요합니다. DB(데이터베이스)라는 물리적 공간에 Oracle, MySQL, MS-SQL 등 논리적 소프트웨어를 사용하여 시스템을 형성하고 있습니다. 이렇게 저장된 데이터를 화면에서 출력하여 사용자들이 볼 수 있도록 하는 것이 웹의 목적이라고 생각합니다. 지금부터 아주 작은 프로젝트를 통해서 DB 생성부터 MVC 패턴을 활용한 웹 개발까지 정리해 보도록 하겠습니다. DB 개념 및 SQL 문을 기본적으로 알고, 웹 개발 경험이 있다는 가정으로 작성되었습니다. DB 관련 용어 그리고 개발 관련 용어들은 포괄적으로 또는 과장되게 설명될 수 있습니다. | 미니 프로젝트 목적 'ASP.NET 게시판 만들기' 이해를 바탕으로 한 복습 MVC 패턴을 이용한 기본적인 내용 정리 바쁘다는 핑계로 매번 미뤄왔던 ASP.NET과 ADO.NET 내용

2장 ASP.NET 데이터베이스 테이블 생성과 프로시저 [내부링크]

이번 포스팅에서는 데이터 모델링, 데이터베이스 Table 생성과 프로시저 생성에 대해 알아보도록 하겠습니다. * 필드와 컬럼은 같은 의미로 작성했고, 레코드와 행은 같은 의미로 작성했습니다. 1. 데이터 모델링 데이터 모델링은 시스템의 규모나 요구사항에 따라 커지거나 작아질 수 있습니다. 건물을 짓을 때 설계를 먼저 진행하는 것처럼, 시스템을 구현하기 위해서는 데이터 모델링은 설계 단계에서 수행합니다. 해당 작업을 얼마나 고뇌하고 충실히 하느냐에 따라 성능과 시스템의 복잡도가 결정이 됩니다. 현재 프로젝트는 작은 프로젝트이기 때문에 따로 데이터 모델링 기법이나 복잡하게 설계하지 않고, 간단한 상황에 따른 테이블 하나를 생성하려고 합니다. 사실 데이터 모델링은 개념적 모델링 부터 물리적 모델링까지 단계가 존재하며, 각 단계마다 수행하는 프로세스와 생성되는 산출물이 존재합니다. 하지만 본 포스팅은 데이터 모델링을 전문적으로 다루지 않습니다. 데이터 모델링 개념과 설계 관련 부분을 더 상

3장 ASP.NET Model 생성과 SqlConnection [내부링크]

1. Model 생성 MVC 모델 중 M에 해당하는 Model을 생성해 보도록 하겠습니다. 웹 (.NET)과 DB Server (MS-SQL)은 명확히 분리되어 있다는 점이 가장 중요합니다. DB Server에 저장되어 있는 데이터를 웹에서 사용하기 위해서는 웹에서도 데이터를 담는 객체들이 필요합니다. 이를 Model이라고 표현할 수 있습니다. 이전에 생성한 DB의 Table에 생성한 필드 구조를 웹에서도 사용하려고 합니다. ASP.NET 개발 환경으로 와서 Table에 저장된 데이터를 담을 수 있도록 클래스를 생성합니다. public class Evidence { [Display(Name = "번호")] public int ID { get; set; } [Display(Name = "이름")] public string NAME { get; set; } [Display(Name = "증거 타이틀")] public string TITLE { get; set; } [Display(Nam

파이썬 데이터 분석 기본 1 [내부링크]

Pandas 파이썬에서 사용할 수 있는 데이터 분석을 위한 라이브러리입니다. install pip pandas import pandas as pd 1. Series : 1차원 데이터를 생성하고 관리하기 위한 데이터 타입 (정수, 실수, 문자열 등) // Series 객체 생성 series = pd.Series[1, 3, 5, 7, 9] // Series 함수의 두 번째 인자로 index를 설정할 수 있습니다. series = pd.Series([2, 4, 6, 8, 10, index=[2, 4, 6, 8, 10]) 2. Dataframe : 2차원 데이터를 생성하고 관리하기 위한 데이터 타입 (Series 데이터의 집합) pd.DataFrame(data) 코드를 통해서 DataFrame 객체를 생성할 수 있습니다. data의 key 값은 Column, Value 값은 Row로 생성됩니다. data = { '이름' : ['정호', '성우', '민수', '상현'], '나이' : [24,

CS Study 네트워크 [내부링크]

1. WEB 1) 웹 동작 순서 (1) URL Request : 사용자가 브라우저에 URL을 입력해서 요청을 보냅니다. (2) IP address Request : 해당 URL의 서버의 ip를 DNS 서버를 통해서 찾아냅니다. (3) Request : HTTP 프로토콜을 사용하여 요청 메시지를 생성합니다. (4) Response : 웹서버에서 요청한 데이터에 대한 응답 메시지를 생성합니다. (5) Response : 브라우저에 해당 응답 메시지가 웹 페이지 데이터로 변환되어 웹브라우저 출력됩니다. 2) 월드 와이드 웹 (WWW) 인터넷에 연결된 컴퓨터를 이용해서 상호 간 데이터를 주고받을 수 있도록 거미줄처럼 연결된 공간을 의미합니다. HTTP 프로토콜을 기반으로 HTML로 작성된 자원들을 웹 브라우저가 읽을 수 있도록 구성되어 있습니다. 3) HTTP (Hypertext Transfer Protocol) 인터넷상의 자원들을 교환하기 위한 약속으로 서버와 클라이언트 사이에서 어떻게

SQL 기본 SELECT 문제 - 프로그래머스 [내부링크]

* 해당 포스팅은 프로그래머스의 코딩 테스트 SQL kit을 참고해서 작성했으며 내용은 조금 다를 수 있습니다. https://programmers.co.kr/ 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 0. 문제 설명 ANIMAL_INS 테이블은 동물원에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블의 구조는 다음과 같습니다. ID, TYPE, DATETIME, CONDITION, NAME은 각각 동물의 아이디, 생물종, 보호 시작일, 동물의 상태, 이름 여부를 나타냅니다. [ ANIMAL_INS ] ID TYPE DATETIME CONDITION NAME 1004 Cat 2021-12-01 Normal Simba 1005 Dog 2020-10-06 Sick Hugo 1006 Dog 2018-03-04 Ag

SQL 기본 SELECT 문제 2 - 프로그래머스 [내부링크]

* 해당 포스팅은 프로그래머스의 코딩 테스트 SQL kit을 참고해서 작성했으며 내용은 조금 다를 수 있습니다. https://programmers.co.kr/ 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 0. 문제 설명 ANIMAL_INS 테이블은 동물원에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블의 구조는 다음과 같습니다. ID, TYPE, DATETIME, UPON, NAME은 각각 동물의 아이디, 생물종, 보호 시작일, 중성화 여부, 이름 여부를 나타냅니다. [ ANIMAL_INS ] ID TYPE DATETIME UPON NAME 1004 Cat 2021-12-01 Intact Simba 1005 Dog 2020-10-06 Intact Hugo 1006 Dog 2018-03-04 Spayed NUL

데이터 모델링 1화 feat. 생활코딩 [내부링크]

본 포스팅은 생활코딩의 내용과 본인이 프로젝트를 진행하면서 데이터 모델링을 한 경험을 바탕으로 작성되었습니다. 데이터 모델링에 앞서 데이터베이스에 대한 기본적인 내용은 아래 링크를 참고해 주세요. https://blog.naver.com/srang_/222556418696 데이터베이스 기본 1. 데이터 (Data) 데이터가 중요한 이유는 정보를 가공해서 다양한 업무를 할 수 있습니다. 예를 들어 In... blog.naver.com 데이터 모델링 (Data Modeling) 이란? RDBMS : 관계형 데이터베이스 시스템은 2차원 표의 형태로 데이터를 저장하며 표들 간의 관계를 통해서 현실 세계의 데이터를 표현할 수 있는 시스템입니다. * RDBMS의 종류 : ORACLE, MySQL, SQLite, SQL Server, PostgreSQL 등이 있습니다. 1. 모델 (Model) 모델 (Model)이라는 것은 추상적인 의미로써 어떤 목적을 가지고 진짜를 모방한 것이라고 정의할 수

데이터 모델링 2화 feat. 생활코딩 [내부링크]

본 포스팅인 생활코딩의 내용과 본인이 프로젝트를 진행하면서 데이터 모델링을 한 경험을 바탕으로 작성되었습니다. 하려고 하는 일을 의뢰인과 개발자가 협력을 통해서 알아내는 과정 업무 파악 지금부터 데이터 모델링의 단계 중 첫 번째 단계인 업무 파악에 대해서 알아보겠습니다. 1. 업무 파악의 필요성 데이터 모델링을 시작할 때 가장 먼저 해야 할 과정은 업무 파악입니다. 컴퓨터 공학에서 해결하려는 문제는 크게 두 가지로 나눌 수 있습니다. 하나는 컴퓨터 자체 문제를 해결하는 것이고, 다른 하나는 현실의 문제를 해결하는 것입니다. 데이터 모델링은 현실의 문제를 데이터베이스라는 도구를 사용해서 해결하려는 것입니다. 현실의 문제를 해결하기 위해서는 컴퓨터를 잘 이해하고 기술을 가지고 있는 것만으로는 부족합니다. 해결하려고 하는 문제를 컴퓨터라는 강력하지만 안 똑똑한 기계에 설명할 수 있을 정도로 업무를 이해해야지만 원하는 서비스를 만들 수 있습니다. 업무를 이해하기 위해서는 그 분야의 실무자들

CS Study 기본 [내부링크]

1. OOP (Object Oriented Programming) 정의 : 현실 세계에 있는 사물들을 객체로 모델링 하여 프로그래밍하는 기법으로 속성을 프로퍼티(Property)로 기능을 메서드(Method)로 정의해서 사용할 수 있습니다. 특징 : 다형성, 캡슐화, 상속, 인터페이스 등 하나의 클래스를 정의해서 여러 가지의 기능들을 만들어 내는 재사용성의 특징을 가지고 있습니다. 1) 클래스 (Class) : 연관성 있는 데이터를 묶어놓은 컨테이너 역할을 하며 변수는 속성, 함수는 메서드로 정의해서 하나의 청사진을 만드는 것입니다. 2) 인스턴스 (Instance) : 정의된 클래스를 사용해서 객체를 생성하는 것으로 틀인 객체에서 실제 데이터로 만들어지는 것을 인스턴스화라고 합니다. 3) OPP의 설계 원칙 - 하나의 클래스는 하나의 목적성을 가지고 있어야 합니다. - 클래스는 확장에는 열려있어야 하고 변화에는 닫혀있어야 합니다. - 하나의 클래스에서 이용하지 않는 메서드에 의존하

컴퓨터 구조 및 운영체제(메모리, 프로세스, 스레드) [내부링크]

1. 컴퓨터의 구성 요소 1) CPU 프로세스 : 하나의 프로그램이 실행되었을 때 메모리에 적재되어 CPU에서 연산되는 과정을 의미합니다. * 메모리로부터 명령어를 받아 기계어로 변환하고 연산을 수행 [ CPU의 구성 요소 ] 제어 유닛 (Control Unit) : 메모리로부터 명령어를 받아 기계어로 변환하여 반환합니다. 연산 장치 (ALU) : 제어 유닛으로부터 받은 명령을 연산하여 반환합니다. 레지스터 (Register) : CPU 연산 전에 명령어, 주소 데이터를 임시로 저장합니다. 2) 메모리 : 프로그램 실행 시 명령어, 데이터가 적재되는 공간입니다. 3) 입출력 장치 : 외부 장치를 통해 데이터를 입/출력 기능을 수행하는 장치 과거에는 프로그램 실행 시 하나의 프로그램만 동작을 수행할 수 있었습니다. 하지만 현재에는 하나의 CPU에서 여러 개의 프로그램을 동작할 수 있습니다. 프로그램 : HDD, SSD와 같은 보조기억 장치에 저장되어 있는 파일 프로세스 : 프로그램을

파이썬 프로그래밍 기본 문법 최종 정리 1 [내부링크]

1. 자료형 프로그래밍은 데이터를 다루는 행위로 데이터의 본질인 자료형을 이해하는 것이 중요합니다. 파이썬의 자료형의 종류 : 정수형, 실수형, 문자열, 리스트, 튜플, 딕셔너리 등이 존재합니다. 1) 정수형 (Integer) : 수의 체계 중 정수를 나타내며 양의 정수, 음의 정수, 0이 포함되는 정수를 포함하고 있습니다. 2) 실수형 (Real Number) : 소수점 아래의 데이터를 포함하는 데이터 타입입니다. IEEE754 표준에서 실수형을 저장하기 위해 4바이트 또는 8바이트의 고정된 크기의 메모리를 할당합니다. 따라서 컴퓨터 시스템은 실수 정보를 표현하는 정확도에 한계를 가지게 됩니다. 개발 과정에서 실수 값을 제대로 구하지 못해 원하지 못.......

파이썬 프로그래밍 기본 문법 최종 정리 2 [내부링크]

1. 기본 입출력 모든 프로그램은 약속된 입력, 출력 형식을 가지고 있습니다. 프로그램은 데이터를 입력받거나 생성하는 것이 첫 번째 임무입니다. 1) 표준 입력 방법 input() : 한 줄의 문자열을 입력받는 함수입니다. map() : 리스트의 모든 원소에 각각 특정한 함수를 적용할 때 사용합니다. 공백을 기준으로 구분된 데이터를 입력받을 때 map() 함수를 사용할 수 있습니다. 2) 입력 빠르게 받기 input() 함수로 입력을 받을 경우 속도가 느릴 수가 있습니다. sys 라이브러리에 저장되어 있는 sys.stdin.readline() 메서드를 이용해서 입력을 빠르게 받을 수 있습니다. 입력 후 엔터(Enter)가 줄 바꿈 기호로 입력되기 때문에 rstrip() 메서드.......

[백준] 소수 구하기 1929번 [내부링크]

[ 소수 구하기 문제 ] - 백준 1929번 소수 구하기는 코딩 테스트에서 가장 기본 중에 해당하는 문제입니다. 소수는 1과 자기 자신만으로 나누어 떨어지는 숫자를 의미합니다. 4는 소수 일까요? 4의 약수는 1, 2, 4로 총 3개 입니다. 7은 소수 일까요? 7의 약수는 1, 7로 총 2개 입니다. 특정 숫자가 소수인지 아닌지를 판별하기 위해서는 2부터 N까지의 숫자를 나누어 나머지가 0인지 확인해야 합니다. 과거에는 이중 for문을 돌려서 각각의 정수를 1부터 정수까지 다시 나누어서 떨어지는 카운팅 값이 2개일 경우 소수로 반환하는식으로 문제를 풀었습니다. 이를 시간 복잡도로 나타내면 O(n2) 으로 쉽게 말해서 좋지 않은 성능을 보이는 것을 확.......

[백준] 거스름돈 14916 [내부링크]

거스름돈 문제 같은 경우 그리디 (탐욕법) 알고리즘 문제의 기본 문제라고 할 수 있습니다. 해당 문제를 파악하기 위해 프로그램 로직을 작성합니다. 1) 숫자가 10보다 큰지 확인 합니다 (10의 배수) 2) 10보다 클 경우 n에서 -5를 빼고, 카운트를 +1 합니다. 3) 10보다 작을 경우 3-1) 5의 배수 인지 3-2) 2의 배수 인지 3-3) n-5 한 후 2의 배수인지 3-4) 아닐 경우 -1 반환 4) 카운트 반환 후 종료 [ 소스 코드 ]

[이코테] 곱하기 혹은 더하기 [내부링크]

&#x27;이것이 취업을 위한 코딩 테스트다&#x27;의 그리디 (탐욕법) 알고리즘 기본 문제입니다. 해당 문제를 파악하기 위해 프로그램 로직을 작성합니다. 1) 인덱스의 첫 번째 값이 0인지 확인합니다. 1-1) 0일 경우 result 값을 0으로 초기화 1-2) 0이 아닐 경우 result값을 배열의 첫 번째 인덱스 값으로 초기화 2) 왼족을 기준으로 계산을 해야 하므로 반복문을 사용합니다. 2-1) 이전 index의 값이 0이면 result값와 현재 인덱스 값의 데이터를 덧셈 2-2) 이전 index의 값이 0이 아니라면 result값과 현재 인덱스 값을 곱셈 [ 소스 코드 ]

데이터베이스 기본 [내부링크]

1. 데이터 (Data) 데이터가 중요한 이유는 정보를 가공해서 다양한 업무를 할 수 있습니다. 예를 들어 Internet에 연결된 웹(Web)과 앱(App)을 통해서 소식과 지식을 전파할 수 있고, 빅데이터나 인공 지능 기술을 이용하여 대규모의 데이터로부터 통찰력 있는 분석 결과를 뽑아낼 수 있습니다. 2. 파일 (File) 인류는 오랫동안 컴퓨터를 이용하여 다양하고 많은 데이터를 관리하고 싶어 했습니다. 정보 관리를 편리하게 하기 위해 정보 관리 도구를 고안하여 파일(File)이라는 도구를 만들게 되었습니다. 많은 개발자 및 관리자들은 파일의 한계를 극복하기 위해 정보관리에 전문화된 S/W를 개발하고 싶어 했습니다. 그렇게 고안된 것이 데이터.......

데이터베이스 MySQL & 설치방법 [내부링크]

1. MySQL 이란 현대사회에 가장 성공적으로 성공한 데이터베이스(DB)의 모델은 바로 관계형 데이터베이스(RDBMS)입니다. 많은 관계형 데이터베이스가 존재하지만, 오픈소스로 가격정책 없이 사용할 수 있는 MySQL에 대해서 알아보겠습니다. 1960년부터 데이터 관리 도구인 파일의 한계를 극복하기 위한 시도로 누구나 쉽게 데이터를 정리 정돈하고 싶은 욕구가 발생했습니다. 1970년 이러한 욕구를 해소하기 위해 관계형 데이터베이스 (RDBMS)가 개발이 되었고, 데이터의 정렬과 검색 작업을 편리하고 안전하게 진행이 가능하게 되었습니다. 1994년 MySQL이라는 무료이면서 오픈소스이고 관계형 데이터베이스의 주요한 기능을 갖춘 소프트웨어가.......

데이터베이스 구조 및 SQL 기본 [내부링크]

1. 데이터베이스 구조 표 &#x3D; Table 표의 집합 &#x3D; 데이터베이스 또는 스키마 데이터베이스 또는 스키마의 집합 &#x3D; 데이터베이스 서버 SQL (Structured Query Language) Structured : RDBMS의 경우 표의 형태로 데이터 구조화할 수 있습니다. Query : 데이터베이스에게 데이터의 조작을 요청할 수 있습니다. Language : 데이터베이스 서버와 사용자가 이해할 수 있는 언어를 의미합니다. Table 표는 X축과 Y 축으로 이루어져 있습니다. X축 : row, record, 행 Y 축 : column, field, 열 2. 데이터베이스 효용성 1) 보안 : PC나 Mobile 기기에서 사용하고 있는 운영체제(OS)에 접속하게 되면 데이터에 직접 접근할 수 있지만, 데이터베.......

Javascript 기본 문법 CH3 함수 [내부링크]

함수는 재사용이 가능해야 한다. 하나의 함수는 하나의 기능에 대한 연산을 담당해야 한다. 1. 함수 (Function) 1) 함수의 작성법은 아래와 같습니다. function 뒤에 함수 명을 작성하고 ( ) 괄호 안에 파라미터로 입력 값을 넣어줍니다. { } 스코프 안에는 수행하고 싶은 기능을 body로 작성하고 return을 통해 결과값을 반환합니다. 2) printHello() 함수를 정의하고 호출해 보도록 하겠습니다. - 함수명 : printHello - 함수 기능 : Hello를 콘솔 창에 출력한다. - 함수 호출 : printHello(); 3) printHello() 함수는 항상 Hello만 출력할 수 있기 때문에 다른 문장을 출력할 수 없는 한계를 가진 함수입니다. 파라미터로 문장을 받으면 해당.......

Javascript 기본 문법 CH4 클래스 Class [내부링크]

1. 클래스 (Class) Class는 연관성 있는 데이터를 묶어놓는 컨테이너 역할을 합니다. 연관 있는 변수와 함수를 묶어서 새로운 데이터 형식을 만드는 것이라고 생각하시면 되겠습니다. 이때 Class 안의 변수는 속성(Property), 함수는 메소드(Method)로 명칭을 사용할 수 있습니다. Class는 다른 말로 템플릿(Template) 또는 청사진(Blueprint)으로 표현할 수 있습니다. 그리고 한 번의 클래스를 선언한 후 여러 개의 객체(Object)를 생성할 수 있습니다. 위의 클래스의 이름은 Person으로 사람의 이름과 나이 그리고 말하는 기능을 가지고 있습니다. name, age는 변수로 property가 되고 speak()은 함수로 method가 됩니다. 1) 클래스(Class)의 특.......

알고리즘과 시간 복잡도 [내부링크]

1. 알고리즘이란 어떤 목적을 달성하거나 결과물을 만들어내기 위한 절차적인 과정을 의미합니다. 유한한 자원을 가진 환경에서 주어진 문제를 적은 시간과 적은 자원을 이용해서 문제를 해결하는 목적을 가지고 있습니다. 시간 복잡도 알고리즘을 처리하는데 걸리는 시간, 즉 알고리즘이 문제를 해결하기 위해 걸리는 시간(연산)의 횟수를 말합니다. 시간 복잡도는 주로 빅-오 표기법을 사용해서 나타낼 수 있습니다. Big-O(빅-오)는 알고리즘의 성능을 수학적으로 표현해 주는 표기법으로 알고리즘의 시간 복잡도와 공간 복잡도를 표현할 수 있습니다. 실제 처리 시간(Runtime)을 정확히 표시하는 것이 아니라, 데이터의 증가에 따른 알고리즘.......

Javascript 기본 문법 CH5 객체 Object [내부링크]

1. Object 객체 (Object)는 Key와 Value의 집합체로 해당 Object에 접근할 수 있는 프로퍼티 (Property)를 키 (Key), Property가 가지고 있는 실제 데이터를 값 (Value)라고 할 수 있습니다. Primitive Type의 변수는 변수 하나당 값이 하나만 할당이 가능합니다. Primitive Type 변수들로 프로그래밍을 한다면 데이터의 값이 많아질 수 록 변수의 양도 크게 증가하면서 데이터 관리가 용이하지 못합니다. * Primitive Type : String, Number, Boolean 등 기본적인 자료형을 의미합니다. 그래서 Object(객체)를 사용해서 연관성 있는 데이터를 그룹핑하고 데이터 관리를 편리하게 할 수 있습니다. 1) Primitive Type 함수 생성 2) Objective Type.......

Javascript 기본 문법 CH6 배열 Array [내부링크]

배열(Array)은 데이터의 양이 많을 경우 비슷한 자료들끼리 그룹핑하여 관리하기 위해 사용하는 데이터 타입입니다. 변수는 하나의 데이터를 저장하기 위한 도구라면 여러 개의 데이터를 하나의 변수에 저장하기 위한 것을 배열이라고 할 수 있습니다. 1. 배열의 생성 배열을 생성하는 방법은 두 가지가 있는데 대괄호 [] 를 사용하여 생성할 수 있고, new Array() 함수를 사용하여 생성할 수 있습니다. numbers라는 하나의 변수에 10, 20, 30, 40, 50이라는 숫자 데이터 5개를 담았습니다. 각각의 숫자 데이터를 원소(Element)라고 부릅니다. 2. 인덱스 (Index) 배열의 요소에 접근하기 위해 인덱스를 이용할 수 있습니다. 위의 numbers 배열에.......

SaaSlab Marketplace 리뉴얼 포스팅 [내부링크]

안녕하세요. 오늘은 국내 최초 B2B SaaS 마켓 플레이스 SaaSlab이 새로 오픈해서 서비스와 웹 애플리케이션을 소개 드리고자 합니다. 아마 IaaS, Paas, SaaS와 같은 클라우드 서비스에 대해서 한 번쯤은 들어보셨을 것입니다. SaaSlab을 소개 드리기 전에 3가지 클라우드 서비스 중 SaaS가 무엇인지 간단하게 알아보고 가도록 하겠습니다. SaaS란 무엇인가? SaaS는 기존의 업무 패러다임을 변화시키기 위하여 서버, 데이터베이스, 개발 툴 등 모든 솔루션들을 통합하여 소프트웨어 서비스를 제공하는 플랫폼을 의미합니다. 기존의 기업에서는 시스템을 구축할 경우 하드웨어와 서버를 구입하고, 보안 소프트웨어 구매, 개발자 및 운영 이력을 필.......

HTTP [내부링크]

1. HTTP HTTP (HyperText Transfer Protocol) : 인터넷에서 데이터를 주고받을 수 있는 프로토콜입니다. * 프로토콜(Protocol) : 모든 서비스와 프로그램 간의 올바른 통신을 위한 약속 1) 웹을 구성하는 가장 중요한 요소 4가지 2) URI와 URL 이란 * URI (Uniform Resource Identifier) : 인터넷상에서 자원의 위치를 알려 주는 자원의 식별자 * URL (Uniform Resource Locator) : 인터넷상에서 자원의 위치를 나타내는 유일한 주소 www.blog.naver.com/srang_?id&#x3D;33의 경우 www.blog.naver/srang_은 URI이면서 URL이 될 수 있다. 하지만 ?뒤의 id&#x3D;33의 경우는 사용자가 원하는 정보에 도달하기 위한 식별자 내용이므로 URI이지만 URL.......

2021 정보처리기사 실기 1회 기출문제 정답/풀이 [내부링크]

1. IP 호스트가 자신의 물리 네트워크 주소(MAC)는 알지만 IP 주소를 모를 경우, 서버로부터 IP 주소를 요청하기 위한 프로토콜은 무엇인가? 가답안 : RARP [ 풀이 ] * ARP (Address Resolution Protocol) : IP Address를 물리적인 네트워크 주소로 변환시켜주는 프로토콜 (IP Address → MAC Address) * RARP (Reverse Address Resolution Protocol) : 하드웨어 네트워크 주소를 IP Address로 변환시켜주는 프로토콜 (MAC Address → IP Address) 2. 보기에서 빈칸에 들어갈 알맞은 용어를 작성하시오. (1) ( ) : 결과로 테이블 정의서, 명세서 등이 있다. (2) ( ) : 결과로 E-R 다이어그램 (3) ( ) : 과정에서 정규화 과정을 수행한다. 보기 가.......

Javascript 역사와 미래 [내부링크]

Service Layer, Presentation Layer, Business Layer를 구현할 경우 유지 보수를 위해 구현 사항이 변경되더라도 인터페이스 사용자 환경에서 코드를 수정하지 않도록 API를 개발해야 한다. 1. Javascript 역사 1993년 NSCA 사의 Mosaic Web Browser 출시 Marc Andresson (당시 개발 팀장) 이 회사에 나와서 Netscape 회사를 설립 1994년 Netscape 사의 브라우저인 Netscape Navigator 출시 Live Script(with interpreter) 언어 개발과 Live Script 엔진 개발을 진행 Java 언어의 인기로 마케팅을 위해 Live Script에서 Javascript으로 언어 이름을 변경 1995년 MS(Microsoft)에서 Netscape Navigator를 Reverse Engineering을 진행하여 Jscript .......

Javascript async vs defer [내부링크]

* API (Application Programming Interface) : WEB API는 Javascript 언어에서 제공하는 함수가 아닌 Web Browser가 제공하는 함수이다. ex) console.log(&#x27;Hello&#x27;); or alert(&#x27;Hello&#x27;) Javascript 공식 사이트 ECMA International (공식 사이트) MOZILLA (개발 참고 사이트) async vs defer 기본적인 브라우저 동작 방법은 HTML 코드 한줄씩 Parsing하여 DOM 요소로 변환 후 CSS와 병합하는 방법입니다. fetching : 서버에서 JS 파일을 받는 것이다. executing : JS를 실행하는 것이다. HTML에서 JS를 연결할 때 효과적인 방법 1) &#60;head&#62;안에 Script가 포함되어 있을 경우 로드 순서 &#60;head&#62; 태그 안의 내용을 읽.......

Javascript 기본 문법 CH1 변수 [내부링크]

1. use strict 키워드 Javascript 언어는 Flexible 한 언어입니다. Flexible 한 언어는 그만큼 개발자 친화적이지만, 프로그래밍 관점에서는 위험하기도 합니다. 따라서 Javascript의 최소한의 프로그래밍적 오류를 방지하기 위해서 &#x27;use strict&#x27; 키워드를 script 맨 위에 작성해주면 위험성을 줄일 수 있습니다. 프로그래밍에서 중요한 부분은 입력, 연산, 출력, 저장을 어떻게 할 것인가부터 시작됩니다. 그리고 CPU에 최적화된 연산과 메모리 사용의 최소화를 통해서 성능을 높일 수 있습니다. 2. 변수 (Variable) 변수 선언 시 let 키워드 사용 (added in ES6) let name &#x3D; &#x27;ian&#x27;;의 경우 메모리가 할당되어 해당 메.......

Javascript 기본 문법 CH2 연산자 조건문 반복문 [내부링크]

1. 변수(Variable) 1) Mutable r/w (read/write) : let 키워드 사용하여 변수 선언할 수 있고, 메모리에 읽고 쓰기가 가능합니다. 2) Unmutable only read : const 키워드를 사용하여 변수를 선언할 수 있고, 메모리에 한 번 선언하게 되면 메모리에서 읽기만 가능합니다. 2. 메모리 저장 1) Primitive Type : 값 자체가 메모리에 저장됩니다. 2) Object Type : Object는 값이 너무 커서 메모리에 한 번에 저장될 수 없습니다. 따라서 메모리에 Objective 데이터의 주소 (reference)가 저장되고, 주소가 가리키는 메모리에 값들이 분리되어 저장됩니다. 3. 연산자 (Operator) - String concatenation : String(문자열) + String(문자열) - Nuberm.......

SQLD 내용 정리 : 2과목 요약 2 [내부링크]

* 아래 내용들을 이해하고 계시다면 SQLD 60점 커트라인을 넘을 수 있습니다. * SQLD 학습을 하시고 시험 3일 전 정도에 해당 내용들을 본인이 알고 있는지 빈 A4 용지에 정리하시면서 공부하시면 시험 합격에 도움이 되실 거라고 생각합니다. 1. 옵티마이저 1) CBO : 경로 기반 2) RBO : 규칙 기반 2. 실행 계획 1) 실행 순서 * 들여 쓰기를 보고 실행 순서를 판단한다. * 실행 계획을 읽는 순서는 위에서 아래로, 안에서 밖으로 읽는다. https://blog.naver.com/srang_/222198230898 3. 인덱스 1) 인덱스 사용하지 않는 상황 ① 부정형 ② LIKE 함수 ③ 묵시적 형 변환 2) 인덱스 사용 시 성능이 감소되는 상황 ① INSERT, UPDATE, DELETE의 성.......

SQL 개발자 SQLD 시험 후기 [내부링크]

안녕하세요. 2020년 11월 29일에 실시한 제39회 SQLD 시험 합격 후기를 포스팅하겠습니다. 1. 교재 교재 선택에 있어서 DB 공부를 제대로 해본 적이 없어서 이론서부터 사서 공부해야 할지 고민을 많이 했지만 정보처리기사를 공부하면서 DB 공부를 조금 해봤었기 때문에 SQL 자격검정 실전문제 교재만 구매해서 공부를 진행했습니다. 많은 수험생분들께서 SQLD 관련 교재에 대해서 많이 고민하시던데 SQLD 시험을 응시하고 나서 저의 의견은 해당 교재만 정확하게 풀 수 있다면 쉽게 합격할 수 있을 것이라고 생각했습니다. * 교재와 시험문제가 다르다는 것을 타 커뮤니티에서 접했는데 2문제 이상 똑같이 출제되었고 비슷한 유형으로 10문제 이.......

WEM Modeler : Multiple List & Loop Node [내부링크]

1. Multiple List Datagrid 안에 또 다른 Datagrid를 생성하여 여러 가지 리스트의 데이터를 출력하는 방법을 학습한다. Works에 있는 일 목록을 Works List에 추가하고 Checkout을 누르게 되면 Works List에 있는 내용들이 Project List에 저장되어 출력되는 기능을 구현한다. 1) Project - Interaction Node ① [Flowcharts] [오른쪽 클릭 또는 속성 클릭] [New Flowchart] 클릭해서 새로운 플로차트를 생성하고 Interaction Node를 추가해 원하는 레이아웃 위치에 Datagrid를 드래그 앤 드롭한다. ② Works의 데이터를 추가하는 버튼을 누르면 Works List에 해당 데이터들이 추가될 수 있도록 구현할 예정이다. ③ 따라서 Datagrid에 WorkList.......

WEM Modeler : One to Many Relation [내부링크]

1. One to Many Relation 생성 1) Reference Field 생성 Project List의 새로운 필드를 생성한다. ① Data model의 Project List에 새로운 필드를 추가한다. ② Reference to Employee라는 이름의 필드를 생성한다. Type은 Reference로 설정하고 Referenced list는 Employee로 설정한다. * Employee와 Project List의 새로운 Reference type의 데이터를 연결하여 관계를 형성한다. 2) Project List Node 수정 ① Project List 플로차트에서 Project List Node를 수정하기 위해 에디트 화면으로 이동한다. ② Datagrid 첫 번째의 칼럼을 추가해서 위에서 생성한 Reference to Employee를 추가한다. ③ 추가된 Reference to Employee의 속성값에 Ex.......

WEM Modeler : Lists using Expressions [내부링크]

1. 집계 함수 - WEM 1) Getting row WEM에서 데이터 리스트의 행들을 컨트롤할 수 있는 기능을 제공한다. ① Contains : Contains()를 이용하여 행에 포함되어 있는지를 판단하여 True와 False를 반환한다. 2) Getting Values 행 중에서 내가 원하는 값을 출력할 수 있는 기능을 제공한다. ① First : First() 함수는 인자에 입력된 조건에 맞는 데이터 중 첫 번째 행만 출력한다. * First() 함수 대신에 List() 함수를 사용하여 조건에 부합하는 모든 행을 출력할 수 있다. ② Date : Date() 안에 인자로 년, 월, 일 데이터를 넣어 날짜 데이터를 생성한다. 3) Calculating Aggregate Values 집약 함수를 제공하여 리스트의 데이터들을 사용할 수.......

WEM Modeler : Functional Widgets [내부링크]

1. WEM Widget Widget : WEM에서 위젯은 사용자 인터페이스 부품으로 특별한 기능들을 제공한다. 1) Editor Node Tab bar 2) Layout tab ① Basic Div (On Click) 간단한 블록을 만들어 UI에 출력된다. 블록 안에 text 또는 다른 요소들을 추가할 수 있고 Onclick action 기능도 추가할 수 있다. - Style : 4가지 색상의 탬플릿 구성 - On click : 해당 블록을 클릭했을 경우 동작하는 로직을 설정 ② Panels Header와 Footer를 선택적으로 가질 수 있는 블록 패널을 생성하고 다양한 요소들을 추가하여 사용할 수 있다. - Color context : Header 부분의 색상을 변경할 수 있는 팔레트이다. - Smart margin : 블록 패널 안에 데이터 그리드가 사.......

WEM Modeler : Widgets from the Layout and Interaction Tab [내부링크]

1. Widgets from the Layout and Interaction Tab 1) Adaptive Columns Adaptive Columns를 추가해서 정렬된 레이아웃을 생성합니다. ① Project Node의 레이아웃을 수정합니다. 먼저 기존에 있던 두 번째 Datagrid를 제거합니다. 그리고 Adaptive Columns 컴포넌트를 추가하고 각 칼럼 간 Width 크기의 비율을 설정합니다. ② Pannel 컴포넌트를 추가해서 다음과 같이 Datagrid와 버튼을 추가해 정렬합니다. 2) Panels including Repeater ① 두 번째 칼럼에 Works 데이터 리스트를 추가하고 Repeater로 설정해서 출력할 수 있도록 적용한다. ② Add to Project 플로차트를 추가해 버튼을 생성한다. * 버튼을 누를 경우 Add to Project 플로차트.......

WEM Modeler : Widgets from Tab [내부링크]

1. Tab Bar Tab 버튼을 생성하여 사용자가 원하는 레이아웃의 구조를 변경할 수 있도록 기능을 구현한다. 1) Concept 생성 ① [Concepts] [오른쪽 마우스 클릭] [New child concept]를 눌러 새로운 Root Concept를 생성한다. (Concept의 이름은 Tabs) ② 생성한 Tabs의 자식 Concept를 아래와 같이 3개 생성한다. * 3가지의 탭 버튼으로 Horizontal, Vertical, Grid의 레이아웃을 구성할 수 있다. ③ 사용자가 클릭한 Tab 메뉴를 저장하기 위해 Temporay fields에서 새로운 Field를 생성한다. (Name : Tabs, Type : Single Select, Root Concept : Tabs ④ 생성한 Tabs 필드를 Project 노드에 드래그 앤 드롭하여 Tab Bar 형태로 구조화한다. ⑤.......

부의 추월차선 [내부링크]

스스로에게 가장 먼저 투자하라 Pay yourself first 1. 서행차선에서 추월차선으로 갈아타기 ( 돈 &#60; 시간 ) ① 시간을 허투루 사용하지 않기 ② 책 읽기 ③ 자기 인생은 자기가 통제하기 2. 추월차선의 종류 1) 인도를 걷는 사람들 : 계획을 세우지 않는 사람 또는 일시적인 욕구를 추구하는 사람 (라이프 스타일의 노예) - 인도 차선의 부 : 소득 + 빚 (주택 담보대출, 집세, 공과금, 신용카드 할부금 → 스트레스) - 평범 : 현대판 자본시장의 노예 감당 여부를 생각해야만 한다는 것은 당신에게 그럴 돈이 없다는 뜻이다. 피해자가 되지 않도록 피해자로 만들 수 있는 사람에게 그럴 힘을 내주지 않는 한 당신은 피해자가 되지 않는다. 2) .......

사회 초년생 자취방 구하기 (원룸 구하기) [내부링크]

안녕하세요! 저는 이제 대학생활을 마치고 타지로의 이동을 위해 자취를 해야 하는 상황이 왔습니다. 대학생일 때는 사실 공인중개사분의 말만 듣고 빠르게 계약을 진행했었는데 보증금의 금액도 커지고 관련 사기가 많다 보니까 조금이나마 공부를 해야겠다는 생각을 했습니다. 공부하면서 중요한 포인트는 공인중개사 한 명만 만나서 진행하는 것이 아니라 여러 부동산을 둘러보면서 신중하게 진행해야겠다고 생각했고 계약서와 등기부등본 두 가지 서류의 몇 가지 항목만 정확하게 볼 줄 안다면 최소한 본인의 권리를 챙길 수 있게 되는 것을 알게 되었습니다. 그리고 마지막으로 계약 전까지는 집을 구하는 우리(세입자)가 갑이지만 계약을 하.......

SQLD 2과목 2장 SQL 활용 : 절차형 SQL [내부링크]

* 절차형 SQL 파트는 SQLD 시험에서 출제 비중이 높지 않기 때문에 해당 부분은 간단하게 요약하도록 하겠습니다. * 절차형 SQL에 대한 학습을 깊게 하시고 싶은 분들은 추가적인 학습이 필요합니다. 1. 절차형 SQL : 일반적인 개발 언어처럼 SQL도 절차 지향적인 프로그래밍이 가능하고 연속적인 실행이나 조건에 따른 분기 처리를 이용하여 특정 기능을 수행하는 저장 모듈을 생성한다. 1) PL/SQL (ORACLE) : BLOCK 구조로 되어 DML + QUERY + 절차형 언어를 사용하는 트랜잭션 언어이다. [ 특징 ] ① 블록구조로 되어있어 각 기능별 모듈화가 가능하다. ② 여러 SQL문장을 블록으로 묶어 한 번에 블록 전부를 서버로 보내기 때문에 통신량을 줄.......

SQLD 2과목 3장 SQL 최적화 기본 원리 : 옵티마이저와 실행계획 [내부링크]

1. 옵티마이저 : 사용자가 질의한 SQL문에 대하여 최적의 실행 방법을 결정하는 역할을 수행한다. * 최적의 실행 방법 : 실행 계획(Execution Plan) 1) 규칙기반 옵티마이저 (RBO, Rule Based Optimizer) : 규칙(우선순위)를 가지고 실행계획을 생성하여 우선순위가 높은 규칙을 우선적으로 수행하는 방법이다. [ 특징 ] // 객관식 ① 규칙기반 옵티마이저에서 제일 낮은 우선순위는 전체 테이블 스캔이고, 가장 높은 우선순위는 ROWID를 활용하여 테이블을 액세스하는 방법이다. ② SQL 처리 흐름도는 인덱스 스캔 및 전체 테이블 스캔 등의 액세스 기법을 표현할 수 있다. ③ 인덱스 범위 스캔은 결과 건수만큼 반환하지만, 결과가 없으면 한 건.......

SQLD 2과목 3장 SQL 최적화 기본 원리 : 인덱스 기본 [내부링크]

1. 인덱스 : 인덱스는 원하는 데이터를 쉽게 찾을 수 있도록 돕는 책의 목차와 유사한 개념으로 기본적인 목적은 검색 성능의 최적화이다. * SELECT(조회)의 성능은 향상되지만 INSERT, UPDATE, DELETE 와 같은 작업은 성능이 저하된다. [ 특징 ] // 객관식 ① 기본 인덱스(Primary Key)는 Unique와 NOT Null의 제약조건을 가진다. ② 보조 인덱스는 UNIQUE 인덱스가 아니라면 중복 데이터의 입력이 가능하다. ③ 보조 인덱스는 자주 변경되는 속성을 인덱스로 선정할 경우 UPDATE와 DELETE 성능에 좋지 않은 영향을 미치므로 인덱스 후보로 적절하지 않다. 1) 트리 기반 인덱스 B-TREE 인덱스 : DBMS에서 가장 일반적으로 사용되는 인덱스이다. .......

SQLD 2과목 3장 SQL 최적화 기본 원리 : 조인 수행 원리 [내부링크]

1. 조인 수행 원리 : 조인이란 두 개 이상의 테이블을 하나의 집합으로 만드는 연산으로 SQL문에서 FROM 절에 두 개 이상의 테이블이 나열될 경우 조인이 수행된다. * 조인의 종류 : NL Join, Sort Merge Join, Hash Join 1) NL Join : 두 개의 테이블을 중첩된 반복문처럼 조인을 수행한다. 반복문의 외부에 있는 테이블을 선행 테이블 또는 외부 테이블(Outer Table)이라고 한다. 반복문의 내부에 있는 테이블을 후행 테이블 또는 내부 테이블(Inner Table)이라고 한다. [ 특징 ] // 객관식 랜덤 액세스 방식으로 데이터를 읽는다. 데이터를 집계하는 업무보다는 OLTP의 목록 처리 업무에 많이 사용된다. * OLTP (On-line Transaction Processi.......

SQLD 내용 정리 : 1과목 요약 [내부링크]

* 아래 내용들을 이해하고 계시다면 SQLD 60점 커트라인을 넘을 수 있습니다. * SQLD 학습을 하시고 시험 3일 전 정도에 해당 내용들을 본인이 알고 있는지 빈 A4 용지에 정리하시면서 공부하시면 시험 합격에 도움이 되실 거라고 생각합니다. 1. 데이터 모델링 1) 데이터 모델링 : 현실 세계 업무 → 데이터 모델화 * 데이터 모델링은 DB 구축과 업무분석을 포함한다. 2) 데이터 모델링 프로세스 3) 데이터 모델링 유의점 중복의 최소화, 비유연성 (모델 설계 및 분리), 비일관성 2. 엔티티 (Entity) 1) 엔티티 (개체) 엔티티는 업무상 관리해야 하는 대상을 의미한다. ex) 병원의 엔티티 : 환자 2) 엔티티의 특징 ① 업무와 관련되어 있어야 한.......

SQLD 내용 정리 : 2과목 요약 [내부링크]

* 아래 내용들을 이해하고 계시다면 SQLD 60점 커트라인을 넘을 수 있습니다. * SQLD 학습을 하시고 시험 3일 전 정도에 해당 내용들을 본인이 알고 있는지 빈 A4 용지에 정리하시면서 공부하시면 시험 합격에 도움이 되실 거라고 생각합니다. 1. SQL문 명령어 1) FROM WHERE GROUP BY HAVING SELECT ORDER BY 2) SQL문 종류 * 각각의 SQL문의 명령어와 사용방법에 대한 정확한 학습이 필요합니다. DML(Data Manipulation Language) : SELECT, INSERT, UPDATE, DELETE DDL (Data Definition Language) : CREATE, DROP, ALTER, RENAME DCL (Data Control Language) : GRANT, REVOKE TCL (Transcation Control Language) : COMMIT, ROLLBACK 2. SEL.......

WEM Modeler : Data Edit Delete [내부링크]

1. Data Edit Flowchart를 수정해서 선택한 행의 데이터를 수정하는 예제를 진행한다. * 아래의 링크 내용은 기존의 데이터를 수정하고 삭제하는 방법이다. https://blog.naver.com/srang_/222176805609 본 내용에서는 조금 더 효율적으로 Flowchart를 나눠서 사용할 수 있도록 한다. 1) Work Flow Chart 변경 Works User Interaction Node와 Work detail User Interaction Node를 연결하고 Edit Exit를 설정한다. 2) Works User Interaction Node Edit 버튼을 생성하여 Edit Exit로 연결해 주는 작업을 진행한다. 2. Flowchart 생성 - Are you sure 재사용이 가능하고 플로차트 가독성을 위해 Are you sure 플로차트와 Delete Works 플로차트를.......

WEM Modeler : Delete All [내부링크]

1. Delet All List Node의 Action 값을 Delete multiple rows로 변경해서 모든 열의 데이터를 삭제할 수 있는 기능을 구현한다. 1) FlowChart 생성 ① [Flowcharts] [오른쪽 클릭 또는 속성 클릭] [New Flowchart] 클릭해서 새로운 플로차트를 생성한다. ② 생성하고자 하는 플로차트 이름을 지정하고 Regular flowcharts로 생성한다. 2) Connect Node Works 노드와 Delete All works 노드를 연결하여 같은 Work Flow에서 동작할 수 있도록 구현한다. ① 위에서 만든 새로운 노드를 추가한다. ② 추가한 노드와 Works 노드를 연결한 후 Exit를 설정해서 노드끼리 이동할 수 있도록 구현한다. ③ Works의 레이아웃을 수정하기 위해 해당 노드로 들.......

WEM Modeler : Manage Data [내부링크]

WEM에서 새로운 애플리케이션 개발은 Data Model과 함께 진행된다. Data Model이 생성되면 Flowcharts를 만들 수 있다. Step1. Data Model : 시스템에서 필요한 데이터와 데이터 필드를 정의한다. Step2. Flowchrat : 사용자가 데이터와 상호작용하는 것을 정의한다. Step3. 사용자의 요구 사항을 설계하고 프로세스와 웹 서비스를 구성한다. 1. Data Model 1) Data Tab Data Model은 사용자 애플리케이션에서 사용할 정보를 정의할 때 사용할 수 있다. New Field, New Folder, New List을 사용하여 데이터 모델을 구조화할 수 있다. * 폴더를 추가하게 되면 리스트의 보기만 변경될 뿐 리스트의 기술적인 리스트는 변경되지 않는다. 2) List 생.......

WEM Modeler : Flowchart 1 [내부링크]

1. Flowcharts : WEM Modeler에서 제공하는 UI로 다양한 Node들을 드래그 앤 드롭을 통해서 애플리케이션 작동 방식과 UI를 구현할 수 있는 방법이다. 1) Flowcharts의 종류 ① Regular Flowcharts : User Interaction Node로 화면구성부터 프로세스를 포함하는 일반적인 플로차트이다. ② Action FlowCharts : User Interaction이 필요 없는 백그라운드 프로세스나 계산 작업에 사용되는 플로차트이다. 2) Flowcharts Node의 종류 : Flowchart에서 사용할 수 있는 노드의 종류는 다양하다. 해당 노드들을 활용하여 애플리케이션을 쉽게 개발할 수 있는 장점을 가지고 있다. 3) Flowcharts 사용 방법 캔버스 왼쪽의 도구 모음에서 Flowcharts Nod.......

WEM Modeler : Flowchart 2 [내부링크]

1. Flowchart : Flow Chart의 기본적인 설명은 아래 링크를 참조 https://blog.naver.com/srang_/222179260450 2. User Interaction Node 1) Work 생성 : 새로운 플로차트인 Work를 생성하고 아래와 같이 연결한다. ① Start : 플로차트가 시작하는 노드로 항상 필요하다. (시작점) ② Works : 기업의 일의 정보를 확인할 수 있는 User Interaction Node이다. ③ Works List : Works Data model에 저장되어 있는 데이터를 조작할 수 있는 리스트 노드이다. ④ Work Detail : 기업의 일의 정보를 저장할 수 있는 User Interaction Node로 Form을 이용해서 사용자가 데이터를 입력할 수 있다. ⑤ Save database changes : Work Detail에서 Accept 버.......

WEM Modeler : Navigation [내부링크]

1. Navigation : Navigation Point를 관리하고 메뉴를 생성하는 섹션으로 애플리케이션의 내비게이션 역할 담당한다. * Navigation Point : Flowchart 또는 URL을 의미하는 메뉴 옵션 1) Menu WEM Application의 메뉴 종류 Main menu : Application 상단에 있는 메뉴로 웹 애플리케이션의 nav에 해당한다. User Menu : 상단에 위치하고 사용자가 로그인 후 사용 가능한 메뉴이다. Footer Menu : 하단에 위치하는 메뉴로 웹 애플리케이션의 footer에 해당한다. 2) Navigation Menu 위에서 설명한 WEM Application 메뉴 종류이다. 이전 실습에서 만든 Employee와 Work 플로차트를 애플리케이션에 내비게이션으로 추가하기 위해 Main menu .......

WEM Modeler : Ontology [내부링크]

1. Ontology : 컴퓨터 과학 및 정보 과학에서 Ontology는 실제로 존재하는 실체의 유형 또는 속성 및 상호 관계에 대한 공식적인 정의를 의미한다. 1) Ontology in WEM Modeler : 정적으로 선택할 수 있는 List 요소를 의미한다. 사전에 정의된 옵션(Single-Select, Multi-Select)을 선택하여 ontology에 저장된 리스트로 지정하는 데이터를 의미한다. 애플리케이션과 비교를 하면 일종의 ComboBox List 형태라고 볼 수 있다. 2) Concepts : Ontology의 항목을 Concepts이라고 한다. 상위 요소부터 하위 요소로 계층형 구조를 이루는 항목이다. 3) Ontology 항목 Local name : Concept의 이름 설정 Display name : 다양한 언어의 이름을 설정 Con.......

WEM Modeler : Using Expression and Filter [내부링크]

1. Using Expression 직원의 Name과 Family Name을 입력하면 자동으로 합쳐져 Full Name을 생성하는 계산 작업을 진행한다. 기존의 Name + Family Name &#x3D; Full Name 1) Field 생성 먼저 Full Name을 저장할 필드를 생성한다. ① Employee 데이터 모델 안에 새로운 필드 생성 ② 계산된 데이터를 저장하기 위해서 Is calculated 속성을 활성화한다. ③ 계산식을 작성하기 위해 Calculated Value 부분을 작성한다. 2) Calculated Value 작성 Expression Editor를 통해서 FamilyName과 Name을 더하는 함수를 생성한다. 이는 Full Name 데이터는 사용자가 직접 데이터를 입력하는 것이 아니라 해당 함수를 통해서 데이터가 저장된다. 3) Employe.......

WEM Modeler : Managing Data [내부링크]

1. Managing Data WEM Moduler에서는 기존의 애플리케이션 개발 형태와 다르게 Flowchart에서 데이터를 수정, 삭제, 추가, 저장을 할 수 있도록 구현되어 있다. * 플로차트의 List Node를 사용하여 list의 데이터를 변경할 수 있다. 2. Employee Data 수정 Employee 데이터를 수정할 수 있는 기능을 구현한다. 1) Employee Add 화면 설정 Employee Add 화면을 Overlay 속성값으로 변경하여 팝업과 같이 애플리케이션 위에 있는 양식으로 설정한다. 2) Eidt Exit 생성 ① View Employee 노드와 Employee Add 노드를 바로 이어주는 연결 작업을 진행한다. ② 그리고 해당 연결 부분에 Edit Exit를 설정한다. View Employee UI 화면에서 Edit 버튼을.......

WEM Modeler : Import File [내부링크]

1. Data Import Data Improt Node를 사용하여 외부의 데이터를 WEM Modeler로 가져와 사용할 수 있다. 1) Data Import Node 플로차트의 Data Import Node는 CSV, Excel, JSON, XML 형식의 외부 데이터를 지정된 리스트로 가져오는 노드입니다. 2) Mapping 외부 파일을 내부의 리스트로 사용할 수 있도록 칼럼과 필드 값들을 Mapping 하는 작업이 필요하다. 2. Data model - Import CSV File 1) Data model Folder 생성 외부 CSV 파일을 저장하기 위해서 임시 폴더와 데이터 필드를 생성한다. ① Data model [오른쪽 클릭] [New Folder]를 눌러 새로운 폴더를 생성한다. ② 생성할 폴더의 이름을 Name 값에 입력하고 Save 버튼을 누른다. 2) Data .......

파이썬 데이터 분석 : 데이터형 변환 [내부링크]

1. 딕셔너리 (Dictionary) : 내가 원하는 데이터를 빠르게 찾기 위한 데이터 타입 * Dictionary : 사전이라는 의미로 원하는 정보를 빠르게 찾기 위한 수단 1) 딕셔너리 활용 ① 딕셔너리 생성 ② 딕셔너리 입력 빈 딕셔너리인 dict를 생성하고 dict[&#x27;key&#x27;]&#x3D;&#x27;값&#x27;의 형태로 데이터를 입력할 수 있다. ③ 딕셔너리 장점 파이썬 내부에서 효율적인 작업이 진행되어 빠르게 해당 값을 찾을 수 있다. 데이터가 많을 경우 리스트와 딕셔너리의 성능이 수십 배까지도 차이 날 수 있다. 2) 딕셔너리의 키 딕셔너리의 키 값에 대한 제한 : key 값은 변할 수 없는 값만 들어올 수 있다. 아래의 코드는 변할 수 있는 데이터 타입인.......

파이썬 데이터 분석 : CSV와 파이썬 중급 [내부링크]

1. CSV 1) CSV (Comma Separated Value) : 데이터들이 콤마로 쪼개져 있는 데이터 형식이다. 각 열이 특정한 의미를 가진다. * 기본적으로 콤마로 구분하지만 다른 구분 문자(delimiter)로 사용 가능하다. ① 장점 :같은 데이터를 저장하는데 용량을 작게 소모하고 EXCEL 파일과 호환이 가능해 쉽게 시각화할 수 있다. ② 단점 : 데이터 오염에 취약하다. 데이터 값에 콤마(,)가 존재할 경우 열의 개수를 잘 못 계산하여 데이터가 오염된다. * 데이터에 콤마가 포함되어 있는 경우 큰따옴표(&#34; &#34;)를 이용하여 데이터를 감싼다. 2) 파이썬 CSV 사용 reader() 메서드는 CSV 파일의 내용을 먼저 라인 별로 나누고 구분 기호 (delimiter)를.......

데이터 분석 : 주식 데이터의 이해 [내부링크]

* 수치 데이터 분석을 위한 가중치로 실질적인 주식 투자방식과 다를 수 있습니다. 1. 주식 용어 정리 1) 주식 : 기업이 지속적인 경영을 위해 투자자들로부터 자금을 제공받고, 투자자들이 기업에 투자함으로써 제공받는 권리에 대한 증서이다. 주식 &#x3D; 주식가격 삼성전자의 주가 &#x3D; 1주당 가격 &#x3D; 73,400원 (2020년 12월 11일 기준) 주가 지수 : 다수의 주가를 한 번에 나타내는 지표이다. 코스피(KOSPI) : 한국 거래소 유가증권시장 내 상장되어 있는 모든 회사의 종합주가지수를 이르는 지표이다. 코스닥(KOSDAQ) : 코스피(KOSPI)보다 규모가 작은 중견/벤처 기업 등이 상장된 시장을 의미한다. ① 종목명 (삼성전자) : 주식의 공.......

파이썬 데이터 분석 : numpy 기본 [내부링크]

* 파이썬의 배열 : 여러 원소들을 하나의 묶음으로 관리하고 각 원소간에는 순서가 존재하여 인덱스를 통해서 접근이 가능한 데이터 타입으로 파이썬에서 [리스트]와 (튜플)이 존재한다. 1. numpy 라이브러리 : 디지털에서 존재하는 데이터의 대부분은 숫자 배열로 확인할 수 있다 (이미지 파일, 사운드 파일 등). 효율적인 데이터 분석이 가능하도록 N 차원의 배열 객체를 지원한다. * Numpy : Numerical Python [ numpy 장점 ] 파이썬 리스트로도 계산할 수 있지만 numpy는 리스트에 비해 빠른 연산을 지원하고 메모리를 효율적으로 사용한다. * Numpy는 배열 객체인 ndarray를 사용하기 때문에 많이 사용된다. 1) nupmy 기초 활용 ① np.array.......

파이썬 데이터 분석 : numpy 연산 [내부링크]

1. numpy 연산 1) 1차원 배열의 연산 : 배열(array)은 +, -, *, / 에 대한 기본 연산을 지원한다. 그리고 numpy의 배열끼리도 연산을 수행할 수 있다. 2) 2차원 배열의 연산 : 다차원 행렬에서도 연산이 가능하다. 3) 브로드캐스팅 연산(Broadcasting) : 크기(모양)가 배열(array) 끼리 연산할 수 있다. ex) (3 * 3 배열) + (1 * 1 배열) : 3*3 배열의 각각의 요소에 1*1 배열의 요소를 더해준다. &#x3D;&#62; 3*3 배열 생성 ex) (3 * 3 배열) + (1 * 3 배열) : 3*3 배열의 각각의 요소에 1*3 배열의 요소를 더해준다. &#x3D;&#62; 3*3 배열 생성 ex) (3 * 1 배열) + (1 * 3 배열) : 3*1 배열의 각각의 요소에 1*3 배열의 요소를 더해준다. &#x3D;&.......

파이썬 데이터 분석 : Series DataFrame [내부링크]

1. Series 1) Series 데이터 타입 : 파이썬에서 제공하는 특수한 딕셔너리 형태로 numpy 배열의 보강된 형태로 Data와 Index를 가지고 있는 데이터 타입이다. 2) 딕셔너리 생성 (Series to Dictionary) : 시리즈(Series)와 파이썬의 딕셔너리(Dictionary)는 비슷한 형태를 가지고 있어 시리즈에서 딕셔너리로 변경할 수 있다. 이때 시리즈의 인덱스(index) 값은 딕셔너리의 키(Key) 값으로 변경되고 시리즈의 데이터 값은 딕셔너리의 데이터 값 (Value)으로 변경된다. 2. DataFrame : 여러 개의 Series가 모여서 행과 열을 생성하는 데이터 타입이다. 1) DataFrame을 이용하여 Series 합치기 아래의 예제는 나라별 인구 데이터를 가지고 있는 pop.......

파이썬 데이터 분석 : 인덱싱 슬라이싱 [내부링크]

1. Indexing과 Slicing : DataFrame의 값을 참조하기 위해서 인덱싱과 슬라이싱을 사용하는 방법은 두 가지가 존재한다. 인덱스의 이름으로 직접 참조하는 loc, 기존의 파이썬에서 배열의 정수를 이용한 인덱싱을 사용하는 방법이 있다. 1) loc : 명시적인 인덱스를 참조하는 인덱싱과 슬라이싱을 진행할 수 있다. .loc[&#x27;row명&#x27;, &#x27;column명&#x27;] 2) iloc : 파이썬 스타일 정수 인덱스 값을 가지고 인덱싱과 슬라이싱을 진행할 수 있다. .iloc[&#x27;row index값&#x27;, &#x27;coulmn index 값&#x27;] 2. 데이터 프레임 (DataFrame) 1) DataFrame 새로운 데이터 추가 ① 리스트로 추가하는 방법 ② 딕셔너리로 추가하는 방법 2) .......

파이썬 데이터 분석 : pandas 연산과 함수 [내부링크]

1. Pandas 연산과 함수 활용 : pandas의 데이터 형식은 다양한 연산을 지원한다. * NaN : 비어있는 데이터 1) 비어있는 데이터 확인 (누락된 데이터 처리) : 현실의 데이터는 누락되어 있는 형태가 많이 존재한다. 이를 체크해주는 .isnull(), .notnull() 메서드로 비어있는 값들을 확인할 수 있다. 2) 비어있는 데이터 제거 ① dropna() : 데이터 프레임에서 비어있는 데이터를 삭제한다. ② fillna() : 데이터 프레임에서 비어있는 데이터에 값을 추가한다. 2. Series 연산 (시리즈 연산) : numpy의 array에서 사용했던 연산자들을 활용할 수 있다. 3. DataFrame 연산 (데이터 프레임 연산) : 아래의 코드는 add() 메서드를 사용하여 Dataframe.......

WEM Modeler : Instruction [내부링크]

1 WEM 이란? 1) WEM : 프로그래밍 코딩과 개발 전문 지식 없이 WEM Modeler를 활용하여 애플리케이션을 개발할 수 있는 플랫폼이다. In Online Training Moduels, what you will NOT learn with this course: How to build custom widgets How to create Master Templates for WEM applications How to integrate with external applications through APIs How to design architectures for complex applications Create a Simple client application in WEM 2) Documentation There is documentation about all of the features and functions available in WEM. This includes: WEM Script Keywords Best Practices FAQs 3) Training Coaching .......

SQLD 2과목 2장 SQL 활용 : DCL [내부링크]

DDL : 테이블 생성과 조작에 관한 명령어 * 명령어 종류 : CREATE, ALTER, DROP, RENAME DML : 데이터를 조작하기 위한 명령어 * 명령어 종류 : INSERT, UPDATE, DELETE, SELECT DCL : 유저를 생성하고 권한을 제어할 수 있는 명령어 * 명령어 종류 : GRANT, REVOKE TCL : 트랜잭션을 제어하기 위한 명령어 * 명령어 종류 : COMMIT, ROLLBACK 1. DCL 1) 유저와 권한 : 데이터 베이스 시스템을 운영할 때 새로운 유저를 생성하고 공유하는 테이블을 접근 권한을 부여하여 관리할 수 있다. 데이터베이스는 데이터 보호와 보안을 위해서 유저와 권한을 관리하는데 기본적으로 ORACLE에서 제공하는 유저는 SYS, SYSTEM, SCOTT 유저가 있다. * SYS : D.......

파이썬 데이터 분석 : 파일 데이터 그래프 [내부링크]

1. 파일 다루기 1) 파일 열기/ 닫기 ① open 함수 : 파일명을 인자로 받아서 파이썬에서 사용할 수 있도록 열어준다. ② close 함수 : 파일을 계속 열어놓으면 시스템에 부하를 줄 수 있으므로 파일을 닫아주는 함수를 사용한다. 2) 파일 자동으로 닫기 ① with ~ as 키워드 : 항상 파일을 열고 닫아줘야 하는 상황이 발생하므로 해당 키워드를 사용하여 쉽게 파일 열기/닫기 기능을 사용할 수 있다. * file.close() 함수가 필요 없다. 3) 파일을 줄 단위로 읽기 ① read 함수를 통해서 파일 전체를 읽을 수 있다. ② 파일을 주 단위 읽기 contents라는 빈 리스트를 생성한다. with open as 키워드를 통해 파일을 열고 반복문으로 해당 파일을 한.......

SQLD 2과목 2장 SQL 활용 : 윈도우 함수 [내부링크]

1. 윈도우 함수 : 여러 행 간의 관계를 정의하는 함수로 분석 함수(Analytic Function) 과 순위 함수(Rank Function)으로 분류할 수 있으며 웨어하우스에서 발전 가능한 기능이다.* 다른 함수와 달리 중첩하여 사용할 수 없지만 서브 쿼리에서는 사용할 수 있다.[ SQL 예시 ]1) 윈도우 함수의 분류① 순위 함수 : RANK 함수, DENSE_RANK 함수, ROW_NUMBER 함수② 윈도우 집계 함수 : SUM, MAX, MIN, AVG, COUNT ③ 행 순서 함수 : FIRST_VALUE 함수, LAST_VALUE 함수, LAG 함수, LEAD 함수④ 비율 함수 : RATIO_TO_REPORT 함수, PERCENT_RANK 함수, CUME_DIST 함수, NTILE 함수2) ROW와 RANGEROWS : 행의 수를 선택할 때 사용한다.RANGE : .......

SQLD 2과목 2장 SQL 활용 : 표준 조인 [내부링크]

1. 표준 조인최초 SQL - 86 : SQL SQL - 92 : SQL2 SQL - 99 : SQL3 (대부분의 DBMS로 사용)* ANSI/ISO 표준 SQL 기능 - STANDARD JOIN 기능 추가 (CROSS JOIN, OUTER JOIN 등)1) 일반 집합 연산자2) 순수 관계 연산자3) INNER JOIN (&#x3D; EQUAL JOIN): INNER JOIN은 WHERE절에서 사용하던 JOIN의 DEFAULT 옵션으로 JOIN 조건에서 동일 값이 있는 칼럼은 행을 반환한다.[ 특징 ]* USING 조건절, ON 조건절을 사용해야 한다.① SELECT 테이블1.칼럼1, 테이블2.칼럼1 FROM 테이블1, 테이블2 WHERE 테이블1.컬럼1 &#x3D; 테이블2.컬럼1;② SELECT 테이블1.칼럼1, 테이블2.칼럼1 FROM 테이블1 INNER JOIN 테이블2 ON 테이블1.컬럼.......

SQLD 2과목 2장 SQL 활용 : 집합 연산자 [내부링크]

1. 집합 연산자 (SET OPERATOR): 두 개 이상의 테이블에서 조인을 사용하지 않고 테이블의 관련 데이터를 조회하는 연산자이다.[ 특징 ] * 집합 연산자를 사용하면 여러 개의 질의의 결과를 연결하여 하나로 결합하는 방식이다.* 2개 이상의 질의 결과를 하나로 만들어 주는 역할을 수행한다.* SELECT 절의 칼럼 수가 동일하고 SELECT 절의 동일한 위치에 존재하는 칼럼의 데이터 타입이 상호 교환이 가능해야 한다.1) UNION: 여러 개의 SQL 문의 결과에 대한 합집합으로 결과에서 중복된 행은 하나의 행으로 만든다.* 칼럼 수와 데이터 타입이 모두 동일한 테이블 간 연산이 가능하다.SELECT 칼럼명 FROM 테이블명 WHERE 조건절 UNION S.......

SQLD 2과목 2장 SQL 활용 : 계층형 질의와 셀프 조인 [내부링크]

1. 계층형 질의 (Hierarchical Query): 테이블에 계층형 데이터가 존재하는 경우 데이터를 조회하기 위해 사용한다.* 계층형 데이터 : 동일 테이블에 계층적으로 상위와 하위 데이터가 포함된 데이터로 엔터티를 순환 관계 데이터 모델로 설계할 때 발생하는 1) 오라클 (ORACLE) 계층형 질의(1) START WITH : 계층 구조 전개의 시작 위치를 지정한다. (시작 조건 지정)(2) CONNECT BY : 다음에 전개될 자식 데이터를 지정한다. (조인 조건 지정)(3) PRIOR : CONNECT BY 절에 사용되며 현재 읽은 칼럼을 지정한다.* PRIOR 자식 &#x3D; 부모 : 계층 구조에서 부모 → 자식 방향으로 순방향 전개를 진행한다.* PRIRO 부모 &#x3D; 자식 : 계.......

SQLD 2과목 2장 SQL 활용 : 서브쿼리 [내부링크]

1. 서브쿼리 (Subquery) 1) 서브쿼리: 하나의 SQL문 안에 포함되어 있는 또 다른 SQL 문을 의미한다. 메인쿼리가 서브쿼리를 포함하고 있는 종속적인 관계되어 있다.서브쿼리는 메인쿼리의 칼럼을 모두 사용할 수 있다.메인쿼리는 서브쿼리의 칼럼을 사용할 수 없다.서브쿼리는 레벨과 상관없이 항상 메인쿼리 레벨로 결과 집합이 생성된다.서브쿼리에서는 ORDER BY 절을 사용하지 못하고, 메인쿼리 마지막 문장에 사용이 가능하다.* 서브쿼리가 SQL문에서 사용 가능한 위치SELECT, FROM, WHERE, HAVING, ORDER BY, INSERT문의 VALUES, UPDATE문의 SET2) 서브쿼리의 분류(1) 동작하는 방식의 따른 서브쿼리 분류* 서브쿼리가 메인쿼리 칼럼.......

2020 정보처리기사 실기 4/5회 가답안 [내부링크]

1. 스니핑에 대하여 간단히 서술하시오.가답안 : 네트워크 통신 시 중간에 패킷 정보를 보는 해킹 방법이다.2. 보안 요소 중 가용성이 무엇인지 간단히 서술하시오.가답안 : 필요한 데이터를 지속적으로 사용할 수 있도록 보장하는 특성이다.3. 데이터베이스의 이상 3가지가 무엇인지 작성하시오.가답안 : 갱신 이상, 삽입 이상, 삭제 이상4. 다음 설명하는 내용이 무엇인지 용어를 작성하시오.가답안 : 하둡 (Hadoop)5. 다음이 설명하는 내용이 무엇인지 용어를 작성하시오.가답안 : IPv66. 다음 괄호 안에 들어갈 용어가 무엇인지 작성하시오.가답안 : 유닉스 (Unix)7. 다음이 설명하는 내용이 무엇인지 용.......

SQLD 2과목 2장 SQL 활용 : 그룹 함수 [내부링크]

* 데이터 분석 개요데이터 분석을 위한 세 가지 함수- 그룹 함수 (GROUP FUNCTION): 합계를 계산하는 함수를 사용하여 소계, 중계, 합계, 총합계 등 여러 레벨의 결산 보고서를 만들 수 있다.- 집계 함수 (AGGREGATE FUNCTION): 그룹 함수의 한 부분으로 분류할 수 있고 COUNT, SUM, AVG, MIN, MAX와 같은 함수들이 집계 함수에 속한다.- 윈도함수 (WINDOW FUNCTION)1. 그룹 함수1) ROLLUP : 집계 함수를 제외하고 소그룹 간의 소계를 계산한다.[ 특징 ]* 병렬 수행이 가능하여 매우 효과적인 함수* 소계(N+1) &#x3D; 그룹핑 칼럼 수(N) +1 * ROLLUP의 인수는 계층 구조이므로 인수 순서가 바뀌면 수행 결과도 바꾸는 특징을 가진다........

2020 정보처리기사 실기 3회 기출문제 정답/풀이 [내부링크]

01. 빈칸에 알맞은 EAI 구축 유형을 작성하시오.답안 : (1) Point to Point(2) Hub &#38; Spoke[ 풀이 ]* Point to Point : 1:1 단순 통합 방식* Hub &#38; Spoke : 허브 시스템을 통하여 데이터를 전송하는 중앙 집중형 방식* Message Bus : 애플리케이션 사이에 미들웨어를 두고 연계하는 방식* Hybrid : 내부에서는 Hub &#38; Spoke 방식, 외부에서는 Message Bus 방식* 아래 링크의 정보처리기사 실기 5장 인터페이스 구현 EAI 방식의 종류를 참고해 주세요!https://blog.naver.com/srang_/22206029492602. 다음이 설명하는 프로토콜이 무엇인지 작성하시오.인터넷 프로토콜인 IP 네트워킹에서 사용하기 위한 계층적 구조.......

SQLD 1과목 1장 데이터 모델링의 이해 [내부링크]

* SQLD 자격증 취득을 목표로 작성된 요점정리 내용입니다.* SQLD 자격증 시험에서 1장 데이터 모델링의 이해는 총 10문제 출제됩니다. (1과목 데이터 모델링의 이해 : 10 문제 / 2과목 SQL 기본 및 활용 : 40 문제)* 정보처리기사 필기 3장 데이터베이스 구축에도 도움이 될 수 있습니다.* 정보처리기사 실기 SQL 문 작성 및 데이터베이스 관련 내용으로 도움이 될 수 있습니다.- 학습 전엔티티 (Entity) : 어떤 것 관계 (Relationship) : 어떤 것과의 관계 속성 (Attribute) : 어떤 것의 성격스키마 : 제약조건을 포함하는 데이터 베이스 구조인스턴스 : 스키마에 대한 실제 데이터, 테이블의 각 행을 의미한다. (특정 시간의 데이터 집.......

SQLD 1과목 2장 데이터 모델과 성능 [내부링크]

1. 성능 데이터 모델링: 데이터베이스 성능 향상을 목적으로 설계 단계에서 성능과 관련된 사항이 데이터 모델링에 반영되도록 하는 것데이터 모델의 구조 변경하면서 어떠한 구조가 해당 사이트에 성능상 가장 적절한 구조인지 검토한다.데이터의 증가가 빠를수록 성능 저하에 따른 성능 개선 비용은 증가한다.데이터 모델은 성능을 튜닝하면서 변경이 될 수 있는 특징을 가진다.분석/설계 단계에서 성능을 고려한 데이터 모델링을 수행할 경우 비용을 최소화할 수 있다.2. 정규화 (Normalization) : 데이터 중복을 제거하기 위한 분해 과정으로 이상 현상을 제거하는 특징을 가진다.- 함수적 종속성 (MVD : Multivalued Dependency) : .......

SQLD 2과목 1장 SQL 기본 (1) [내부링크]

* 용어 정리테이블 (TABLE) : 데이터를 저장하는 객체로 RDB의 기본 단위이다. 칼럼과 행의 2차원 구조를 가지고 있다.RDB (Relational Database) : 관계형 데이터베이스 : 2차원 테이블을 중심으로 설계되어 각 테이블을 식별자(KEY)로 연결하는 데이터베이스정규화 : 데이터의 중복을 제거하고 이상현상을 방지하기 위한 데이터 분리 과정1. 관계형 DB1) DB (Database) : 기업이나 조직의 필요에 의해 데이터를 일정한 형태로 저장해 놓은 것을 의미한다.2) DB의 발전 1960년대 : 플로우 차트 중심의 개발, 파일 구조 사용1970년대 : Database 관리기법이 처음 등장, 계층형 DB와 망형 DB 등장1980년대 : 관계형 DB 상용화, Oracle, Sy.......

SQLD 2과목 1장 SQL 기본 (2) [내부링크]

1. DML (Data Manipulation Language) 개념: 데이터베이스의 개체를 생성, 수정, 삭제하는 데이터 조작어* 아래의 학생 테이블을 가지고 DML SQL 문을 작성하겠습니다.* 학번은 쉽게 예시를 들기 위해 간단한 형태로 작성했습니다.1) INSERT : 데이터를 입력하는 명령어INSERT INTO 테이블명 VALUE(필드값1, 필드값2, 필드값3 ...);* 정의된 칼럼의 순서와 개수를 동일하게 맞춰야 합니다.2) UPDATE : 데이터를 수정하는 명령어UPDATE 테이블명 SET 칼럼명1 &#x3D; 필드값1, 칼럼명2 &#x3D; 필드값2 ...);* WHERE 조건문은 생략이 가능하지만 생략하면 테이블 전체 행의 내용이 변경된다.* 따라서 변경하고 싶은 행의 KEY 값을 부여.......

SQLD 2과목 1장 SQL 기본 (3) [내부링크]

1. 함수사용자의 편의를 위해 다양한 기능의 함수를 미리 정의하여 제공한다.* SELECT 절, WHERE 절, ORDER BY 절에 사용이 가능하다.1) 문자형 함수- LENGTH() : 문자열의 길이를 반환한다.- CONCAT() : 전달받은 문자열을 모두 결합하여 하나의 문자열로 반환한다.* 전달받은 문자열 중 하나라도 NULL이 존재하면 NULL을 반환한다.- LOCATE() : 문자열 내에서 찾는 문자열이 처음으로 나타나는 위치를 찾아서 해당 위치를 반환한다.LOCATE(&#x27;찾고자 하는 문자열&#x27;, &#x27;문자열&#x27;)* SQL에서 인덱스의 시작번호는 1부터 계산한다.* 찾는 문자열이 존재하지 않는다면 0을 반환한다.- LOWER(), UPPER()LOWER(&#x27;문자열&#x.......

2020 정보처리기사 예상문제 E1 [내부링크]

* 제 포스팅 내용들이 도움이 되었으면 정말 좋겠습니다. 내일 정보처리기사 실기 3회차 시험을 위해서 열심히 공부하시는 모든 분들께 꼭 좋은 결과가 있으시길 기원하고 응원하겠습니다!*꼭 스스로 빈 종이에 문제를 풀어보시는 것을 적극 추천드립니다.01. 다음이 설명하는 용어를 작성하시오.서버와 네트워크, 프로그램 등의 정보시스템이 시스템의 장애에 대응하여 상당히 오랜 시간 동안 지속적으로 정상 운영이 가능한 성질을 이르는 용어는 무엇인가?답안 : 02. 다음이 설명하는 용어를 작성하시오.웹 서비스 기술 언어 또는 기술된 정의 파일의 총칭으로 웹 서비스명, 제공 위치, 메시지 포맷, 프로토콜 정보 등 웹 서.......

2020 정보처리기사 예상문제 E1답안 [내부링크]

* 제 포스팅 내용들이 도움이 되었으면 정말 좋겠습니다. 내일 정보처리기사 실기 3회차 시험을 위해서 열심히 공부하시는 모든 분들께 꼭 좋은 결과가 있으시길 기원하고 응원하겠습니다!*꼭 스스로 빈 종이에 문제를 풀어보시는 것을 적극 추천드립니다.01. 다음이 설명하는 용어를 작성하시오.서버와 네트워크, 프로그램 등의 정보시스템이 시스템의 장애에 대응하여 상당히 오랜 시간 동안 지속적으로 정상 운영이 가능한 성질을 이르는 용어는 무엇인가? 답안 : HA(High Availablity) 또는 고 가용성02. 다음이 설명하는 용어를 작성하시오.웹 서비스 기술 언어 또는 기술된 정의 파일의 총칭으로 웹 서비스명, 제공 위치.......

2020 정보처리기사 실기 3회 가답안 [내부링크]

* 서술형 문제의 가답안은 최대한 간단하게 작성한 것이며 이와 다르게 작성하셔도 정답이 될 수 있음을 알려드립니다. * 서술형의 경우 채점 기준이 낮기 때문에 본인의 작성한 답안이 정답이 될 수 있습니다.* 가답안의 내용이 정답이 아닐 수 있음을 알려드립니다.* 해당 문제와 답안은 가답안으로 실기 3회차 실시한 수험자의 경험을 토대로 작성했습니다.01. 빈칸에 알맞은 EAI 구축 유형을 작성하시오.가답안 : (1) Point to Point(2) Hub &#38; Spoke02. 다음이 설명하는 프로토콜이 무엇인지 작성하시오.인터넷 프로토콜인 IP 네트워킹에서 사용하기 위한 계층적 구조를 가진 동적 라우팅 프로토콜이다. 구체적으로 하나의 AS(.......

파이썬 기초 - 뉴스 기사 웹 크롤링 하여 엑셀파일 저장하기 [내부링크]

* 시작하기 전에 파이썬 기초 문법을 보시는 것을 추천드리고 &#x27;파이썬 기초 - 이미지 크롤링하기&#x27;를 해보시고 오시는 것을 추천드립니다.https://blog.naver.com/srang_/222113457587* 해당 프로젝트의 IDE는 Pycharm으로 진행하였습니다.* 라이브러리 설치 방법은 IDE마다 상이할 수 있으며 VSCode 같은 경우 아래의 설치 방법과 달리 터미널 창의 &#x27;pip install 패키지 명&#x27;으로 설치할 수 있음을 알려드립니다.* 웹 크롤링 기술을 포스팅하기 위해 HTML 기본 문법 및 코드 설명은 생략하겠습니다. HTML, CSS 관련 학습은 아래 링크인 생활코딩 강의에서 학습해 주시면 감사하겠습니다.https://opentutorials.org/course/3.......

파이썬 기초 - 카카오톡 분석하여 워드 클라우드 만들기 [내부링크]

* 시작하기 전에 파이썬 기초 문법을 보시는 것을 추천드리고 &#x27;파이썬 기초 - 뉴스 기사 웹 크롤링 하여 엑셀파일 저장하기&#x27;를 해보시고 오시는 것을 추천드립니다.https://blog.naver.com/srang_/222113557604* 해당 프로젝트의 IDE는 Pycharm으로 진행하였습니다.* 라이브러리 설치 방법은 IDE마다 상이할 수 있으며 VSCode 같은 경우 아래의 설치 방법과 달리 터미널 창의 &#x27;pip install 패키지 명&#x27;으로 설치할 수 있음을 알려드립니다.1. 카카오톡 대화 내용을 분석하여 워드 클라우드 만들기카카오톡 대화 내용을 분석하여 단어 사용의 빈도수를 찾아서 데이터 시각화하는 작업을 진행합니다.WordCloud 라이브러.......

2020 정보처리기사 예상문제 P7 [내부링크]

1. 파레토의 법칙에 대해서 간략히 서술하시오. (서술형)답안 : 2. 다음이 설명하는 용어에 대해서 작성하시오.2010년 6월에 발견된 웜 바이러스로 마이크로소프트 윈도를 통해 감염되어 지멘스 산업의 소프트웨어 및 장비를 공격한다. 산업 시설을 공격한 최초의 악성 소프트웨어는 아니지만 산업 시설을 감시하고 파괴하는 악성 소프트웨어로는 최초이다.답안 : 3. 정보를 수집한 후 처리되지 않은 상태로 미래에 사용할 가능성이 있다는 이유로 삭제되지 않고 방치되어 있는 데이터로 저장 공간만 차지하고 보안의 위험을 초래할 수 있는 다량의 데이터는 무엇인가?답안 : 4. 빈칸의 알맞은 프로토콜을.......

2020 정보처리기사 예상문제 P7답안 [내부링크]

1. 파레토의 법칙에 대해서 간략히 서술하시오. (서술형)답안 : 전체 결과의 80%가 전체 원인의 20%에서 일어나는 현상이다.2. 다음이 설명하는 용어에 대해서 작성하시오.2010년 6월에 발견된 웜 바이러스로 마이크로소프트 윈도를 통해 감염되어 지멘스 산업의 소프트웨어 및 장비를 공격한다. 산업 시설을 공격한 최초의 악성 소프트웨어는 아니지만 산업 시설을 감시하고 파괴하는 악성 소프트웨어로는 최초이다.답안 : 스턱스넷(Stuxnet)3. 정보를 수집한 후 처리되지 않은 상태로 미래에 사용할 가능성이 있다는 이유로 삭제되지 않고 방치되어 있는 데이터로 저장 공간만 차지하고 보안의 위험을 초래할 수 있는.......

2020 정보처리기사 예상문제 P8 [내부링크]

01. 다음이 설명하는 용어를 작성하시오.사람들이 세상에 대하여 보고 듣고 느끼고 생각하는 것에 대하여 서로 간의 토론을 진행하여 합의를 이룬 바를 개념적이고 컴퓨터에서 다룰 수 있는 형태로 표현한 모델로, 개념의 타입이나 사용상의 제약조건들을 명시적으로 정의한 기술이다.답안 : 02. DBMS에 대하여 간단히 서술하시오. (서술형)답안 : 02-1 DBMS의 필수 기능 3가지를 작성하시오.답안 : 03. 물리적인 리소스들을 사용자에게 하나로 보이게 하거나 하나의 물리적인 리소스를 여러 개로 보이게 하는 기술로 하이퍼바이저라 불리는 소프트웨어가 하드웨어에 직접 연결되며 1개의 시스템을 가.......

2020 정보처리기사 예상문제 P8답안 [내부링크]

01. 다음이 설명하는 용어를 작성하시오.사람들이 세상에 대하여 보고 듣고 느끼고 생각하는 것에 대하여 서로 간의 토론을 진행하여 합의를 이룬 바를 개념적이고 컴퓨터에서 다룰 수 있는 형태로 표현한 모델로, 개념의 타입이나 사용상의 제약조건들을 명시적으로 정의한 기술이다.답안 : 온톨로지(Ontology)* 정보처리기사 실기 정리 포스팅한 내용중에 오타가 많은 용어입니다. 한 번 더 확인해 주세요!* 관련해서 복습을 위해 예상문제 한 번 더 포스팅하였습니다!02. DBMS에 대하여 간단히 서술하시오. (서술형)답안 : 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성하고, 데이터베이스를 관리해 주는.......

파이썬 데이터 분석 - 교통사고 사망자 수 데이터 분석 [내부링크]

라이브러리: 사용자가 필요로 하는 많은 기능들의 집합을 &#x27;라이브러리&#x27;라고 한다. python 언어는 그 자체만으로도 많은 기능을 가지고 있지만 다양한 라이브러리들을 활용해서 개발을 진행할 수 있다.pandas(판다스) 라이브러리: python 언어를 활용한 데이터 분석에 사용되는 가장 대표적인 라이브러리이다.주제 : 교통사고로 인한 5년간 OECD 국가 인구 10만 명당 사망자 수 분석하기* 출처 : 도로교통공단, TAAS1) Report.csv 파일을 파이썬에서 사용할 수 있도록 pd.read_cvs(&#x27;파일 경로/파일명&#x27;)을 작성한다.엑셀 데이터 파일(Report.cvs)의 내용으로 5년간 OECD 국가 인구 10만 명당 사망자 수 데이터를.......

파이썬 프로그래밍 기본 함수 def - D6 [내부링크]

함수란?1. 함수 (Function): 컴퓨터에게 정보를 입력하고, 컴퓨터가 작업을 하고, 컴퓨터가 작업의 결과를 출력하는 기능이다.1) 함수프로그래밍의 기본 틀 역할을 하며 특정 기능을 수행하는 코드들의 모임으로 볼 수 있다.2) 함수의 구조len() : 자료를 넣으면 그 자료의 길이를 사용자에게 알려준다.int() : 자료를 넣으면 정수형으로 변환해서 사용자에게 알려준다.str() : 자료를 넣으면 문자열로 변환해서 사용자에게 알려준다.2 함수의 종류1) 내장 함수 : 파이썬 개발자들이 이미 만들어 둔 함수를 편리하게 가져다 쓸 수 있는 함수2) 입력 함수인 input()과 출력 함수인 print()input() : 자료를 입력하는 함수print() : 자.......

2020 정보처리기사 예상문제 P5 [내부링크]

1. 다음은 인터페이스 구현 검증 도구를 나타낸 표이다. 빈칸에 알맞은 도구를 작성하시오.답안 :(1) (2) (3) 2. 다음이 설명하고 있는 용어가 무엇인지 작성하시오.브라우저 종류 및 버전에 따른 기능 차이에 대하여 호환이 가능하도록 제시된 표준으로, 다른 기종 또는 플랫폼에 다르게 구현되는 기술을 동일하게 구현함과 동시에 어느 한쪽에 치우치지 않도록 최적화되어 공통 요소를 사용하여 웹 페이지를 제작하는 기법을 의미한다. 표준화 단체인 W3C가 권고한 표준안에 따라 웹사이트를 작성할 때 이용하는 HTML, CSS, JavaScript 등에 대한 규정을 담고 있으며 웹 사이트에 접속한 사용자가 어떠한 환경이나 브라우저를 사용하.......

2020 정보처리기사 예상문제 P5답안 [내부링크]

1. 다음은 인터페이스 구현 검증 도구를 나타낸 표이다. 빈칸에 알맞은 도구를 작성하시오.답안 : (1) xUnit(2) Fitnesse(3) Selenium* 인터페이스 구현 검증xUnit : 자바, C++, .Net 등 다양한 언어를 지원하는 단위 테스트 프레임워크STAF : 서비스 호출, 컴포넌트 재사용, 다양한 환경을 지원하는 프레임워크FitNesse : 웹 기반 테스트케이스 설계, 실행, 결과를 확인 등을 지원Selenium : 다양한 브라우저 지원, 웹 애플리케이션 테스트 프레임워크Watir : Ruby 기반의 웹 애플리케이션 테스트 프레임워크* 5장 인터페이스 구현 학습을 원하시면 아래 링크에서 확인해주세요!https://blog.naver.com/srang_/2220602949262. 다음.......

파이썬 프로그래밍 기본 문법 활용 및 정리 - D7 [내부링크]

* 아래의 내용들은 본 블로그에 포스팅되어 있는 D-1부터 D-6까지를 보시고 활용해 주시면 도움이 될 것 같습니다.* 파이썬 IDE가 설치되어 있지 않은 사용자분들도 아래 링크를 누르셔서 코딩을 직접 해보시는 것을 추천드립니다. (설치 없이 웹 사이트 상에서 코드 작성과 터미널 출력이 가능한 사이트입니다)1) 아래 사이트 클릭2) start coding 버튼 누르기3) language(언어)를 Python으로 선택 후 create repl 클릭4) 가운데 하얀색 main.py의 파일에서 코드 작성 후 Run 버튼을 눌려 오른쪽 터미널 창에서 출력이 되는지 확인https://repl.it/1. 리스트 순회하기반복문인 for 문을 이용해서 리스트를 순회할 수 있다.1) 파이썬에 사.......

2020 정보처리기사 예상문제 P6 [내부링크]

1. 다음이 설명하는 암호화 알고리즘이 무엇인지 작성하시오.암호화할 때 사용하는 키와 복호화 할 때 사용하는 키가 동일한 암호화 기법으로 보편적으로 사용되는 암호화 방식은 미국 표준 방식인 AES 128~256비트 키를 적용할 수 있어 보안성이 뛰어나며 공개된 알고리즘으로 누구나 사용할 수 있다. AES의 이전 알고리즘인 DES는 1957년부터 사용되었으나 너무 오래되어 취약점이 발견됨에 따라 대체하기 위해 AES로 사용되고 있다.답안 :2. 다음이 설명하는 용어는 무엇인지 작성하시오.미국 국가 안보국(NSA)이 1993년에 처음으로 설계했으며 미국 국가 표준으로 지정되었다. TLS, SSL, PGP, SSH, IPSec 등 많은 보안 프로토콜.......

2020 정보처리기사 예상문제 P6답안 [내부링크]

1. 다음이 설명하는 암호화 알고리즘이 무엇인지 작성하시오.암호화할 때 사용하는 키와 복호화 할 때 사용하는 키가 동일한 암호화 기법으로 보편적으로 사용되는 암호화 방식은 미국 표준 방식인 AES 128~256비트 키를 적용할 수 있어 보안성이 뛰어나며 공개된 알고리즘으로 누구나 사용할 수 있다. AES의 이전 알고리즘인 DES는 1957년부터 사용되었으나 너무 오래되어 취약점이 발견됨에 따라 대체하기 위해 AES로 사용되고 있다.답안 : 대칭키 또는 비밀키* 대칭키(비밀키) : 암호화 키와 복호화 키가 같은 암호화 기법으로 사용되는 방식이다.대칭키의 종류로 DES, AES, SEED 등이 존재한다.* 비대칭(공개키) : 암호화 키와 복호화.......

파이썬 기초 - 이미지 크롤링해보기 [내부링크]

패키지란? 라이브러리란?* 시작하기 전에 파이썬 기초 문법을 보시는 것을 추천드리나 코드 자체가 어렵지 않아서 따라 해보시는 것도 좋다고 생각합니다.* 해당 프로젝트의 IDE는 Pycharm으로 진행하였습니다.* 라이브러리 설치 방법은 IDE마다 상이할 수 있으며 VSCode 같은 경우 아래의 설치 방법과 달리 터미널 창의 &#x27;pip install 패키지 명&#x27;으로 설치할 수 있음을 알려드립니다.1. dload 라이브러리라이브러리 또는 패키지를 잘 활용하면 (1) 가상환경 (Virtual Environment) : 프로젝트별로 패키지들을 담을 상자* 라이브러리 설치 방법 File → Settings → Python Interpreter → &#x27;+&#x27; 버튼 : 검색 창에 라이브.......

2020 정보처리기사 예상문제 P3답안 [내부링크]

01. 각 빈칸에 알맞은 용어를 작성하시오.( 1 ) 소프트웨어는 공개적으로 액세스할 수 있게 설계되어 누구나 자유롭게 확인, 수정, 배포할 수 있는 코드로 제작자의 권리를 지키면서 원시 코드를 누구나 열람할 수 있도록 한 소프트웨어 혹은 라이선스에 준하는 모든 통칭을 일컫는다. 어원에 대해서는 1998년 2월 3일에 넷스케이프 브라우저의 원시 코드의 형태를 공개 여부를 판단하는 회의에서 비롯된 새로운 용어이다. GNU 프로젝트 기반 리누스 토르발스가 출시한 ( 2 ) 운영체제가 대표적인 ( 1 )의 사례로, 누구나 무료로 이용할 수 있고 공개된 코드를 기반으로 프로그램을 활용할 수 있다. 인터넷을 이용하는 다수의 기술자가 소프트웨.......

N Tech Service 2020 하계 인턴십 면접 후기 [내부링크]

안녕하세요! 2020년 06월 30일에 실시한 N Tech Service 2020 하계 채용전제형 인턴십 면접 후기를 포스팅하겠습니다.채용 과정은 서류 전형 - 온라인 Pre Test - 구술면접으로 총 3단계의 과정을 거쳐 진행이 되었습니다.1. 서류 전형서류전형은 사전에 작성한 이력서, 포트폴리오, Github 내용을 활용해서 준비하였습니다. 사실 기대를 하지 않았었는데 합격 통보를 받아서 기분이 좋았습니다.2. 온라인 Pre Test온라인 Test 같은 경우 Java 언어를 활용한 기본적인 문제와 QA 직무 관련된 소프트웨어 테스트 기법들과 활용하는 부분에 대해서 실시하였습니다. 프로그래머스 홈페이지의 엔진을 이용하여 2시간 동안 18개의 문항을 풀.......

파이썬 프로그래밍 기본 문법 출력과 자료형 - D1 [내부링크]

출력이란?1. print() 출력 함수1) print() 함수를 이용하여 출력하기print(&#34;출력할 내용&#34;)2) 하나가 아닌 여러 자료를 출력하기print()함수 안에 ,(콤마)를 이용해서 여러 자료를 출력할 수 있다.2. 기본 자료형1) 숫자형 (Number) : 숫자로 이루어진 자료형 정수나 실수 등을 가질 수 있고 숫자끼리의 연산이 가능하다.2) 문자열 (String) : 문자나 문자들을 늘어놓은 것으로 큰따옴표(&#34;&#34;)와 작은따옴표(&#x27;&#x27;)로 구분이 가능하다.3) 리스트 (List) : 여러 자료를 보관하는 자료형으로 다른 종류의 자료를 함께 담을 수 있다. * 리스트의 특징으로 자료 안에 순서가 존재한다. (index라는 번호로 순서.......

파이썬 프로그래밍 기본 문법 입력과 조건문 - D2 [내부링크]

입력이란?1. input() 입력 함수입력 : 컴퓨터는 사용자가 전달한 값을 변수에다가 보관해야 한다.변수 &#x3D; input()* input() 함수의 중요한 특징무엇을 입력하든 &#34;문자열&#34;로 입력받아진다. 숫자를 입력해야 한다면 입력받은 후에 데이터를 숫자형으로 가공해 줘야 한다.가공하는 방법은 자료형 사이의 변환인 형 변환 함수를 사용한다.* 형 변환 함수2. 논리형 자료와 비교 연산1) 논리 자료형 : 참(True) 혹은 거짓(False)을 나타내는 자료형이다.2) 비교 연산자 : 숫자나 문자의 값을 비교하는 연산자로 주어진 진술이 참이면 True, 거짓이면 False를 반환한다.* 비교 연산자의 종류3) 논리 자료형의 연산 : True, False 밖.......

파이썬 프로그래밍 기본 문법 리스트와 시퀀스 - D3 [내부링크]

리스트란?1. list(리스트) 리스트 : 다양한 데이터를 순서 있는 목록으로 만들어 보관할 수 있다.리스트 명 &#x3D; []1) append() - 리스트 원소 추가 list.append(data) : data를 리스트 마지막 원소 뒤에 추가하며 오직 한 개의 데이터만 추가할 수 있다.2) insert() - 리스트 원소 추가 list.insert(i, data) : 인덱스 i에 자료 data를 추가하며 오직 한 개의 데이터만 추가할 수 있다.* index는 리스트 원소들의 위치 정보를 나타내는 숫자이며 0부터 시작한다.3) remove() - 리스트 원소 제거list.remove(data) : 리스트에서 처음 나오는 data 원소를 제거한다.4) sort() - 리스트 정렬list.sort() : 숫자형 데이터는 오름차순, 문.......

파이썬 프로그래밍 기본 문법 반복문 - D4 [내부링크]

반복 문의 필요성1. 반복문 - for 문: 어떠한 조건이나, 범위 내에서 어떠한 명령을 반복적으로 수행하는 것이다.1) for 문 - 파이썬의 반복문원소로 반복하는 방법 : 시퀀스의 원소를 하나씩 변수에 넣어가면서 명령을 실행한다.* for 문안에 들어갈 명령들은 같은 들여 쓰기로 구분하여야 한다.* 명령은 시퀀스의 길이 (len) 만큼 실행된다.2) for - range 문range : 연속되는 숫자를 만들어 주는 시퀀스 자료형이다.* range(a, b) 입력 시 b의 숫자보다 -1 되는 숫자만큼 만들어진다.* 구간으로 반복하는 방법: a 이상 b 미만의 수를 변수에 넣어가면서 명령을 수행한다.* 횟수로 반복하는 방법: a 번 만큼 명령을 수행2. 반.......

2020 정보처리기사 예상문제 P4 [내부링크]

1. 다음이 설명하는 용어가 무엇인지 작성하시오. 데이터 구조나 오브젝트 상태를 다른 컴퓨터 환경에서 저장하고 재구성할 수 있는 포맷으로 변환하는 과정으로 객체에 저장된 데이터를 스트림에 쓰기 위해 연속적인 시리얼 데이터로 변환하는 것은 무엇인가?답안 :2. 다음이 설명하는 용어가 무엇인지 작성하시오.통신 세션의 각 IP 패킷을 암호화하고 인증하는 안전한 인터넷 프로토콜(IP) 통신을 위한 인터넷 프로토콜 스위트이다. 이 보안은 통신 세션의 개별 IP 패킷을 인증하고 암호화함으로써 처리된다. 세션의 시작에서 에이전트 사이에서 상호 인증을 확립하거나 세션을 맺는 중에 사용될 암호화 키의 협상을 위한 프로.......

2020 정보처리기사 예상문제 P4답안 [내부링크]

1. 다음이 설명하는 용어가 무엇인지 작성하시오. 데이터 구조나 오브젝트 상태를 다른 컴퓨터 환경에서 저장하고 재구성할 수 있는 포맷으로 변환하는 과정으로 객체에 저장된 데이터를 스트림에 쓰기 위해 연속적인 시리얼 데이터로 변환하는 것은 무엇인가?답안 : 직렬화2. 다음이 설명하는 용어가 무엇인지 작성하시오.통신 세션의 각 IP 패킷을 암호화하고 인증하는 안전한 인터넷 프로토콜(IP) 통신을 위한 인터넷 프로토콜 스위트이다. 이 보안은 통신 세션의 개별 IP 패킷을 인증하고 암호화함으로써 처리된다. 세션의 시작에서 에이전트 사이에서 상호 인증을 확립하거나 세션을 맺는 중에 사용될 암호화 키의 협상을 위한.......

파이썬 프로그래밍 기본 리스트 튜플 딕셔너리 활용 - D5 [내부링크]

리스트와 시퀀스 자료형에 대한 기본적인 설명은 아래 링크를 참조해 주세요!https://blog.naver.com/srang_/2221056318661. 문자열과 리스트의 활용1) list.pop(index) pop() 함수는 인덱스 index의 원소를 제거 후에 그 원소를 반환하는 함수이다.pop() 괄호 안에 인덱스 값을 넣지 않을 경우 마지막 원소를 제거하고 반환한다.2) seq.count(data) count() 함수는 시퀀스 내부의 자료 data의 개수를 반환하는 함수이다.count() 괄호 안에 데이터 값을 넣지 않을 경우 에러 발생한다.3) string.split(char)split() 함수는 char를 기준으로 문자열을 쪼개서 리스트를 반환하는 함수이다.split() 괄호 안에 데이터 값을 비울 경우.......

2020 정보처리기사 실기 2회 기출문제 정답/풀이 [내부링크]

#정보처리기사#2020정보처리기사#2020정처기#정처기실기#정보처리기사실기#기출문제#문제#예상문제#실기기출문제#정보처리기사요점#정보처리기사정리#2020정처기요점#2020정처기정리* 포스팅을 한 본인은 2020 정보처리기사 실기 2회를 응시했습니다.* 정보처리기사 실기 시험에서는 서술형과 주관식 문제로 출제되기 때문에 직접 손으로 작성해 보시는 것이 가장 중요하다고 생각합니다.* 따라서 답지는 따로 포스팅하여 업로드해두겠습니다.*꼭 스스로 빈 종이에 문제를 풀어보시는 것을 적극 추천드립니다.1. 다음 보기가 설명하는 용어를 작성하시오.답안 : RTO (Recovery Time Objective)* RTO (Recovery Time Objective) : 재해 복.......

2020 정보처리기사 실기 12장 제품 소프트웨어 패키징 [내부링크]

#2020정처기 #정보처리기사 #2020정보처리기사 #정처기실기 #정처기실기 #정보처리기사실기 #정처기요약 #정처기정리 #정보처리기사12장 #정처기12장 #제품소프트웨어 #소프트웨어패키징 #모듈화 #소프트웨어배포 #형상관리 #버전관리1. 제품 소프트웨어 패키징1) 제품 소프트웨어 패키징 : 개발이 완료된 소프트웨어를 고객에게 전달하기 위해 패키징 하는 과정* 키워드 : 버전관리/릴리즈 노트, 고객 중심, 모듈화모듈화 (서술형) : 모듈을 통해 제품 소프트웨어의 성능을 향상시키고 시스템의 통합, 시험 디버깅 및 수정을 용이하게 하는 소프트웨어 설계 기법* 모듈 : 소프트웨어 설계에서 기능단위로 분해하고 추상되어 재사용 및.......

2020 정보처리기사 2회 실기 합격 후기 [내부링크]

안녕하세요! 2020 정보처리기사 실기 2회차 응시 후 합격 후기를 포스팅하겠습니다.1. 교재실기 시험 준비 시 교재는 수제비를 통해서 공부를 진행했고 부교재로는 시나공 교재도 한번 훑어보았습니다.사실 정보처리기사 필기시험을 준비할 때는 이기적 교재로 공부하였지만 저의 개인적인 생각으로는 가독성이 너무 떨어지고 오탈 자도 많아서 시험 대비할 때 다른 자료들을 많이 참고해서 공부를 진행했었습니다. 그래서 실기 때는 수제비라는 교재를 통해서 공부를 하게 되었고 이는 좋은 결과로 만들어준 좋은 선택이었던 것 같습니다.수제비 교재를 추천을 하는 이유는 책의 내용도 좋지만 수제비 카페의 커뮤니케이션이 너무 활성화되.......

2020 정보처리기사 예상문제 P1 [내부링크]

* 정보처리기사 실기 시험에서는 서술형과 주관식 문제로 출제되기 때문에 직접 손으로 작성해 보시는 것이 가장 중요하다고 생각합니다.* 따라서 답지는 다른 포스팅에 업로드해두겠습니다.*꼭 스스로 빈 종이에 문제를 풀어보시는 것을 적극 추천드립니다.01. 서버의 취약점을 사전에 방지하여 외부 위협과 내부 위협으로부터 위험을 최소화하는 구축 방법으로 소프트웨어 개발 보안을 구축을 위해 정보 보안의 세 가지 요소를 지켜야 한다. 빈칸에 들어갈 보안 요소는 무엇인가?답안 : 02. 다음이 설명하는 용어를 작성하시오.답안 : 03. 일방향 해시 함수에서 다이제스트를 생성할 경우 추가되는 바이트 단위의 임의의.......

2020 정보처리기사 예상문제 P1답안 [내부링크]

* 예상문제 P1 답안입니다. 확인하시고 모르셨던 내용은 꼭 한 번 복습하시고 다음에 다시 풀어보세요!01. 서버의 취약점을 사전에 방지하여 외부 위협과 내부 위협으로부터 위험을 최소화하는 구축 방법으로 소프트웨어 개발 보안을 구축을 위해 정보보안의 세가지 요소를 지켜야한다. 빈칸에 들어갈 보안 요소는 무엇인가?답안 : 무결성* 보안의 3대 요소 (단답형) 기밀성 : 인가되지 않은 사용자와 애플리케이션의 접근에 따른 정보 노출 차단무결성 : 완전성, 일관성, 데이터 훼손 및 파손 x가용성 : 지속적인 서비스 유지02. 다음이 설명하는 용어를 작성하시오.답안 : 티어드롭 (Tear Drop)* 취약점 공격랜드 어택 : 출발지.......

2020 정보처리기사 예상문제 P2 [내부링크]

01. 다음이 설명하는 용어를 작성하시오.출판자 또는 저작권자가 그들이 배포한 디지털 자료나 하드웨어의 사용을 제어하고 이를 의도한 용도로만 사용하도록 제한하는데 사용되는 모든 기술을 지칭하는 용어이다. 그리고 데이터의 안전한 배포를 활성화하거나 불법으로 배포하는 것을 방지하여 인터넷이나 기타 디지털 매체를 통해 유출되는 데이터의 저작권을 보호하기 위한 시스템으로 사용된다.답안 : 02. 테스트 레벨에 따른 종류로 빈칸의 알맞은 답을 작성하시오.답안 : 03. 보기에서 설명하는 용어가 무엇인지 작성하시오.답안 :04. 다음의 성적 테이블을 이용하여 과목만 출력하는 쿼리를 작성하시오.......

2020 정보처리기사 예상문제 P2답안 [내부링크]

01. 다음이 설명하는 용어를 작성하시오.출판자 또는 저작권자가 그들이 배포한 디지털 자료나 하드웨어의 사용을 제어하고 이를 의도한 용도로만 사용하도록 제한하는데 사용되는 모든 기술을 지칭하는 용어이다. 그리고 데이터의 안전한 배포를 활성화하거나 불법으로 배포하는 것을 방지하여 인터넷이나 기타 디지털 매체를 통해 유출되는 데이터의 저작권을 보호하기 위한 시스템으로 사용된다.답안 : DRM 또는 디지털 권리 관리 또는 Digital Rights Management02. 테스트 레벨에 따른 종류로 빈칸의 알맞은 답을 작성하시오.답안 : 통합 테스트* V 모델을 기반으로 한 테스트 레벨에 따른 종류를 필수로 외우셔야 합니다........

2020 정보처리기사 예상문제 P3 [내부링크]

01. 각 빈칸에 알맞은 용어를 작성하시오.( 1 ) 소프트웨어는 공개적으로 액세스할 수 있게 설계되어 누구나 자유롭게 확인, 수정, 배포할 수 있는 코드로 제작자의 권리를 지키면서 원시 코드를 누구나 열람할 수 있도록 한 소프트웨어 혹은 라이선스에 준하는 모든 통칭을 일컫는다. 어원에 대해서는 1998년 2월 3일에 넷스케이프 브라우저의 원시 코드의 형태를 공개 여부를 판단하는 회의에서 비롯된 새로운 용어이다. GNU 프로젝트 기반 리누스 토르발스가 출시한 ( 2 ) 운영체제가 대표적인 ( 1 )의 사례로, 누구나 무료로 이용할 수 있고 공개된 코드를 기반으로 프로그램을 활용할 수 있다. 인터넷을 이용하는 다수의 기술자가 소프트웨.......

2020 정보처리기사 실기 8장 SQL 응용 [내부링크]

#2020정처기 #정보처리기사 #2020정보처리기사 #정처기실기 #정처기실기 #정보처리기사실기 #정처기요약 #정처기정리 #정보처리기사8장 #정처기8장 #SQL응용 #절차형SQL #프로시저 #윈도함수 #그룹함수 #동적SQL1. SQL 응용1) 절차형 SQL : 특정 사용자가 실행 순서를 정해놓고 사용하는 SQL 문* 프로시저, 트리거, 사용자 정의 함수의 차이점과 이해가 필요합니다.(1) 프로시저 (서술형) : 절차형 SQL문을 활용하여 사전에 정의해놓은 SQL 문을 호출할 경우 특정 기능을 수행하는 트랜잭션 언어CREATE OR REPLACE : 프로시저 생성 SQL 문(2) 사용자 정의 함수 (서술형) : 사용자가 정의하여 SQL문 처리 수행 후 단일 값으로 반환하는.......

2020 정보처리기사 실기 9장 소프트웨어 개발 보안 구축 [내부링크]

#2020정처기 #정보처리기사 #2020정보처리기사 #정처기실기 #정처기실기 #정보처리기사실기 #정처기요약 #정처기정리 #정보처리기사9장 #정처기9장 #보안 #보안테스트 #시큐어코딩 #보안3대요소 #암호알고리즘 #대칭키1. 소프트웨어 개발 보안 구축1) 소프트웨어 개발 보안(1) 보안의 3대 요소 (단답형) 기밀성 : 인가되지 않은 사용자와 애플리케이션의 접근에 따른 정보 노출 차단무결성 : 완전성, 일관성, 데이터 훼손 및 파손 x가용성 : 지속적인 서비스 유지(2) 보안 용어 : 자산, 위협, 취약점, 위험 2) 서비스 공격 유형* DOS 공격 : 시스템의 자원을 부족하게 만드는 악의적인 공격 방법(지역 시스템 공격 / 원격 네트워크 공.......

2020 정보처리기사 실기 10장 프로그래밍 언어 활용 [내부링크]

#2020정처기 #정보처리기사 #2020정보처리기사 #정처기실기 #정처기실기 #정보처리기사실기 #정처기요약 #정처기정리 #정보처리기사10장 #정처기10장 #자료형 #연산자 #객체지향 #프로그래밍언어 #라이브러리 #추상화* 10장 프로그래밍 언어 활용 과목에서는 사실 개념적인 내용보다 파이썬, 자바, C언어 기반으로 작성된 코드를 보고 실행 결과값을 작성하는 문제가 출제됩니다. (출제 빈도 : 회당 2문제 정도 출제)* 이점 참고하셔서 가볍게 개념적인 부분을 공부하시고 코드 해석에 시간을 투자하시길 바라겠습니다.* 각 언어별 프로그래밍 관련 내용은 추후에 올리겠습니다.1. 프로그래밍 언어 활용1) 기본 문법 활용하기변수 : 어떤.......

2020 정보처리기사 실기 11장 응용 SW 기초 활용 [내부링크]

#2020정처기 #정보처리기사 #2020정보처리기사 #정처기실기 #정처기실기 #정보처리기사실기 #정처기요약 #정처기정리 #정보처리기사11장 #정처기11장 #운영체제 #프로세스관리 #스케줄링 #선점형 #비선점형 #클라우딩 #프로토콜 #TCP #UDP #라우팅프로토콜1. 운영체제의 특징1) 운영체제 : 사용자가 컴퓨터 하드웨어를 쉽게 사용할 수 있도록 인터페이스를 제공하는 소프트웨어로 컴퓨터 시스템과 사용자의 상호작용할 수 있는 편리성을 제공* 인터페이스 : 서로 다른 시스템 또는 장치 사이에서 정보를 공유하는 시스템 또는 경계* 안드로이드(Android) : 휴대 전화를 비롯한 휴대용 장치를 위한 운영체제와 미들웨어, 사용자 인터페이.......

2020 정보처리기사 실기 1회 기출문제 [내부링크]

#정보처리기사 #2020정보처리기사 #2020정처기 #정처기실기 #정보처리기사실기 #기출문제 #문제 #예상문제 #실기기출문제 #정보처리기사요점 #정보처리기사정리 #2020정처기요점 #2020정처기정리* 2020년도 정보처리기사 1회 실기 문제 내용입니다.* 실기 개념 공부를 어느 정도 하셨다고 생각되시면 기출문제를 풀어보는 것도 좋은 방법이라고 생각합니다.* 정보처리기사 실기 시험에서는 서술형과 주관식 문제로 출제되기 때문에 직접 손으로 작성해 보시는 것이 가장 중요하다고 생각합니다.* 따라서 답지는 다른 포스팅에 업로드해두겠습니다.* 꼭 스스로 빈 종이에 문제를 풀어보시는 것을 적극 추천드립니다.1. 살충제 패러독스에 대하.......

2020 정보처리기사 실기 1회 기출문제 정답/풀이 [내부링크]

#정보처리기사 #2020정보처리기사 #2020정처기 #정처기실기 #정보처리기사실기 #기출문제 #문제 #예상문제 #실기기출문제 #정보처리기사요점 #정보처리기사정리 #2020정처기요점 #2020정처기정리* 2020년도 정보처리기사 1회 실기 문제 가답안 내용입니다.1. 살충제 패러독스에 대하여 간단히 서술하시오.답안 : 동일한 테스트케이스로 반복 실행하면 더 이상 새로운 결함을 발견할 수 없으므로 주기적으로 테스트 케이스를 점검하고 개선해야 한다.* 정보처리기사 실기 7장 내용 확인https://blog.naver.com/srang_/2220636510392. 데이터마이닝의 개념에 대하여 간단히 서술하시오.답안 : 많은 데이터를 분석하여 미래에 실행 가.......

네트워크 패킷 트레이서 (Packet Tracer) 활용 [내부링크]

#패킷트레이서 #패킷트레이스 #PacketTracer #라우팅이해 #라우팅 #라우팅실습 #패킷트레이서실습목표 : 패킷 트레이서를 이용한 라우팅의 이해https://youtu.be/a7hJDTlDqBs

2020 정보처리기사 실기 2회 기출문제 [내부링크]

#정보처리기사 #2020정보처리기사 #2020정처기 #정처기실기 #정보처리기사실기 #기출문제 #문제 #예상문제 #실기기출문제 #정보처리기사요점 #정보처리기사정리 #2020정처기요점 #2020정처기정리* 포스팅을 한 본인은 2020 정보처리기사 실기 2회를 응시했습니다.* 정보처리기사 실기 시험에서는 서술형과 주관식 문제로 출제되기 때문에 직접 손으로 작성해 보시는 것이 가장 중요하다고 생각합니다.* 따라서 답지는 다른 포스팅에 업로드해두겠습니다.* 꼭 스스로 빈 종이에 문제를 풀어보시는 것을 적극 추천드립니다.1. 다음 보기가 설명하는 용어를 작성하시오.답안 : 2. 파이썬 언어로 작성한 코드를 보고 출력 내용을 작성하시.......

정처기 1장 소프트웨어 설계 - 인터페이스 설계 [내부링크]

#정보처리기사 #정처기 #필기 #소프트웨어설계 #인터페이스설계 #2020정처기 #2020정보처리기사D. 인터페이스 설계인터페이스 요구사항 시스템 인터페이스 요구사항 구성 인터페이스 이름연계 대상 시스템연계 범위 및 내용연계 방식송신 데이터인터페이스 주기기능적 요구사항 : 내 외부 시스템 연계를 통해 수행될 기능. 입출력 처리 과정비기능적 요구사항 : 외부의 제약조건 // 성능 보안성 용이성 신뢰성 인터페이스 요구사항 분석1) 요구사항 분석 기법 요구사항 분류 : 요구사항을 유형별, 제품 및 프로세스 연관성에 따라 분류개념 모델링 : 사용자의 요구사항을 개념 모델로 표현하는 과정요구사항 할당 : 요구사항을.......

2020 정보처리기사 실기 1장 요구사항 확인 [내부링크]

#2020정처기 #정보처리기사 #2020정보처리기사 #정처기실기 #요구사항확인 #요구사항 #정처기실기 #정보처리기사실기 #정처기요약 #정처기정리1.요구사항 확인1) 현행 시스템 파악 : 현재 개발하고자 하는 시스템의 개발 범위를 설정하기 위해 구성과 기능, 연계정보, 소프트웨어, 하드웨어, 네트워크의 구성을 파악하는 과정을 의미한다.2) 현행 시스템 파악 절차3) 소프트 아키텍처(서술형) : 여러 가지 소프트웨어 구성요소와 외부 특성, 구성요소 간의 관계를 표현하는 시스템 구조 4) 소프트웨어 아키텍처 프레임 워크(서술형) : 소프트웨어 집약적인 시스템에서 아키텍처가 표현해야 하는 내용 및 이들 간의 관계를 제공하는 아키.......

2020 정보처리기사 실기 2장 데이터 입출력 구현 [내부링크]

#2020정처기 #정보처리기사 #2020정보처리기사 #정처기실기 #데이터입출력 #데이터입출력구현 #정처기실기 #정보처리기사실기 #정처기요약 #정처기정리 #정보처리기사2장 # 정처기2장1. 데이터 모델링 절차개념적 데이터 모델링 → 논리적 데이터 모델링 → 물리적 데이터 모델링* 개념적 데이터 모델링 : 현실 세계의 인식을 추상적인 개념으로 모델링* 논리적 데이터 모델링 : 개념적 구조를 컴퓨터가 이해할 수 있는 형태로 변환1) 논리 데이터 모델링 : 업무영역의 업무 데이터 및 규칙을 구체적으로 표현특징 : 정규화, 완전성, 독립성, 포용성속성 : 개체(사각형), 속성(동그라미), 관계(마름모)2) 정규화(서술형) : 관계형 데이터베.......

2020 정보처리기사 실기 3장 통합구현 [내부링크]

#2020정처기 #정보처리기사 #2020정보처리기사 #정처기실기 #통합구현 #연계데이터 #정처기실기 #정보처리기사실기 #정처기요약 #정처기정리 #정보처리기사3장 # 정처기3장 #모듈구현 #연계메커니즘1. 연계 데이터 구성1) 연계 요구사항 분석분석 기법 : 인터뷰, 체크리스트, 리서치, 델파이 기법, 브레인스토밍* 체크리스트 : 시스템 운영환경, 성능, 보안, 데이터 주기 등 기준에 대한 점검을 통한 분석 기법* 브레인스토밍 : 소속된 인원들이 자연스럽게 제시된 아이디어 목록을 통해 분석- 분석 참고 문서 : 코드 정의서, 테이블 정의서, 응용 프로그램 구성도, 시스템 구성도개체 정의서 : 개념 모델링 단계에서 도출한 개체의 타입과.......

2020 정보처리기사 실기 4장 서버 프로그램 구현 [내부링크]

#2020정처기 #정보처리기사 #2020정보처리기사 #정처기실기 #서버프로그램 #개발환경구축 #정처기실기 #정보처리기사실기 #정처기요약 #정처기정리 #정보처리기사4장 # 정처기4장 #공통모듈구현 #배치프로그램 #프로그램구현1. 서버 프로그램 구현1) 개발 환경 구축- 개발 도구 분류 구현 도구 : 코드 작성과 디버깅 및 수정 작업테스트 도구 : 코드의 기능과 품질 향상형상관리 도구 : 코드와 산출물에 대한 버전 관리빌드 도구 : 코드의 빌드와 배포 수행- 서버 하드웨어 개발 환경- 소프트웨어 개발 환경* JVM : 시스템 메모리를 관리하고 자바 기반 Application을 위해 실행 환경 제공- 형상 관리(단답형) : 소프트웨어 개발에서 발.......

2020 정보처리기사 실기 5장 인터페이스 구현 [내부링크]

#2020정처기 #정보처리기사 #2020정보처리기사 #정처기실기 #정처기실기 #정보처리기사실기 #정처기요약 #정처기정리 #정보처리기사5장 #정처기5장 #공통모듈구현 #EAI #ESB #인터페이스설계서 #인터페이스구현 #인터페이스1. 인터페이스 구현1) 인터페이스 산출물- 인터페이스 설계서 : 이기종 시스템 및 컴포넌트 간 데이터 교환 및 처리를 위해 각 시스템이 교환되는 데이터, 업무, 송수신 주체 등이 정의된 문서 * 가장 큰 단위의 설계서* 인터페이스 설계서 &#x3D; 인터페이스 목록 : 인터페이스 번호 + 인터페이스 정의서 : 송수신 정보 구체화, 인터페이스 상세 정보- 인터페이스 설계서 2가지 구분상세 기능 인터페이스 정의서 &#x.......

2020 정보처리기사 실기 6장 화면 설계 [내부링크]

#2020정처기 #정보처리기사 #2020정보처리기사 #정처기실기 #정처기실기 #정보처리기사실기 #정처기요약 #정처기정리 #정보처리기사6장 #정처기6장 #화면설계 #UI설계 #레이아웃 #UI개발 #스토리보드 #프로토타입1. 화면 설계1) UI (사용자 인터페이스)- UI (User Interface) : 사용자와 시스템 사이에서 의사소통을 할 수 있도록 고안된 물리적 가상의 매개체&#60; UI의 분류 &#62; CLI(Commend Line Interface) - 명령창 ex) Windows Dos 창GUI(Graphic User Interface) - 그래픽 기반 화면 ex) Windows 10 화면NUI(Natural User Interface) OUI(Organic User Interface)(1) UI 설계 원칙 // 2020년도 정보처리기사 실기 2회 기출문제 (유.......

2020 정보처리기사 실기 7장 애플리케이션 테스트 관리 [내부링크]

#2020정처기 #정보처리기사 #2020정보처리기사 #정처기실기 #정처기실기 #정보처리기사실기 #정처기요약 #정처기정리 #정보처리기사7장 #정처기7장 #테스트 #화이트박스테스트 #블랙박스테스트 #테스트케이스 #회복테스트 #테스트 오라클1. 애플리케이션 테스트 관리1) 애플리케이션 테스트소프트웨어 테스트 : 개발된 응용프로그램이나 시스템이 사용자가 요구하는 성능이나 사용성, 안정성 등을 만족하는지 확인하고 소프트웨어 결함을 찾아내는 과정오류 발견의 관점오류 예방의 관점품질 향상 관점- 소프트웨어 테스트 원리① 테스팅은 결함이 존재하는 것을 밝혀 내는 행동② 완벽한 테스팅은 없다.③ 개발 초기에 테스팅을 시작.......

코틀린 기본 - 프로그래머스 : 서울에서 김서방 찾기 [내부링크]

#코틀린 #코틀린기본 #프로그래머스 #서울에서김서방찾기 #코딩테스트 #연습문제1) 사실 어렵지 않은 문제라서 바로 코딩을 진행하였습니다.2) 배열의 lastIndex 함수를 이용해서 0 부터 배열의 마지막 인덱스까지 반복을 진행하여 Kim이라는 문자열을 찾을 경우 i값을 반환하는 과정을 진행하였습니다.

정처기 1장 소프트웨어 설계 - 요구사항 확인 [내부링크]

#정보처리기사 #정처기 #필기 #소프트웨어 설계 #요구사항확인A. 요구사항 확인1. 소프트웨어 생명 주기 : 소프트웨어 개발 과정을 단계별로 나눈 것 폭포수 모형 (Water fall Model)메뉴얼 작성 필요개발 완료 후 수정 불가능 각 단계별 확실히 매듭 프로토 타입 모형 (ProtoType Model))빠른 설계를 위한 개발 모형 나선형 모형 (Spiral Model)계획-분석-개발-평가의 반복여러번의 개발 과정을 거쳐 프로젝트 진행점진적 개발을 통해 완성도를 높이는 것이 목표대규모 프로젝트에 용이 애자일 (Agile) : 고객과 의사소통을 지속적으로 유지하면서 개발하는 모델* 위의 세가지 모형은 문서와 계획 중심의 개.......

정처기 1장 소프트웨어 설계 - 화면설계 [내부링크]

#정보처리기사 #정처기 #필기 #소프트웨어설계 #화면설계B. 화면설계1. UI (User Interface) : 사용자 인터페이스* 인터페이스는 다양한 분야에서 사용되는 용어입니다. 공통적으로는 A와 B를 중간에서 연결시켜주고 서비스를 할수 있도록 기능을 제공하는 것입니다. 따라서 UI는 사용자와 프로그램에 가운데서 상호작용을 할 수 있도록 도와주는 기능입니다.- 사용자 만족도에 가장 큰 영향을 미치는 요소- S/W 아키텍처를 반드시 숙지하여야 한다. UI 특징표현과 구성물리적 제어간편한 기능 UI 설계 원칙 : 유효성 유연성 학습성 직관성* 유효성 : 사용자의 목적을 정확히 달성하는 것 UI 표준 및 지침 * 표준 : 공통사항, .......

정처기 1장 소프트웨어 설계 - 애플리케이션 설계 [내부링크]

#정보처리기사 #정처기 #필기 #소프트웨어설계 #애플리케이션설계 #2020정처기 #2020정보처리기사C. 애플리케이션 설계1. 모듈설계모듈 : 특정 부분의 기능 처리 요소 &#x3D; 부품공통모듈 : 프로그램이나 시스템 개발 시 공통적으로 사용하는 모듈(기능)[ 정확성 | 명확성 | 완전성 | 일관성 | 추적성 ] 모듈화 : 소프트웨어를 각 기능별로 분할, Program을 효율적 관리 // 추상화, 단계적 분해, 정보은닉 재사용성↑ | 확장성↑ | 유지보수↑ 품질 충족 : 요구사항을 충족시키는 것 - 비즈니스적 측면- 시스템 측면- 아키텍처 측면2. 소프트웨어 아키텍처 : 소프트웨어 기본 구조, 청사진* 아키텍처 &#x3D; 모듈 &#x3D; 아키텍처.......

코틀린 기본 - 프로그래머스 : 2016년 [내부링크]

#코틀린 #코틀린기본 #프로그래머스 #2016년 #코딩테스트 #연습문제* 문제를 다 풀었는데 6번과 12번 테스트에서 지속적으로 오류가 났습니다. 확인해보니 제가 수요일을 WEN으로 했더라구요 WED로 수정하니까 성공했습니다. 오타 체크 잘해야겠네요!1) Key Point는 월과 일을 입력해서 총 일수를 date 변수에 저장을 한 후 date % 7 연산을 통해서 나머지 값에 따라 요일을 지정해주면 되겠다고 생각하고 코딩을 진행했습니다.2) 처음에는 1월도 month 배열에서 1월의 월 수 인 31일을 더해버리는 실수를 하게되었고 a-1 을 통해서 해당 월을 빼고 date 변수에 해당 월의 일수를 더하는 것으로 오류 수정하고 코딩을 진행하였습니다. .......

운영체제 우분투 리눅스 2장 - 디렉토리 [내부링크]

#ubuntu #우분투 #리눅스1. 리눅스 파일의 종류일반 파일 : 일반적인 텍스트, 이미지, 문서, 실행 등 각종 파일디렉토리 파일 : 하위 디렉토리 정보를 볼 수 있는 폴더 파일심볼릭 링크 파일 : 원본파일을 대신하도록 다른 파일명으로 사용하는 파일장치 파일 : 리눅스 시스템에 부착된 장치들을 관리하기 위한 특수 파일2. 디렉토리 계층구조bin : 리눅스 명령어들이 저장되어 있는 디렉토리 파일etc : 리눅스 설정을 위한 각종 파일 저장되어 있는 디렉토리 파일usr : Unix System Resource, 기본 실행 파일, 라이브러리, 해더파일 들이 저장되어 있는 디렉토리 파일home : 사용자 홈 디렉토리가 생성되는 디렉토리 파일sys : 리눅스 커.......

운영체제 우분투 리눅스 2장 - 파일 사용 명령 [내부링크]

#Linux #리눅스 #우분투 # 기본1. 파일 내용 연속 출력(1) etc 디렉토리에 있는 hosts 파일 출력more 명령어는 화면단위로 출력하는 명령어로 파일 내용이 많을 경우 사용할 수 있다.* more 명령어 종료는 ctrl + z 또는 q일반 파일 삭제 시 : rm 파일명디렉토리 파일 삭제 시 : rm -r 디렉토리 파일명

정보처리기사 필기 정리 [내부링크]

#정보처리기사 #정처리 #필기 #소프트웨어설계 #소프트웨어개발 #데이터베이스구축 #프로그래밍언어활용 #정보시스템구축관리정보처리기사 필기 대비를 위해서 앞으로 필기 정리를 할 예정입니다.시중에 좋은 도서들과 시험관련 정보들이 다양하게 있기 때문에 정말 간략하게 요점만 정리할 예정이며 시험대비 시간이 얼마 없으시거나 암기 목적으로 외우시겠다 하시는 분들께 도움이 되었으면 좋겠습니다. 참고 도서 내용정보처리기사 필기 기본서 - 이기적정보처리기사 필기 - 시나공

C언어 문자열 길이 계산 함수 [내부링크]

공백이 없는 임의의 문자열을 입력받아 문자열의 길이를 계산하여 변환하는 함수 strlen()과 프로그램을 작성하라. 단, strlen() 라이브러리 함수는 사용할 수 없고 함수의 인자로 포인터를 이용한다. 입력할 문자열의 최대 길이는 20자로 제한한다고 가정한다.

C언어 피보나치 수열 함수 [내부링크]

이자로 전달된 수만큼의 피보나치 수열을 출력하는 함수를 정의해보자. 예를 들어서 프로그램 사용자가 5를 입력하면 0에서부터 시작해서 총 5개의 피보나치 수열을 출력해야 한다. 참고로 피보나치 수열은 다음과 같다. 0, 1, 1, 2, 3, 5, 8, 13, 21, 34 ... 이렇듯 피보난치 수열은 0과 1에서 시작한다. 그리고 세 번째 이후의 수열부터는 이전의 두값의 합으로 구성된다. 즉, 세번째 수는 0과 1의 합으로 이뤄져서 1이되고, 네 번째 수는 1과 1의 합으로 이뤄져서 2가 된다.

OSI 2계층 Data-Link Layer [내부링크]

Data-Link Layer- Ethernet(이더넷) IEEE 802.3 1) CSMA/CD (detection) 충돌을 찾아 정책을 만들어 관리한다. / 유선 LAN 2) CSMA/CA (avoidance) 충돌을 찾아 회피한다. / 무선 LAN(Wi-Fi) - 네트워크 설계 문제 분석 사람의 개입으로 인하여 구성하기 때문에 1계층 : Physical / 2계층 : Data-link 에서 문제가 발생할 확률이 많다. 1) 계층적 설계를 반영하지 못하는 설계 (관리가 불가능한 케이블) 스위치-스위치 간의 케이블 연결 구조를 파악 불가능 케이블이 조금만 만져도 루프 장애 발생 2) 프레임이 네트워크 상에서 무한정 도는 Looping 문제 3) Collision 도메인 / Broadcast 도메인 문제 - Data-Link 장비 1) NIC(Network Interfac.......

C언어 다이아몬드 그리기 [내부링크]

다이아몬드(Diamond 그리기) 1. 숫자를 입력시 숫자 만큼의 층이 형성된다. 2. 홀수와 짝수에 따라 다이아몬드 모양이 변화 된다. 3. 조건문을 쓰지않고 for 문으로만 코드를 작성한다.

OSI 1계층 Physical Layer [내부링크]

Physical Layer- Physical Layer (1계층) : 눈에 보이는 전기적 기계적 물리적 특성을 이용한 케이블 실제 장치들을 연결하기 위한 전기적 물리적 세부 사항을 정의한 계층이다. 데이터를 물리적으로 전송하는 역할을 한다. 전달만 할 뿐 에러나 효율성에 대해서는 관여하지 않는다. 전기적 신호를 0과 1로 구성된 비트열로 복원하여 데이터 링크 계층(2계층)에 전송한다.- 주요 장비 1) 허브(Hub) : 가정에서 쓰는 공유기 (Collision 도메인을 나눌수 없다.) Star topology : 허브에서 여러가지 device를 연결해주는 것 2) 리피터(Repeater) : 수천 km와 같이 거리가 멀때 중간중간에 신호를 살려 연결 3) 모뎀 : PSTN 전화망, 전화선을 통해 직.......

C언어 설탕 배달 문제 [내부링크]

설탕 배달 문제 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그램 봉지와 5킬로그램 봉지가 있다. 상근이는 귀찮기 때문에, 최대한 적은 봉지를 들고 가려고 한다. 예를 들어, 18킬로그램 설탕을 배달해야 할 때, 3킬로그램 봉지 6개를 가져가도 되지만, 5킬로그램 3개와 3킬로그램 1개를 배달하면, 더 적은 개수의 봉지를 배달할 수 있다. 상근이가 설탕을 정확하게 N킬로그램 배달해야 할 때, 봉지 몇 개를 가져가면 되는지 그 수를 구하는 프로그램을 작성하시오.

OSI 3계층 Network Layer [내부링크]

Network Layer- Network Layer (3계층) : 데이터를 빠르고 정확하게 전송(라우팅), 경로 선택 후 Packet을 전송하는 계층 1. IP Header (Packet 마다 IP Header가 붙어 있다.) TTL(Time to Live) 패킷의 루핑 현상으로 인한 문제를 해결하기 위해 사용되는 필드로 패킷의 수명을 나타낸다. 라우터를 1개 지날 때마다 1씩 감소되어 값이 0이 되면 네트워크에서 해당 패킷을 폐기한다. 2. 라우터 (Routing protocol Basic) 라우팅(Routing) : 목적지까지 데이터를 빠르고 안전하게 전송 (TCP/IP) 1) 고정(Static) 라우팅 : 네트워크 관리자가 직접 지정하는 방식(default 게이트) 규모가 적은 네트워크에서 주로 사용한다. 2) 동적(dynamic) 라우팅.......

C언어 달팽이 배열 [내부링크]

달팽이 배열 만들기 (2차원 배열) 1. 숫자입력시 그 숫자만큼 n * n 배열이 생성된다. 2. 달팽이 모양처럼 → ↓ ← ↑ 배열의 숫자가 증가해서 가장 큰 값이 배열의 가운데로 온다.

네트워크 관리사 2급 실기 - 리눅스 단답형 [내부링크]

#네트워크관리사 #네트워크관리2급 #실기 #리눅스 #기출문제안녕하세요!네트워크 관리사 2급 실기 자격증 리눅스 단답형 문제에 대해서 알아보겠습니다.10번~11번 (총 1~2문제) 문제에서 출제가 됩니다.첫 번째로는 자주 출제되었던 기출문제들을 바탕으로 하여 기본적인 문제들을 모아두었습니다.두 번째로는 고득점을 목표로 혹여나 사진으로하여 나올 수 있는 어려운 문제들을 모아두었습니다.기본적으로 리눅스 파트는 문제 수도 적어서 포기하는 경우도 많지만 자주 출제되는 문제들은 쉽고 시험 하루전에 한두번만 봐도 5.5점~11점 가져가실 수 있습니다!!시간 없으시거나 합격 취득이 목표이시면 [자주 출제되는 기출문제] 부분만.......

네트워크 관리사 2급 실기 - TCP/IP 단답형 [내부링크]

#네트워크관리사 #네트워크관리2급 #실기 #리눅스 #기출문제안녕하세요~네트워크 관리사 2급 실기 TCP/IP 네트워크 장비 단답형 문제를 공부해보도록 해요ㅎㅎ5.5점 문제가 총 3문제로 16.5점을 얻으실 수 있답니다(참고로 60점이 합격점수입니다.)자주나오는 기출문제들로 준비해보았습니다. [ TCP/IP 단답형 기출문제 모음 ]Q. Class별 IP 주소A. A class : 0.0.0.0B Class : 128.0.0.0C Class : 192.0.0.0D Class : 224.0.0.0E Class : 240.0.0.0Q. 아래는 사설망 IP에 사용되는 주소이다.(가), (나), (다)에 들어갈 주소는 무엇인가?A. A class : 0.0.0.0 ~ 0.255.255.255B Class : 172.(가).0.0 ~ 172.(나).255.2.......

node.js MySQL ER_ACCESS_DENIED_ERROR [내부링크]

node.js 서버랑 MySQL DB 연결 시에 connection 후 json으로 데이터를 받아와서 출력을 원할 경우 Failed to query for users: Error: ER_ACCESS_DENIED_ERROR: Access denied for user &#x27;root&#x27;@&#x27;localhost&#x27; 오류코드를 볼 수 있습니다. * with create user in MySQL* 이를 해결하기 위해서 MySQL에서 호스트를 새로 만들어서 권한을 부여하면 됩니다.1. MySQL DB 로그인2. SELECT host, user FROM mysql.user; // mysql에 있는 host와 user정보를 가져옵니다.3. Create user &#x27;유저명&#x27;@&#x27;%&#x27; identified by &#x27;비밀번호&#x27;; // 사용자 명과 비밀번호를 설정4. grant all privileges on DB명.* .......

CSS 그리드(Grid) 사용하기 [내부링크]

HTML CSS 그리드 사용하기그리드(grid) : CSS 최신 기술로써 전세계 75%가 그리드 기능을 사용했을때 이용할수 있는 기술이다. 그리드를 통해서 div로 Block 단위 2개로 나누어 나란히 배치 할 수 있다.1. HTML 문서 구조화 하기 &#60;!DOCTYPE html&#62; HTML5 언어라는 것을 웹브라우저에 인식 시켜준다. &#60;body&#62; 태그 안에 &#60;header&#62; &#60;nav&#62; &#60;article&#62; &#60;footer&#62; 태그를 사용해 문서 구조화 시켜준다. 각 태그안에 원하는 내용을 입력해준다.2. 크롬 개발자 도구를 사용하여 웹브라우저 상의 위치와 여백 등을 확인한다. 확인 후 margin(외부여백) padding(내부여백)의 적절한 값을 줘서 구조화를 시킨다.3. CSS 그리.......

C언어 2차배열의 활용1 [내부링크]

가로의 길이가 9, 세로의 길이가 int형 2차원 배열을 선언하여 구구단 중 2단, 3단, 4단을 다음과 같이 저장하자.

C언어 2차원 배열의 활용2 [내부링크]

성적관리 프로그램을 작성하자. 과목은 국어, 영어, 수학, 국사 이렇게 네 과목이고 학생은 철희, 철수, 영희, 영수 이렇게 네 사람이다. 프로그램 사용자로부터 이 네 사람의 네 과목 점수를 입력 받는다. 그리고 미리 선언해 놓은 배열에 다음의 형태로 그 값을 저장해야 한다. 저장이 끝났다면, 개인별 총점과 과목별 총점을 계산해서 다음 그림에서 보이는 배열의 위치에 저장해야 한다. 그리고 마지막에는 저장된 값의 검증을 위한 출력을 보여야 한다.

C언어 이중 포인터 변수의 활용 [내부링크]

다음과 같이 두 개의 int형 포인터 변수와 길이가 5인 int형 배열을 선언한다. int* maxPtr; int* minPtr; int arr[5]; 그리고 MaxAndMin이란 이름의 함수를 정의하고 이를 호출하면서 위의 배열과 두 포인터 변수에 대한 정보를 전달하자. 어떠한 정보를 어떻게 전달할지는 여러분이 결정할 몫이다. 그리고 함수호출이 완료되면, 포인터 변수 maxPtr에는 가장 큰 값이 저장된 배열요소의 주소 값이, minPtr에는 가장 작은 값이 저장된 배열요소의 주소 값이 저장되어야 한다.

C언어 이중 포인터 사용 Sum [내부링크]

다음을 참고로 int형 포인터에 관한 프로그램을 작성하시오. - 두 정수를 저장하기 위해 변수를 선언하여 각각 10,20을 저장하고, 두 변수의 주소값을 저장하는 포인터 두개를 선언하여 저장 - 다음 변수 sum과 이중 포인터 변수 dp를 선언한 후 dp와 p1,p2그리고 sum 만을 사용하여 data1에는 100을 data2에는 200을 저장한 후 위의 두 변수의 합을 변수 sum에 저장하여 출력

C언어 4096표현 [내부링크]

1부터 4096까지 저런 형태로 출력하기 총 64 덩어리가 출력되어야 한다

C언어 Call-by-Reference 함수 [내부링크]

세 변수에 저장된 값을 서로 뒤바꾸는 함수를 정의해보자. (포인터 변수 사용) num1에 저장된 값은 num2에, num2에 저장된 값은 num3에, 그리고 num3에 저장된 값은 num1에 저장되어야 한다.

C언어 배열 호출 함수 [내부링크]

길이가 10인 배열을 선언하고 총 10개의 정수를 입력받아서, 홀수와 짝수를 구분 지어 출력하는 프로그램을 작성해 보자. 일단 홀수부터 출력하고 나서 짝수를 출력하도록 하자. 단, 10개의 정수는 main 함수 내에서 입력받도록 하고, 배열 내에서 존재하는 홀수만 출력하는 함수와 배열 내에서 존재하는 짝수만 출력하는 함수를 각가 정의해서 이 두 함수를 호출하는 방식으로 프로그램을 완성하자.

C언어 10진수를 2진수로 변환하기 [내부링크]

프로그램 사용자로부터 10진수 형태로 정수를 하나 입력받은 다음, 이를 2진수로 변환해서 출력하는 프로그램을 작성해보자.

C언어 배열 홀수 짝수 채워나가기 [내부링크]

길이가 10인 배열을 선언하고 총 10개의 정수를 입력받는다. 단, 입력받은 숫자가 홀수이면 배열의 앞에서 부터 채워나가고, 짝수이면 뒤에서부터 채워나가는 형식을 취하기로 하자. 따라서 사용자가 [1,2,3,4,5,6,7,8,9,10]을 입력했다면, 배열에는 [1,3,5,7,9,10,8,6,4,2]의 순으로 저장이 되어야 한다.

C언어 문자열의 배열 화문 [내부링크]

화문(Palindrome)은 앞으로 읽으나 뒤로 읽으나 차이가 없는 단어들을 뜻한다. 예를 들어서 level, bob과 같은 단어들은 회문에 속한다. 이에 우리는 인자로 전달되는 영단어가 회문인지 아닌지를 판단해서 그 결과를 출력하는 기능의 함수를 정의하고 이에 적절한 main 함수를 정의해 보고자 한다. 단 구현의 편의를 위해서 대소문자까지 일치해야 회문으로 인정하기로 하겠다. &#60;실행의 예&#62; 문자열 입력 : noon 회문입니다.

C언어 배열 버블정렬 [내부링크]

정렬 알고리즘 중 하나인 버블 정렬(Bubble Sort) 알고리즘을 소개하고자 한다. 버블 정렬이라는 이름은 정렬되는 과정이 마치 거품이 일어나는 모습과 유사하다고 해서 붙여진 이름이다. 배열 정수10개를 입력받아서 오름차순으로 버블 정렬을 해보자.

OSI 7 계층 [내부링크]

OSI (Open System Interconnection) 7 Layer - 국제 표준기구(ISO)에서 표준화된 네트워크 구조를 제시한 기본 모델. - TCP/ IP 및 네트워크 통신에 사용되는 전반적인 프로토콜이 모두 포함되어 있다. The Seven Layer of OSI

C언어 반복문과 배열 [내부링크]

다음의 실행결과와 같은 투표를 집계하는 프로그램을 반복문과 배열을 이용하여 구현하시오.(단, 후보자는 5명으로 한다.) [실행화면] 기호 몇번 후보자를 선택하시겠습니까? (종료-1) : 1 기호 몇번 후보자를 선택하시겠습니까? (종료-1) : 2 기호 몇번 후보자를 선택하시겠습니까? (종료-1) : 3 기호 몇번 후보자를 선택하시겠습니까? (종료-1) : 2 기호 몇번 후보자를 선택하시겠습니까? (종료-1) : -1 값 득표결과 1 1 2 2 3 1 4 0 5 0

C언어 문자배열 전화번호 [내부링크]

"-"가 없는 임의의 전화번호 문자열(예를 들면, 01012345678)을 배열에 초기화하여 문자열의 길이와 문자형 배열을 인자로 처리하여 "-"가 있는 문자열(010-1234-5678)로 출력하는 함수와 프로그램을 작성하시오.

C언어 포인터를 이용한 배열의 접근3 [내부링크]

길이가 6인 int형 배열 arr을 선언하고 이를 1,2,3,4,5,6으로 초기화한 다음, 배열에 저장된 값의 순서가 6,5,4,3,2,1이 되도록 변경하는 예제를 작성해보자. 단, 배열의 앞과 뒤를 가리키는 포인터 변수 두개를 선언해서 이를 활용하여 저장된 값으의 순서를 뒤바꿔야 한다.

C언어 재귀함수 N승 구하기 [내부링크]

2의 n승을 구하는 함수를 재귀적으로 구현해 보자. 그리고 그에 따른 적절한 main함수도 구현해보자.

C언어 1차원 배열의 활용 [내부링크]

길이가 5인 int형 배열을 선언해서 프로그램 사용자로부터 총 5개의 정수를 입력 받자! 그리고 입력이 끝나면 다음의 내용을 출력하도록 예제를 작성해보자. 1. 입력된 정수 중에서 최댓값 2. 입력된 정수 중에서 최솟값 3. 입력된 정수의 총 합

C언어 배열기반의 문자열 표현1 [내부링크]

프로그램 사용자로부터 영단어를 입력 받아서 char형 배열에 저장한다. 그 다음 배열에 저장된 영단어를 역순으로 뒤집는다. 물론 이 때에 널 문자의 위치를 변경해서는 안 된다. 뒤집고 나서는 제대로 뒤집혀졌는지 확인하기 위해서 출력해보자.

C언어 배열기반의 문자열 표현2 [내부링크]

프로그램 사용자로부터 영단어를 입력 받는다. 그리고 나서 입력 받은 영단어를 구성하는 문자중에서 아스키 코드의 값이 가장 큰 문자를 찾아서 출력하는 프로그램을 작성해보자. 예를 들어서 입력된 영단어가 "LOVE"라면 이 중에서 아스키 코드 값이 가장 큰 문자는 V이므로 V가 출력되어야 한다.

C언어 포인터를 이용한 배열의 접근1 [내부링크]

길이가 5인 int형 배열 arr을 선언하고 이를 1,2,3,4,5로 초기화한 다음, 이 배열의 첫 번째 요소를 가리키는 포인터 변수 ptr을 선언한다. 그 다음 포인터 변수 ptr에 저장된 값을 증가시키는 형태의 연산을 기반으로 배열요소에 접근하면서 모든 배열요소의 값을 2씩 증가시키고, 정상적으로 증가가 이뤄졌는지 확인하는 예제를 작성해보자.

C언어 포인터를 이용한 배열의 접근2 [내부링크]

길이가 5인 int형 배열 arr을 선언하고 이를 1,2,3,4,5로 초기화한 다음, 이 배열의 마지막 요소를 가리키는 포인터 변수 ptr을 선언한다. 그다음 포인터 변수 ptr에 저장된 값을 감소시키는 형태의 연산을 기반으로 모든 배열 요소에 접근하여, 배열에 저장된 모든 정수를 더하여 그 결과를 출력하는 프로그램을 작성해보자.