목록문법 (50)
공부방
쿠키, 세션, 토큰이 필요한 이유?웹사이트는 기본적으로 Stateless(기억을 못함)그래서 로그인 했다는 걸 기억하게 해주는 도구가 필요하다.쿠키(Cookie)브라우저(클라이언트)가 정보를 직접 저장하는 작은 메모저장 위치 : 브라우저(내 컴퓨터)용량 : 작음(4KB 정도)보안 : 조심해야 한다 -> 탈취 가능성유지 기간 : 직접 정할 수 있다 (만료일 있음)예 : 교복을 입고 교실에 들어가 이름표를 달고 다닌다.쿠키 : 이름표서버는 쿠키를 보고 누가 누군지 알 수 있음언제 쓰냐?로그인 후, "자동 로그인" 하고 싶을 때장바구니 정보를 브라우저에 저장해두고 싶을 때쿠키는 HTTP 헤더에 실려서 서버로 자동 전송된다.GET /profileCookie: sessionId=abc123; theme=dark;..
예외(Exception)이란?사용자의 잘못된 조작 또는 개발자의 코딩으로 인해 발생하는 프로그램 오류예외 처리가 필요한 이유?int result = 10 / 0;System.out.println("계산 결과: " + result); // ❌ 절대 안 나옴0으로 나누는 순간 에러가 나고 프로그램이 멈춰버린다.그 뒤에 코드들은 아예 실행조차 안된다.따라서 에러가 나더라도 프로그램이 죽지 않도록 try-catch라는 도구를 써서 예외를 안전하게 처리해야한다.try-catch?try { // 문제가 생길 수 있는 코드 int result = 10 / 0; System.out.println("결과: " + result); // ❌ 여긴 실행 안 됨} catch (ArithmeticException..

JVM이란?JVM은 Java 프로그램을 실행해주는 가상의 컴퓨터컴퓨터처럼 생긴 소프트웨어라고 생각하면 된다.실제 컴퓨터(CPU, OS) 위에 자바 전용 미니 컴퓨터가 하나 더 올라간다고 보면 된다.JVM이 필요한 이유?컴퓨터를 쓸 때 각각 다른 운영체제(Windows, Mac, Linux, 모바일 등)를 사용한다.그런데 운영체제마다 작동 방식이 달라서, 원래는 그에 맞게 코드를 따로 만들어야 한다.Java는 한 번만 만들면, 어디서든 실행되는 게 목표이고, 이걸 가능하게 해주는 게 바로 JVM이다.예시 및 요약 흐름도.java (원시 자바 코드) ↓ 컴파일 (javac).class (Bytecode) ↓ 실행 (java 명령어)JVM ↓운영체제(OS) ↓CPU 실행MyProgram.java..
https://hyunleo.tistory.com/303 프로세스(Process) vs 스레드(Thread)를 쉽게 알아보기프로세스?사전적 의미 : 실행 중인 프로그램독립적인 작업 단위(실행 중인 프로그램)운영체제가 관리자신 만의 메모리 공간이 따로 있다.다른 프로세스와 메모리를 공유하지 않는다.(독립적)예hyunleo.tistory.com오랫동안 궁금했던 프로세스와 스레드의 차이점을 정리해봤다. 그렇다면 자바 스레드란 무엇일까? 자바에서 스레드란?스레드(Thread)는 프로세스 내에서 실행되는 작업 흐름자바에서는 스레드를 동시에 여러 개 실행할 수 있다.(멀티스레딩)하나의 프로그램(프로세스) 안에서 동시에 여러 작업을 수행할 수 있도록 해주는 기능자바에서 스레드는 독립적인 실행 흐름을 가진다.여러 개의..
프로세스?사전적 의미 : 실행 중인 프로그램독립적인 작업 단위(실행 중인 프로그램)운영체제가 관리자신 만의 메모리 공간이 따로 있다.다른 프로세스와 메모리를 공유하지 않는다.(독립적)예시 컴퓨터에서 Chrome 브라우저를 켰다. 그러면 'Chrome.exe' 라는 프로그램이 실행=> 이 실행 중인 프로그램이 바로 프로세스.카카오톡을 실행했다고 했을 때, 카카오톡이라는 프로세스가 하나 만들어지는 것프로세스의 쉬운 비유회사에서 여러 개의 사무실을 생각했을 때회사 안에는 각 부서(팀)이 따로 있다.(영업팀, 개발팀, 마케팅팀..등)이 각 부서가 '프로세스'각 부서는 자기만의 사무실(메모리 공간)을 가지고 있다.다른 부서(프로세스)와 공간을 공유하지 않는다.결론프로세스는 운영체제가 관리하는 독립적인 작업 단위각..
문자열->정수형Integer.parseInt()정수형->문자열Integer.toString(int)
거듭제곱을 해주는 메소드 Math.pow(거듭제곱할 숫자, 거듭제곱(몇제곱인지); https://www.acmicpc.net/problem/2903 2903번: 중앙 이동 알고리즘 상근이는 친구들과 함께 SF영화를 찍으려고 한다. 이 영화는 외계 지형이 필요하다. 실제로 우주선을 타고 외계 행성에 가서 촬영을 할 수 없기 때문에, 컴퓨터 그래픽으로 CG처리를 하려고 한다. www.acmicpc.net package 일반_수학_1; import java.util.Scanner; public class bj2903_중앙이동알고리즘 { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int a=sc.nextInt(); Sy..
https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net package class2; import java.util.HashSet; import java.util.Scanner; import java.util.Set; public class 수찾기_1_1920 { public static void main(String[] args) { // Scanner 객체를 생성하여 사용자로부터 입력을 받는다. Sca..
https://www.acmicpc.net/problem/14503 14503번: 로봇 청소기 첫째 줄에 방의 크기 $N$과 $M$이 입력된다. $(3 \le N, M \le 50)$ 둘째 줄에 처음에 로봇 청소기가 있는 칸의 좌표 $(r, c)$와 처음에 로봇 청소기가 바라보는 방향 $d$가 입력된다. $d$가 $0$인 경우 북쪽 www.acmicpc.net package 방학1주차; import java.util.Scanner; public class 로봇청소기_14503 { static int N,M,count; static int[][] map; //북,동,남,서 static int[] dy= {-1,0,1,0}; static int[] dx= {0,1,0,-1}; public static voi..
https://www.acmicpc.net/problem/16395 16395번: 파스칼의 삼각형 파스칼의 삼각형은 이항계수를 삼각형 형태로 배열한 것인데, 블레즈 파스칼(1623-1662)을 따라 이름 붙여졌다. 단순한 형태로, 파스칼의 삼각형은 다음과 같은 방법으로 만들 수 있다. N번째 행 www.acmicpc.net 원래 코드 package DP; import java.util.Scanner; public class bj_파스칼의삼각형_16395 { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int a=sc.nextInt(); int b=sc.nextInt(); int up=1; int left=1; in..