컴퓨터는 모든 수를 0과 1로 이루어진 2진수로 표현한다.정수의 경우 이러한 표현이 간단하지만 실수를 2진수로 표현하는것은 복잡하며 고정 소수점과 부동 소수점 방식 총 2가지 방식이 있다.첫 번째 칸 = 부호비트음수 = 1, 양수 = 0그 다음 15칸 = 정수부실제 정
cpu 구조물론, CPU(중앙 처리 장치)의 구조를 설명드리겠습니다.CPU는 프로세서라고도 불리며, 컴퓨터 시스템에서 가장 중요한 부분 중 하나입니다. 기본적으로 CPU는 다음과 같은 주요 구성 요소로 이루어져 있습니다:제어 유닛(Control Unit):클럭 : 컴퓨
스프링 시큐리티(Spring Security)를 사용하면 편리하게 인증/인가를 구현할 수 있다.스프링 기반의 애플리케이션의 보안(인증과 권한)을 담당하는 프레임워크동작스프링 시큐리티는 필터(filter) 기반으로 동작한다.스프링 MVC와 분리되어 관리 및 동작Dispa
전통적인 Spring MVC의 컨트롤러인 @Controller는 주로 View를 반환하기 위해 사용합니다.1\. Client는 URI 형식으로 웹 서비스에 요청을 보낸다.2\. DispatcherServlet이 요청을 처리할 대상을 찾는다.3\. HandlerAdapt
자바코드로 의존성을 정리, 개발자가 제어를 하고 있음Inversion of Control의 줄임말, 제어의 역전스프링 애플리케이션에서는 오브젝트(빈)의 생성과 의존 관계 설정, 사용, 제거 등의 작업을 애플리케이션 코드 대신 스프링 컨테이너가 담당이를 스프링 컨테이너가
컴파일 에러(compile-time error) : 컴파일시에 발생하는 에러 런타임 에러(runtime error) : 실행시에 발생하는 에러 논리적 에러(logical error) : 실행은 되지만 의도와 다르게 동작하는것프로그램이 실행하고 작동하는데 아무런 문제가
직렬화(serialize) : 자바 언어에서 사용되는 Object 또는 Data를 다른 컴퓨터의 자바 시스템에서도 사용 할수 있도록 바이트 스트림(stream of bytes) 형태로 연속전인(serial) 데이터로 변환하는 포맷 변환 기술역직렬화(Deserialize
Garbage Collection이란? 자바의 메모리 관리 방법 중의 하나로 JVM의 Heap 영역에서 동적으로 할당했던 메모리 영역 중 필요 없게 된 메모리 영역을 주기적으로 삭제하는 프로세스를 말합니다. C나 C++에서는 이러한 가비지 컬렉션이 없어 프로그래머가 수동으로 메모리 할당과 해제를 일일이 해줘야함 Java는 JVM에 탑재되어 있는 가비지 ...
자바의 모든 객체는 락(lock)을 갖고 있다.모든 객체가 갖고 있으니 고유 락(intrinsic lock), 모니터처럼 동작한다고 하여 모니터 락(monitor lock), 혹은 그냥 모니터(monitor)라고도 한다.동시성 문제를 해결하는 가장 간편한 방법고유 락을
변경 가능한가동기화가 가능한가멀티스레드 동기화 - 락설명이 됨문자열 삭제는 가비지 컬렉션으로.trim()앞, 뒤 공백 제거중간은 공백 그대로임toUpperCase()와 toLowerCase()대문자를 소문자로소문자를 대문자로 변환.substring(a, b)특정 문자열
파일 시스템은 컴퓨터에서 파일이나 자료를 쉽게 발견 및 접근할 수 있도록 보관 또는 조직하는 체제를 가리키는 말이다.파일(File)컴퓨터에서 데이터를 저장하는 데 사용되는 단위이다.파티션(Partition)연속된 저장 공간을 하나 이상의 연속되고 독립적인 영역으로 나누
우리가 유튜브로 음악을 틀어놓고 동시에 게임을 하는건 너무 당연한 일이다.과연 어떻게 이런 일이 가능할까?이는 마치 동시에 실행되는 것처럼 보이겠지만 사실은 빠른 속도로 유튜브와 게임이 번갈아 실행되는 것이다.프로세스는 실행 중인 프로그램(program)을 뜻한다.ne
Hypertext Transfer ProtocolHypertext란 정보를 담고 있는 문서/파일ex. htmlHypertext 문서인 HTML을 전송하기 위한 통신 규약암호화되지 않은 방법으로 데이터를 전송 -> 메시지를 감청이 매우 쉽다.중간에 선 하나 따서 내 컴퓨
달리기 경주(https://school.programmers.co.kr/learn/courses/30/lessons/178871프로그래머스는 확실히 백준과 분위기가 다른것같다.여태까지 백준만 들여다 봤는데 프로그래머스 문제만 보면 쉽게 풀리지 않는다.게다가 기
사용자가 정의한 프로시저RDBMS에 저장되고 사용되는 프로시저구체적인 하나의 task를 수행한다.두 정수의 곱셉 결과를 가져오는 프로시저를 작성하자delimiter $$ 저장 프로시저 시작$ $ 끝IN : 인풋 파라미터 (안쓰면 IN으로 디폴트)OUT : 아웃풋 파라미
first_name에 index가 걸려있지 않다면?full scan(=table scan)으로 찾아야한다.O(N)의 시간복잡도first_name에 index가 걸려있다면?full scan보다 더 빨리 찾을 수 있다.O(log N) (B-tree based index)쿼
1992번9개로 나눈거 한번푸니까 사분면은 쉬웠다.특이한 점은 괄호로 묶어주는 것을 구현해야하는데 재귀시작하기 전과 후에 넣어주면 된다.
1780번9개로 나눠진 분면이 있다. 각 9개의 분면마다 같은 숫자로 되어있으면 1개로 친다. 아니라면 그 분면을 또 9개로 나눈다. 같은 숫자로 되었있다면 1개 아니면 또 나누다. 이런식으로 계속해서 흰색, 회색, 검정이 각각 몇개인지 구하는 문제다.분할정복을 사용하
11728번배열 두개를 받고 합쳐서 오름차순으로 정렬하는 문제다.분할정복 문제라고한다. 그치만 그냥 풀리나 풀어봤는데 정답이 떴다.배열하나에 받아버리고 Arrays.sort(arr) 하고 StringBuilder로 하니 통과했다.의도와는 다르지만 넘어간다.
10816번숫자 카드 1에 이어서 업그래이드 되서 숫자가 있는지 없는지에 더해 몇개 있는지 까지 판별하는 문제다.이 문제는 lowerBound upperBound 개념을 알면 쉽게 풀수 있다.upperBound - lowerBound = 해당 숫자가 몇개있는지 알 수