분류 전체보기 (50) 썸네일형 리스트형 [TCP/IP 소켓 프로그래밍] 프로토콜 개요 본 포스팅은 학습 목적으로 쓴 포스팅이므로, 정확하지 않을 가능성이 높습니다. 사실과 맞지 않는 부분이 있다면 지적해주세요. 프로토콜이란 무엇일까 Protocol 의 뜻은 ' 규약 ' 이라는 뜻이다. 그러면 통신 프로토콜이란? 통신에 관련한 규약 정도로 받아들일 수 있겠다. 그렇다면 통신을 하는것에 있어서 어떠한 특별한 규약이 필요하다는 뜻일테고, 그러한 규약이 왜 필요한걸까? 그 이유를 알아보기 전에 호스트와 라우터에 대해 먼저 알아보자. 인터넷을 통해 통신을 수행하는 개체는 크게 호스트와 라우터로 나뉜다. 호스트는 사용자의 응용 프로그램을 수행하는 주체이고, PC , 노트북, 스마트폰등이 여기에 속한다. 라우터는 간단하게 말해 호스트와 호스트 간의 데이터 전달, 즉 서로 다른 네트워크에 존재하는 호스.. [ANDROID 국비과정] 2023.02.08 - 안드로이드 앱 개발자 과정 Android 안드로이드 개발 안드로이드 앱을 개발하기 위해서는 안드로이드 스튜디오 라는 코드편집기가 필요합니다. 자바에서 코드 편집기로 eclipse 를 사용하고, 실행도구로 JRE, 컴파일러로 JDK 를 사용했던것과 비슷하게 안드로이드에서는 안드로이드 스튜디오라는 코드편집기를 사용합니다. 안드로이드 개발자 사이트에서 다운받을 수 있습니다. 편리하게도, 안드로이드 스튜디오를 다운받게되면 자동으로 JDK 가 설치됩니다. 또한 안드로이드에서는 추가적으로 Android SDK(Software Developement kit) 와 AVD(Android Virtual Device) 까지 설치하면 안드로이드 개발을 위한 준비는 끝납니다. 안드로이드 xml 검은색 화면의 글씨만 써내려가던 CLI 프로그래밍과 다르게 .. [ANDROID 국비과정] 2023.02.07 - 안드로이드 앱 개발자 과정 Java GUI 프로그래밍 안드로이드로 넘어가기 이전에 GUI 프로그래밍에 대한 맛을 보기 위해 Java 언어에서 GUI 프로그래밍을 위해 미리 설계된 API 를 이용해보겠습니다. AWT, Swing, JavaFX 등이 있는데, 그중에서 Swing 을 이용하여 GUI 프로그래밍이 어떠한 방식을 취하는지에 대해 알아봅시다. 단, 문법적인 측면보다는 GUI 를 이용한 프로그래밍이라는것이 어떠한 것인지 알아보는것에 중점을 둡시다. 먼저, 지금까지 해왔던 CLI 프로그래밍의 경우 순차적인 방식을 취합니다. 코드가 한줄한줄 읽히면서 차례대로 콘솔에 출력되는 형태였습니다. 반면에 GUI 의 경우 사용자의 선택에 따라 반응을 설계해야 하는 방식입니다. 가령, 사용자가 어떠한 버튼하나를 눌렀을 경우에 어떠한 결과를 도.. [ANDROID 국비과정] 2023.02.06 - 안드로이드 앱 개발자 과정 Java Network 인터넷은 어떻게 동작하는가? 인터넷은 어떻게 동작하는가? - Web 개발 학습하기 | MDN 이 글에서는 인터넷의 개념과 작동 원리에 대해 설명합니다. developer.mozilla.org 네트워크란 쉽게 말해 하나의 망 입니다. 그리고 그 망을 이용하여 서로 다른 컴퓨터들을 연결합니다. 라우터에 의하여 컴퓨터들은 네트워크를 형성하며, 이러한 라우터들이 ISP 에 연결되어 더욱 큰 네트워크를 형성합니다. 컴퓨터간의 정보 교환은 아주 방대한 양이며, 무질서할 수 있는데 이를 해결하기 위해 우리는 일종의 약속을 해야합니다. 그러한 약속을 프로토콜(Protocol) 이라 합니다. 프로토콜의 종류 1.IP[ Internet Protocol ] 2.TCP[ Transmission Cont.. [ANDROID 국비과정] 2023.02.03 - 안드로이드 앱 개발자 과정 Java File I/O - 바이트스트림 기억장치에는 CPU 가 접근하는 주메모리(RAM)와 영구적 저장을 위한 보조기억장치(HDD)가 있습니다. 램의 경우 컴퓨터의 전원을 끄거나 프로그램을 끄면, 데이터가 모두 날아가게 됩니다. 하지만 우리의 목적은 데이터의 영구적인 저장입니다. 그래서 우리는 데이터를 파일로 만들어 저장합니다. Window OS 에서의 보조기억장치인 하드디스크(HDD) 사용법을 기반으로 파일의 영구적 저장방법을 알아보겠습니다. 하드디스크는 램과 달리 데이터로 보관하는것이 아니라 파일의 형태로 보관합니다. 또한 파일의 식별자로 파일의 이름과 확장자를 사용할 수 있습니다. 예를 들어 간단한 문자열을 저장하고 싶다면, aaa.txt 와 같이 저장시킬 수 있죠. 이와 같이 파일의 저장과 출력.. [ANDROID 국비과정] 2023.02.02 - 안드로이드 앱 개발자 과정 Java Thread 작성된 코드를 실행하는 객체 : 동시에 여러작업을 처리하는 기법 Thread 란? 스레드란, 동시에 여러작업을 처리하고 싶을 때 사용하는 기법으로 작성된 코드를 실행하는 객체 입니다. 무엇인지 정확히 알아보기 이전에 간단한 용어 먼저 정리하겠습니다. 용어정리 process 실행중인 하나의 자바 프로그램. 프로세스 간에는 별도의 메모리를 사용하므로 자원 공유가 불가합니다. Thread 하나의 프로세스 안에서 동작하는 직원같은 개념입니다. 스레드간에는 같은 메모리 공간을 사용하므로 자원 공유가 가능합니다. Main Thread 하나의 프로세스에는 반드시 하나의 스레드가 존재합니다. 그 스레드를 Main Thread 라고 합니다. 만일, 메인스레드가 시간이 오래 걸리는 작업을 수행한다고 .. [ANDROID 국비과정] 2023.02.01 - 안드로이드 앱 개발자 과정 JAVA 제네릭 (Generic) Class 를 설계할 때 멤버의 자료형을 정하지 않고 객체를 생성할 때 자료형을 정하도록 하는 문법입니다. Generic 이란 아직 명칭이 정해지지 않은 상품이란 뜻을 가지고 있습니다. 프로그래밍적인 의미로도 동일합니다. 즉, 멤버의 자료형이 정해지지 않았다는 의미입니다. Generic 사용하기 먼저, 멤버의 자료형이 정해지지 않은 클래스를 설계해봅시다. public class Box { T a; } 안에 자료형을 작성하고 그 자료형을 토대로 멤버를 설정합니다. 안에 자료형은 어떤 단어든 상관없습니다. (물론 String 과 같은 예약어는 사용하지 않아야 하겠습니다.) 그리고 Main 클래스에서 Box 클래스의 객체를 생성해봅시다. public static void ma.. [ANDROID 프로젝트] 숫자야구 리팩토링 #1 몇달전에 만들어놓았던 숫자야구 프로젝트가 있었다. 국비학원 초창기에 Linear Layout 만 배웠을 때 과제로 만들었던 게임이었는데, 좀 더 깔끔한 코드로 리팩토링 해봐야지 해봐야지 하다가 이제서야 시작해본다. 일단은 findViewById() 로 찾아오던 View 들을 ViewBinding 을 이용한 코드로 바꿔보려 한다. 여기저기 코드를 들쑤시기 보다는 예전에 어떻게 코드를 짰었는지 복기도 해볼겸, 로직에 따라 차근차근 바꿔보려 한다. 그럼 시작! 초기화 코드 부분 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); binding = ActivityMainBinding.inflate(Layo.. 이전 1 2 3 4 5 6 7 다음