일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- select
- 프로그래머스
- Model2
- 김영한
- MVC
- 스프링
- Model1
- STS
- 세션
- order by
- JSP
- 서브쿼리
- DDL
- 기술 대비
- 뉴렉처
- 메이븐
- Join
- 자바
- 서블릿
- 인텔리제이
- 코딩테스트
- @RestController
- @Controller
- 코테
- MVC2
- 프레임워크
- 인프런
- SQL
- toUpperCase
- AOP
- Today
- Total
목록개발(~국비) (123)
Heestory

쓰레드(Thread) :하나의 실행 흐름을 나타내는 작업 단위 하나의 프로세스에서 독립적으로 실행될 수 있는 하나의 작업 단위 스레드 스케줄러에 의해 관리되며, CPU 할당을 받아 실행 Thread 클래스 : java에서 쓰레드를 생성하고 관리하기 위한 클래스 일반적으로 Thread와 다른 개념이지만, '쓰레드'라고 부르기도 한다. 실행 흐름인 쓰레드를 구현하는 클래스 단일 스레드(Single-threaded) : 하나의 스레드만을 이용하여 , 한 번에 하나의 작업만 수행하며 순차적으로 실행 구현이 간단하고 예측이 가능하나, 처리 속도가 대규모 애플리케이션일수록 떨어지고, 성능에 제한이 있을 수 있다. 멀티스레드(Multithreading) :하나의 프로세스에서 동시에 여러 개의 쓰레드를 실행 하나의 프..

List futures = new ArrayList(); future.add(completionService.AAA); 회사 코드 분석 중 위와 같은 소스가 나와 future에 대해 알아보기로 한다. Future :java.util.concurrent 패키지에서 제공됨 비동기적으로 실행되는 작업의 결과를 나타내는 인터페이스 비동기적으로 실행되는 작업이 완료될 때까지 기다릴 수 있는 방법을 제공하여 다른 작업을 수행하는 동안 결과를 기다리지 않아도 된다. 메서드 cancel(boolean mayInterruptIfRunning) : 해당 Future 실행을 취소. mayInterruptIfRunning 매개변수는 현재 작업이 실행 중인 경우 해당 작업을 중단해야 하는지 여부를 나타냄. isCancelled..

subList :Java의 List 인터페이스에서 제공되는 메서드 중 하나로, 원래 리스트의 일부분인 새로운 리스트를 반환 List subList(int fromIndex, int toIndex) fromIndex : 새로운 리스트에서 첫 번째 원소의 인덱스 toIndex : 새로운 리스트에서 마지막 원소의 다음 인덱스 EX) List originalList = new ArrayList(); originalList.add("A"); originalList.add("B"); originalList.add("C"); originalList.add("D"); originalList.add("E"); 라는 List가 생성되었다고 할때 originalList의 첫 번째부터 세 번째 원소로 이루어진 새로운 리스트를..

window.open("","pop","width="+540+",height="+670+",scrollbars=no,resizable=no"); window.open([페이지 URL],[타켓],[옵션]); --부모창-- function selectDepart(dbrnNm, dbrnCode) { $("[name=orgCd]").val(dbrnCode); $("[name=orgNm]").val(dbrnNm); $("#orgName").val("["+dbrnCode+"] "+dbrnNm); } --자식창-- function confirmBtn() { if(confirm("선택 하시겠습니까?")) { var checkedSabun = $("[name=chkBtn]:checked").val(); var dbrnN..

빌드 도구 빌드 : 소스코드 파일들을 컴퓨터에서 실행할 수 있는 소프트웨어로 변환하는 일련의 과정 컴파일, 테스팅, 배포 등 모든 과정의 집합 빌드 과정을 자동으로 수행해주는 도구 자바 빌드 도구 : Ant, Maven, Gradle Maven을 사용하는 이유 : 버전이 업데이트 될 때마다 관련 기능의 라이브러리를 일일이 수정해야하고, 사용법이 달라지면 소스도 같이 수정 → 불편함 해결 → 빌드 + 자동 라이브러리 관리 기능 추가 Maven은 라이브러리를 자동으로 추가 및 관리, 라이브러리 버전을 자동으로 동기화 maven에서 지원하지 않는 라이브러리는 WEB-INF 폴더 내 'lib'라는 폴더를 따로 만들어 그 안에 다운 받은 라이브러리 jar 파일을 추가하여 관리 Maven에서 플러그인이란? 플러그인..

1.격자판이기 때문에 이중 for문을 돌려야하며, 배열도 2차 배열 선언 int[][] arr = new int[n][n]; //2차원 배열 선언 for(int i=0;i

애플리케이션 여러 로직에서 공통으로 관심이 있는 공통 관심사는 스프링 AOP로 해결할 수 있지만, 웹과 관련된 공통 관심사는 서블릿 필터 또는 스프링 인터셉터를 사용하는 것이 좋다. 웹과 관련된 공통 관심사를 처리 할 때는 HTTP의 헤더나 URL의 정보들이 필요한데, 서블릿 필터나 스프링 인터셉터는 HttpServletRequest를 제공한다. 서블릿 필터 HTTP 요청 → WAS → 필터 → 서블릿 → 컨트롤러 이 때 필터에서 적절하지 않은 요청이라고 판단하면 거기에서 끝을 낼 수도 있다. 필터는 체인으로 구성되는데 중간에 필터를 자유롭게 추가할 수 있디. HTTP 요청 → WAS → 필터1 → 필터2 → 필터3 → 서블릿 → 컨트롤러 예)로그를 남기는 필터를 먼저 적용하고 그 다음에 로그인 여부를 ..

정처기 -비전공자 -막 이직 결정했을 때라 지식 하나도 없었음 일단 교재는 수제비로 보았고(검색해봤을 때 수제비가 제일 카페에서 정보 교환,질의 응답이 수월하다고 하여 선택) 필기,실기 시험 시간 할애는 필기에 많이 했다 필기 거의 한 달에 4시간씩 꾸준히 보았고, -시험에 아예 안 나온 파트는 과감히 패스(단 첫 회독때는 정독함) -시험에 많이 나온 파트는 유튜브 인강을 통해서라도 이해하려고 했다. 어떤 페이지는 한장 이해하는데 하루 다 소비했었던 듯.. -문제는 2회독 , 기출문제 + 수제비 족보 2회독 -개인적으로 정리 자료 3회독 -프로그래밍언어 활용 문법은 당시 어려워서 아는 문제만 풀이 : 유튜브 인강을 듣고 하루 이상 이해가 안가면 패스 으로 진행하였고 당시 시험에서 프로그래밍 언어활용은 문..

로그인 처리하기 - 쿠키 사용 쿠키 영속 쿠키 : 만료 날짜를 입력하면 해당 날짜까지 유지 세션 쿠키 : 만료 날짜를 생략하면 브라우저 종료시까지만 유지 LoginController // @PostMapping("/login") public String login(@Valid @ModelAttribute LoginForm form, BindingResult bindingResult, HttpServletResponse response) { if (bindingResult.hasErrors()) { return "login/loginForm"; } Member loginMember = loginService.login(form.getLoginId(), form.getPassword()); log.info(..

컨트롤러 : HTTP 요청이 정상인지 검증 @PostMapping("/add") public String addItem(@ModelAttribute Item item, RedirectAttributes redirectAttributes, Model model) { //검증 오류 결과 보관 Map errors = new HashMap(); //검증 로직 if (!StringUtils.hasText(item.getItemName())){ errors.put("itemName","상품 이름은 필수입니다"); } if(item.getPrice()==null || item.getPrice() 1000000){ errors.put("price","가격은 1,000 ~ 1,000,000까지 허용합니다."); } if..