국비교육과정 정리/Java39 [Java] 쓰레드 (Thread) 1. 프로세스와 쓰레드 🤔 Process(프로세스) 프로그램을 실행하면 OS(운영체제)로부터 실행에 필요한 자원(메모리)을 할당받은 것으로 실행 중인 프로그램을 뜻한다. 프로세스는 프로그램을 실행하는데 필요한 데이터와 메모리 등의 자원 그리고 쓰레드로 구성되어 있다. 🤔 Thread(쓰레드) 프로세스 구성요소 중 하나로, 프로세스의 자원을 이용하여서 실제로 작업을 수행하는 것 모든 프로세스에는 하나 이상의 쓰레드가 존재하며, 둘 이상의 쓰레드를 가진 프로세스를 멀티쓰레드 프로세스라고 한다. 프로세스가 할당받은 메모리 한계에 따라 생성할 수 있는 쓰레드의 수가 결정된다. 🤔 MultiThreading(멀티쓰레딩) 하나의 프로세스 내에서 여러 쓰레드가 동시에 작업을 수행하는 것 CPU의 코어(core)가 한.. 국비교육과정 정리/Java 2023. 4. 20. [Java] 람다식(Lambda Expression) 람다식(Lambda Expression) 함수형 프로그래밍을 위해 추가된 기능으로 메서드를 하나의 식(expression)으로 표현한 것을 뜻한다. 기존 메서드를 사용할 때 메서드는 클래스에 포함되어있으므로 클래스 생성 및 객체 생성을 진행해야 사용할 수 있었지만 람다식을 이용하면 이 과정들을 생략할 수 있다. 메서드를 람다식으로 표현하면 메서드의 이름과 반환값이 사라지므로 람다식을 익명함수라고도 한다. 🤔 메서드 vs 함수 메서드와 함수는 근본적으로는 같은 의미이지만 객체지향에서 메서드라는 용어를 사용한 이유는 특정 클래스에 반드시 속해야 한다는 제약이 존재하기 때문에 이를 구분하기 위해 함수가 아닌 메서드라는 이름을 사용한 것이다. 메서드를 람다식으로 표현하게되면 제약이 사라지기 때문에 함수라는 용어.. 국비교육과정 정리/Java 2023. 1. 15. [Java] Stack & Queue 1. Stack Class(스택 클래스) 스택은 마지막에 저장한 데이터를 가장 먼저 꺼내는 LIFO(Last in, First out) 구조로 되어 있다. 순차적인 데이터 입력, 출력과 관계있으므로 ArrayList을 이용하여 Stack이 구현되었다. 📢 Stack 메서드 메서드 설 명 boolean empty() Stakc이 비었는지 확인 Object push(Object e) Stack에 객체를 저장 Object pop() Stack 맨 위에 저장되있는 객체를 꺼내서 반환 (만약 비어있을 경우 EmptyStackException 발생) Object peek() Stack 맨 위 객체를 읽기만 함(꺼내지 않음) int search(Object e) 주어진 객체를 Stack에서 찾아 인덱스를 반환, 없으.. 국비교육과정 정리/Java 2022. 12. 18. [Java] List (ArrayList, LinkedList) 1. ArrayList 기존의 존재하던 Vector 클래스를 개선한 클래스로 Vector의 구현원리, 기능적 측면에서 동일하다. 이름에서 알 수 있듯 List 인터페이스를 구현한 클래스로 중복을 허용하고 저장순서도 유지된다. - Object 배열을 이용해서 데이터를 순차적으로 저장한다. - 배열을 이용하였기 때문에 순차적인 데이터 입력 & 데이터를 읽는 속도가 빠르지만 크기를 변경할 수 없다. 또한 비순차적인 데이터의 추가 혹은 삭제는 속도가 느리다. 📢 ArrayList는 데이터를 읽고 저장하는데 효율이 좋지만, 용량을 변경해야하는 경우 새로운 배열을 생성 후 기존 배열을 복사해야하기 때문에 효율이 매우 떨어진다. 최초 ArrayList 생성 시 저장될 데이터의 개수를 고려해서 충분한 용량의 인스턴스를.. 국비교육과정 정리/Java 2022. 12. 17. [Java] Collections Framework(컬렉션 프레임웍) 1. Collection FrameWork - Collection : 다수의 데이터, 그룹화된 데이터를 의미 - FrameWork : 표준화된 프로그래밍 방식, 구조 Collection + FrameWork = Collection FrameWork : 다수의 데이터를 다루는 클래스들을 표준화한 설계방식 2. Collection FrameWork의 인터페이스 Collection을 크게 세 가지 타입으로 나뉘는데 Collection 인터페이스는 List와 Set은 서로 많은 공통된 부분들이 있어 이들을 뽑아 만들어진 것이다. 그러나 Map 은 두 List, Set과 다른 방식으로 데이터를 저장하기 때문에 Collection에 포함되지 않는다. 🔈 컬렉션 프레임웍의 모든 컬렉션 클래스들은 List, Set, .. 국비교육과정 정리/Java 2022. 12. 13. [JSP] Filter (필터) 1. Filter 란? 서블릿의 Filter(필터)란 서블릿으로 전달되는 클라이언트의 request(요청) 혹은 서블릿에서 클라이언트로 전달되는 응답(response) 를 중간에 가로채서 Filteriing(검사)를 하기위한 인터페이스다. 즉 요청과 응답 사이에서 이들을 가로챈 다음 다양한 작업(문자 인코딩, 세션값 확인 등...)을 하여 불필요하게 반복되는 작업을 제거함으로써 코드를 간결하게 하여 생산성을 높일 수 있다. 더보기 로그인을 한 사람만 게시글을 작성할 수 있는 웹사이트가 있다고 가정하자. 로그인 시 사용자의 ID가 세션에 저장하게 되는데 이 세션 값을 기준으로 로그인을 했는지 구분할 수 있다. 세션 값이 null이면 비로그인인 상태인 것이므로 alert를 띄우고 로그인페이지로 보내줄 수 있.. 국비교육과정 정리/Java 2022. 12. 7. Servlet (서블릿) 1. 웹 서버 프로그램의 기원 최초 프로그램은 클라이언트가 정보를 요청하면 서버에서는 이미 저장되어있는 페이지를 반환하는 역활이었다. 그러나 서버 업데이트 시 클라이언트도 업데이트가 되어야하는데 이 당시 클라이언트 업데이트는 재설치를 해야 가능했고 재설치 과정 중 다른 프로그램에 영향을 미치기도 하여 업데이트에 대한 부담감이 상당했다. 이런 동기화 문제를 해결하고자 WEB을 사용하게 된 것이다. Web은 클라이언트가 요청한 정보를 Server에게 전달하여 서버로부터 정보를 받아오고 이를 정적인 페이지로 만들어 클라이언트에게 전달하는 역할을 한다. 2. Web Application Server(WAS) 클라이언트에서 데이터를 요청하였을 때 서버에선 페이지를 찾아 응답하는 것이 아닌 DB에서 데이터를 찾아 .. 국비교육과정 정리/Java 2022. 12. 7. [JSP 실습]회원 정보 수정, 회원 탈퇴 1. 회원정보 수정 1.1 ) 수정할 회원정보를 입력할 페이지 구현 서블릿(UserController)에서 요청을 받은 후 수정 요청을 수행하는 곳으로 넘겨주어야한다. 그 전에 먼저 사용자에게 변경 전 데이터(회원정보)를 보여주기 위해서 회원정보가 저장되어있는 DB에서 데이터를 가져와야 한다. 1) UserServiceImpl 클래스와 UserDAO 클래스에 정보를 받아오는 getinfo() 메서드를 작성한다. 2) UserServiceImpl 클래스에서 세션에 저장되있는 아이디 값을 받고, UserDAO 메서드의 매개변수로 넘겨준다. 3) UserDAO에선 매개변수로 받은 아이디를 활용해 DB에서 해당 아이디의 정보들을 DB에서 가져오고 정보들을 UserVO에 담는다. 4) 서블릿(UserControl.. 국비교육과정 정리/Java 2022. 12. 6. [JSP실습] 회원가입 구현하기 1. include 활용해서 header, footer 추출하기 전체 페이지에서 공통으로 사용되는 부분이 있다면 따로 jsp 파일을 만들어서 include 해서 사용하는 것이 코드를 간결화시킬 수 있다. 2. 서블릿(Servlet) 작성 다른 페이지로 이동하는 것은 일반적으로 a 태그를 사용하지만 MVC Modole2에서는 모든 요청이 하나의 서블릿을 통해 전달이 되고 서블릿에서 요청을 처리하여 그에 걸맞는 jsp 페이지를 포워딩하도록 해야함 1) 서블릿은 get과 post로 나뉘지만 이를 구분하지 않고 통합해서 작동될 수 있도록 doAction() 메서드를 만들어서 get과 post를 통합시킨다. 2) post로 들어올 경우를 대비해서 한글처리 및 요청경로 통일 작업을 진행한다. 1 2 3 4 5 6 .. 국비교육과정 정리/Java 2022. 12. 6. 이전 1 2 3 4 5 다음