반응형

전체 글 67

Generic(제네릭)

Generic(제네릭)클래스 내부에서 사용할 데이터 타입을 외부에서 지정하는 기법타입을 일반화하는 것외부에서 지정 : 사용자가 제네릭 클래스의 인스턴스를 생성할 때나 제네릭 메소드를 호출할 때 타입을 정하는 것제네릭 타입 매개변수()타입을 일반화하여 사용할 수 있도록 해 주는 것일반적으로 클래스, 인터페이스 또는 메소드에서 타입을 매개변수로 받을 때 사용역할타입 안전성 : 컴파일 타입에 타입 검사를 수행하여 잘못된 타입의 객체가 사용되는 것을 방지하고 런타임에서 발생할 수 있는 ClassCastException을 줄여줌코드 재사용성 : 여러 타입에 대해 동일한 코드를 재사용명시적 타입 : 안에 타입을 명시함으로써, 해당 클래스나 인터페이스가 어떤 타입의 객체를 처리할 것인지 명확하게 지정할 수 있음pa..

JAVA 2025.01.22

Secure Coding

Secure Coding소프트웨어 개발 과정에서 개발자의 실수, 논리적 오류 등으로 인한 보안약점을 최소화하기 위한 개발 기법해킹 등 사이버 공격의 원인인 보안취약점을 제거해 안전한 소프트웨어를 개발하는 소프트웨어 개발 기법목표성공적인 사업을 운영하기 위한 정보 자원의 기밀성, 무결성, 가용성을 유지하는 것보안 통제 기능 구현에러 처리정상적인 에러 : 사전에 정의된 예외사항이 특정 조건에서 발생하는 에러비정상적인 에러 : 사전에 정의되지 않은 상황에서 발생하는 에러에러를 불충하게 처리하거나 처리하지 않을 때, 혹은 에러 정보에 과도하게 많은 정보를 포함하면 공격자가 악용하고 이로 인해 보안취약점이 발생할 수 있다.1. Information exposure through an error message(오류..

File I/O Handling

File I/O HandlingJAVA에서 파일을 읽고 쓰는 작업을 수행하는 방법데이터의 영속성(시스템이 종료되거나 프로그램이 종료된 후에도 데이터를 유지하는 것) 제공다양한 형식의 데이터를 다룰 수 있도록 함기본 개념입력(읽기) : 파일의 내용을 프로그램으로 가져오는 작업출력(쓰기) : 프로그램에서 데이터를 파일에 저장하는 작업java.io.File Class파일이나 디렉토리를 나타내는 객체 생성(파일 및 디렉토리 경로를 추상적으로 표현하는 클래스)파일의 속성(읽기, 쓰기 권한 등)을 확인하거나 파일을 생성, 삭제 할 수 있음package day2;import java.io.File;import org.slf4j.Logger;import org.slf4j.LoggerFactory;public class..

Class String

https://docs.oracle.com/javase/8/docs/api/java/lang/String.html#getBytes--java.lang.Object 클래스모든 클래스의 최상위 부모 클래스JAVA에서 정의된 모든 객체는 Ojbect 클래스를 상속받음1. Clone() : 객체의 복제본 생성3. getClass() : 객체의 런타임 클래스 정보 반환5. notifyAll() : 대기 중인 모든 스레드를 깨움7. wait(long timeout) : 지정된 시간 동안 대기8. wait(long timeout, int nanos) : 지정된 시간과 나노초 동안 대기6. wait() : 현재 스레드를 대기 상태로 만듦4. notify() : 대기 중인 스레드 중 하나를 깨움2. finalize() ..

Variable

Variable데이터를 저장할 수 있는 메모리상의 공간변수에는 데이터 타입과 일치하는 단 하나의 값만 저장할 수 있음data type(자료형) = 기본형 + 참조형Primivite type(기본형)어떠한 값에 대한 연산이 필요한 경우 사용8개booleancharbyteshortintlongfloatdoubleReference type(참조형)기본형을 제외한 모든 타입(클래스, 인터페이스 등)null값 저장 가능객체의 주소(4 byte 정수) 저장 가능memory address(실제 데이터가 저장된 주소)를 저장함 package day2;import org.slf4j.Logger; import org.slf4j.LoggerFactory;public class MemberTest { private ..

org.slf4j.Logger vs System.out.print

Slf4j(Static Logging Facade for Java)JAVA 애플리케이션에서 여러 Logging Framework를 하나의 통일된 방식으로 사용하게끔 지원하는 추상 API다양한 로깅 프레임워크와의 호환성을 제공하여 개발자가 특정 로깅 구현에 종속되지 않도록 함기본적으로 동기적 : 로그 메세지를 기록할 때 메인 스레드가 해당 작업을 완료할 때까지 기다림구조API ModuleSlf4j의 Logging Interface Module해당 모듈은 추상화된 인터페이스만 제공Binding될 다양한 로깅 프레임워크를 실행, 배포 시 선택적으로 주입하도록 지원 -> 추상화 수준을 높이고 일관적인 사용 가능Bridge Module기존에 개발된 레거시(오래된) 코드를 위해 사용하는 Module기존에 작성된 로..

JAVA 2025.01.21

LGEricsson JAVA Standard

1. Purpose3명 이상이 참여하는 모든 프로젝트에 필요함코딩 표준을 준수하면 여러 측면을 간소화 할 수 있음(프로세스의 새로운 부분을 이해하는 데 필요한 시간을 줄임)2. Interpretation이 표준은 LG에서 개발한 JAVA 언어 기반 코딩 작업에서 적용됨3. DefinitionMandatory(M) : 모든 코드가 반드시 이 규칙을 따라야 함. 이를 지키지 않으면 코드 결함으로 간주됨. 규칙을 어길 경우에는 코드에 명확한 주석을 달아야 하고, 코드 검사에 참여하는 모든 사람의 동의가 필요함Highly Recommended(HR) : 코드가 이 규칙을 따르지 않는 경우에는 강력한 이유가 있어야 하며, 그 이유를 규칙을 위반한 부분에 주석으로 설명해야 함. 코드 검사를 통해 수용이 필요함Rec..

Log4j

Log4jJAVA 기반의 로깅 라이브러리애플리케이션에서 로그 메세지를 기록하고 관리하는 데 사용됨로그를 자동으로 출력해주는 오픈소스 라이브러리다양한 로깅 레벨을 지원하여 개발자가 로그의 중요도에 따라 메세지를 필터링하고 기록할 수 있도록 도움로그 레벨을 통해 개발자는 로그의 양과 중요도를 조절할 수 있음필요에 따라 특정 레벨 이상의 로그만 기록하도록 설정할 수 있음구조Logger로그 메세지를 기록하는 주체애플리케이션의 특정 부분에서 로그를 생성하는 역할을 함출력할 메세지를 Appender에 전달로그레벨을 설정할 수 있고, 0개 이상의 Appender를 지정할 수 있음일반적으로 패키지나 클래스 이름을 사용하여 구분계층 구조를 가지고 있어서 상위 logger의 설정이 하위 logger에 영향을 미칠 수 있음..

Windows-based Development Environment Settings

1. JAVA 설치JAVA썬 마이크로시스템즈에서 1995년에 개발한 객체 지향 프로그래밍 언어제임스 고슬링이 창시JVM을 통해 운영체제와 상관 없이 프로그램을 실행할 수 있음설치 방법https://www.java.com/ko/download/ie_manual.jsp?locale=ko위의 링크에 들어가 자바 다운설치 확인cmd에 java -version, javac -version 입력환경변수프로세스가 컴퓨터에서 동작하는 방식에 영향을 미치는 동적인 값들의 모임. 운영체제가 참조하는 변수프로세스가 어떤 작업을 할 때 필요로 하는 정보를 손쉽게 접근/처리할 수 있도록 해주는 것컴퓨터의 어떤 경로에서든 운영체제가 자바를 인식할 수 있도록 하기 위해 필요함주소를 별명으로 저장해 둔 것이라 이해하면 쉬움환경변수 ..

프로젝트 소개 및 회고, 강사님 피드백

프로젝트 소개https://github.com/Jyebin/shinhan_team2_omok목적웹 소켓을 활용한 실시간 오목 게임 구현 및 웹 소켓 공부수업 때 배운 JSP, Servlet, AJAX 활용기능사용자 인증 : session 활용실시간 대전 : 웹소켓 활용랜덤 입장 기능 : 빠른 대전사용자 커스텀 입장 가능 : 랜덤 코드를 활용해 입장 가능실시간 채팅 : 웹 소켓 활용랭킹 : 이긴 횟수로 cnt사용자 검색 : 사용자의 닉네임을 통해 검색화면 구성LandingPageRegisterPageMainPageEnterRoomRandomGame5-1. CustomGameLogout || Unregister친구랑 play 하는 법git에서 코드를 다운받고, tomcat 서버를 설정한다.친구와 같은 wif..

반응형