본문 바로가기
728x90
반응형

Java Web Programming98

[#02. 비동기 프로그래밍] 리액티브 프로그래밍 (with Spring WebFlux) [[_TOC_]]Reactive Programming (with Spring WebFlux)컨셉📝주요 키워드반응성회복성탄력성메시지 주도이벤트 루프 기반 프로그래밍웹에서 사용자의 클릭, 입력과 같은 이벤트가 발생할 때 마다, 해당 이벤트는 데이터 스트림으로 처리새로운 데이터 스트림이 도착할 때 마다 반응(reacting)으로 프로그램이 동작즉, 새로운 데이터가 스트림에 도착할 때 마다 자동으로 이를 감지하고 필요한 작업을 실행(데이터 처리, 조회, UI 업데이트 등..)데이터 폴링이벤트 루프 기반데이터 감지주기적 확인- 시스템이 정기적으로 데이터의 변경 여부를 확인새로운 이벤트 발생 시 자동 반응- 시간에 따라 발생하는 이벤트를 데이터 스트림에 할.. 2024. 4. 25.
[#01. 비동기 프로그래밍] 동기 API / 비동기 API 차이(with blocking/non-blocking) 비동기 프로그래밍💡 비동기 프로그래밍?작업 실행의 완료를 기다리지 않고, 다른 작업을 동시에 진행할 수 있는게 하는 프로그래밍 방식멀티스레딩과 유사하지만, 비동기 프로그래밍은 단일 스레드에서 이벤트 처리 및 콜백을 통해 구현되기도 하기 때문에 명시적 스레드 관리 없이도 동시성을 달성할 수 있다.동기 API 와 비동기 API의 차이동기 vs 비동기작업 완료 처리의 주체동기: 호출자가 작업 완료 처리 (호출자가 직접 처리 결과를 반환하여 획득)비동기: 메서드를 수행하는 피호출자가 작업 완료 처리 (처리 결과를 호출자에게 전달)Blocking vs Non-Blocking함수의 처리값이 언제 반환되는지blocking: 작업 완료 후 반환non-blocking: 즉시.. 2024. 4. 25.
[CSS] CSS Position (relative, absolute) 한 방에 정리! 목차 1. Position 속성 1-1. Relative 1-2. Absolute 1-2-1. 부모 relative & 자식 absolute 1-2-2. 조상 relative & 자식 absolute 1-2-3. 조상 position 없음 & 자식 absolute 1-3. Fixed CSS Position CSS Position 요약 position 속성을 통해 문서 상에 요소를 배치하는 방법을 지정한다. top, right, bottom, left 속성을 통해 요소의 최종 위치를 결정한다. 사용법은 간단하다. 기준을 잡는다. (예- position: relative;) 이동시킨다. (예- top: 50px;) 🎈알아두기 block inline block : 한 줄 모두 차지 (대표 element - ,.. 2021. 2. 2.
[REST API] REST / REST API 개념과 적용 + 코드 예제 (SpringBoot 기반) [ REST (REpresentational State Transfer) ] : "분산 시스템"을 위한 HTTP 기반 소프트웨어 아키텍쳐 * 즉, 웹 어플리케이션, 다양한 언어, 모바일 어플리케이션, 다른 서버 (*다 HTTP 기반) 등 끼리 서로 통신할 수 있도록, 통역 역할을 해주는 API 참고) 분산시스템 : 하나의 시스템으로 보이는 독립된 컴퓨터들의 집합 -> 이를 위해 네트워크를 통한 컴퓨터 간의 통신이 필요 REST 구성 3가지 : 자원 , 행위 , 메시지 자원(resource) : 접근할 대상 메서드 : HTTP Method - GET(조회) , POST(생성) , PUT(수정), DELELTE(삭제) * 일반적으로는 GET, POST 방식을 사용하나, REST에서는 PUT, DELETE도 .. 2020. 12. 22.
[Spring/MyBatis] Tiles Framework (스프링 타일즈) 환경 설정 [ Tiles Framework ] : 웹페이지 템플릿을 위한 프레임워크 - 반복적으로 jsp 로 처리되었던 header, footer, left 등의 view layout의 정보를 모아서 관리하여, 효과적으로 개발하고, 유지보수하기 위한 프레임워크 - 반복되는 부분을 설정파일로 한 번만 설정하고, 수정 시 설정 파일의 일부만 변경해도 모든 tiles 페이지가 적용된다. [ Tils Framework 환경설정 ] 1. Maven pom.xml에 추가 org.apache.tiles tiles-jsp 3.0.3 org.apache.tiles tiles-core 3.0.3 2. Tiles 설정 파일 정의 : tiles-config.xml (webapp/WEB-INF) 3. template jsp 작성 : la.. 2020. 11. 18.
[SpringBoot] 스프링 부트 간단 예제! 아래의 설정 정보는 아래 포스팅을 참고하세요! Maven pom 설정 - pom.xml > Spring Boot 환경 설정 /src/main/resource/application.properties # port setting server.port=7777 # dbcp setting spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver spring.datasource.url=jdbc:oracle:thin:@127.0.0.1:1521:xe spring.datasource.username=scott spring.datasource.password=tiger #view resolver spring.mvc.view.prefix=/WEB-INF/v.. 2020. 11. 17.
[SpringBoot] 스프링부트 환경설정 [ Spring Boot ] 스프링 부트는 스프링의 하위 프로젝트 중 하나로써, "단독으로 빠르게 개발 가능한 스프링 프로젝트"이다 프로젝트 차원에서 웹컨테이너를 내장하여, stand-alone 한 프로젝트를 지원한다 (물론 기존 방식으로 서버에 배포해서 실행 가능하다) ( * stand-alone[스탠드 얼론]이란 다른 어떤 장치의 도움 없이 그 자체만으로 완비된 장치를 말한다) 스프링 관련 복잡한 설정을 자동화하고 간편화하여, 효율적으로 개발 할 수 있도록 지원한다 [ 환경 설정 ] 1. Spring Starter Project 생성 2. name, versionName, Group, Java Version, Package 등을 본인에 맞게 설정해준다. 3. SQL-MyBatis, Web- Sprin.. 2020. 11. 17.
[SpringMVC/MyBatis] Transaction(트랜잭션) 적용 (회원관리) [ Transactio 트랜잭션 ] 트랜잭션(transaction) : 논리적 작업 단위 (데이터 처리의 단위) - commit : 변경 사항을 실제 DB에 저장 - rollback : 변경 사항을 취소, 원상태로 복귀 AOP @Transactional : 선언적 방식의 트랜잭션 관리 참고) 프로그래밍적으로는 connection에서 setAutoCommit(false)를 설정해서, 수동커밋 모드에서 정상수행 시 commit, 문제 발생 시 rollback ex) 계좌 이체(논리적 작업단위)라는 트랜잭션에서는 출금 후 송금처리가 완료되지 않은 상태에서 문제가 발생할 경우, → rollback하여 출금을 취소하고 문제 없이 송금처리가 완료될 경우 → commit하여 작업을 마무리한다. * 참고 트랜잭션의 4.. 2020. 11. 17.
[SpringMVC/MyBatis] 회원 게시판 어플리케이션 구현 (Paging 페이징) [ Spring 회원 게시판 ] 적용 기술 : javase, jdbc , javascript, jquery , css , bootstrap , Servlet/JSP,JSTL , spring ioc , springmvc , mybatis , sql 분석 로그인 로그아웃 목록 페이징 글쓰기 상세보기(조회수) 삭제 수정 1. insert (글쓰기), delete(삭제) , update(수정) 는 POST request method 2. File List Model - MemberMapper - BoardMapper - MemberService , Impl - BoardService, Impl - PostVO , MemberVO Controller - MemberController - BoardControlle.. 2020. 11. 16.
728x90
반응형