Programming 323

스프링(spring)/ +더하기 6(게시판별 좋아요 시스템 구현)

1. 1:1 논쟁이라는 시스템을 살려서 그 매치 자체에 대한 좋아요 기능을 구현하고자 한다. 먼저 천천히 숨을 가다듬고, 매퍼파일 부터 추가한다.(새로운 테이블 객체 생성시, VO파일에 추가 필수!) update counter set senderGood = senderGood+#{senderGood}, senderBad = senderBad+#{senderBad}, receiverGood = receiverGood+#{receiverGood}, receiverBad = receiverBad+#{receiverBad}, debateGood = debateGood+#{debateGood}, debateBad = debateBad+#{debateBad} where channel= #{channel} SELEC..

스프링(spring)/ +더하기 5(관전 시스템)

1. 먼저 해당 게시글을 토대로 생성된 1:1 매칭을 댓글처럼 모두 나열 시켜본다. 먼저 jsp파일에 링크 추가 논쟁 둥지 2. Controller단에서 url매핑 // 논쟁 둥지 @RequestMapping(value = "/debateNest", method = RequestMethod.GET) public void getDebateNest(@RequestParam("idx") int idx, Model model) throws Exception { List debateNest = null; debateNest = service.debateNest(idx); model.addAttribute("debateNest", debateNest); List originList = null; originList..

스프링(spring)/ +더하기 4(1:1게시판 시스템)

1. 1:1채팅 아이디어를 변용해서 1:1 게시판 시스템을 만들어보고자 한다. 게시물 리스트를 받아오는데, 해당 주제에서 글을 쓴 본인 아이디로 접속 시에는 1:1게시판 버튼이 안보이게 일단 설정, jsp파일에 링크를 연결시켜준다. 대결 *debate라는 jsp에 ?쿼리로, 해당 데이터를 넘겨줘서 get페이지로 사용하겠다. 2. 그 먼저 1:1게시판의 특징을 데이터 모델링 해서 Controller 단에서 url과 데이터 처리 로직을 매핑시켜 준다. 주제 관련 게시물A의 1:1 논쟁 게시판 클릭 > 게시물A의 내용과 논쟁 요청자(보낸이) user가 작성한 게시글 데이터 내용 // 1:1 논쟁 게시판 시스템 @RequestMapping(value = "/debate", method = RequestMetho..

스프링(spring)/ +더하기 3(세션 활용 게시물 등록)

1. 세션을 활용하여 회원 권한으로 글 쓰는 시스템을 만들어 본다. 먼저, jsp단에서 시작할 링크로 태그를 걸어준다. 글쓰기 * '?쿼리'를 사용하여 어떠한 값을 포함해서 get요청을 보냈다. 이것은 외래키로 참고할 데이터를 커스텀. 2. 그리고는 get요청을 처리할 Controller에서 url매핑 먼저 해준다. //게시물 작성 @RequestMapping(value = "/write", method = RequestMethod.GET) public void getWirte(@RequestParam("sub_idx") int sub_idx, Model model) throws Exception { List subject = null; subject = service.subject(sub_idx); m..

스프링(spring)/ +더하기 2(데이터베이스 상호작용, 주제별 게시판 만들기)

지금까지 데이터베이스를 활용해서 간단하게는 하나의 테이블에서 하나의 작업을 처리하여 결과물로 가져왔었다. 1. 이번에는 여러 작업을 여러 테이블에서 처리하여 jsp에서 뿌려주는 방법을 알아본다. 먼저, 시작할 링크로 태그를 걸어준다. 인공지능과 자동화 * 아직 많은 자료를 반복으로 처리해야할 지점이 아니기에 / '?쿼리'를 사용하여 get요청을 보낸다. 2. 그럼 url을 매핑시켜줄 Controller단 // 주제 페이지 @RequestMapping(value = "/subject", method = RequestMethod.GET) public void getSubject(Model model, @RequestParam(value = "sub_idx", required = false, defaultVa..

C# / 동기(async), 비동기(await), 병렬(parallel) 처리

# 동기, 비동기, 그리고 병렬 처리 다양한 방식으로 작업을 처리하고 성능을 최적화하는 데 도움을 줍니다. 각각의 처리 방식을 비교하여 설명하겠습니다: 1. 동기 처리 (Synchronous): - 동기 처리는 작업이 순차적으로 실행되는 방식입니다. 즉, 한 작업이 완료되기를 기다린 다음 다음 작업을 수행합니다. - 일반적으로 단일 스레드에서 작업이 처리되며, 한 작업이 끝나야 다음 작업을 수행할 수 있습니다. - 동기 처리는 간단하고 예측 가능하지만, 대규모 또는 시간이 오래 걸리는 작업에서는 성능 문제가 발생할 수 있습니다. 2. 비동기 처리 (Asynchronous): - 비동기 처리는 작업이 병렬적으로 실행되는 방식으로, 다른 작업이 진행 중일 때 다른 작업을 시작할 수 있습니다. - 비동기 키워..

웹앱(Web app)에 관하여

# 웹 앱(Web App) 웹 브라우저를 통해 인터넷에 접속하여 실행되는 응용 프로그램입니다. 기존의 데스크톱 애플리케이션과는 달리, 사용자는 웹 브라우저만으로 해당 앱을 이용할 수 있으며 별도의 설치 과정이 필요하지 않습니다. 웹 앱은 웹 기술을 사용하여 다양한 플랫폼에서 동작할 수 있고, 사용자들은 모바일 장치나 컴퓨터를 통해 액세스할 수 있습니다. 웹 앱은 다양한 목적과 기능을 가질 수 있으며, 예를 들어: 1. 소셜 미디어: 페이스북, 트위터, 인스타그램 등과 같은 소셜 미디어 플랫폼은 사용자들이 사진을 공유하거나 친구들과 소통할 수 있는 웹 앱입니다. 2. 온라인 쇼핑: 아마존, 이베이와 같은 온라인 쇼핑 웹 앱은 사용자들이 제품을 검색하고 주문할 수 있는 기능을 제공합니다. 3. 업무 관리: ..

Programming/etc 2023.08.03

RESTful API(Representational State Transfer)

# RESTful API 웹 서비스를 구축하는 데 사용되는 설계 원칙 중 하나로, 간단하게 말하면 웹 기술을 사용하여 데이터를 주고받는 방법을 정의하는 규칙입니다. REST는 Representational State Transfer의 약자로, 리소스(데이터)를 표현하고 상태를 전달하는 방식을 의미합니다. RESTful API의 주요 특징과 개념은 다음과 같습니다: 1. 리소스(Resource): RESTful API는 모든 것을 리소스로 간주합니다. 예를 들어, 사용자, 게시물, 제품 등은 각각 리소스가 될 수 있습니다. 2. URI (Uniform Resource Identifier): 각 리소스는 고유한 식별자인 URI를 갖습니다. URI를 통해 어떤 리소스에 접근하고자 하는지 명확하게 표현할 수 있..

Programming/etc 2023.08.03

jQuery와 Ajax

# AJAX(Asynchronous JavaScript and XML): JavaScript를 사용하여 비동기적으로 서버와 데이터를 교환하는 기술 # Get 요청 $.ajax({ type: 'GET', url: '/example', // 요청할 URL success: function(responseData) { // 서버로부터 성공적으로 응답을 받았을 때 실행되는 콜백 함수 // responseData는 서버에서 받은 응답 데이터를 담고 있음 console.log(responseData); // 예시로 콘솔에 응답 데이터를 출력 }, error: function(xhr, status, error) { // 요청이 실패했을 때 실행되는 콜백 함수 console.error('AJAX 요청 실패:', stat..

스프링(spring)/ +더하기 1(검색 시스템과 알림 시스템)

1. 검색하는 방법에 대해 생각해보다가 검색은 한 번에, 출력은 원하는 것만 하는 것이 편해 보였다. 그래서 단순히 하나의 키워드로 데이터베이스 검색 시스템 다듬어 보자. 먼저 임포트 시킬 것들. 부트스트랩과 제이쿼리 그리고, 입력란과 버튼을 하나 만든다. 검색 그리고 자바스크립트로 버튼 행위 제어 document.getElementById("searchBtn").onclick = function() { let keyword = document.getElementsByName("key")[0].value; if (keyword.trim() === "") { return; } else { // 검색어가 입력된 경우 검색 기능 수행 let url = "/board/search?keyword=" + keywo..