전체 글 234

데이터 입력, 수정, 삭제

INSERT INTO 테이블이름 VALUES (값, 값, ..., 값);- 값을 나열할 때는 테이블 구조에서 정의하고 있는 컬럼의 순서에 맞게 명시해야 한다- DESC 테이블이름;  으로 테이블 정의 확인 가능INSERT INTO 테이블이름 (컬럼, 컬럼, ..., 컬럼) VALUES (값, 값, ..., 값);- 나열되는 컬럼의 이름이 테이블 구조에서 정의하고 있는 컬럼순서와 일치할 필요 없다insert into student ( studno, name, userid, grade, idnum, birthdate, tel, height, weight, deptno, profno) values ( 10111, '둘리', 'dolly', 2, '8202021234765', '2011-10-01 1..

IT/Database 2024.10.07

SubQuery

- SQL 안의 SQL- 두 개 이상의 SQL문을 하나의 SQL문으로 연결한 형태- 서브쿼리를 포함한 SQL문을 '메인쿼리' 라고 한다 - 서브쿼리는 select문의 시작과 끝에 ()를 묶어서 메인쿼리와 구분한다- 단일 행 서브쿼리  :  하나의 검색 결과만 반환하는 형태  /  비교연산자 사용- 다중 행 서브쿼리  :  하나 이상의 검색결과를 반환하는 형태  /  IN 연산자 사용 ex ) '전은지' 교수와 같은 직급의 교수에 대한 이름, 직급 조회select name, position from professor where position = (select position from professor where name='전은지' );+--------+----------+| name | positio..

IT/Database 2024.10.07

Visual Studio Code 설치 및 기본설정

▷ 사용하는 코드 편집기Visual Studio Code- 일반 개인이 확장팩을 만들어서 앱스토어처럼 배포할 수 있다- 다양한 운영 체제에서 원활하게 작동한다- 내장된 터미널 기능 덕분에 코드 작성과 동시에 명령어를 실행할 수 있어 생산성이 높아진다- 강력한 디버깅 도구를 제공하여 코드를 쉽게 디버깅할 수 있다- 다양한 프로그래밍 언어를 지원하며, 각 언어에 맞는 IntelliSense와 문법 강조 기능이 제공된다- 버전 관리를 위한 Git 기능이 내장되어 있어 소스 코드 관리를 쉽게 할 수 있다- 직관적인 UI로 초보자도 쉽게 사용할 수 있으며, 다양한 테마와 아이콘으로 개인화할 수 있다- 코드 작성 시 자동 완성과 도움말 기능이 제공되어 생산성을 높여 준다- 활발한 커뮤니티와 풍부한 문서화 덕분에 문..

IT/VS Code 2024.10.05

Database

- 공유하여 사용될 목적으로 통합하여 관리하는 데이터 집합- DataBase Management System- 사용자가 새로운 데이터베이스의 생성 및 구조를 명시할 수 있도록 하며, - 데이터를 효율적으로 검색, 수정, 삽입 및 삭제할 수 있도록 하여- 시스템의 고장이나 권한이 없는 사용자의 접근 등으로부터 데이터를 안전하게 보호하고 관리하는 소프트웨어 패키지 - 1995년에 Michael Widenius와 David Axmark가 개발한 오픈 소스 관계형 데이터베이스- 주로 LAMP 스택(Linux, Apache, MySQL, PHP/Perl/Python)의 일환으로 웹 애플리케이션에서 많이 사용됐다- 2008년에 Sun Microsystems에 인수되었고, 2010년에 Sun Microsystems가..

IT/Database 2024.10.02

서버 클라이언트

- 서버 (Server)- 서버는 서비스나 데이터를 제공하는 컴퓨터 혹은 프로그램을 의미- 클라이언트가 요청하는 자원(파일, 데이터베이스 정보, 웹 페이지 등)을 제공하는 역할- 예를 들어, 웹서버는 HTML 페이지와 같은 웹 콘텐츠를 제공하고, 데이터베이스 서버는 데이터를 제공하는 역할 - 클라이언트 (Client)- 클라이언트는 서버에 서비스를 요청하는 컴퓨터나 프로그램을 의미- 클라이언트는 사용자가 필요로 하는 데이터를 요청하고, 서버로부터 해당 데이터를 받아서 사용자에게 제공하거나 사용할 수 있게 한다- 예를 들어, 웹 브라우저(Chrome, Firefox 등)는 웹 서버에 요청을 보내고 웹 페이지를 받아오는 클라이언트 프로그램이다 - 서버-클라이언트 모델- 네트워크 상에서 서버와 클라이언트가 상..

IT/IT 2024.10.01

CRUD

JSON 예제 ▽  폴더구조 - Lombok을 사용한 데이터 모델 클래스 또는 엔티티 클래스- 일반적으로 데이터베이스의 테이블 구조와 매핑되기도 한다@Data 어노테이션:- Lombok 라이브러리에서 제공하는 어노테이션- 자동으로 getter, setter, toString, equals, hashCode 메서드를 생성해준다 > model > Department.java ▽package com.hyeon.model;import lombok.Data;@Datapublic class Department { private int id; private String dname; private String loc;} - Retrofit 라이브러리를 사용한 API 인터페이스 메서드 정의- servic..

IT/JAVA 2024.10.01

HTTP

- HTTP(HyperText Transfer Protocol)- 웹에서 정보를 주고받기 위한 통신 프로토콜- 웹 브라우저와 서버 간의 데이터 전송을 관리하는 규칙을 정의- HTTP는 클라이언트(예: 웹 브라우저)가 서버에 요청(request)을 보내고, 서버가 그 요청에 대한 응답(response)을 반환하는 방식으로 작동한다 HTTP의 기본 동작 과정:- 클라이언트 요청 (Request): - 사용자가 웹 브라우저에서 URL을 입력하거나 링크를 클릭하면, 클라이언트는 서버에 HTTP 요청을 보낸다- 요청에는 메서드(GET, POST 등), 요청 URL, 헤더, 그리고 경우에 따라 본문(body)이 포함된다- 서버 응답 (Response): - 서버는 요청을 처리한 후, 클라이언트에게 응답을 보낸다- ..

IT/IT 2024.09.30

Java Exception Error

MissingFormatArgumentException- String.format() 또는 System.out.printf() 와 같은 메서드에서 사용된 포맷 문자열의 포맷 지정자에 맞는 인자가 부족할 때 발생  UnsupportedEncodingException - 이 예외는 요청한 인코딩이 지원되지 않을 때 발생한다- 예를 들어, 문자열을 바이트 배열로 변환할 때 사용하려는 인코딩이 잘못되었거나 Java에서 지원하지 않는 경우에 발생한다- content.getBytes("utf-8");  메서드를 사용할 때 "utf-8" 에 오타가 있다거나 FileNotFoundException - 이 예외는 지정한 파일을 찾을 수 없거나 접근할 수 없을 때 발생한다- 파일이 존재하지 않거나 파일 경로가 잘못된 경우..

IT/JAVA 2024.09.30

Lombok (Gradle)

- Java 프로그래밍 언어에서 코드의 보일러플레이트( 프로그램이나 코드에서 반복적으로 나타나는 고정된 구조나 코드 ex: getter,setter, 데베접근, API호출 등 )를 줄여주는 라이브러리- getter, setter, 생성자, toString, equals, hashCode 메서드를 자동으로 생성해주어, 코드의 가독성과 유지보수성을 높여준다- Lombok을 사용하면 코드가 더 간결해지고, 개발자가 실제 로직에 더 집중할 수 있다주요 어노테이션@Getter: 해당 필드에 대한 getter 메서드를 생성한다@Setter: 해당 필드에 대한 setter 메서드를 생성한다@ToString: 객체의 문자열 표현을 자동으로 생성한다@EqualsAndHashCode: equals() 및 hashCode(..

IT/JAVA 2024.09.30

for-each

Java의 for-each 구문- 컬렉션이나 배열에 있는 모든 요소를 순차적으로 반복할 때 사용된다- 이 구문은 **향상된 for문(enhanced for loop)** 라고도 부른다for (타입 변수 : 배열이나 컬렉션) { // 반복할 코드} - "변수"  : - 배열이나 컬렉션에서 각 요소를 담을 변수- 각 반복마다 변수에 배열에서 하나씩 순차적으로 요소가 저장된다- "배열이나 컬렉션  :- 반복 대상이 되는 배열 또는 컬렉션- 이 배열이나 컬렉션에 있는 요소들이 반복문을 통해 하나씩 "변수"에 할당된다String[] items = {"Apple", "Banana", "Cherry"};for (String item : items) { System.out.println(item);} - 간..

IT/JAVA 2024.09.30

Gson(Maven)

- Google에서 개발한 Java 라이브러리로, Java 객체와 JSON(JavaScript Object Notation) 간의 변환을 쉽게 할 수 있도록 한다- Gson을 사용하면 Java 객체를 JSON 문자열로 직렬화(Serialization)하고, JSON 문자열을 Java 객체로 역직렬화(Deserialization)하는 작업을 간단하게 수행할 수 있다   - Apache Software Foundation에서 개발한 자바 프로젝트 관리 자동화 툴 - Maven은 Spring 프로젝트에 국한되지 않고 모든 종류의 자바 프로젝트에 사용될 수 있는 범용적인 도구로 설계되었다- Java를 사용하는 모든 프로젝트에서의 빌드, 의존성 관리, 문서화를 간소화하고 표준화하는 데 초점을 맞추고 있기 때문에 ..

IT/JAVA 2024.09.27

Java API - util package (1)

class - 날짜 처리 기능을 제공하는 클래스  Calendar cal = Calendar.getInstance();- Calendar 클래스 객체 생성  ->  싱글톤 객체이다- 컴퓨터 시각을 멤버변수로 복사한다import java.util.Calendar;public class Ex01_날짜출력 { public static void main(String[] args) { Calendar cal = Calendar.getInstance(); int yy = cal.get(Calendar.YEAR); int mm = cal.get(Calendar.MONTH) + 1; // Java에서 월은 0부터 시작 int dd = cal.ge..

IT/JAVA 2024.09.26

Java API - Lang package java.lang

- 자바 프로그래머에게 제공되는 기본 기능의 모음 - 패키지 단위로 구성되어 있으며 라이브러리 형태로 압축되어 JAVA언어에 내장되어 있다. - 자바 언어를 구성하는데 필요한 가장 필수적이고 기본적인 클래스들을 포함하는 패키지. - 이 패키지의 모든 클래스는 자동으로 import 되므로 별도의 import 구문이 필요 없다. 1) Wrapper Class- 기본 데이터 타입에 대응되는 클래스들. - 주요 기능: 문자열을 실 데이터 타입 변수로 변환- 기본 자료형의 변수와 완벽히 호환되기 때문에 문자열을 실 값으로 변환하는 기능 외에는 큰 의미가 없다.- 각 데이터 타입에 맞는 Wrapper Class 안에 static 메서드로 정의되어 있다. ▼ 문자열을 기본 데이터 타입으로 변환 ( Cha..

IT/JAVA 2024.09.26

패키지와 라이브러리

ex)  프로젝트      └─src          ├─ App.java          └─kr              └─hossam                  ├─ Protoss.java                  │                  └─unit                      ├─ Dragun.java                      └─ Zilot.java    - src 폴더의 하위폴더- 관련 클래스 및 인터페이스 집합을 구성하는 패키지에 포함된 클래스는 어떤 패키지에 속해 있는지 명시해야 한다Protoss.java -->>package kr.hossam;  import- 클래스 정의 전 다른 패키지 안의 클래스를 참조하겠다는 선언문을 명시하면 클래스 이름만으..

IT/JAVA 2024.09.25

예외처리

- 프로그램적으로 에러가 아니더라도 로직상 개발자가 일부러 에러를 내서 로그에 기록하고 싶은 상황이 올 수 있다.- 예외처리를 분산하여 어디에서 에러가 난 것인지 원인을 보다 쉽게 파악할 수 있다.- 에러에 대한 처리는 웹 보안에 있어서 매우 중요하다. [ sysntax error ]컴파일 불가능한 상태로,  실행이 안된다 [ runtime error ]   실행중 발생하는 에러문법적으로 잘못된건 없어     컴파일은 되지만     실행은 안된다try ->  에러  ->  catch   e에 담김   ->   finally필요없으면 finally 생략 가능일부러 에러를 내는 것이므로, 프로그램적으로 문제가 있는 것이 아니여서   프로그램이 뻗진 않는다 /** * 1) 파일 복사를 수행하는 기능에서 하드디..

IT/JAVA 2024.09.25
반응형