분류 전체보기
[프로그래머스-Level 03] - 추석 트래픽(c++)
문제 설명 추석 트래픽 이번 추석에도 시스템 장애가 없는 명절을 보내고 싶은 어피치는 서버를 증설해야 할지 고민이다. 장애 대비용 서버 증설 여부를 결정하기 위해 작년 추석 기간인 9월 15일 로그 데이터를 분석한 후 초당 최대 처리량을 계산해보기로 했다. 초당 최대 처리량은 요청의 응답 완료 여부에 관계없이 임의 시간부터 1초(=1,000밀리초)간 처리하는 요청의 최대 개수를 의미한다. 입력 형식 solution 함수에 전달되는 lines 배열은 N(1 ≦ N ≦ 2,000)개의 로그 문자열로 되어 있으며, 각 로그 문자열마다 요청에 대한 응답완료시간 S와 처리시간 T가 공백으로 구분되어 있다. 응답완료시간 S는 작년 추석인 2016년 9월 15일만 포함하여 고정 길이 2016-09-15 hh:mm:s..
[22] REST 방식과 Ajax를 이용하는 댓글처리 - REST 방식으로 전환
과거에는 서버의 데이터를 소비하는 주체가 '브라우저'라는 특정한 애플리케이션으로 제한적이었다면, 모바일의 시대가 되면서 앱에나 웹은 서버에서 제공하는 데이터를 소비하게 된다. 과거의 서버는 브라우저라는 하나의 대상만을 상대로 데이터를 제공했기 때문에 아예 브라우저가 소화 가능한 모든 데이터를 HTML이라는 형태로 전달하고, 브라우저는 이를 화면에 보여주는 역할을 해 왔다. 스마트폰에서는 앱이라 불리는 고유한 애플리케이션을 이용해서 데이터를 소비하게 되고, 보이는 화면 역시 자신만의 방식으로 서비스하게 된다. 앱에서 서버에 기대하는 것은 완성된 HTML이 아니라 그저 자신에게 필요한 순수한 데이터만을 요구하게 되었다. 이처럼 서버의 역할은 점점 더 순수하게 데이터에 대한 처리를 목적으로 하는 형태로 진화하..
[프로그래머스-Level 03] 종이접기(c++)
문제 설명 직사각형 종이를 n번 접으려고 합니다. 이때, 항상 오른쪽 절반을 왼쪽으로 접어 나갑니다. 다음은 n = 2인 경우의 예시입니다. 먼저 오른쪽 절반을 왼쪽으로 접습니다. 다시 오른쪽 절반을 왼쪽으로 접습니다. 종이를 모두 접은 후에는 종이를 전부 펼칩니다. 종이를 펼칠 때는 종이를 접은 방법의 역순으로 펼쳐서 처음 놓여있던 때와 같은 상태가 되도록 합니다. 위와 같이 두 번 접은 후 종이를 펼치면 아래 그림과 같이 종이에 접은 흔적이 생기게 됩니다. 위 그림에서 ∨ 모양이 생긴 부분은 점선(0)으로, ∧ 모양이 생긴 부분은 실선(1)으로 표시했습니다. 종이를 접은 횟수 n이 매개변수로 주어질 때, 종이를 절반씩 n번 접은 후 모두 펼쳤을 때 생기는 접힌 부분의 모양을 배열에 담아 return ..
[21] 기본적인 웹 게시물 관리 - 검색처리
1. 검색 기능과 SQL 게시물의 검색 기능은 다음과 같이 분류 가능하다. 제목/내용/작성자와 같이 단일 항목 검색 제목 or 내용, 제목 or 작성자, 내용 or 작성자, 제목 or 내용 or 작성자와 같은 다중 항목 검색 검색 항목은 제목/내용/작성자와 같은 단일 항목 검색과 제목 or 내용과 같이 복합적인 항목으로 검색하는 방식이 존재한다. 게시물의 검색이 붙으면 가장 신경 쓰이는 부분은 역시 SQL 쪽이다. 오라클은 페이징 처리에 인라인뷰를 이용하기 때문에 실제로 검색 조건에 대한 처리는 인라인뷰 내부에서 이루어져야 한다. 단이 항목의 검색은 검색 조건에 따라서 칼럼이 달라지고, LIKE 처리를 통해서 키워드를 사용하게 된다. 만일 2페이지에 해당하는 데이터를 '제목'으로 검색하고 키워드는 'Te..
[20] 기본적인 웹 게시물 관리 - 페이징 화면 처리
URL의 파라미터를 이용해서 정상적으로 원하는 페이지로 이동하는 것을 확인했다면, 화면 밑에 페이지 번호를 표시하고 사용자가 페이지 번호를 클릭할 수 있기 처리한다. 페이지를 보여주는 작업은 다음과 같은 과정을 통해서 진행한다. 브라우저 주소창에서 페이지 번호를 전달해서 결과를 확인하는 단계 JSP에서 페이지 번호를 출력하는 단계 각 페이지 번호에 클릭 이벤트 처리 전체 데이터 개수를 반영해서 페이지 번호 조절 페이지 처리는 단순히 링크의 연결이기 때문에 어렵지는 않지만, 목록페이지에서 조회 페이지, 수정 삭제 페이지 까지 페이지 번호가 계속해서 유지되어야만 하기 때문에 끝까지 신경 써야 하는 부분들이 많은 편이다. 1. 페이징 처리할 때 필요한 정보들 화면에 페이징 처리를 하기 위해서는 우선적으로 여러..
Kotlin 설치 및 실습 환경 구축하기
- 자바 JDK 설치하기 OpenJDK인 Zulu를 설치한다. 코틀린은 JDK SE 9 까지 지원하지만 안정적인 동작을 위해 Zulu의 JDK SE 8을 설치한다. 1. https://www.zul.com/downloads/zulu/ 링크에서 msi 파일을 다운로드 한다. 불러오는 중입니다... 2. 다운로드한 설치파일 zulu8.xx.msi를 실행하면 설치가 진행된다. 이때 next 버튼을 한번 눌러 나오는 화면에서 JDK가 설치되는 경로를 꼭 확인한다. 만약 JDK를 설치한 적이 있다면 이전 버전을 삭제하고 진행한다. 3. 윈도우 운영체제의 경우 윈도우 환경 변수인 PATH에 JDK가 설치된 위치를 등록해야 한다. 4. JAVA_HOME에 Zulu 경로를 등록하고 path에 %JAVA_HOME%\bi..