전체 글
-
[Python] 람다 함수Study/Python 2022. 4. 4. 20:50
람다 함수 - 람다 함수란 이름이 없는 함수로 정의할 수 있다. - 간단한 1회용 작업에 유용하다. - 가끔 함수를 만들지 않고 함수화된 기능만 불러와서 사용하는 경우가 있기에 람다 표현식(lambda expression)이라고도 한다. - 주의할 점으로는, 표현식 안에서 새로운 변수를 선언할 수 없다는 것이다. - 또한, 람다 함수의 반환 값은 변수 없이 식 한 줄로 표현할 수 있어야 하기 때문에 복잡하고 긴 기능의 함수는 def 키워드로 함수를 정의해야 한다. - 기존의 일반 함수와 람다 함수의 차이점 : def add(x, y) : # 일반 함수 return x + y lambda x, y : x + y # 람다 함수 람다 함수 활용 - 특정한 튜플에서 첫 항목만을 추출하는 람다 함수를 정의할 수 ..
-
[Python] 딕셔너리 개요 / 메소드Study/Python 2022. 4. 3. 19:30
딕셔너리(dictionary) - 리스트와 같이 값을 저장하는 자료구조로, 파이썬에서는 기본 자료형으로 제공되고 있다. - 리스트와는 달리 값(value)과 관련된 키(key)가 있다는 것이 큰 차이점이다. - 서로 관련되어 있는 키와 값이 함께 저장되는데, 이것을 키-값 쌍(key-value pair)이라고 한다. 딕셔너리 생성 방법 - {}를 이용해서 공백 딕셔너리를 생성한다. phone_book = { } # 공백 딕셔너리를 생성한다. - [] 안에 키 값을 적고 값을 추가한다. phone_book["홍길동"] = "010-1234-5678" - 출력하면 딕셔너리의 항목(item)이 쉼표로 구분되어 출력된다. print(phone_book) >> {'홍길동': '010-1234-5678'} - 딕셔..
-
[알고리즘] 코딩 테스트란?Study/Algorithm 2022. 3. 31. 21:18
코딩 테스트란? 기업/기관에서 직원이나 연수생 선발을 위해 시행되는 일종의 문제 풀이 시험이다. 문제 해결 역량을 평가하고, 채점 시스템을 통해 응시자의 수를 효과적으로 줄일 수 있기에 공개채용을 하는 기업에서 주로 코딩 테스트를 이용한다. 코딩 테스트의 유형 온라인 코딩 테스트 : 인터넷을 활용해 프로그래밍 역량을 평가한다. 대체적으로 타인과 문제풀이를 공유하지 않는 선에서 인터넷 검색을 허용한다. 오프라인 코딩 테스트 : 시험장에 방문하여 해당 장소에서 시험을 치른다. 대체적으로 인터넷 검색이 허용되지 않으며, 회사에서 제공하는 컴퓨터 환경을 이용한다. 온라인 저지(Online Judge)란? 프로그래밍 대회나 코딩 테스트에서 나올만한 문제들을 시험적으로 풀어볼 수 있는 온라인 시스템이다. 해외 사이..
-
[네트워크] 네트워크 기술Study/Network 2022. 3. 25. 18:28
교환 시스템 네트워크 양단에 연결된 호스트들이 전송하는 패킷은 전송 경로 중간에 위치한 교환 시스템을 거친다. 교환 시스템은 데이터를 최종 목적지까지 올바른 경로로 중계하는 교환 기능을 제공한다. 회선 교환 방식은 고정 대역으로 할당된 연결을 설정하여 데이터 전송을 시작한다. 고정 크기의 안정적인 전송률로 데이터를 전송할 수 있으며, 연결이 유지되는 동안은 다른 연결에서 이 대역을 사용할 수 없다. 네트워크의 구조가 단순하며, 데이터의 전송 경로가 연결 설정 과정에서 확정되므로 라우팅 등의 작업이 상대적으로 쉽다. 패킷 교환 방식은 비연결형 서비스를 제공한다. 데이터를 미리 패킷 단위로 나누어 전송하므로 패킷을 기준으로 교환 작업이 이루어진다. 가변 크기의 전송률을 지원하며, 네트워크가 복잡하다. 프레임..
-
[알고리즘] 자료 구조와 알고리즘 개요Study/Algorithm 2022. 3. 21. 21:04
자료 구조란? 자료를 효율적으로 관리하는 방법이다. 컴퓨터 분야에서 효율적으로 접근하고 수정할 수 있도록 자료를 구성, 관리, 저장하는 것이다. 컴퓨터 프로그래밍 언어에서 효율적인 자료(데이터)의 형태를 일컫는다. 자료 구조의 종류 단순 자료 구조 : 프로그래밍 언어의 데이터 형식에 해당하는 정수, 실수, 문자, 문자열 등. - 정수 : int 또는 integer 형태로 소수점이 없는 형태이다. - 실수 : 소수점이 있는 형태로, float 등으로 표현한다. - 문자 : 한 글자를 의미하며, char로 표현. 주로 ' '로 묶는다. - 문자열 : 글자 여러 개를 연결한 것으로, string으로 표현. 주로 " "로 묶는다. 선형 자료구조 : 데이터를 한 줄로 순차적으로 표현한 형태. 선형 리스트, 연결 ..
-
[네트워크 모델] OSI 참조 모델Study/Network 2022. 3. 18. 23:05
용어 정리 계층 n 프로토콜 : 계층 n모듈끼리 사용하는 규칙. 프로토콜의 역할은 프로토콜에서 정의된 기능을 수행하면서 필요한 정보를 서로 교환하는 것이다. 동료 프로세스 : 동일 계층에 위치한 통신 양단으로, 같은 프로토콜을 이용해 통신한다. 인터페이스 : 한 호스트에서 상하로 이웃하는 계층 사이의 접속 방법 서비스 : 상위 계층이 인터페이스를 통해 하위 계층을 사용하는 방법 헤더 정보 송신 호스트 : 데이터가 상위 계층에서 하위 계층으로 갈수록 헤더가 추가된다. 수신 호스트 : 데이터가 하위 계층에서 상위 계층으로 갈수록 헤더가 제거된다. 중계 기능 라우팅 : 경로를 배정해줄 수 있다. 송신 호스트에서 수신 호스트로 데이터를 전달하려면 중계 역할을 수행하는 중계 노드를 거쳐야 한다. 중계 시스템은 데..
-
[네트워크 모델] 모델 개요Study/Network 2022. 3. 17. 21:12
모듈화 복잡한 시스템을 기능별로 모듈화하면 시스템 구조가 단순해져 전체 시스템을 이해하기 쉽다. 또한 각 단위의 모듈들이 독립적인 기능을 수행하기 때문에 고장이나 업그레이드 등의 상황에 손쉽게 대처가 가능하다. 프로그래밍 언어에서는 함수 개념을 이용해 전체 프로그램을 모듈화 할 수 있다. 계층 구조 대부분의 모듈 구조에는 특정 모듈이 다른 모듈에 서비스를 제공하는 형식의 계층 구조를 이룬다. 네트워크에서도 독립적인 고유 기능을 수행하는 모듈들이 상하위의 계층 구조로 연결되어 동작한다. 모듈화된 계층 구조 프로토콜의 장점 - 복잡하고 큰 시스템을 기능별로 작게 분류하여 간단하고 작은 시스템으로 재구성 할 수 있다. 전체 시스템을 이해하기 쉽고, 시스템을 설계하고 구현하기도 편하다. - 모듈 간의 표준 인터..
-
[알고리즘 기초] 컴퓨터 알고리즘에 대해Study/Algorithm 2022. 3. 10. 18:14
알고리즘이란? 문제를 해결하는 단계적 절차 또는 방법이다. 주어지는 문제는 컴퓨터를 이용하여 해결할 수 있어야 한다. 알고리즘에는 입력이 주어지고, 알고리즘은 수행한 결과인 해(또는 답)를 출력한다. 알고리즘의 특성 정확성 : 알고리즘은 주어진 입력에 대해 올바른 해를 주어야 한다. 수행성 : 알고리즘의 각 단계는 컴퓨터에서 수행 가능해야 한다. 유한성 : 알고리즘은 일정한 시간 내에 종료되어야 한다. 효율성 : 알고리즘은 효율적일수록 그 가치가 높아진다. 알고리즘의 표현 방법 알고리즘의 형태는 단계별 절차이다. 알고리즘의 단계는 보통 말로 서술할 수 있으며, 프로그래밍 언어로만 표현할 필요는 없다. 일반적으로 알고리즘은 프로그래밍 언어와 유사한 의사코드(pseudo code)로 표현한다. 알고리즘의 효..