it

· Python
오늘은 Python에서 구글 번역 라이브러리를 이용하여 간단한 번역기를 구현해보도록 하겠습니다. 패키지 설치 제일 먼저 구글 번역 라이브러리를 사용하기 위한 패키지를 설치한다. 1. 터미널창을 실행한다. 2. 아래 명령어를 입력한다. pip install googletrans==4.0.0-rc1 3. ENTER Key를 누른다. 버전 확인하기 정상적으로 패키지가 설치되었는지 학인하기 위해 버전을 확인하여야 합니다. 1. 터미널창을 실행한다. 2. 아래 명령어를 입력한다. pip show googletrans 3. ENTER Key를 누른다. 4. Version이 4.0.0인지 확인한다 소스코드 import googletrans import time translator = googletrans.Transl..
· Rust
오늘은 Rust를 이용한 다중 클라이언트 채널형 채팅 프로그램을 구현해 보았다. server.rs use std::io::{self, ErrorKind, Read, Write}; use std::net::TcpListener; use std::sync::mpsc; use std::thread; use std::time::Duration; const MSG_SIZE: usize = 100; fn main() { println!("[Server]"); println!("\nEnter server ip"); let mut ip = String::new(); io::stdin().read_line(&mut ip).expect("Reading from stdin failed"); let server_ip = ip..
· Rust
오늘은 간단하게 Rust를 이용하여 다중클라이언트 에코 서비스를 구현해보도록 하겠습니다. server.rs use std::thread; use std::net::{TcpListener, TcpStream, Shutdown}; use std::io::{Read, Write}; use std::str::from_utf8; fn handle_client(mut stream: TcpStream) { let mut data = [0 as u8; 1000]; while match stream.read(&mut data) { Ok(_size) => { let text = from_utf8(&data).unwrap(); print!("[{}] : {}", stream.peer_addr().unwrap(), text)..
· C++
오늘은 C/C++로 echo service를 구현해보았다. 코드 설명은 소스코드에 주석이 다 적혀있있기 때문에 따로 설명은 안하겠습니다. SERVER.h #define _WINSOCK_DEPRECATED_NO_WARNINGS #pragma comment(lib, "ws2_32") #include #include #include #include using namespace std; class server { public: WSADATA wsaData; // WSADATA : Windows 소켓 구현에 대한 정보 포함 구조체 SOCKET server_socket, client_socket; SOCKADDR_IN server_address, client_address; /* SOCKADDR_IN : IPv4의..
· Linux
오늘은 리눅스의 기본 설치 및 유형에 대해 알아보는 시간을 갖고 실습으로 CentOS 리눅스를 설치해보록 하겠습니다. 리눅스 설치의 개요 리눅스 설치 파일은 해당 배포본의 홈페이지에서 다운로드 받을 수 있다. 리눅스는 단 하나의 제품 또는 한 종류의 제품만 있는 것이 아니다. 리눅스 배포판마다 설치 환경과 설치 과정이 다르다. 사용자 설정 시스템을 제외한 설치 유형을 선택하면 하드디스크를 자동으로 재구성하여 기존 데이터는 제거된다. [Minimal] · 리눅스 설치 시 필수 패키지 [데스크탑] · 개인용 컴퓨터에 적합한 패키지 · 하드디스크의 모든 리눅스 파티션 삭제 후 데스크탑 운영에 적합한 환경으로 설치 · 문서 작성, 멀티미디어, 그래픽 도구 관련 프로그램 설치 · Minimal Desktop은 예..
· Linux
오늘은 리눅스 라이선스에 대해 알아보는 시간을 갖도록 하겠습니다. GNU GNU : GNU's Not UNIX 리처드 스톨만이 1983년에 GNU 개발을 처음 시작하였다. 자유 소프트웨어 재단 FSF : 자유 소프트웨어 재단 (Free Software Foundation) 1985년 리처드 스톨만이 설립한 재단이다. 자유 소프트웨어는 사용자가 소프트웨어를 실행, 복제, 배포, 학습, 개작, 향상시킬 수 있는 소프트웨어이다. 오픈 소스 소프트웨어 오픈 소스 소프트웨어 (Open Source Software) 1998년 일부 커뮤니티에서 '자유 소프트웨어' 대신 '오픈 소스 소프트웨어'라는 용어를 사용하기 시작했다. GNU GPL GPL : (General Public License) GPL은 자유 소프트웨..
· Linux
오늘은 리눅스의 역사에 대해 간단하게 알아보는 시간을 갖도록 하겠습니다. 리눅스의 역사 [1960년대 후반] 1969년 프로젝트에 참여했던 벨 연구소 연구원 켄 톰슨이 초기 형태의 UNIX를 개발하였다. [1970년대] 1971년 벨 연구소의 데니스 리치가 C언어를 개발함으로써, 어셈블리 언어로 되어 있던 UNIX가 C언어로 재작성된다. [1980년대 초중반] 1985년 리처드 스톨먼은 FSF 라는 비영리 단체를 설립 후 'GNU 선언문'을 발표한다. 1987년 앤드루 스튜어트 타넨바움은 MINIX를 개발한다. [1990년대 초중반] 핀란드의 헬싱키 대학의 리누스 토발즈가 MINIX의 커널 소스를 고쳐 GNU 시스템에 적합한 커널을 개발하였다. 참고서 : 2023 이기적 리눅스마스터 2급 기본서 내용 :..
· Linux
요즘 리눅스 마스터 2급 자격증을 따기위해 리눅스에 대해 공부하면서 간단하게 정리해보도록 하겠습니다. 리눅스란 [특징] 오픈 소스 운영 체제이다 멀티유저, 멀티태스킹 운영체제이다. 다중 스레드를 지원하는 네트워크 운영체제이다. 여러 종류의 파일 시스템을 지원하는 운영체제이다. [장단점] 리눅스는 유닉스와 완벽하게 호환 가능하다. 리눅스는 PC용 운영체제보다 안정적이다. 하드웨어 기능을 효과적으로 사용한다. 리눅스는 오픈 소스 운영체제이다, 공개 운영체제이기 때문에 문제점 발생시 기술 지원를 받는 데 한계가 있다. 한글 지운이 미흡하다. 보안상의 취약점이 쉽게 노출될 가능성이 있다. 리눅스 디렉터리 디렉터리란 파일저장소를 의미하며, 리눅스 디렉터리는 계층적 트리 구조로 구성되어 있다. [종류&특징] / :..
· Python
오늘은 파이썬으로 TCP/IP 멀티 스레드 소켓 통신을 하는 다중 클라이언트 채팅 프로그램을 구현해 보았다. [기본 로직] [서버 코드 설명] 패키지, 모듈 선언 import socket import threading from queue import Queue - import socket : 통신을 위한 파이썬 기본 패키지에 포함된 내장 socket 모듈 - import threading : 쓰레드를 사용하기 위한 모듈 - from queue import Queue : FIFO(First In First Out)기반의 자료구조인 큐(queue) 모듈 if __name__ == '__main__': - 해당 파일을 직접 실행 한다면 True 큐 생성 send_queue = Queue() PORT 번호 지정..
STLLIN
'it' 태그의 글 목록 (3 Page)