목록전체 글 (187)
New World
회사에서 사용하는 톰캣 서버를 재기동하는 방법을 정리하기 위해 작성한다. 톰캣 서버 재기동이 왜 필요한가? - jsp 파일을 제외한 모든 파일은 서버 재기동을 통해 다시 컴파일 시켜주어야 한다. 1. 사용하는 서버에 우측 클릭하여 SSH 를 실행해준다. 2. 사용자 ID/PW를 입력한다. 3. ps -ef | grep tomcat 명령어를 실행하여 지금 실행되고 있는 톰캣 서버를 확인한다 4. 실행되고 있는 톰캣 서버 주소를 드래그하여 이동해준다. 5. cd bin > ls 를 통해 bin 폴더에 있는 파일들을 확인한다 ls => 디렉토리(directory)에 있는 내용(디렉토리, 파일 등)을 확인 6. 확인되면 ./shutdown.sh 명령어를 통해 서버의 작동을 멈춘다. 7. 서버의 작동을 멈춘 곳에..
프로그램의 구동되어가는 과정 1. 프론트에서 html과 CSS를 통해 브라우저에 그림을 그려준다. 2. 브라우저에 그림을 그려준 후, 필요한 데이터를 백엔드에 요청한다. (request) 3. 백엔드에서 필요한 데이터를 프론트에 맞게 가공하여 전달해준다. (response) 4. 프론트엔드에서 javascript 처럼 백엔드가 보내준 데이터를 통해 구동을 완료해준다. 위와 같은 과정이 프로그램의 한 페이지마다 존재한다. 이러한 일을 한번에 해주기는 어려워 일을 세분화하여 진행한다. 이 일 중 1과 4는 프론트, 2와 3은 백엔드에서 해준다. 다시 말하자면, 프론트와 백의 차이로는 대체로 눈에 보이는 것과 눈에 보이지 않는 것이라고 할 수 있다. 프론트엔드는 사용자가 볼 수 있는 화면, 즉 사용자 인터페이..
배열 - 같은 데이터 타입의 변수들이 하나의 집합 형태로 이루어진 자료구조 - index와 element로 구성됨 - Arrays는 java에서 지원해주는 기본 클래스 1차원 배열 - 가장 기본적인 형태의 고정된 길이를 가진 배열 - 같은 데이터 타입의 변수들이 집합의 형태를 이루고 있음 - 데이터 타입은 기본 타입과 참조 타입 모두 볼 수 있음 1차원 배열 선언 => 선언 후 초기화해줄 것! 데이터형[] 배열이름 = new 데이터형[]; 1차원 배열의 활용 - 요소의 길이를 정해줄 수 있어 for문 또는 while 문 같은 반복문으로 데이터를 다룰 수 있음 2차원 배열 - 배열의 요소로 1차원 배열을 가지는 배열 2차원 배열 선언 데이터형[][] 배열 이름 = new 데이터형[][]; 가변 배열 - 2..
큐 - 선입선출(FIFO) 자료구조 : 먼저 들어온 데이터가 먼저 나가는 구조 - 입력 순서대로 데이터 처리가 필요할 때 사용 ex. 프린터 출력 대기열, BFS 등 큐 기본 연산 - 데이터 추가 (Enqueue) - 데이터 꺼내기 (Dequeue) 값 추가 값 확인 값 제거 큐의 맨 뒤에 값 삽입 큐의 맨 앞에 있는 값 반환 remove() 큐 맨 앞에 있는 값 반환 후 삭제 큐가 비어 있는 경우 NoSuchElementException 에러 add() 꽉 찬 경우 IllegalStateException 에러 element() 빈 경우 NoSuchElementException 에러 poll() 큐 맨 앞에 있는 값 반환 후 삭제 큐가 비어있을 경우 null 반환 offer() 꽉 찬 경우 false 반..
이번 제로베이스에서는 자료 구조 중 스택이라는 것에 대해 배우는 시간이었다. 자료구조에는 흔히 배열, 스택(LIFO), 큐 (FIFO) 가 있다. 그중 스택에 대해 정리해보려 한다. 스택 - LIFO(Last In First Out) : 후입 선출, 마지막에 삽입된 것을 먼저 내보내는 것 - 데이터를 역순으로 처리할 때 사용한다. 스택 연산 CreatS 연산 => 빈 스택을 생성하고 반환, 스택의 크기를 정할 수 있다 (컴파일 시) PUSH 연산 => 스택의 공간에서 삽입을 담당 POP 연산 => 스택의 공간에서 삭제를 담당 스택의 사용 - 시스템 스택 : 함수의 호출과 복귀 순서는 스택의 구조를 응용하여 관리할 수 있다 - 그외 : 역순 문자열 만들기, 수식의 괄호 검사, 수식의 후위 표기법 변환 *스..
화면 & 버튼 설명 OVERSEAS : 해외공구관리 사이트의 홈으로 이동 Login : 계정으로 로그인하는 버튼 (/api/member/login) Create New Account : 회원가입 페이지 이동 버튼 로그인 성공 시, 아래처럼 로그인한 닉네임 노출 로그인 실패 시, 알림 노출 OVERSEAS : 해외공구관리 사이트의 홈으로 이동 Img Upload : 이미지 업로드 버튼 이미지 미업로드 시, 임의 이미지 업로드됨 Sign in : 회원가입하는 버튼 Login : 로그인 페이지로 이동 로그인 성공 시, 알림 노출 로그인 실패 시, 알림 노출
지금껏 진행해온 프로젝트를 대강 알고는 있지만 기획부터 세세하게 잡아내지는 못했던 지라, 새로운 마음가짐으로 리팩토링을 진행하면서 기획에 대한 세세한 내용도 작성해보려고 한다. 화면 & 버튼 설명 GNB 영역 - 전화번호 : 해당 홈페이지를 만든 나의 전화번호를 작성 - OVERS : 페이지 재실행, home으로 이동하는 버튼 - Cart : 로그인 : 해외공구 예정인 물품 저장 비로그인 : 로그인 페이지로 이동 - Search : 해외공구 물품 검색 - Login : 해외공구 사이트 로그인 페이지로 이동 - SHOP : 해외공구 물품 보는 페이지로 이동 - 슬라이딩 : 생각 중... - 배너 : 생각 중... 푸터 - SNS 링크 : 원하는 SNS로 이동 - 페이지 : 원하는 페이지로 이동
원소 중 두개를 곱해 만드는 값으로 최대값을 구하는 것이니 for문을 통해 배열을 두번 돌린다. 동일한 배열에서 구하는 것이니 for문이 진행될 때 동일한 원소는 만나지 않도록 if문으로 막아준다 Math.abs의 절대값 대신 Math.max를 사용하여 절대값과 최대값을 구하는 메소드를 이용하여 답을 구하였다 import java.lang.Math.*; class Solution { public int solution(int[] numbers) { int answer = numbers[0] * numbers[1]; for(int i = 0; i < numbers.length; i++){ for(int j = 0; j < numbers.length; j++){ if(i != j){ answer = Math..