Basic 73

JAVA Math.ceil() 사용 시 주의사항

상황 게시판 페이징을 구현하던 중에 Math.ceil이 적용되지 않는 문제가 발생했다. ex) int totalPage = (int) Math.ceil(totalItem/itemPerPage); - (x) 해결 Math.ceil함수 안에서 연산을 하면 정수값이 도출돼서 Math.ceil이 적용되지 않는다. 따라서 double타입으로 강제타입변환을 하거나 1.0을 곱해서 소수점이 있는 실수로 만들어줘야 한다. ex) int totalPage = (int) Math.ceil(totalItem*1.0/itemPerPage); - (o) int totalPage = (int) Math.ceil((double)totalItem/itemPerPage); - (o)

Basic/JAVA 2023.01.26

ORACLE MYSQL 더미데이터 (dummy data) 생성 방법

1. 재귀복사 - 2배씩 늘리기 ex) Oracle insert into tbl_board (bno, title, content) (select seq_board.nextval, title, content from tbl_board); commit; MySQL insert into boards(boardtitle, boardcontent, boardwriter)(select boardtitle, boardcontent, boardwriter from boards); 2. 프로시저 반복문 활용하기 ex) Oracle BEGIN FOR i IN 1..500 LOOP INSERT INTO TB_BOARD(IDX, TITLE, HIT_CNT, DEL_GB, CREA_DTM, CREA_ID) VALUES(SEQ_..

Basic/DB 2023.01.22

모두를 위한 컴퓨터 과학 CS50 (컴퓨팅 사고)

CS 문제 해결 과정이다. input -> cs -> output 2진법 (binary system)과 정보의 표현 bit = binary digit : 2진법에서 하나의 자릿수를 표현하는 단위. 0과 1 두가지 값만 가질 수 있다. bit string bit 한 개론 많은 양의 데이터를 나타내기에 부족해서 여러 숫자 조합을 컴퓨터에 나타내기 위해 사용한다. byte = 8bit / 2^8 = two to the eight(256개) kilobyte=1000byte megabyte=1000kilobyte gigabyte=1000megabyte terabyte=1000gigabyte transistor 컴퓨터 속 작은 스위치들을 물리적으로 이용해서 정보를 표현하고 값을 저장한다. ASCII(American..

Basic/CS 2023.01.19

JSP <form>태그 활용

태그 값을 자바스크립트로 불러오는 법 1. 변수선언 시 JQuery $() 값 사용 input태그의 id나 name 속성값으로 변수 선언 후 변수를 이용한다. ex) var ITEM_IMG = $("#아이디명").val(); //해당 태그 id명 var ITEM_IMG = $("네임명").val(); //해당 태그 name명 const formObj = $("form"); //form태그 전체 2. 변수선언 시 EL ${} 값 사용 ex) const result = ''; //var ITEM_ID = ${list[0].RE_ITEM}; 이 경우에 작동이 안되거나 개발자 도구에서 오류뜨는 경우가 있었다. 3. input태그의 name속성으로 바로 가져오기 ex) $('input:radio[name=네임명]..

SPRING 파일 업로드 다운로드

Multipart 웹 클라이언트가 요청을 보낼 때 http프로토콜의 body 부분에 데이터(content type, 파일이름 등)를 여러 part로 나누어 보내는 것이다. 보통 파일 전송 시 사용한다. HttpServletRequest는 이 multipart데이터를 읽어들이는 메소드를 지원하지 않는다. body부분을 읽어들이는 InputStream만 지원하기 때문에 stream으로 전달되는 multipart데이터를 처리 하기 위해 라이브러리를 사용한다. 설정 방법 1. [pom.xml]에 라이브러리 추가 1) apache의 commons-fileupload 추가 2) commons-io 추가 2. MultipartResolver Bean 추가 (CommonsMultipartResolver) "multip..

Basic/SPRING 2023.01.17

SCOPE

: Application, Session, Request, Page 총 4가지 scope가 존재한다. Session scope : 클라이언트(웹 브라우저)별로 객체를 만들어 변수를 관리한다. (클라이언트별로 다른) 상태정보를 유지하기 위해 사용한다. HttpSession 인터페이스 구현객체를 사용한다. 서블릿은 HttpServletRequest의 getSession() 메소드를 이용해 session 객체를 얻는다. JSP는 session 내장 변수를 사용한다. 응답을 내보내거나 다시 받아도 session 객체는 계속 유지된다. ex) session.setAttribute() session.getAttribute() Request scope : http요청을 was가 받아서 변수값을 유지하며 웹 브라우저에..

Basic/JSP, SERVLET 2023.01.16

HTML CSS 유용한 기능 모음

태그 사용 시 "파일 선택" 표기 임의로 바꾸기 내 맘대로 바꾸기 영문도 자동 줄 바꿈하기 style = "WORD-BREAK:break-all;" style = "WORD-BREAK:keep-all;" //단어 단위로 줄바꿈 테이블 1) 테이블 만들기 ex) 2X5 테이블 만들기 1 2 3 4 5 11 22 33 44 55 ex) 2x5 테이블 만들어서 가로2번째 줄 1칸으로 합치기 (cf.:두꺼운 폰트, :얇은 폰트) 1 2 3 4 5 12345 ex) 테이블 거꾸로 만들기 (5x2) 1 11 2 22 3 33 4 44 5 55 2) 테두리 가로줄만 보이기 ,태그 style="border-bottom:1px solid;" (solid는 실선을 의미한다) 버튼 1) 버튼 두개 일렬로 정렬 A영역 B영역..

Basic/HTML,CSS 2023.01.15

JSP

:JavaServer Pages jsp는 servlet으로 바뀐 후 서블릿과 같은 방식으로 실행된다.(서블릿 소스가 생성되고 실행된다.) (by tomcat) 1. 실행순서 브라우저가 jsp로 웹서버에 요청을 한다. -> 서버는 jsp에 해당하는 서블릿이 있는지 찾는다. 존재한다면 서블릿 엔진이 요청을 받아 실행한다. 존재하지 않는다면, 즉 처음으로 요청한다면 jsp 엔진이 요청을 받는다. jsp를 최초로 요청할때 jsp 코드가 서블릿 코드로 변환된다. (.jsp 파일을 실행하면 이클립스 워크 스페이스 안에 .java 파일이 생성된다. _jspService() 메소드에 jsp 파일에 입력한 내용이 변환돼서 들어있다.) -> java는 서블릿 소스로 컴파일되어 실행가능한 bytecode로 변환된다(clas..

Basic/JSP, SERVLET 2023.01.12

SERVLET

: 동적으로 응답결과를 만들어내는 (동적인 처리를 하는 프로그램) 역할을 한다. WAS에서 동작하는 Java 클래스이다. servlet은 HttpServlet 클래스를 상속받는다. 1. 작성 방법 2가지 servlet 3.0 이상 web.xml파일(배포기술자)을 사용하지 않고 자바 annotation을 사용한다. ex) @WebServlet("/ten") public class TenServlet extends HttpServlet { servlet 3.0 미만 web.xml파일에 servlet을 등록한다. ex) [web.xml] TenServlet ~~~ 2. HTTP프로토콜 요청, 응답 : 클라이언트가 요청하면 서버가 응답한다. 이때 서버는 요청을 받아내는 객체와 응답하기위한 객체를 만들어낸다. e..

Basic/JSP, SERVLET 2023.01.11