2024/11 30

[번외] - 내 자산을 소중히 여기듯이 회사 자산을 소중히 - 'AWS 무료 이용 한계 알림 + 요금 부과 내역'을 확인하고 난 뒤 나의 생각

CI/CD Pipeline 구축을 실습할 때 AWS도 활용되었다. 그 과정에서 여러 가지 서비스를 이용해야 했었다.그리고 무료 사용 한계 알림을 받았다. 나처럼 개인적으로 실습을 해보는 사람들은 예산이 제한적이다. 그러다보니 실습이 끝나고나서는 구축했던 걸 다 삭제를 해야 한다. 실습이 제대로 진행되었는지 확인하기 위해서는 실습이 끝나자마자 바로 삭제를 할 수 없어서 남겨놓았는데, 저렇게 알림이 왔다.   ECS와 VPC 에서 요금이 부과되었다는 걸 확인했다. 합쳐서 20불 정도가 부과되었다.나는 특별하게 한 건 없다고 생각하는데, 20불이라니.그런데 직접 서버를 구축했다면 20불로는 끝나지 않았을 일이다.어쨌든, 추가로 더 부과되지 않기 위해서 이용 중인 서비스를 모두 정리를 해야겠다.   흥미로운 사..

생각 기록하자 2024.11.29

Java - 객체를 접근하는 권한 / Access Modifier / Package란? / 클래스 접근하는 방법

Java에서 Access Modifier는 클래스, 변수, 메서드, 또는 생성자에 대한 접근 수준을 제어하는 데 사용됩니다. 이를 통해 **캡슐화(encapsulation)**를 구현하고, 프로그램의 보안성과 안정성을 강화할 수 있습니다. Java는 네 가지 주요 접근 제어자를 제공합니다: public, protected, default(명시하지 않을 경우), 그리고 private. 이를 각 접근 수준에 따라 정리하고, 보호와 보안적 측면도 함께 설명하겠습니다.1. Access Modifier의 종류와 특징     Modifier같은 클래스같은 패키지다른 패키지의 서브클래스다른 패키지publicOOOOprotectedOOOXdefaultOOXXprivateOXXX1.1 public특징: 어디서든 접근 가..

Java 2024.11.29

Java - Method / static 정적/ parameter passing 매개변수 전달기법 / method overloading 메서드 중복정의 /

1. 메서드란?**메서드(Method)**는 클래스(Class) 내부에 정의된 코드 블록으로, 특정 작업을 수행하는 데 사용됩니다.메서드는 **일련의 명령어(코드)**를 묶어서 이름을 부여한 것으로 이해하면 됩니다.즉, 메서드는:코드를 재사용 가능하게 만들어줍니다.프로그램을 더 구조적이고 읽기 쉽게 설계하도록 도와줍니다.필요한 값(데이터)을 받아 계산하거나 작업을 수행한 뒤, 결과를 반환하거나 단순히 작업을 끝낼 수 있습니다.2. 메서드의 구성 요소Java에서 메서드는 아래와 같은 구조로 이루어져 있습니다:[접근제어자] [반환타입] [메서드 이름](매개변수 목록) { // 메서드의 내용 (명령어들) return 값; // 반환 타입에 따라 반환할 값 (void일 경우 생략)}각 구성 요소를 하..

Java 2024.11.28

스마트 팩토리 교육 과정을 준비하면서 드는 고민들

1). 24년 10월부터 시작해서 엄청난 학습량으로 공부를 하고 있다.python 공부 --> OpenAI API를 활용한 AI ChatBot 개발 및 배포 --> Java 프로그래밍 공부 --> CI/CD 파이프라인 공부 및 실습 --> 그리고 이제 Spring Boot 학습을 시작했다. 육아가 이렇게까지 할 일이 많은지 몰랐기 때문에 공부에 쏟은 시간이 초기 계획보다는 좀 적었지만 가능한 모든 시간을 다 개발 공부하는데에 쏟았기 때문에 할 수 있는 최선을 다했다고 자신한다. 공부를 하면서도, 진로에 대한 고민을 하고 탐색하고 계획을 세우기 위한 시간도 들여야 했다. 가장 처음, 10월의 시작에서는 AI 엔지니어링 분야로 나아가는게 어떨까라고 생각했었다.이유는 단순했다.내가 10년간 수학 가르치는 일을..

생각 기록하자 2024.11.27

[번외] - 도메인 일시 정지 연락 - domain suspension resolution (ICANN)

내가 구매했던 도메인이 일시 정지되었다는 연락을 받았다. 1. 도메인을 구매하고 나서 지속적으로 사용하려면 뭔가 추가적인 인증을 해야 한다는 사실을 처음 알았다. 만약 대규모 서비스를 진행 중인 도메인이었다면, 이런 일시 정지 사건은 피해가 컸을 것이다. 그러니 이 순간을 기록해서 다음에 도메인을 구매하고 관리하는 일을 하게 되었을 때 이런 일을 당하지 않기 위한 기록을 하려고 블로그를 켰다. 2. 그런데, 지금에서야 suspended 된것인데, 정확히 1달 전에 구매를 했던 것 같은데 1달 동안은 사용할 수 있었다는 점. 오히려 이 점이 나중에 실수를 불러일으킬 수 있겠다는 생각이 든다. 그러니까 처음부터 구매를 하고나서 바로 뭔가 인증 절차를 진행했어야 한다는 걸 기억하고자 함이다. 3. ICANN ..

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