WAS ( Web Application Server )GNU GPL (General Public License) 과 비슷한,Apache License을 따른다.오픈 소스 소프트웨어로 좋은 프로그램을 무료로 쓰게 해준다!누구나 해당 SW에서 파생된 프로그램을 제작할 수
배웠던 핵심 내용을 떠올리기 위한 기록으로 글을 작성합니다.여러 개의 테이블로부터 원하는 데이터들을 뽑아오는 문법FROM절에 테이블이 2개다.JOIN된 테이블은 2개 ~ 무한개가 될 수 있다.Equi JoinNon-Equi JoinOuter JoinSelf Join게시
쿼리 안의 쿼리이다.Main Query안에 있는 쿼리이다.N개 이상의 쿼리가 겹쳐질 수 있다.값을 뽑아내는 데에 사용하거나 ( 스칼라 서브쿼리 ), 인라인뷰를 추출하는데 사용할 수 있다.복잡한 서브쿼리를 짤 때에는 가장 안쪽의 서브쿼리에서부터 Bottom-Up 방식으로
전체 집합도 하나의 그룹이라 생각하면 된다.DEPT와 EMP 를 JOIN 할 때,DEPT에는 40번 부서가 있지만 EMP에는 40번 부서를 가진 사람이 없는 상황이다.이 때, INNER JOIN ( EQUI JOIN )을 걸게 되면,40번 DEPT 번호가 누락된다.만약
커미션이 NULL이거나 0인 사원의커미션은 500으로, 그렇지 않으면 COMM을 출력하시오.원본 컬럼은 변경하면 안된다.그외 인원들을 ‘그외’ 컬럼으로 뽑아주세요날짜 비교는 \*\*00:00:00\*\* 까지 하므로, \*\*1981/12/31\*\* 까지로 계산하면
교육 8일차 아침에는 SQL 시험을 보았습니다.지금까지 다루었던 SQL 문법 모든 범위가 시험 범위였습니다.SW 마에스트로를 준비하면서프로그래머스 SQL 고득점 Kit를 어느정도 풀어봤기에어렵지 않게 풀 수 있을 거라 생각했지만, 상당히 난이도가 있는 편이었습니다.총
2번 문제 풀 때의 특징 : ORDERS 테이블을 보면, USER_SEQ가 FK일 뿐, PK로 등록되지는 않았다. 이 말은, ORDERS 튜플을 생성할 때, USER_SEQ가 없어도 ( 즉, 주문한 유저가 없어도 ORDERS가 생성될 수 있다는 의미이다. ), 이 말은
SQL 명령문의 검색 속도를 향상시키기 위해 칼럼에 대해 생성하는 객체포인터를 이용하여 테이블에 저장된 데이터를 랜덤 엑세스하기 위한 목적으로 사용한다.고유/비고유 인덱스클러스터링 인덱스, 비 클러스터링 인덱스함수 기반 인덱스
객체지향이 무엇인가요? '객체'가 무엇인가요?라고 물어본다면, 횡설수설하게 되는 것 같다.실세계에서 인식할 수 있는 모든 대상을 객체 라고 한다면,무슨 철학하는 것도 아니고, 와닿지도 않는다.
Java 언어를 많이 접해보고Java로 코딩테스트를 어느정도 준비해보았는데도'형변환'은 어렵다.기본적인 내용이라 생각했고당연히 알고있다고 자만했었는데,절대 제대로 이해하고 있지 않았다는 것을이번 수업을 들으며 깨닫고 있다.일단 첫번째로 중요한 건'언제 (묵시적) 형변환
같은 타입의 데이터의 연속된 집합int\[] ... / long\[] ... ( Primitive Type Array 선언 )T\[] ... / Long\[] ... ( Reference Type Array 선언 )Object 타입, 혹은 부모 타입을 통해 선언함으로써
( 없다면, 으로 가정하면 잘 대답할 수 있다 ! )Overloading이 없다면,비슷한 기능을 하는 메서드들의 이름을 다 다르게 했어야 한다.동일한 기능을 하는데 이름이 다르면 사용하기 힘들어서기억하기 쉽고, 사용하기 쉽고, 관리하기 쉽다.메서드 시그니처가 다르면 (
클래스가 이제 여러개임.클래스 상속인터페이스 상속import, \*\*extends\*\* ( 클래스 )implements ( 인터페이스 )Access Modifier ( private, protected, public, default )왜 use 가 아니라 re-us
상속은 기반 클래스를 확장하여 새로운 클래스를 만드는 것입니다.기존 코드를 재사용하거나, 부모 클래스 타입 종류의 자식 클래스들이 수행할 기능에 공통점, 실행의 큰 틀이 있을 때 사용하면 좋습니다.상속은 부모 클래스의 변수와 메서드를 모두 물려받습니다.
변수상수, 값이 변할 수 없음.단, 인스턴스 변수의 경우 생성자를 통해 초기화 가능하다.메서드클래스final이 붙은 변수는 상수이므로, 보통은 선언과 초기화를 동시에 하지만인스턴스 변수의 경우 생성자에서 초기화할 수 있다.이미 값을 넣어놨다면? ( 명시화 초기화 )생성
구조적 : 다른 클래스들이 Pclass의 자손으로 관리가 되어질 필요가 있는 경우기능적 : 다른 클래스들이 Pclass에서 제공되는normalMethod() 공통 기능을 사용하고,일부 메서드인스턴스를 못 만드는 추상~이고, 이걸 위해 쓴다. 라는 형식으로 쓸 수 있어야
연속된 메모리 할당캐시의 지역성 ( 공간 지역성 ) 활용 가능추가/수정/조회 연산(인덱스를 안다면) 빠름 ( O(1) ),중간값 수정, 삭제 연산 느림 ( 찾는 시간 : O(N), 삭제하고 앞으로 다시 밀어버리는 시간 추가되어 느림 )(컴파일 시) 클래스, 메서드 등에
API는 어플리케이션 사이에서 정보를 주고받기 위해요청과 응답의 양식을 미리 정해놓은 것입니다.API의 사용자(클라이언트)는API 제공자가 이미 잘 만들어놓은 기능을 호출하는 방법만 숙지하고, 이를 따르면쉽게 검증된 기능을 구현할 수 있습니다.
값을 담는 객체를 의미합니다.예전에 DB에서 데이터를 가져올 때, Collection Framework를 사용하여 데이터를 담았습니다. \- List<String> 과 같이 리스트의 인덱스가 의미하는 컬럼이 있고, 이에 해당하는 값을 String으로 담는 방식,
네트워크를 통해 접근할 수 있는 Java Program
자바 기반의 웹 컴포넌트웹에서 호출 가능한 자바 프로그램HTML에서 POST 요청을 보내기 위해서는 <form> 태그를 사용할 수 밖에 없다. (이외 다른 방법이 없다.)<a href> 태그를 통해 GET 요청을 보낼 수 있다.JS Script를 통해 API
1) Login / Signup JSP + Servlet 로직 개발 완료2) <form> 태그는 한 HTML 안에 여러 개가 올 수 있음.하지만, <form> 태그 안에 <form> 태그가 하나 더 있는건 동작하지 않음.(화면 상에 문제가 없음)3) 서
index.jsp -> tables.jsp로 갈 때 a href 을 통한 GET 요청으로 서버에 요청을 할 수 있다.<a href="<%=request.getContextPath()%>/board_servlet?pagecode=B001">JSP 내에 자바 코
Forwarding클라이언트 입장에서 다시 GET요청을 하게 됨.브라우저의 URL 창이 변함.새로 고침을 하더라도 최근의 요청은 GET이기에, GET요청만 다시 하게 됨.페이지 전환이 일어나긴 하지만, URL 창이 방금의 요청새로고침하면 최근의 요청이 다시 일어남서블
다른 서비스 (프로바이더)에서 데이터를 가져올 줄 안다.비동기 통신을 할 줄 안다. \- 통신에 사용되는 데이터 형식은 JSON / XML ( 95% : 5% )을 통해 가능하다.웹 개발을 할 줄 안다.REST : 웹 서비스를 위한 분산 시스템 아키텍처 <a h
특정 URL에 접속 시, 이를 처리하는 서블릿 (java의 경우) 내에서 Redirect 혹은 Forward가 일어날 수 있다.이 때, 기존에 작업중이던 페이지가 전환된다. 즉, 서버에 요청하기 전의 페이지에서 다른 페이지로 이동하게 된다.이 때, 포워드는 서버 내에서
스프링 프레임워크는 제공하는 기능에 따라 별도의 모듈로 분리됩니다.ex) 트랜잭션과 관련된 기능을 제공하는 모듈은 spring-tx, 웹 개발과 관련된 기능을 제공하는 모듈은 spring-webmvc, jdbc와 관련한 기능을 제공하는 모듈은 spring-jdbc어떠한
스프링을 들어가기 전 마지막으로 자바 시험을 보았습니다.괜찮다 싶은 문제들이 몇 개 있어 기록용으로 남겨두려합니다.1번의 경우, 일반적인 배열 선언 방식이 아닙니다. 만약 제 팀원이 이런식으로 배열을 짰다면... 흠... 싶겠지만, 문법적으로 문제가 없습니다. 2차원
정말 궁금했었고, 항상 찾아봐도 제가 원하는 그림 중 일부 단면만 찾아볼 수 있던 내용에 대해 정리할 수 있던 하루였습니다.이 글을 읽고 나시면,서블릿 컨테이너와 스프링 컨테이너의 관계WAS와 WS의 관계에 대해 좀 더 깊이있게 이해할 수 있을 것이라 생각합니다.마치
Eclipse는 하나의 프로그램내부 프로그램 사이에는 내부 호출프로그램과 프로그램 사이에는 외부 호출워드와 한글 사이에는 이미지 삽입 ( RPC 통신 )한글은 워드에서 이미지 삽입 (IPC 통신)을 허용하지 않음.Spring과 Tomcat은 IPC 통신을 하나요?vs
관례에 의한 설정
입출력 ( I/O 담당 )입력 유효성 검사, 예외 입력에 대한 처리, 예외 출력에 대한 처리Repository들을 묶어, 비즈니스 로직들을 담당트랜잭션을 묶음DB 접근 및 쿼리 결과값 반환 역할종류 : JDBC, JdbcTemplate, MyBatis, Hibernat
Object Oriented Programming객관적 사실에 의해 실제로 표현할 수 있는 대상을 메서드와 변수로 표현하려는 프로그래밍 기법입니다. 이렇게 도출된 대상을 객체라고 하며, 이런 객체에 대해 책임을 부여하고 다른 객체와 메시지를 기반으로 통신하며 서비스를
Spring은 여러 개의 모듈로 이루어져 있으며, 각 모듈은 서로간의 의존관계를 가집니다.예를 들어, 1) Spring의 DI 기능만 필요하다면 의존성으로 Spring Core, Spring Context를 추가해주면 되고2) Spring의 AOP 기능만 필요하다면 의
Spring DAOSpring 의 여러 모듈 중 하나입니다.Persistence Layer에서 지원해주는 기능을 모두 지닙니다.ORM ( MyBatis, Hibernate, JPA )과의 연동을 지원합니다.spring-jdbc 모듈에 포함되어 있습니다.JDBC를 좀 더
Java Appmybatis-context.xmlMyBatis 자체 구동에 관련한 설정을 한다.MyBatis와 DB를 연결한다. ( DBCP 연동 )MyBatis가 보아야할 Mapper들을 등록한다.Spring 설정을 담당하는 servlet-context.xml과 비슷
SqlSessionTemplate
계층형 패키지 구조AOP를 적용할 Pointcut 메서드를 작성할 때 편리하다는 장점이 있다.어플리케이션의 흐름 및 가독성이 도메인형보다 좋음.소규모 프로젝트에 적합하다.도메인형 패키지 구조대규모 서비스, Micro-Service로 운영한다면 좋은 설계이다.추후 프로젝
DAO 클래스를 없애자.DAO를 인터페이스화 시키고, 이를 Spring Framework에게 mapper.xml 파일과 연동하도록 설정하여 SQL문과 Application을 분리했다.물론 Spring의 도움 없이 MyBatis만으로도 DB연동이 가능하다.resultMa
1) 첨부파일
구글 API에서 제공하는 라이브러리를 사용하여 Google의 REST 서비스를 사용하는 코드입니다.구글이 OAuth를 위해 제공하는 라이브러리 (jar)상업용으로 한다면 구글이 제공하는게 안전합니다.Google API Docs를 보며 진행해야합니다.API Spec이 바
등장 배경 : 소프트웨어에 대한 개발자의 책임이 높아지는 동시에, 자동화 테스트에 대한 관심이 높아지며 이에 따라 다양한 테스트를 지원하는 프레임워크가 등장했고, 그 중 하나가 JUnit.xUnit의 Java 버전으로, Java 진영에서 단위 테스트를 작성할 수 있도록
개발한 REST API를 편리하게 문서화해주고, 이를 통해 관리 및 제 3의 사용자가 편리하게 API를 호출해보고 테스트할 수 있는 프로젝트우리도 우리 자체도 토큰을 만들어 REST API 자체를 만들어 서비스를 내보내자!KAKAO Developers 의 Token 발
노드가 리액트보다 훨씬 큰 범위리액트는 뷰단으로만 사용한다.리액트의 의존성은 node를 통해 구성할 수 있다.웹 브라우저에서가 아닌, 환경에서의 자바스크립트의 런타임이 필요하다.npm : Node Package Manager의 준말이다.node : 웹 브라우저가 아닌