명품자바 프로그래밍의 기초: 12장
·
Java
객체지향 12장은 그래픽 기반 GUI 프로그래밍에 대해 설명하고 있으며, 자바의 paintComponent() 메소드를 활용하여 컴포넌트에 직접 그림을 그리는 방법을 다룹니다. 자바 그래픽 기반 GUI 프로그래밍 – paintComponent() 활용1. 스윙 컴포넌트 그리기 – paintComponent()자바 스윙에서 모든 컴포넌트는 자신의 모양을 직접 그립니다. 컴포넌트가 화면에 그려질 때마다 자동으로 호출되는 메소드가 paintComponent(Graphics g)입니다. 이 메소드를 오버라이딩하면 개발자가 원하는 대로 도형, 텍스트, 이미지 등을 그릴 수 있습니다. class MyComponent extends JPanel { public void paintComponent(Graphics..
명품자바 프로그래밍의 기초: 11장
·
Java
객체지향 11장은 자바 스윙(Swing) 라이브러리를 활용한 컴포넌트 기반 GUI 프로그래밍에 대해 다루고 있습니다. 주요 내용은 다음과 같습니다.1. 컴포넌트 기반 GUI 프로그래밍자바에서 제공하는 스윙 패키지를 활용하여 GUI 컴포넌트를 사용하는 방법을 설명합니다. 스윙은 자바에서 GUI를 쉽게 구성할 수 있도록 지원하는 패키지로, 컴포넌트를 활용한 GUI는 일반적인 프로그램에 적합합니다.2. 기본 스윙 컴포넌트 및 상속스윙의 기본적인 컴포넌트는 JComponent 클래스를 상속받아 기능을 확장합니다. 예를 들어, 버튼, 텍스트 필드, 레이블, 체크박스 등이 있으며, 이들의 공통 메소드와 사용 방법을 설명합니다.3. JLabel (레이블)텍스트 또는 이미지를 표시하는 컴포넌트입니다.JLabel은 텍스..
[내일배움캠프] 두번째 과제, 트러블슈팅: BaseballGameGUI
·
TIL/내일배움캠프 숙제
트러블슈팅: BaseballGameMain 및 BaseballGameLogic 애플리케이션의 문제 해결개요이 문서는 Java로 개발된 숫자 야구 게임 애플리케이션에서 발생한 문제와 그 해결 과정을 다룹니다. BaseballGameMain은 게임의 흐름을 관리하고, BaseballGameLogic은 게임 로직을 처리하여 숫자 비교 및 피드백을 제공하는 역할을 합니다. 추가적으로 BaseballGameScoreManager와 BaseballGameRandomNum 클래스로 각각 점수 관리와 난수 생성 기능을 분리하여 명확한 역할을 부여했습니다.개발 과정에서 여러 입력 오류 및 게임 로직의 비정상적인 동작을 해결하여 애플리케이션의 안정성과 기능을 크게 개선할 수 있었습니다.트러블슈팅 과정배경숫자 야구 게임은 ..
[내일배움캠프] 본캠프 코드카타 17번 문제
·
TIL/코딩테스트 연습문제
TIL 제출하기 (2024-09-11)오늘의 공부를 마무리하면서 작성한 내용입니다.알고리즘 문제를 풀어보겠습니다. 문제의 조건에 따라 n은 10억 이하의 자연수이며, 각 자리 숫자를 배열로 변환하여 뒤집어 반환하는 것이 목표입니다. 예를 들어, n이 12345라면, 출력 결과는 [5, 4, 3, 2, 1]이어야 합니다.알고리즘 문제이 문제를 풀기 위해서는 다음과 같은 순서로 접근할 수 있습니다:자연수를 문자열로 변환: 주어진 자연수를 각 자리별로 분리하기 위해 문자열로 변환합니다.각 자리 숫자를 역순으로 배열에 담기: 문자열을 뒤집고, 각 문자를 다시 숫자로 변환하여 배열에 담습니다.결과 반환: 배열을 반환합니다.Java 코드 구현import java.util.*;public class Solution{..
[내일배움캠프] 본캠프 코드카타 16번 문제
·
TIL/코딩테스트 연습문제
TIL 제출하기 (2024-09-11)오늘의 공부를 마무리하면서 작성한 내용입니다.알고리즘 문제주어진 문제는 두 개의 입력값을 받고, 첫 번째 입력값 x로부터 시작하여 x씩 증가하는 수열을 n개 만들어 리스트로 반환하는 것입니다. 즉, x와 n이 주어졌을 때, x부터 x*n까지 x 간격으로 증가하는 수열을 만들라는 요구입니다.조건:x는 -10,000,000 이상, 10,000,000 이하인 정수n은 1 이상 1,000 이하인 자연수입출력 예시예시 1: x = 2, n = 5 → [2, 4, 6, 8, 10]예시 2: x = 4, n = 3 → [4, 8, 12]예시 3: x = -4, n = 2 → [-4, -8]해결 방법이 문제는 매우 간단하게 반복문 또는 스트림을 통해 해결할 수 있습니다. x부터 시..
[TIL] 스파르타코딩 2차 팀편성, 7일차
·
TIL/TIL(Today I Learned)
아래는 TIL(Today I Learned) 형식으로 리팩토링한 내용입니다.📝 [TIL] Calculator Console & GUI Application 개발📅 Date: 2024-09-13🧐 오늘 배운 것오늘은 콘솔과 GUI를 이용해 계산기 애플리케이션을 구현하는 과정에서 사용한 다양한 기술과 패턴을 배웠습니다. 이번 TIL에서는 각각의 버전(콘솔, GUI)을 분석하고 리팩토링한 내용을 다룹니다.👨‍💻 주요 내용1. Console 버전목표: 기본적인 사칙연산과 결과 저장 및 삭제 기능을 제공하는 콘솔 애플리케이션을 구현하는 것이 목표였습니다.핵심 기능+, -, *, / 사칙연산 처리연산 결과 저장 및 삭제 기능 제공예외 처리: 잘못된 연산 기호, 0으로 나누기 처리결과 기록 관리: 연산 결과..
http와 https의 차이점
·
보안/네트워크보안
HTTP(하이퍼텍스트 전송 프로토콜, Hypertext Transfer Protocol)는 인터넷을 통해 웹 브라우저와 서버 간에 데이터를 주고받는 가장 기본적인 프로토콜입니다. 1990년대부터 사용되어 온 이 프로토콜은 오늘날에도 많은 웹 사이트에서 사용되고 있지만, 보안 측면에서 심각한 취약점들이 존재합니다. 이러한 취약점들은 사용자 정보 유출, 데이터 변조, 그리고 악의적인 공격에 대한 노출로 이어질 수 있기 때문에, 특히 개인 정보와 금융 정보를 다루는 웹 사이트에서는 HTTP 사용이 매우 위험할 수 있습니다.이 글에서는 HTTP의 주요 취약점들과, 이를 보완할 수 있는 HTTPS(SSL/TLS로 보호된 HTTP)의 필요성에 대해 깊이 있게 다뤄보겠습니다.1. 데이터 암호화 부족HTTP의 가장 큰..
[TIL] 스파르타코딩 2차 팀편성, 6일차
·
TIL/TIL(Today I Learned)
알게된점1.  /** 하고 엔터 치면 인텔리제이에서 알아서 주석처리함 아래 사진과 같이(튜텨님이 알려주심)2. 다른 튜터님이 내 카테고리 수정해주심3. Readme 작성함4. 과제 제출란에 링크 제출함5. Notion TMI 작성함
[TIL] 스파르타코딩 2차 팀편성, 주말공부(1)
·
TIL/TIL(Today I Learned)
[알게된 점들]1. 윈도우 계산기도 문제점을 가지고 있다.2. 위 문제점은 내가 GUI 계산기를 만들때 발견한 문제점과 같다3. 이게 무슨 말인지 모르겠다 4. 내일(월요일에) 튜터님께 물어봐야겠다
[내일배움캠프] 첫번째 과제, 트러블슈팅: Calculator GUI
·
TIL/내일배움캠프 숙제
트러블슈팅: Calculator Controller 및 GUI 애플리케이션의 문제 해결개요이번 문서에서는 CalculatorControllerApp과 CalculatorGUI.java를 개발하는 과정에서 발생한 문제들과 그 해결 과정을 설명합니다. 이 파일들은 연산 로직과 결과 관리, 그리고 GUI를 통한 사용자 상호작용을 담당하는 Java 애플리케이션의 핵심 구성 요소입니다.트러블슈팅 과정배경이 프로젝트는 CalculatorControllerApp에서 사칙연산을 처리하고, 그 결과를 GUI로 시각화하는 계산기 애플리케이션을 개발하는 것이 목표였습니다. 개발 도중 여러 문제가 발생하였고, 이를 해결하기 위한 디버깅 과정이 필요했습니다.발단 및 문제 분석1. CalculatorControllerApp에서의..