분류 전체보기
-
HackerRank) Weather Observation Station 4알고리즘, SQL/SQL 2023. 11. 12. 22:15
개요 SQL을 계속 안쓰다보니 까먹어서 다시 써보고자 HackRank문제를 풀어보기로 했다. 뭔말이지..? 하다가 아래 예시보고 이해했다. 전체 CITY리스트 중에서 유니크한 CITY리스트 개수를 빼라 오랜만에 쓰는 SQL이라 고유한 이름의 CITY 갯수를 어떻게 구하지? 하면서 //잘못된 예시임.. (SELECT COUNT(*) FROM station GROUP BY(city)) - (SELECT city, COUNT(*) FROM station GROUP BY city HAVING COUNT(*) = 1); 이런식으로 말도 안되게 헤매다가 검색하면서 알게 됐다. COUNT(DISTINCT 컬럼명)이 된다는 것을.. SELECT COUNT(city) - COUNT(DISTINCT city) FROM s..
-
MVC 패턴Java 2023. 11. 12. 19:21
개요 학원에서 웹MVC 패턴의 프로젝트를 만들면서 비즈니스 로직을 모두 Controller에 넣어버렸다. 결국 Controller에서 다 가공된 데이터를 받은 Service는 DAO에게 데이터를 넘겨주는 역할만 할 뿐이었다. Service가 왜 필요하지? 라는 의문과 함께, 친구가 Controller가 하는 역할과 책임을 다시 공부해보면 좋을 것 피드백을 해줘서 MVC패턴을 더 자세하게 알아봐야겠고 생각했다. MVC패턴이란 Model-View-Controller의 약자로 어플리케이션을 세 가지 역할로 구분한 개발 방법론이다. 사용자의 요청을 Controller가 받고 Model에 연결해주며, Model에서는 필요한 데이터와 비즈니스 로직을 처리한 후 가공된 데이터를 Controller로 주며, Contr..
-
HTTP 기초CS 2023. 11. 11. 18:13
HTTP란 HyperText Transfer Protocol의 약자로 웹에서 클라이언트와 서버간의 컨텐츠(HTML/JavaScript/Css/이미지 등)를 주고 받기위해 서로 알아볼 수 있는 메세지이다. HTML과 같은 Text파일뿐만 아니라 이미지 오디오 동영상과 같은 다양한 멀티미디어 파일을 전송하는 프로토콜이다. 즉, HTTP는 클라이언트의 Request와 서버의 Response를 위한 메세지이다. 프로토콜(protcol) : 컴퓨터 네트워크나 통신 시스템에서 통신 간의 규칙이나 규약을 의미한다. 프로토콜은 특정한 통신 형태나 서비스의 표준화된 방법을 정의하며, 이는 효율적이고 정확한 데이터 교환을 가능케 한다. ex) TCP/IP(Transmission Control Protocol/ Intern..
-
[리팩토링] Controller/ Service/ DAO 책임 분배프로젝트/웹 ERD 프로젝트 2023. 11. 9. 16:41
프로젝트를 진행하면서 Controller/ Service/ DAO(Data Access Object)로 나눠서 진행을 했었는데, 정확히 "왜 나누지?" 에 대한 궁금증을 해결하지 않고 프로젝트를 진행하다 보니 Controller에서 너무 많은 일을 하는 것 같다는 피드백이 들어왔다. Controller/ Service/ DAO 각각의 책임 Controller 클라이언트의 요청을 처리하고 해당 요청에 대한 응답을 생성하는데 사용 UI와 상호작용하고, 클라이언트에서 받은 데이터를 처리 데이터 유효성 검사, 사용자 입력 처리, 응답생성 등의 제어흐름을 관리 Service 비즈니스 로직을 구현하고 제공하는 역할 Controller와 DAO간의 중간 레이어로 작용하여 비즈니스 로직을 추상화하고 모듈화 데이터를 가..
-
팀 프로젝트프로젝트/웹 ERD 프로젝트 2023. 11. 9. 15:10
원래는 노션에 정리하고 있었지만, 노션의 틀이 너무 자유로워서 중구난방으로 보였다. 그래서 처음부터 티스토리에 다시 정리해보자는 생각으로 블로그를 개설했다. 우선, 8월말부터 10월31일까지 학원사람들과 함께 팀 프로젝트를 진행했다. 프로젝트 주제는 웹 ERD 프로그램이었고, 내가 맡은 부분은 내부 메일기능/ 프로젝트 알림(웹소켓 활용)/ WBS API 이다. 1. 내부 메일 내부 메일쓰기 / 내게 쓰기 메일함 / 메일 상세보기 첨부파일 다운로드 2. 프로젝트 알림(WebSocket활용) 프로젝트 생성시, 프로젝트 참여인원들에게 토스트 메세지를 띄움 로그인 되지 않은 참여인원은 상단 메뉴바에 알림 아이콘을 통해 확인 가능 3. WBS 프로젝트 관리 API / Todo관리 API 발표기한 때문에 급하게 마..