전체 글
-
2. SQL - 조회DataBase/Oracle 2023. 8. 29. 21:22
- SELECT문 기본 형식 1. 데이터를 조회하는 3가지 방법 (셀렉션,프로젝션,조인) - 셀렉션(행단위 조회) - 프로젝션(열단위 조회) - 조인(두 개 이상의 테이블 사용) 2. SQL의 기본 뼈대, SELECT와 FROM SELECT 칼럼명 FROM 테이블명 DISTINCT -> 중복데이터 제거 ALL -> 모두 출력 (default) SELECT DISTINCT EMPTNO FROM EMP; SELECT DISTINCT JOB,DEPTNO FROM EMP; SELECT ALL JOB, DEPTNO FROM EMP; - alias 설정 - ORDER BY SELECT * FROM EMP ORDER BY SAL; SELECT * FROM EMP ORDER BY DEPTNO ASC, SAL DESC;..
-
쓰레드 기본언어/JAVA 2023. 8. 25. 12:51
1. 멀티스레드의 개념 - 프로세스: 운영체제에서 실행중인 프로그램 - 멀티 태스킹: 두 가지 이상의 작업을 동시에 처리하는 것 (멀티프로세스,멀티스레드) - 스레드: 코드의 실행 흐름, 하나의 프로세스에서 멀티 태스킹 > 멀티 프로세스 환경에서 하나의 프로세스의 오류가 다른 프로세스에 영향x > 멀티 스레드는 하나의 스레드 예외는 다른 스레드에 영향 1.2 main 스레드 - 자바 프로그램은 메인 스레드가 main()메서드의 시작과 함께 실행된다. - 하나의 스레드는 첫 코드부터 순차적으로 실행, 마지막 코드 실행 혹은 return문을 만나면 종료 - 메인 스레드에서 추가 작업 스레드를 만들어서 실행 가능 - 멀티 스레드에서는 작업 중인 스레드가 남아있으면, 프로세스 종료하지 않는다. 2. 작업 스레드..
-
자바 네트워크 네트워크 입출력 (1) - TCP언어/JAVA 2023. 8. 22. 19:19
1. 네트워크 기초 - 네트워크는 여러 컴퓨터들을 통신 회선으로 연결하는 것 - LAN은 가정,회사,건물,특정 영역에 존재하는 컴퓨터 연결 - WAN은 LAN을 연결한 것이다. (WAN이 흔히 말하는 인터넷이다) - LAN과 LAN을 라우터가 연결 - 라우터와 LAN은 스위치로 연결 1.2 서버와 클라이언트 - 네트워크에서 유무선으로 컴퓨터가 연결되어 있다면, 실제로 데이터 주고받는 행위는 프로그램들이 한다. - 서비스를 제공하는 프로그램을 서버, 서비스 요청하는 프로그램을 클라이언트라 부른다. - 인터넷을 통해서 두 프로그램이 통신하기 위해서는 클라이언트가 서비스 요청, 서버는 처리 결과 응답으로 제공한다. 1.3 ip주소 - 컴퓨터의 고유주소이다. 컴퓨터마다 받는 것이 아니라, 네트워크 어답터(LAN..
-
스프링 핵심 원리 (5) - 빈 생명주기Web/Spring 2023. 8. 22. 12:30
1. 빈 생명주기 콜백 시작 - DB 커넥션 풀이나, 네트워크 소켓처럼 애플리케이션 시작 지점에 필요한 연결을 미리 해두고, 종료 시점에 연결을 모두 종료하는 작업 진행시, 객체 초기화 - 종료 작업이 따로 필요하다. public class NetworkClient{ private String url; public NetworkClient(){ connect(); call("연결 메시지"); } public void serUrl(Strin url){ this.url =url; } public void disconnect(){ //.. } //.. } @Configuration static class CycleConfig{ @Bean public NetworkClient networkClient(){ Ne..
-
스프링 핵심 원리 (4) - 컴포넌트 스캔Web/Spring 2023. 8. 18. 03:56
1. 컴포넌트 스캔과 의존관계 자동 주입 - 스프링 빈을 등록할 때 자바코드나 Xml을 통해 설정 정보를 직접 등록했음 - 설정 정보 없이 자동으로 스프링 빈을 등록하는 컴포넌트 스캔이라는 기능 있다. - 의존관계 자동 주입하는 @Autowired 기능도 제공한다. @Configuration @ComponentScan public class AutoAppConfig{ } > 컴포넌트 스캔을 사용하려면, 설정 정보에 @ComponentScan을 붙여주면 된다. > @Component 어노테이션이 붙은 클래스를 스캔해서 스프링 빈으로 등록한다. @Configuration도 스캔 대상이다. @Component public class MemoryMemberRepository implements MemberRep..
-
스프링 핵심 원리 (3) - 싱글톤 컨테이너Web/Spring 2023. 8. 17. 15:22
1. 스프링 컨테이너의 이점 (싱글톤) 1.1 앱 어플리케이션과 싱글톤 - 스프링은 기업용 온라인 서비스 기술을 지원하기 위해 탄생 - 스프링 어플리케이션은 대부분 웹 어플리케이션임 - 웹 어플리케이션은 보통 여러 고객이 동시 요청한다. AppConfig appConfig = new AppConfig() MemberService memberService1 = appConfig.memberService(); MemberService memberService2 = appConfig.memberService(); - 설정 클래스인 순수 DI 컨테이너 AppConfig를 사용해서 memberService를 생성해보자 - memberService()메서드는 내부적으로 생성자를 사용하여 구현체를 생성하므로, 요청시..
-
스프링 핵심 원리 (2) - 스프링 컨테이너와 스프링 빈Web/Spring 2023. 8. 17. 12:14
1. 스프링 컨테이너 생성 ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class); - 위와 같이 스프링 컨테이너 생성, ApplicatoinContext는 인터페이스이다. (구현객체 어노테이션~,xml~등) - 스프링 컨테이너는 XML기반 혹은 애노테이션 기반으로 만들 수 있다. 1.1 스프링 컨테이너 생성 과정 - ApplicationContext 구현객체를 생성하면, 스프링 컨테이너에 빈 저장소가 생성되고, 파라미터로 넘어온 구성 정보를 통해 스프링 빈 저장소가 채워진다. - 빈 이름은 메서드명, 빈 객체는 리턴 값으로 채워진다. - 빈 이름은 직접 부여할 수 있다.( @Bean(na..
-
스프링 핵심 원리 (1) - 예제 순수 자바 to 스프링 컨테이너Web/Spring 2023. 8. 16. 18:49
- 객체 지향 프로그래밍의 원리에 맞게 회원 및 주문 서비스를 만들어보자 - 객체 지향 설계에서 협력 - 역할 - 책임의 관계는 매우 중요하다. 역할: 객체가 수행할 책임들을 의미하고, 다형적인 특징을 보여준다. 책임: 객체가 수행해야할 행위 공용인터페이스 - 객체지향- 다형적 특징은 역할과 구현을 분리함으로써 달성할 수 있다. 캡슐화: - 데이터 숨김, 내부 구현 숨김,메시지를 통한 데이터 접근 -> 객체 자율성 부여 - 오류의 범위 캡슐 내부화 -> 유지보수에 유리 타입: 객체를 나누는 기준 -> 할 수 있는 책임(행위)에 따라 객체 분리(classify) 클래스: 객체를 생성할 수 있도록 언어적 차원에서 지원된 정적 객체 생성 방법 - 객체지향적 설계에서 가장 중요한 것은 협력관계를 통해 적절히 책..