Programming 127

Javascript 에서 쿠키 사용하기

Javascript 에서 쿠키 사용하기 자바 수업시간에 쿠키와 세션에 대해 배웠습니다. 서버에서 이루어지는 세션은 그렇다 쳐도, 어차피 사용자의 컴퓨터에 저장될 쿠키데이터를 위해 서블릿까지 추가하는건 좀 부담스러워서 쿠키를 다루는 사항들은 웹페이지에서 바로 다뤄보려고 합니다. 진행중인 프로젝트에서 처음으로 쿠키를 사용할 곳은 '아이디 저장' 기능입니다. 아직 테스트중인 페이지이기 때문에 시안이 좀 투박하나 양해 부탁드립니다. 아이디 저장을 해놓고 로그인을 하면 다음부터 해당 페이지에 접속했을때에는 굳이 아이디를 한번 더 칠 필요가 없도록 구현하려고 합니다. 안그래도 본 프로젝트에서 이메일주소를 아이디로 쓸 계획을 하고 있다보니, 아이디 입력이 번거로워 꼭 필요한 기능입니다. 프로젝트가 어느..

Programming/javascrlpt 2021.02.20 (1)

javax.mail 이용해 이메일 보내기

이메일 전송 준비 이메일 인증을 만드는 이유 준비중인 프로젝트인 play ddit에서 웹사이트에 회원가입시 저희는 '이메일'을 회원 아이디로 할 예정입니다. 이메일을 통해 대부분의 확인을 할 예정이기때문에 회원가입시 입력한 이메일이 본인의 것이라는게 확인이 되어야만 합니다. 백엔드 서버를 Servlet으로 구현할 예정이기 때문에, 자바에서 입력한 이메일로 본인의 이메일임을 확인 할 수 있는 코드를 보낼 예정입니다. 해당 코드는 랜덤으로 생성한 난수를 보낼 것이며, 정확히 입력시 본인의 이메일임을 증명할 수 있습니다. SMTP 설정 시작에 앞서 본인이 사용하실 이메일의 SMTP 설정을 확인해주세요. 저는 gmail을 기준으로 설명하겠습니다. 지메일의 SMTP 기본 설정이 아래와 같으니, gm..

Programming/Java 2021.02.17 (2)

iText 활용한 pdf 파일 작성하기

What is iText? iText는 개발자가 결과물을 PDF 파일로 작성하는 작업을 수행 할 수 있게끔 도와주는 SDK(개발도구) 입니다. 그 자체로서 완성되어 사용자가 사용하는 도구(end-user tool)가 아닌, 개발자가 반드시 본인의 응용프로그램 에서 iText를 구축해야 PDF 생성 및 프로세서를 자동화 할 수 있습니다. PDF 형식은 어느 환경에서나 동일한 결과물을 일관적으로 보여주기 위해 개발되었습니다. 글꼴과 이미지 또한 포함이 가능하며, 기본적으로 출력을 전제로 하기때문에 pdf 파일은 한번 생성되면 이후 편집은 고려되지 않습니다. github.com/itext iText Technical support: https://itextpdf.com/support. iText has 30 ..

Programming/Java 2021.01.24

게시판 페이징 처리하기

5주간의 일정으로 기초 자바 수업이 모두 마무리 되었습니다. 마지막 주에는 JDBC를 이용한 게시판 만들기를 했습니다. Map SelectOne(String sql) Map SelectOne(String sql, List param) List SelectList(String sql) List SelectList(String sql, List param) int update(String sql) int update(String sql, List param) 이렇게 6개의 메서드를 구현한 JDBCUtil 클래스를 만든 뒤, 해당 메서드들을 이용해 게시판을 만드는 숙제를 했습니다. 5주동안 받은 기초 데이터베이스 수업과 기초 자바 수업이 마침내 콜라보레이션을 하는 역사적인 순간이었습니다. 이 수업 전에는 해시..

Programming/Java 2020.12.20

클래스 자유생성 과제

자바교육 3주차에 객체지향 수업을 듣고 있습니다. 이번 숙제는 배운것을 이용해 자유롭게 클래스를 만들어 보라고 하셨습니다. 별 고민없이, 단지 '재밌을거' 같다는 이유로 노트에 슥슥 써봤습니다. 선생님께서 학생들 테이블을 순회하시다가 제 노트를 슥 보시고는 한마디 하십니다. [ "오늘 안에 하겠어요?" ] 쉽지 않은 주제란걸 말씀하셨단건 눈치챘지만, 괜히 오기가 더 생겨서 [ 내일 수업시간 까지 뭐가 됐든 기본적인 틀은 만들어 놓겠다 ] 란 다짐을 합니다. 쉬는시간, 점심시간 내내 이클립스를 켜고는 생각해봤던 객체들을 구현해 보려고 하는데. 생각했던것보다 복잡합니다. 일단 hp, exp로 끝날게 아니라 max 값이 지정이 되어야 했습니다. 그렇지 않으면 전투 후 체력이 떨어지고는, 본래의 체력을 나중에 ..

Programming/Java 2020.12.06

3자리 마다 콤마(,) 넣는 프로그램

국비지원 자바수업을 시작한지 어느덧 2주가 지났습니다. 매일 오전 4시간동안 자바 수업을 듣고, 수업이 끝날때면 과제를 주시는데 생각을 꽤 해야하는 재밌는 문제를 주로 주셔서 항상 즐겁게 하고 있습니다. 마침 이번에는 간만에 비교적 간단한 과제를 주셔서, 해결책을 여러개 만들어 보았습니다. 일단 내가 손으로 ' , ' 를 붙인다면 어떤 절차로 할까 하고 잠시 생각해 보았습니다. 저는 뒤에서 부터 숫자를 세자리씩 세면서 콤마를 붙이기 때문에 일단 생각대로 구현해보기로 했습니다. 또한, 금요일 수업에서 배운게 String 클래스기 때문에, 새로배운 charAt()을 통해 각 자리 숫자를 읽어오기로 했습니다. 뒤에서 부터 숫자를 셌으니, 당연하게도 숫자가 뒤에서부터 출력이 되었습니다. 세자리 마다 쉼표를 찍지..

Programming/Java 2020.11.29

1. 논리형 type ' boolean '은 왜 1bit가 아닌 1byte의 크기를 가질까?

JAVA의 기본형(Primitive type) 중 논리형 데이터 타입인 boolean은 true 혹은 false 둘중 하나의 값만을 가진다. true =1, false=0 이라고 간주하고 1 bit 면 충분히 표현 가능하다고 생각되는데, 왜 굳이 1byte 일까? 다행히도, google 검색을 통해 같은 질문을 찾을 수 있었다. 간단한 대답이 달렸는데, cpu가 1바이트 보다 작은 데이터를 처리 할 수 없다는 듯 두번째 대답도 비슷했다. 주소를 매길 수 있는 최소한의 단위가 byte 라는것. 검색을 이어가다보니 c 언어에서의 bool 타입도 똑같이 1 byte 를 차지한다는 걸 알 수 있었는데, 위의 이유 때문이라면 사실 어느 프로그래밍 언어에서도 논리형 데이터 타입이 1bit만 차지할 수는 없겠다. 실..

Programming/Java 2020.11.21