목록분류 전체보기 (208)
YJ의 새벽
Java 의 특징 설명해라. -- Java 는 객체지향 프로그래밍 언어이다. -- 기본 자료형을 제외한 모든 요소들이 객체로 표현되고, 객체지향 특징인 캡슐화, 상속, 다형성 이 잘 적용되어있다. 장점 : JVM ( 자바가상머신 ) 위에서 동작하기때문에 운영체제에 독립적이다. : GarbageCollector를 통한 자동적인 메모리 관리가 가능하다. 단점 : JVM 위에서 동작하기 때문에 실행속도가 상대적으로 느리다. : 다중 상속이나 타입에 엄격하며, 제약이 많다. JVM 의 역할 설명해라. -- JVM 은 스택 기반으로 동작하며, Java Byte Code를 OS에 맞게 해석 해주는 역할을 하고 가비지컬렉터를 통해 자동적인 메모리를 관리. Java에서 제공하는 원시타입들 설명해라. -- 정수형 byt..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/mqoFf/btsnvYTbgw2/1K9dGDXlRvxkQbqHeskMS1/img.png)
WAS ( Web Application Server) 와 WS (Web Server) 차이를 설명해라. WAS (Web Application Server) : - 애플리케이션을 수행해주는 미들웨어 , 동적컨텐츠를 수행하는것으로 WS와 구분. - 주로 데이터베이스 서버와 같이 수행. - 비즈니스로직을 넣을수 있음. - Tomcat , PHP , ASP , .NET 등 WS (Web Server) - 클라이언트가 웹 브라우저에서 어떠한 요청을 하면 요청을 받아들여 정적컨텐츠를 제공하는 서버. - 비즈니스로직을 넣을수 없음. - Nginx , Apache 등 Spring Framework 에 대해 설명해라. -- 스프링 프레임워크는 자바 개발을 편리하게 해주는 오픈소스 프레임워크이다 . -- 경량 컨테이너로서..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/o8Nk5/btsgQpDAnKH/xoCnBYa2JdxpkjM8o9YLgk/img.png)
Docker -- 애플리케이션을 개발/배포/실행 하기위한 플랫폼. -- 컨테이너를 사용하여 애플리케이션 및 지원 구성요소 개발. -- 리눅스 자체 기능을 사용하여 프로세스 단위의 격리 환경 제공. -- 배포 용량과 시간을 단축하고, 성능 손실을 최소화 https://www.docker.com --- 재부팅후 ( WSL ) --- 받아서 실행합니다 ~!! ------------------------------------------------------------------------------------------------------------ cmd --> search 할 이미지 검색 --- docker pull 다운받을 이미지 ---- docker 에서 확인 . --- cmd 창에서 다운받은 이미지 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/nhosn/btsftKiG5RI/zhKgCplpkBKtM77Rzi5Gf1/img.png)
WebSocket - 브라우저와 웹 서버간의 전이중 통신을 지원하는 프로토콜 전이중 통신(Full Duplex) : 두대의 단말기가 데이터를 동시에 송/수신 하기 위해 각각 독립된 회선을 사용하는 통신 방식(ex. 전화 ) - HTML5 부터 지원 - Java 7 부터 지원 (8 버전 이상 사용 권장) - Spring Framework 4 이상 부터 지원 WebSocketHandler 인터페이스 : 웹소켓을 위한 메소드를 지원하는 인터페이스 -> WebSocketHandler 인터페이스를 상속받은 클래스를 이용해 웹소켓 기능을 구현 **** WebSocketHandler 주요 메소드 *** void handlerMessage(WebSocketSession session, WebSocketMessage m..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/KdPjS/btse3FV7HeA/6NiOgxK3JmmFD6P1VWZkAK/img.png)
Spring AOP ?? -- 관점 지향 프로그래밍 !!! -- 중복되는 공통 코드부분을 별도의 영역으로 분리 !!! -- 소스코드의 중복을 줄이고, 필요할때마다 가져다 쓸수있게 객체화 하는 기술 !!! *** Aspect ?? : Advice + Pointcut == 기능이 수행. -- 동작코드를 의미하는 Advice 와 작성한 Advice가 실제로 적용된 메소드인 Pointcut 을 합친 개념. -- AOP 개념을 적용하면 핵심기능 코드 사이에 끼어있는 부가기능을 독립적인 요소로 구분해 낼 수 있고, 이렇게 구분된 부가기능 Aspect는 런타임 시에 필요한 위치에 동적으로 참여하게 할 수 있다. -- pom.xml 설정정보 확인 . --- servlet-context.xml 에 proxy 추가. **..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cWtraY/btseP6sdHAx/Bbre1IoOGi1dywCpJVUKCK/img.png)
@Scheduled Spring에서 제공하는 스케줄러 - 스케줄러 : 시간에 따른 특정 작업(Job)의 순서를 지정하는 방법. * 설정 방법 1) servlet-context.xml -> Namespaces 탭 -> task 체크 후 저장 2) servlet-context.xml -> Source 탭 -> 추가 @Scheduled 속성 - fixedDelay : 이전 작업이 끝난 시점으로 부터 고정된 시간(ms)을 설정. - fixedRate : 이전 작업이 수행되기 시작한 시점으로 부터 고정된 시간(ms)을 설정. cron 속성 : UNIX계열 잡 스케쥴러 표현식으로 작성 - cron="초 분 시 일 월 요일 [년도]" - 요일 : 1(SUN) ~ 7(SAT) ex) 2019년 9월 16일 월요일 10..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/MMJoY/btseHmuhedK/Lk6OzKZGCz6BLJL571iM8K/img.png)
--- 댓글 테이블을 살펴보자. -- 이상태로 목록을 뽑아가면 , 댓글,대댓글 정렬이 아니라, DB 순서대로 정렬이 된다. -- 댓글과 대댓글 순서가 뒤죽박죽이다. 계층형쿼리로 만들어주자 댓글 목록 조회 ( 계층형 구조 ) -- 상위 타입과 하위 타입간의 관계를 계층식으로 표현할 수 있게 하는 질의어 (SELECT) -- START WITH : 상위 타입(최상위 부모) 으로 사용될 행을 지정 -- CONNECT BY : 상위타입과 하위타입 사이의 관계를 규정. PRIOR (이전의) 연산자과 같이 사용하여, 현재행 이전에 상위타입, 또는 하위타입이 있을지 규정. 부모 --> 자식 계층구조 : CONNECT BY PRIOR 자식컬럼 = 부모컬럼 자식 --> 부모 계층구조 : CONNECT BY PRIOR 부..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ELGle/btsexhUmGNS/WSlVssySR7VrcvNZJ6DmK1/img.png)
---- 삭제는 간단하다. BOARD_ST = 'N' --> BOARD_ST = 'Y' 로 update 문 사용. --- @PathVariable 로 boardCode, boardNo 값을 가져와 --boardNo 값으로 DB 접근 , --boardCode 값으로 redirect 해주자 . --삭제버튼 누르면 , 게시글이 삭제되도록 해보자 . -- 삭제버튼이 화면에 존재할때, 버튼을 누르면 작동하는 이벤트로 함수를 걸어놨다. js 에서 만져보자. -- boardCode 를 맵핑하기위해 jsp -> js 로 쓰일수있도록 전역변수를 jsp 에 선언해두자. // 즉시 실행 함수 : 성능up, 변수명 중복 X (function(){ const deleteBtn = document.getElementById("d..