분류 전체보기
-
[MySQL] 날짜, 시간 표기 방식 지정하기CS지식/데이터베이스 2021. 6. 13. 22:57
오늘은 프로젝트를 진행하면서 mysql에서 데이터를 가져올 때 속성(attribute)의 도메인이 Datetime인 데이터의 표기 방식을 변경하는 방법을 배우게 되서 정리해보려고 한다. 먼저, 도메인이 Datetime인 속성(attribute)를 그냥 조회해보자. todo 테이블의 information을 보면 regdate라는 속성의 도메인이 datetime인 것을 확인할 수 있다. SELECT문을 이용해 regdate를 조회해보면 이렇게 기본 표기방식인 YYYY-MM-DD hh:mm:ss으로 나오게 된다. 만약에 우리가 흔히 날짜를 보는 표기 방식인 YYYY-MM-DD으로 데이터를 받고 싶으면 어떻게 하면 될까? 답은 date_format( )을 이용하는 것이다. 직접 SQL문을 써서 결과를 보자. s..
-
PJT 2. TO-DO LIST 구현 하기 (2일차)기타/프로젝트 2021. 6. 13. 22:27
오늘은 저번 진행상황에 이어 main페이지에 TODO, DOING, DONE으로 나누어 보여주고자 mainServelt으로 데이터베이스에서 todo테이블을 조회(select)해서 setAttribute로 데이터를 main.jsp로 넘겨서 받아오는 것을 구현해야했다. 지금은 어떠한 프레임워크도 쓰지않고 기획서에서 요구한대로 맞춰해야하기때문에 불편한 점이 많은 것같다. 일단은 저번시간에 만든 todoDao클래스에서 만들어놓은 getTodos()메소드를 이용하여 mainServlet에서 데이터를 불러왔다. 사실 데이터를 불러오는 것은 Array객체로 된 list만들어서 for문 돌리고 add해주면 간단하다. 하지만, 값을 받아온 것은 어떻게 main.jsp에 넘겨야할지가 최대난제였다. 일단은 for문을 돌려서..
-
[JAVA 예외 처리] MySQLNonTransientConnectionException프로그래밍 언어/JAVA 2021. 6. 13. 18:00
오늘은 java와 mysql을 JDBC를 통해 연결하여 기존의 테이블에 데이터를 추가하는 Insert 메소드를 구현하려고 했다. 사용자가 넣고 싶은 값을 넣어주면 sql문을 통해 데이터를 테이블에 추가시키는 것인데 처음에 exception이 발생했다. Exception은 아래와 같다. com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Public Key Retrieval is not allowed 오늘도 프로젝트 완성하는데 시간이 꽤 걸리겠구나 했는데 다행히 구글링을 하니 간단한 해결법이 있었다. 참고 url : https://joont92.github.io/java/java-mysql-%EC%97%B0%EB%8F%99%EC%8B..
-
메모리 주소란 무엇인가CS지식/운영체제 2021. 6. 12. 22:57
오늘 알아 볼 메모리 주소에서 말하는 메모리는 메인메모리, RAM에서의 주소에 대해 알아볼 것이다. 메모리 주소를 알아보기 전, 메모리에 대해 간단히 알아보자. 메모리는 CPU가 작업을 수행하는 데 있어 필요할 때 직접 액세스 할 수 있도록 운영 체제, 응용 프로그램 및 기타 정보등을 저장하는 하드웨어이다. CPU의 작업공간으로서 메모리의 용량도 중요하지만 메모리를 관리하는 방법이 CPU의 성능에 큰 영향을 미친다. 메모리는 크게 2가지의 영역으로 구분되는데 운영체제 영역과 사용자 영역이 있다. 운영체제는 중요한 역할을 하기 때문에 사용자가 운영체제 영역을 침범하지 못하도록 분리하여 메모리를 사용한다. 사용자 프로세스는 메모리에 들어올 때 운영체제 영역으로 지정된 영역 이외의 사용자 영역에 저장된다. 위..
-
클라이언트 식별이란 무엇인가?CS지식/네트워크 2021. 6. 11. 22:23
웹 서버는 수 많은 클라이언트들과 동시에 통신해야하는 경우가 발생할 수 있다. 이러한 경우에 웹 서버는 클라이언트의 요청을 모두 처리해야할 뿐만 아니라 어떤 클라이언트와 통신하는지 알아야 한다. 왜 클라이언트를 식별해야하고 식별하면 무엇이 좋을까? 클라이언트를 알고 있다면 각각의 클라이언트에게 맞춤 서비스를 제공할 수 있고 클라이언트가 매번 입력해야하는 정보(주소나 결제에 자주쓰는 수단 정보 등)을 데이터베이스에 저장하여 저장된 클라이언트 정보를 사용할 수 있다. 하지만, HTTP를 사용하여 통신을 하게 되면 HTTP는 stateless(연결에 대한 정보가 없고 매 요청은 독립적으로 처리)이기 때문에 통신하고 있는 상대방이 누구인지 알 수 없다. 그러면 어떻게 HTTP 통신에서 클라언트를 식별할 수 있을..
-
향상된 for문프로그래밍 언어/JAVA 2021. 6. 11. 19:01
오늘은 백기선님의 자바스터디 과제를 하려고 '이것이 자바다' 책을 보던 중 for문에 대한 새로운 내용을 알아서 정리해보려고 한다. 저번에 제어문 중 반복문으로 for문을 정리했는데 나는 그때까지만해도 for문의 형식은 아래의 것만 있는줄 알았다. for(초기화식; 조건식; 증감식){ } 하지만 오늘 이것이 자바다 5장(참조 타입)을 공부하며 자바 5부터 사용할 수 있는 향상된 for문 형식이 있다는 것을 알게 되었다. 향상된 for문은 반복 실행을 위해 기존해 사용하던 카운터 변수(언제까지 반복문을 돌릴 것인지 비교연산에 사용되는 변수)와 증감식을 사용하지 않아도 된다. 그러면 어떠한 기준으로 반복을 실행하고 끝낼까? 그것은 배열및 컬렉션 항목의 개수만큼만 반복하고 자동으로 반목문을 빠져나온다. 향상된..
-
[스터디 5주차]JAVA 클래스프로그래밍 언어/JAVA 2021. 6. 11. 15:35
더보기 목표: 자바의 Class에 대해 학습 1. 클래스 정의하는 방법 클래스에는 객체를 생성하기 위한 필드와 메소드가 정의되어 있어 마치 객체의 설계도같은 역할을 한다. 클래스를 정의하는 방법은 먼저 클래스 이름을 정해야한다. 클래스 이름은 다른 클래스와 식별할 목적으로 사용되므로 자바에서만의 식별자 작성 규칙에 따라 만들어야 한다. 식별자 작성 규칙은 아래와 같다. - 하나 이상의 문자로 이루어져야 한다. - 숫자는 클래스 이름의 첫 번째 글자로 올 수 없다. - '$', '_' 이외의 특수 문자는 사용할 수 없다. ($, _는 사용할 수 있지만 첫 번째 글자로는 올 수 없다.) - 자바 키워드는 사용할 수 없다. 관례적으로 클래스 이름이 한 단어라면 첫 자를 대문자로 하고(ex, Car, Bottl..
-
정규화란 무엇인가?CS지식/데이터베이스 2021. 6. 10. 23:34
정규화는 데이터베이스에 존재하는 릴레이션(테이블)에 무언가를 가하고 만지며 정규(정식으로 된 규정)화 한다는 것인데 무엇을 하고 왜 하는 것일까? 정규화의 개념을 보면 무엇을 하고 왜 하는 것인지 알 수 있다. 정규화란 이상 현상이 발생하는 테이블의 설계를 수정하여 정규 테이블로 만드는 과정이다. 정규 테이블이라는 것은 관계형 데이터베이스에 저장될 데이터의 중복이 최소화된 구조를 뜻한다. 그러면 이상 현상은 무엇일까? 이상 현상은 데이터를 삽입, 삭제, 수정을 할 때 사용자의 예상 외의 현상이 발생하여 데이터의 일관성이 깨지는 현상이다. 이상 현상에는 삽입 이상, 삭제 이상, 갱신 이상이 있다. 삽입 이상은 데이터 삽입 시 특정 속성(attribute)에 해당하는 값이 없어 필요하지 않은 NULL 값을 ..