프로그래밍
-
[Java] Optional<T>프로그래밍/JAVA 2023. 3. 12. 10:54
Optional을 사용하면 예상치 못한 NullPointerException 예외를 제공되는 메소드로 간단히 회피할 수 있다. 즉, 복잡한 조건문 없이도 널(null) 값으로 인해 발생하는 예외를 처리할 수 있게 된다. Optional를 사용하지 않을 경우, 조건문을 사용하여 null 체크를 해줘야한다. List member = memberRepository.findById(id); // member == null 일경우 String name = member.getName(); // NullPointerException 발생 List member = memberRepository.findById(id); // member == null 일경우 String name = ""; if(member != nul..
-
[Java] 스트림(Stream)프로그래밍/JAVA 2023. 3. 11. 23:07
자바 스트림(Stream)은 컬렉션(Collection)과 Array에 저장되어있는 요소(Element)들을 하나씩 순회하면서 처리할 수 있는 코드패턴으로 람다형(함수형 인터페이스)과 함께 사용되어 코드 양을 줄이고 간결한 표현으로 간단하게 요소를 처리할 수 있다. 스트림 생성 방법 // 리스트 List list = Arrays.asList("a", "b", "c"); list.stream(); // 배열 String[] array = new String[]{"a", "b", "c"}; Arrays.stream(array); 스트림 데이터 가공 1) map() 스트림에서 나오는 데이터를 변경하여 새로운 데이터를 만든다. List list = new ArrayList(Arrays.asList("Apple"..
-
[Java] Arrays.asList()프로그래밍/JAVA 2023. 3. 11. 21:22
자바 Arrays.asList는 Array를 ArrayList처럼 사용할 수 있게 도와주는 클래스로 java.util.Arrays의 Arrays.asList는 보통 사용하던 java.util.ArrayList의 ArrayList와는 엄연히 다르다. Arrays.asList는 remove(), add() 메소드를 제공하지 않고 set(), get(), contains() 를 제공하여 배열의 사이즈를 변경할 수 없다. String[] str = {"son", "hwang", "lee"}; List list = Arrays.asList(str); System.out.println(list); // [son, hwang, lee] String[] str = {"son", "hwang", "lee"}; List ..
-
[JavaScript] 파일 드롭 이벤트(File Drop Event)프로그래밍/JavaScript 2022. 12. 31. 19:08
자바스크립트를 이용하여 파일 드롭 기능을 구현한다. 이벤트 종류 설명 drop 드래그한 파일이 영역에 드롭되었을 때 발생 dragover 드래그한 파일이 영역에 머물러 있을 때 발생 [HTML 소스] 파일을 올려놓으세요 [CSS 소스] #dropZone { margin-top: 5px; border: 1px solid rgb(121, 121, 121); width: 700px; height: 200px; } #dropZoneTitle { display: flex; justify-content: center; margin-top: 80px; } [JavaScript 소스] const dropZone = document.getElementById("dropZone"); // drop 이벤트를 사용하기 위해서..
-
[JSTL] 문자열을 Date 타입으로 파싱프로그래밍/JSP 2022. 12. 22. 12:29
컨트롤러에서 String 타입 문자열을 JSP로 보낼때 JSTL fmt를 활용하여, Date 타입으로 파싱하여 출력하는 방법을 알아보자. Controller.java @RequestMapping(value = "list.do") public String list(HttpServletRequest request, ModelMap model) throws Exception { String regDate = "20221222120000"; model.addAttribut("regDate", regDate); return "list"; } list.jsp 파싱전:${regDate} 파싱후:
-
JSP JSTL프로그래밍/JSP 2022. 12. 13. 10:58
JSTL은 JSTL(Java Server Page Standard Tag Library)의 약자로 JSP 개발에 매번 스크립틀릿 태그 를 넣어 사용하는 것이 가독성을 떨어뜨리고 사용에 불편함이 존재하여 이를 해결하기 위해 등장한 태그 라이브러리이다. JSTL 사용을 통해 개발 속도와 가독성 향상, 코드의 재사용성 등 효율적인 개발에 도움을 받을 수 있다. 라이브러리 추가 JSTL를 사용하기 위해서는 라이브러리를 추가해줘야한다. https://tomcat.apache.org/download-taglibs.cgi Apache Tomcat® - Apache Taglibs Downloads Welcome to the Apache Taglibs download page. This page provides down..
-
JSP 게시판 만들기(파일업로드)프로그래밍/JSP 2022. 12. 10. 20:19
게시글 작성에서 파일을 업로드하는 방법에 대해 알아보자. 파일 업로드를 시작하기 앞서 라이브러리 한가지를 다운받아야한다. http://www.servlets.com/ 사이트에 들어가서 Servlets.com Home What's New? COS File Upload Library Servlet Polls Mailing Lists Servlet Engines Servlet ISPs Servlet Tools Documentation Online Articles The Soapbox "Java Servlet Programming, Second Edition" "Java Enterprise Best Practices" Speaking & Slides About Ja www.servlets.com 좌측사이트 메뉴..
-
JSP 게시판 만들기(5)프로그래밍/JSP 2022. 12. 8. 20:23
글 상세보기 페이지(view.jsp)에서 게시글을 수정하는 기능을 추가해보자. 게시글 수정 페이지(edit.jsp) 작성 커뮤니티 - 글수정 작성자 : 제목 내용 해당 페이지는 게시글 수정 페이지(edit.jsp)로 게시글의 데이터를 수정할 수 있다. view.jsp에서 글번호를 request.getParameter로 받아와서 글번호와 맞는 데이터를 받아온 뒤 수정 페이지 양식에 맞게 데이터를 보여준다. 수정할 게시글의 정보를 보여주고 수정을 완료하기 위해 수정 버튼을 클릭하면 POST방식으로 edit_ok.jsp로 데이터를 보낸다. 데이터 수정 처리 페이지(edit_ok.jsp) 작성 edit.jsp에서 받은 데이터들은 쿼리문을 통해 갱신(update)되고 다시 글 상세보기 페이지로 이동하게된다. 이때..