목록Dev. Study Note (179)
Priv's Blog
1. Pyinstaller Python은 인터프리터(Interpreter)를 사용하는 대표적인 언어입니다. 즉, 컴파일러(Compiler)를 사용하는 언어와 달리, 소스 코드 파일을 한꺼번에 전부 번역을 해둔 뒤에 실행하는 것이 아니라 소스 코드를 실행하면 실시간으로 번역하는 방식입니다. 이러한 인터프리터 방식은 컴파일 방식보다 개발 속도가 빨라져서 이점도 많지만, 그렇다고 항상 좋은 것만은 아닙니다. 당연하겠지만 Python은 다른 언어와 달리 '컴파일'이라는 개념이 없습니다. 즉, '바로 실행할 수 있도록 소스 코드를 미리 번역해 둔 결과물'이라는 개념이 없습니다. IDE에서 코드를 다 짰으면 Python을 설치하지 않은 환경에서도 프로그램을 실행할 수 있도록 만들어 배포해야 하는데, 여기서 좀 난감..
1. 개요 Python은 반복, 리스트, 문자열 등 프로그래밍을 하면서 정말 자주 마주하게 되는 매우 귀찮은(?) 상황들에 대해 정말 친절한 언어 중 하나입니다. Python에는 이터러블 객체(Iterable Object)라는 개념이 존재하며, 이는 말 그대로 '반복'이 가능한 객체입니다. map( ) 메서드는 이러한 이터러블 객체를 매개변수로 받아 데이터를 가공할 수 있습니다. 2. map( ) 백준 사이트에서 알고리즘 문제를 Python으로 풀다 보면 map( )을 굉장히 자주 사용하게 됩니다. 25305번, 커트라인 문제를 보면 다음과 같습니다. 예제 입력 부분을 보면 한 줄에 여러 개의 숫자를 입력하고, 이 값들을 배열에 저장한 뒤 값을 출력해야 합니다. 100 76 85 93 98이라는 총 5개..
출처 Toggle Button State On/Off - Unity Answers answers.unity.com 1. Toggle은 클릭될 때마다 isOn 변수 값을 바꿉니다. 위 사진은 클릭된 Toggle의 Inspector 창을 찍은 것입니다. 보시다시피 isOn 변수에 true 값이 들어가 있죠. Unity에서 사용하는 Toggle 오브젝트들은 위 사진처럼 클릭이 감지되면 Toggle 컴포넌트의 isOn 변수의 값을 바꿔서 기록합니다. 2. 코드 상에서 isOn 변수 값을 직접 바꾸는 건 위험합니다. 스크립트 상에서도 위의 isOn 변수의 값을 아래와 같이 직접 변경할 수 있습니다. [SerializeField] private Toggle screenSizeNative; screenSizeNati..
1. 네트워크 보안 네트워크 보안은 컴퓨터 보안과 함께 구분되는 보안의 종류 중 하나이다. 네트워크 보안은 인터넷, 모바일 등과 같은 정보 기술 발전과 함께 그 중요성이 높아졌다. 수많은 데이터들이 오고 가는 환경 속에서 어떻게 올바른 데이터를 전달할 것인지, 어떻게 자신의 데이터가 유출되지 않도록 할 것인지는 이제 필수적인 고민거리가 되었다. 1.1) 보안 위협 송신 측이 수신 측으로 메시지를 전송할 때 보안을 위협하는 요소들은 다음과 같다. 전송 차단: 송신 측이 전달한 메시지를 제삼자가 수신 측이 받을 수 없도록 차단한다. 가로채기: 제삼자가 송신 측이 전달한 메시지를 허가 없이 메시지를 도청(가로채기)한다. 변조: 제삼자가 송신 측이 전달하던 데이터를 중간에 가로챈 뒤, 데이터의 일부 또는 전부를..
1. 네트워크 관리 두 사무실에서 자료를 공유하기 위한 네트워크를 구축한다고 가정하면, LAN을 사용할 가능성이 크다. 이더넷 케이블 등을 사용하여 컴퓨터를 연결하면 되기 때문에 작고 간단한 네트워크를 구축하기 좋다. 하지만 사무실 컴퓨터가 수백 대가 넘어가기 시작하면 이러한 방법으로는 감당이 불가능하다. 보다 효율적이고 안정적으로 네트워크를 구축하고 관리하기 위해서는 설계 단계에서부터 어떤 네트워크를 사용할 것인지, 어떻게 네트워크를 구축할 것인지를 세밀하게 설정해야 한다. 제한된 인력과 비용으로 네트워크의 효율성, 생산성을 끌어올리기 위해서는 '네트워크 관리'가 필수적이다. 네트워크 관리는 네트워크의 보안을 점검 및 장애를 처리하고, 해당 문제를 분석하여 개선할 수 있는 방안을 추진하는 과정을 말한다..
1. 인터넷 정보 서비스 (IIS) 마이크로소프트의 IIS는 TCP/IP 네트워크에서 FTP, WWW 등의 서버를 운영할 수 있게 도와주는 서비스이다. 사용자가 Windows 운영체제를 통해 서버를 보다 쉽게 구축할 수 있도록 하기 위함이다. Windows 10에서는 해당 서비스를 기본적으로 제공한다. 2. 웹 서비스 (HTTP, WWW) WWW 서비스는 HTTP 프로토콜을 사용하며, HTML 문서를 웹 브라우저에 표시하는 서비스이다. 웹 사이트를 서비스하는 TCP 포트는 WWW 서비스에서 사용하는 80번을 사용한다. 80번은 기본적으로 설정되는 포트 번호로, 그 외의 포트를 사용하고 싶다면 웹 사이트 접속 시 해당 번호를 함께 지정해주어야 한다. 포트 번호를 별도로 설정해 주면 포트 번호를 모르는 이상..
1. 응용 계층 컴퓨터를 다루는 사용자(클라이언트)들은 목적에 따라 웹 브라우저, 이메일 등 다양한 애플리케이션들을 사용한다. 이러한 애플리케이션들은 '응용 계층'에서 동작하는 프로그램들이다. TCP/IP 모델의 최상위 계층인 응용 계층은 이처럼 사용자가 직접 다루는 응용 프로그램(애플리케이션)들이 동작하는 계층이다. 응용 계층은 OSI 참조 모델의 세션 계층, 표현 계층을 포함한 계층이다. SMTP를 사용하는 응용 계층의 경우, 송신 측이 메일을 전송하면 메일 서버를 거쳐 수신 측에게 메일이 도착한다. 이때 응용 계층은 이메일 전송에 적합한 네트워크 접근 수단을 제공한다. 1.1) 세션 계층 세션 계층은 응용 프로그램 계층 간의 통신을 제어하는 구조를 제공한다. 이를 위해 응용 프로그램 계층 사이의 접..
1. 전송 계층 네트워크 계층에서 다른 네트워크로 데이터를 전송하기 위해서는 라우터가 요구된다. 라우터를 통한 라우팅 과정 중에 라우팅 정보에 오류가 있거나, 패킷이 손상되면 데이터가 제대로 전달될 수 없다. 네트워크 계층, 물리 계층, 데이터 링크 계층은 데이터를 전송하는 역할을 수행할 수 있지만, 전송되는 데이터의 안전을 보장하지는 못한다. 전송 계층은 신뢰할 수 있든 데이터를 전송하기 위해 필요한 계층이다. 오류를 점검하여 데이터가 손상되었는지를 판별하고, 오류가 발생했을 경우 해당 데이터를 재전송해 달라고 요청할 수 있다. 또한 전송된 데이터의 수신지가 어떤 애플리케이션인지를 판별하기도 한다. 수신지에 데이터가 도착했을 때, 해당 데이터가 어떤 애플리케이션이 요청한 것인지를 알아야 제대로 데이터를..