티스토리챌린지 19

Java - if, swich-case, for, while, break, continue

Java의 조건문과 반복문은 논리적인 사고를 활용하여 문제를 해결하는 데 필수적인 도구들입니다. 각 요소를 자세히 살펴보고 예제를 통해 이해해 봅시다.1. 조건문(1) if-else 문특정 조건이 참인지 확인하고, 조건에 따라 다른 코드를 실행합니다.기본 구조:if (조건식) { // 조건식이 참일 때 실행} else { // 조건식이 거짓일 때 실행}예제:int age = 20;if (age >= 18) { System.out.println("성인입니다.");} else { System.out.println("미성년자입니다.");}(2) switch-case 문하나의 변수에 대해 여러 값을 비교할 때 사용됩니다.if-else보다 코드가 간결해집니다.기본 구조:switch (변수) ..

Java 2024.11.26

Java - 연산자 (증가 연산자/ 감소 연산자/ 삼항 연산자)

증가 연산자, 감소 연산자, 삼항 연산자에 대해서 설명해줘Java에서 증가 연산자, 감소 연산자, 그리고 삼항 연산자는 코드에서 간결하고 효율적인 연산을 가능하게 해주는 중요한 연산자들입니다. 아래에 각각에 대해 상세히 설명하겠습니다.1. 증가 연산자 (Increment Operator)사용법:++ 연산자는 변수의 값을 1만큼 증가시킵니다.종류:전위 증가 연산자 (++variable)값을 증가시킨 후에 해당 값을 사용합니다.후위 증가 연산자 (variable++)현재 값을 먼저 사용한 후에 값을 증가시킵니다.예제 코드:int x = 5;// 전위 증가 연산자int y = ++x; // x는 먼저 6이 되고, y에 6이 할당됩니다.System.out.println("x: " + x + ", y: " + y..

Java 2024.11.25

Java - Scanner / (메모리 heap 영역)

Scanner 클래스는 Java에서 표준 입력 (키보드 입력)을 처리하기 위해 제공되는 유틸리티 클래스입니다. 주로 사용자가 데이터를 입력할 수 있도록 설계된 프로그램에서 사용됩니다. java.util 패키지에 포함되어 있으며, 다양한 데이터 타입의 입력을 처리할 수 있습니다.1. Scanner 클래스의 기본 개념Scanner는 Java의 표준 입력 스트림(System.in)을 통해 데이터를 읽습니다.사용자가 입력한 문자열을 파싱하여 원하는 데이터 타입으로 변환할 수 있습니다.공백(스페이스, 탭, 줄바꿈) 단위로 데이터를 구분하여 입력을 처리합니다.2. Scanner 클래스 사용법기본 구조import java.util.Scanner;public class Main { public static voi..

Java 2024.11.23

Java - Array - /Array vs. Class / array의 크기, 초기화, 기본값 / 2차원 배열과 다차원 배열 / Jagged array 가변 배열

클래스 구조개념클래스는 사용자 정의 데이터 타입으로, 데이터(필드)와 데이터를 다루는 메서드(기능)를 포함합니다. 객체 지향 프로그래밍의 핵심이며, 데이터를 구조화하고 기능을 캡슐화하는 데 사용됩니다.특징데이터와 메서드의 조합:클래스는 여러 데이터 필드와 메서드를 포함할 수 있습니다.예: name, age와 같은 데이터와 이를 조작하는 메서드를 포함.다양한 데이터 타입:클래스는 여러 데이터 타입의 필드를 포함할 수 있습니다.예: String, int, double, 심지어 다른 클래스도 포함 가능.객체 단위로 동작:클래스는 객체를 생성하여 사용하며, 객체는 클래스의 인스턴스입니다.구조화된 접근:클래스 내부의 필드와 메서드는 접근 제한자(private, public)로 보호할 수 있습니다.예제// 클래스 ..

Java 2024.11.22

Java - 문자자료형 공부 / 자료형과 형변환 casting / 새로운 자료형의 필요성 / 객체와 클래스에 대한 공부 /

char - 문자자료형! 문자를 숫자로 맵핑을 해놨다. - 이걸 수치형자료라고도 함.그래서 이런게 가능함.char c = 'A';라고 해서 c 를 출력하면 A 가 나온다.그런데,'A' 는 문자인데,int a = 'A';라고 하면 말이 되는가?정수형과 문자형은 자료형이 다른데?하지만, 'A' 는 아스키코드라고 문자랑 숫자로 맵핑을 해놓았어서,'A'에 해당하는 65 이라는 숫자가 있다.그래서int a = 'A' 라고 하면, a 에 'A' 를 저장(할당)하는게 아니라, 65 을 저장하는 것.그래서 a 를 출력하면, 아스키코드 수치인 65가 출력된다. 그리고 int b = 'B' + 1;이것도 가능하다. b 를 출력하면 66 + 1 이라서 67이 출력된다.    그 문자-숫자 표가 아스키코드에 있다. ASCII..

Java 2024.11.21

Java - JVM / 프로그래밍의 3대 요소 (변수 Variable, 자료형 Data Type, 할당 Assign) / 자료형에 대한 공부 / 수의 표현(2진수, 8진수, 16진수)

개발자에 의해서 Java Program 코드가 작성되었다..java 그것을 compile 하면, .class 파일로 bytecode로 변환이 된다. 그걸 중간어 코드라고 부름.그리고 그걸,JVM (Java Virtual Machine) 이 한 번 더 compile을 해서 .exe 파일로 컴파일해서 메모리에 로딩해서 실행한다.그러니까, Window, Mac, Linux 라는 OS가 있으면, 각각의 OS 에 맞는 JVM 이 설치가 되어 있으면개발자가 작성한 .java 코드 파일은 어떤 OS에 가더라도 실행이 가능하다.왜? 각각의 OS에 맞는 JVM이 있어서 걔네들이 2차 컴파일을 해서 각각의 OS에 맞게 .exe 파일로 만들어줄 거니까.그래서 OS 독립적이라는 것.이를 포함한 Java의 대표적인 특징들은 다..

Java 2024.11.20

JDK (Java Development Kit) + IntelliJ / Java 메인 클래스 / src 파일과 out 파일 /

자바 언어로 데스크톱 응용소프트웨어를 개발해보려면-> JavaSE 개발환경 구축해야 함 (Java Platform, Standard Edition)--> JDK 소프트웨어를 설치해야 함. (Java 언어는 무료지만, OracleJDK 유료, OpenJDK 무료, 그래서 OpenJDK 설치 - JDK SE 11) ---> 코딩을 위한 도구는 IntelliJ 를 쓸 예정 (나는 대학때 Eclipse 를 썼던 걸 기억한다. IntelliJ가 현업에서 많이 쓰인다고 함) JDK SE 11 설치 후 환경 설정 완료! IntelliJ 도 설치!강의에서는 Community (무료 버전)으로 한다고 했지만, fastcampus에서 ultimate (유료 버전)을 몇개월간 사용가능한 쿠폰을 제공해줘서 나는 쿠폰을 사용할..

Java 2024.11.19

Java부터 Spring Boot까지 (KDT 과정 전 수강 가능한 KDC 과정)

KDT, KDC가 뭔지 여기서 굳이 말할거는 없고, 공부 시작 전 간단하게 기록하고 출발하려고 한다.https://wy-family.tistory.com/16 앞으로 1년간의 계획 (이전 1달 동안의 기록, 앞으로 1달과 1년간의 계획)꽤 오래전부터 내가 일하던 분야에서 떠나 다른 분야로의 전향, 새로운 도전을 해야한다는 생각을 했다.나는 수학을 가르치는 사교육 과외 선생이었고 마지막으로는 수학 교습소 운영과 강의를wy-family.tistory.com여기서 얘기했듯이, 나는 스마트팩토리 KDT 교육 과정을 희망하고 있다.계획 상 내년 상반기 즈음. 그래서 그 전에 KDC 과정 2개와 자격증 공부를 미리 하려고 한다.그리고 KDC 과정 선택도 나는 잘 알아보고 전략적으로 딱 맞는 선택을 했다고 생각한다...

Java 2024.11.18

Python Django Project를 AWS 상에서 작동하는 서비스로 만들다 (6) - 사용자 피드백을 받아보고, 그리고 '프로젝트 설명서'를 끝으로 마무리

아내랑 일본어랑 영어를 할 줄 아는, 일본인 친구에게 사용해보라고 했다.그런데, 둘 다 chatGPT를 유료 버전으로 결제해서 사용하는 사람들이라 그런지, '구리다' 라는 평..ㅋㅋㅋㅋ하지만 아내는 IT 보안, 클라우드 보안 엔지니어를 준비 중인 사람이라 그런지, 이런 웹 페이지 하나 개발하고 배포하는 게 얼마나 어려운지, 이렇게 다른 사람이 접속해볼 수 있는게 얼마나 쉽지 않은지 알고 있다면서 고생했다고 말해줬다.나도 정리를 좀 하자면,덕분에 처음부터 끝까지 개발해보고 배포해보는 경험을 해본 것이 굉장히 의미있는 경험이라고 생각한다.AI의 도움을 받아서 개발과 배포를 했는데, AI가 없었으면 못 했을거라는 걸 인정은 한다. 하지만 AI가 없는 세상은 이제 오지 않을 것이다. 그러니까 AI를 잘 활용해서..

Python Django Project를 AWS 상에서 작동하는 서비스로 만들다 (5) - 정상 배포 완료 / http->https

aichatbot-wyfamily.com 이라는 도메인을 1년간 이용하는 권한을 샀었고, 이제 정상 배포가 완료가 되어서 웹페이지 접속이 가능해졌다.메인 도메인, 메인 페이지에는 아무것도 지정해준 게 없어서 Not Found가 뜨는게 정상이다.도메인/chatbot 으로 가야지만 채팅방 목록을 보여주는 것이다. 하지만 지금 DB는 로컬에서 쓰던 PostgreSQL이 아니라 AWS 의 RDS 에서 PostgreSQL을 연결하거니까 아무런 데이터가 없다. 그래서 채팅방 목록이 보이지 않는 것.그리고 도메인/admin 은 django가 기본적으로 제공하는 기능이라서 연결이 된다.하지만 로컬에서 할 때에는 superuser를 만들었지만 지금은 AWS에서 배포한거고 DB에 아무런 정보가 없으니까superuser 부..