본문 바로가기

프로그래밍22

728x90
반응형
소켓 프로그래밍 관련 서적 조사 조사 이유 소켓 프로그래밍 강의에 활용할 수 있는 서적을 찾기 위해 정리하였다. 국문 이토록 쉬운 리액트로 배우는 소켓 프로그래밍, hee, 루비페이퍼, 2023년 8월 29일. 파이썬 네트워크 프로그래밍, 서열규, 복두출판사, 2022년 9월 30일. 라즈베리파이 네트워크 프로그래밍, 이용진, 복두출판사, 2022년 9월 15일. TCP/IP 소켓 프로그래밍, 김선우, 한빛아카데미, 2022년 6월 30일. 사물인터넷을 위한 파이썬 네트워크 프로그래밍, 서열규, 2022년 2월 25일. Go 언어를 활용한 네트워크 프로그래밍, 애덤 우드벡, 제이펍, 2022년 1월 14일. POD 데이터 통신과 네트워크 프로그래밍, 김유원, 부크크, 2021년 4월 16일. 라즈베리파이3 : 네트워크 프로그래밍, 이용.. 2024. 3. 19.
[자바] 표준 입력과 표준 출력 동영상 설명 15강. 표준 입력과 표준 출력 표준 입력과 표준 출력 표준 입력과 표준 출력은 운영체제와 장치 사이에 사용하는 통신 방식인 표준 스트림을 통해 입력과 출력을 행하는 것을 말한다. 표준 입력의 대표적인 예로 키보드가 있으며 표준 출력의 대표적인 예로 모니터가 있다. 자바의 표준 입력 자바에서 표준 입력은 콘솔에 키보드로 값을 입력하는 행위가 대표적이다. 이를 자바 코드로 구현하면 아래와 같다. int variable = System.in.read(); System.out.println(variable); 예제 소스 코드 주소: https://github.com/EngineeringCode/study-java/blob/main/src/com/hcpark1993/example/io/SystemI.. 2023. 10. 24.
자바의 연산자 동영상 설명 6강. 자바의 연산자 연산자 자바에는 계산을 명령하기 위한 연산자(Operator)가 있다. 대표적인 연산자로 산술 연산자(arithmetic operator)와 논리 연산자(Logical Operators)가 있으며 본 글에서는 이를 설명한다. 연산자 예제 소스 코드: https://github.com/EngineeringCode/study-java/blob/main/src/com/hcpark1993/example/operator/OperatorExample.java 산술 연산자 산술 연산자는 사칙연산(덧셈, 뺄셈, 곱셈, 나눗셈)을 다루는 연산자를 말한다. 덧셈 연산자는 아래와 같이 선언할 수 있다. + 뺄셈 연산자는 아래와 같이 선언할 수 있다. - 곱셈 연산자는 아래와 같이 선언할 수.. 2023. 8. 7.
[자바/Java] 형 변환(Type Conversion) 동영상 설명 4강. 자바의 자료형 변환 형 변환이란? 형 변환(Type Conversion)은 자료의 형태를 다른 형태로 만드는 것을 말한다. 필요성 현재의 컴퓨터 시스템은 자료형을 정의하고 이를 기반으로 연산을 수행하는 구조이다. 자료형이 맞지 않는 경우 연산을 수행할 수가 없기 때문에 시스템이 정상적으로 동작할 수 없다. 그러므로 의도된 대로 정상적인 동작을 수행하기 위해서는 형 변환이 필요하다. 자바에서 형 변환 하기 자바(Java)에서 형 변환은 변수명 왼쪽에 '(자료형)'을 입력하면 가능하다. 하지만 모든 경우에 사용할 수 있는 것이 아니고 형 변환이 가능한 경우는 아래의 사진에 나타난 것 처럼 제한적이다. 형 변환을 자바 코드로 구현하면 아래와 같다. 'intValue' 변수 옆에 형 변환 선.. 2023. 8. 5.
[IT 용어] 인터프리터(Interpreter) 정의 컴퓨터 분야에서 인터프리터(Interpreter)는 실행할 때 고급 언어로 작성된 원시 코드를 번역하며 실행되는 프로그램을 말한다. 참고문서 "인터프리터, interpreter", 정보통신용어사전, 한국정보통신기술협회(TTA). @원문보기 "Interpreter 인터프리터", 정보통신기술용어해설. @원문보기 "Interpreted language", HAND WIKI, 2022년 2월 26일. @원문보기 2023. 5. 10.
[IT 용어] IDE(Integrated Development Environment, 통합개발환경) 정의 IDE(Integrated Development Environment, 통합개발환경)는 소프트웨어 코드를 효율적으로 개발하도록 돕는 응용(Application)이다. 주요 IDE 목록 Visual Studio Eclipse IntelliJ IDEA PyCharm PhpStorm Spyder 참고문서 "통합 개발 환경, 統合開發環境, Integrated Development Environment, IDE", 정보통신용어사전, 한국정보통신기술협회(TTA). @원문보기 "IDE란?", Red Hat, 2023년 3월 1일. @원문보기 "IDE란 무엇인가요?", AWS. @원문보기 2023. 4. 7.
소켓 프로그래밍이란 무엇인가? 소켓 프로그래밍이란? 현재 컴퓨터 네트워크는 대부분 TCP/IP 기반이다. TCP/IP에서는 소켓이라는 네트워크 통신을 위한 규격이 있다. 이 소켓을 활용해서 통신하는 프로그램을 개발하는 것이 소켓 프로그래밍이다. 소켓 프로그래밍을 처음 접할 때는 언제인가? 전공자라면 소켓 프로그래밍을 컴퓨터 네트워크 과목을 수강할 때 간단하게 익혔을 것이며 하위 과목으로 소켓 프로그래밍이라는 프로그래밍 실습을 많이 하는 과목을 수강했을 수 있다. 전공자가 아니라도 실무하다보면 언젠가는 접하게 되어 있다. 소켓 프로그래밍을 활용하는 분야 실제 사용하는 프로그램을 보면 통신을 안 하는 프로그램을 찾기가 어렵다. 그만큼 프로그래밍에서 소켓 프로그래밍을 활용하는 것은 일반적이지만 실제로 소켓 프로그래밍을 하는 경우는 잘 없다.. 2023. 3. 29.
마인크래프트 에듀케이션 에디션을 PC에 설치하자 본 글에서는 윈도우 PC에 설치하는 과정을 설명합니다. 1. 로그인 계정 생성 소속 기관이 마인크래프트 에듀케이션 에디션과 협약되어 있다면 계정을 발급 받을 수 있습니다. 2. 마인크래프트 에듀케이션 설치 파일 다운로드 아래의 주소로 가서 마인크래프트 에듀케이션 에디션 설치 파일을 받습니다. 다운로드 주소: https://education.minecraft.net/ko-kr/get-started/download 3. 프로그램 설치 아래와 같이 마인크래프트 에듀케이션 에디션 설치파일이 정상적으로 다운로드되면 실행하여 설치합니다. 아래의 사진들처럼 설치를 진행합니다. 4. 프로그램 실행 위의 사진처럼 설치가 마무리되면 자동으로 마인크래프트 에듀케이션 에디션이 실행됩니다. 실행되지 않는다면 아래의 사진처럼 마.. 2023. 3. 16.
마인크래프트 에듀케이션 에디션 소개 마인크래프트 교육용 버전이 있어? 마이크로소프트의 마인크래프트는 교육용으로 에듀케이션 에디션을 제공합니다. 마인크래프트 에듀케이션 에디션은 단순한 샌드박스 게임이 아니라 컴퓨터 소프트웨어 코딩과 전자회로 등을 익힐 수 있는 도구입니다. 서울특별시교육청에서도 마인크래프트 코딩 교육과정을 운영하고 있는 것을 보면 상당히 유용한 도구로 인정받고 있음을 알 수 있습니다. 어떤 장치에서 사용할 수 있어? 특히 마인크래프트 에듀케이션 에디션은 마이크로소프트 윈도우와 애플 맥은 물론 안드로이드(갤럭시탭), iOS(아이패드)에서도 게임 플레이가 가능하기에 장치에 제약받지 않고 언제 어디서나 사용할 수 있습니다. 누가 사용할 수 있어? 마인크래프트 에듀케이션 에디션은 협약된 교육기관에서 사용할 수 있는데 보통 학교의 전.. 2023. 3. 15.
뭐? 마인크래프트에도 코딩이 있다고? 마인크래프가 뭐야? 주변 사람에게 마인크래프트(Minecraft)에 대해 말하면 그저 스트리머 또는 유튜버, 학생들이 하는 게임으로 알고 있는 경우가 많습니다. 하지만 마인크래프트는 그렇게 단순한 게임이 아닙니다. 마인크래프트는 게임 방식과 결말이 정해지지 않은 플레이어가 스스로 자유롭게 게임방식을 정하고 진행하는 샌드박스 형식의 게임입니다. 마인크래프트는 이런 샌드박스 게임의 특징에 극한의 자유도를 구현하는 코딩(Coding)을 지원하여 플레이어가 원하는 기능을 플레이어가 추가할 수 있는 매우 창의적인 게임입니다. 마인크래프트에서 어떻게 코딩을 해? 마인크래프트의 대흥행으로 현재 마인크래프트는 여러 플랫폼에서 즐길 수 있습니다. 마인크래프트는 크게 자바 에디션(Java Edition)과 베드락 에디션(.. 2023. 3. 14.
[자바/Java] 변수(Variable)와 자료형(Data Type) 동영상 설명 3강. 변수와 자료형 변수의 필요성 컴퓨터 프로그램은 특정 작업을 수행하는 일련의 명령어 집합을 말한다. 현실에서와 마찬가지로 작업을 수행하기 위해서는 작업을 위한 공간이 필요하다. 컴퓨터에는 그 공간 중 하나로 변수라는 것이 있다. 예제 코드: https://github.com/EngineeringCode/study-java/blob/main/src/com/hcpark1993/example/datatype/DataTypeExample.java ※ 본 글은 자바 프로그래밍 입문자를 위한 글이므로 변수의 종류와 자료형의 종류에 대해서 깊게 다루지 않는다. 변수의 정의 변수(變數, Variable)는 '변할 변'과 '셈 수'로 구성된 한자어 뜻처럼 변하는 수를 말한다. 즉, 컴퓨터의 변수에는 어.. 2023. 1. 23.
regular expressions 101 - 정규식을 온라인에서 작성하고 테스트할 수 있는 사이트 정규식을 프로그램 안에서 테스트하기 번거로울 때가 많다. 이 경우 regular expressions 101을 활용하면 온라인에서 별도의 설치과정 없이 정규식을 작성하고 테스트할 수 있다. 사이트 주소: https://regex101.com/ regular expressions 101는 정규식 작성용 서비스에 특화되어 있기에 테스트 도구부터 참고문서까지 다양한 내용을 한 화면에 보여줘서 편리하다. 2023. 1. 20.
[자바/Java] 주석(Comment) 동영상 설명 5강. 자바에서 주석이란 자바에서 주석이란 프로그래밍을 하는 도중에 메모가 필요한 경우가 있다. 자바에서는 소스 코드 안에 이러한 메모를 할 수 있도록 주석(Comment)을 지원한다. 주석처리한 곳에 기입한 내용은 프로그램 실행과 무관하다. 컴파일 과정에서 해당 내용이 제외된다. 주석이 필요한 경우 프로그램 설명을 소스 코드 안에 글로 남기기 위해서 소스 코드 분석에 용이하도록 소스 코드 안에서 코드를 설명하기 위해서 주석을 선언하는 방법 자바에서 주석을 선언하는 방법은 두 가지가 있다. 한 줄만 주석처리를 하는 '//'와 여러 줄을 주석처리하는 '/* */'가 있다. 문법은 다음과 같다. 한 줄만 주석처리 하기 // 한 줄만 주석처리 합니다. 여러 줄을 주석처리 하기 /* 여러 줄을 주석.. 2023. 1. 5.
윈도우에 OpenJDK 8을 설치하자 OpenJDK 8을 사용하는 이유 OpenJDK를 사용하는 이유는 여러가지가 있겠지만 보통은 라이센스 때문이다. 하지만 나처럼 알고리즘 공부 때문에 사용하는 경우도 있다. 특히 SW Expert Academy의 경우 OpenJDK 8를 지원하기 때문에 OpenJDK 8을 사용할 수 밖에 없다. OpenJDK 윈도우 설치 방법 OpenJDK를 설치하기 위해 아래의 주소로 이동하여 윈도우에서 OpenJDK를 쉽게 설치할 수 있도록 빌드해놓은 것을 다운로드 받는다. OpenJDK 윈도우 빌드: https://github.com/ojdkbuild/ojdkbuild 아래의 사진처럼 인스톨러를 다운로드가 완료되면 실행한다. 'Next' 버튼을 누른다. 약관에 동의하고 'Next' 버튼을 누른다. 기본값으로 설치할 .. 2022. 10. 11.
라라벨 8 시간/타임존 변경 PHP 설정과 DB 설정에 가서 타임존을 변경하였는데도 시간이 의도와 달리 나온다면 라라벨 8의 자체 타임존을 확인해볼 필요가 있다. 라라벨 8 설정 변경 아래의 명령어처럼 라라벨 8 설정 파일을 텍스트 에디터로 연다. vi config/app.php 그러면 아래와 같은 화면이 나타나는데 timezone을 찾아보자. timezone 설정을 찾았다면 UTC로 되어 있는 것을 원하는 시간으로 수정한다. 필자의 경우 우리나라(대한민국) 표준시인 서울로 설정하였다. 'timezone' => 'Asia/Seoul' 설정파일을 저장하면 바로 적용된다. 정상적으로 반영되었는지 테스트 해본다. 2021. 11. 12.
자바 프로그래밍이란? 개발사 자바(Java)는 썬 마이크론시스템즈(Sun Microsystems)에서 1995년에 개발된 객체 지향 프로그래밍 언어이다. 제임스 고슬링(James Arthur Gosling)이 고안하였으며 현재 강력한 프로그래밍 언어 중 하나이다. 2010년에 썬 마이크론시스템즈가 오라클에 인수되어 오라클 홈페이지에서 자바 프로그래밍에 필요한 프로그램인 JDK(Java Development Kit, 자바 개발 도구)를 다운받을 수 있다. JDK 종류 JDK는 크게 OracleJDK와 OpenJDK로 구분 가능한데 라이센스 정책이 OpenJDK는 무료이며 OracleJDK의 경우 유료화가 진행되고 있으므로 사용하고자 하는 목적에 따라 구분하여 사용하는 것이 필요하다. 개인이 학습 목적으로 사용하는 것에는 둘 다.. 2020. 12. 5.
[자바/JAVA] 네이버 SMTP를 활용해 메일을 발송해보자 본 글은 2017년 7월 19일 08시 32분에 썼던 글이며 블로그 자료 이전으로 날짜와 일부 내용이 갱신되었습니다. JAVA 기반의 SMTP 메일 발송 샘플코드를 기록하는 글이다. JavaMail 이라는 라이브러리를 가져다 쓰자 여기에서(https://javaee.github.io/javamail/) 받을 수 있다. 이 라이브러리는 SMTP와 IMAP, POP3을 지원한다. 개발환경 : JDK 1.8.0_111 x64, Windows 7, Eclipse Mars.1 Release (4.5.1), JavaMail 1.6.0 위에 있는 링크에 가서 javax.mail.jar을 받는다. 그 후 이클립스에 프로젝트를 생성하고 SMTP 클래스를 생성한 후 외부라이브러리를 위와 같이 추가한다. package ex.. 2020. 10. 5.
마인크래프트에서 공지와 귓속말을 하는 플러그인을 만들어 보자 이번 글에서는 마인크래프트 페이퍼(PaperMC) 서버에서 공지와 귓속말을 특정 주기에 따라 반복적으로 하는 플러그인을 만드는 것을 소개합니다. 동영상 설명 마인크래프트에서 공지와 귓속말을 하는 플러그인을 만들어 보자 마인크래프트에서 귓속말은 중요 지금 만들려고 하는 기능은 서버의 이벤트를 필요에 따라서 서버에 접속해 있는 모든 인원 또는 몇 명에게만 알리는 기능을 구현할 때 무조건 쓰이는 기본 기능이므로 매우 중요합니다. 마인크래프트에서 귓속말 플러그인 소스 불러오기 이클립스를 실행하여 아래 주소로 소스코드를 받아옵니다. 이 주소를 복사부터 하자. 이클립스 프로젝트 탐색기에서 오른쪽 버튼을 누르고 'Import'→'Import'로 이동합니다. 소스코드 저장소 주소 : https://github.com/.. 2020. 8. 26.
초간단 마인크래프트 페이퍼(PaperMC) 서버 여는 법 이번 글에서는 마인크래프트 페이퍼 서버(PaperMC)를 여는 법에 대해 설명하고자 합니다. 동영상 설명 2분만에 마인크래프트 페이퍼 서버를 여는 법! 페이퍼 서버 다운로드 페이퍼 서버는 PaperMC 공식홈페이지(https://papermc.io/)에서 다운로드가 가능합니다. PaperMC 공식홈페이지로 이동하여 우측 상단의 DOWNLOAD 버튼을 누릅니다. 원하는 버전의 페이퍼 서버 프로그램을 다운 받습니다. 저는 1.16.1 빌드136을 받겠습니다. 페이퍼 서버 설치 페이퍼 서버 실행 프로그램을 제작해야합니다. 오른쪽 버튼을 누르고 [새로만들기]-[텍스트문서]로 파일을 생성합니다. 생성된 파일의 이름을 사진처럼 start.bat으로 변경한 후 오른쪽 버튼을 눌러서 [편집] 을 누릅니다. 사진 처럼 .. 2020. 8. 19.
마인크래프트 페이퍼 서버 플러그인 개발 환경을 구축하는 방법 이번 글에서는 마인크래프트 페이퍼 서버라고 흔히 불리는 PaperMC의 플러그인을 개발할 수 있는 환경을 구성하는 방법에 대해 소개하려고 합니다. 동영상 설명 마인크래프트 페이퍼 서버의 플러그인 개발환경을 구축하자 PaperMC는 무엇인가? PaperMC는 빠른 실행 속도와 활동적이고 성장 중인 커뮤니티, 확장된 API를 제공하는 것이 특징인 마인크래프트 서버 프로그램입니다. PaperMC와 Bukkit, Spigot 모두 이 특징을 가지고 있지만 저작권 관련 문제가 있기 때문에 PaperMC로 서버를 여는 추세입니다. 이런 추세에 맞춰서 PaperMC 플러그인 개발환경을 구축하는 것이 활용도 측면에서 좋습니다. PaperMC 개발 환경 구축 방법 먼저 자바 환경에서 개발하기 쉽도록 구성한 무료 개발 툴.. 2020. 8. 18.