[백준] 23295번: 스터디 시간 정하기1 Java/ 누적합, imos 이모스 풀이
·
알고리즘
https://www.acmicpc.net/problem/23295문제참가자들이 스터디에 참여할 수 있는 시간들을 입력받아 시간 만족도가 최대인 시간을 찾아 출력한다. 시간 만족도가 최대인 시간이 여러 개라면 시작 시간이 가장 빠른 시간을 출력한다.  풀이과정1. 참가자별로 스터디에 참여하는 시간대를 입력 받아서 이모스배열과 누적합 배열을 만든다2. 참가자가 입력한 시간중 가장 큰 값을 기준으로 반복문을 돌며 스터디시간 T의 구간합을 구하면서, 가장 큰 값이 나오면 해당 구간합의 인덱스 값을 갱신해준다 이때 구간합 맥스값이 동일하면 인덱스가 작은 것으로 유지 -> (시간 만족도가 최대인 시간이 여러 개라면 시작 시간이 가장 빠른 시간을 출력한다.)   풀이코드import java.io.*;import j..
[Spring] DI가 뭐야? (Spring DI 개념, 구현방법, 활성화)
·
카테고리 없음
DI(Dependency Injection)란? 의존성 주입으로 객체가 필요한 의존성을 스스로 생성하지 않고 외부에서 주입 받는 방식.객체 간의 의존 관계를 코드 내부에서 직접 정의하지 않고 스프링 컨테이너가 관리하며 객체를 생성하고 필요한 곳에 전달한다.쉽게 말하면 프로그램에서 필요한 걸 직접 만드는 대신, 스프링이 대신 준비해서 전달해주는 역할을 하는 것 DI가 왜 필요할까? 객체 간의 결합도를 낮추고 코드의 유연성과 재사용성을 높이기 위함.쉽게 말하면 프로그램을 더 깔끔하고 관리하게 좋게 만드는 것  Spring DI의 특징1. 객체 재사용성 향상객체간 결합도가 낮아서 테스트나 유지보수가 쉽다 2. IoC(Inversion of Control) 구현객체 생성과 생명주기를 스프링 컨테이너가 관리한다객..
[Homebrew] Error: Unexpected method 'appcast' called on Cask adoptopenjdk11.
·
카테고리 없음
Homebrew로 jdk17 설치 중에 에러가 났어요   jdk11이 문제되는거 같아 삭제해줬습니다  1. 삭제할 디렉토리로 이동cd /Library/Java/JavaVirtualMachines  2. java -version /으로 파일명 확인  3. 해당 파일 삭제 처리 sudo rm -rf jdk-11.0.11.jdk     3. homebrew로 설치한 jdk17을 사용도록 설정해줍니다sudo ln -sfn /opt/homebrew/opt/openjdk@17/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-17.jdk  완료 후 자바버전 확인하면 끝입니다
[DBeaver] 다른 서버 테이블 데이터 옮기기 내보내기, 테이블 구조 복사
·
카테고리 없음
디비버를 이용하여 다른 서버로 테이블 구조와 데이터를 통째로 옮기는 방법!   첫번째 데이터 내보내기 메뉴        내보낼 테이블을 선택하고 우클릭하여 데이터 내보내기 메뉴를 찾습니다      그럼 이렇게왼쪽에는 데이터내보내기 유형과 오른쪽에는 내보낼 테이블 목록이 뜹니다  확인 후 다음버튼 클릭       이제 Target container에서 테이블 받을 서버를 선택해 줍니다Target container 아래에 Source, Target, Mapping이 있는데Source 는 내보낼 테이블Target은 받을 서버에 생성될 테이블Mapping은 테이블이 생성되는지 , 데이터가 부어지는지 값을 나타냅니다 다음 계속 누르면서 옵션 원하시는 대로 설정해주시면 됩니다     마지막 Confirm 단계에서 ..
[SSH] Permission denied, please try again.
·
카테고리 없음
사진처럼 ssh 접속시 permission denied가 나는 경우 해결방법들을 몇가지 찾아보았따    1. sshd_config 파일 수정 sshd_config 파일 vim 모드로 열기 :: sudo vim /etc/ssh/sshd_config  아래 항목을 예스로 바꿔준다 더보기PubkeyAuthentication yes PasswordAuthentication yes 저장한 뒤에 리스타트 해준다 나는 이 방법으로 안됐다   2. 비밀번호 재설정 sudo passwd root 로 비밀번호 재설정 했더니 됐다
[혼자 공부하는 컴퓨터구조 + 운영체제] - 다양한 보조기억장치2
·
CS
플래시 메모리 : 전기적으로 데이터를 읽고 쓰는 반도체 기반 저장 장치 SSD, SD카드, USB 메모리가 전부 다 플래시메모리 기반의 저장장치이다 플래시 메모리의 종류 NAND 플래시 메모리 NOR 플래시 메모리 셀 (cell) 플래시 메모리에서 데이터를 저장하는 가장 단위 셀이 모이고 모여서 메가바이트, 기가바이트, 테라바이트 저장 장치가 된다 한 셀에 1비트를 저장할 수 있는 플래시 메모리 : SLC 한 셀로 두 개의 정보 표현 비트의 빠른 입출력이 가능함 수명이 길다 ... (플래시메모리 하드디스크에는 수명이 있음) 용량 대비 고가격이다 한 셀에 2비트를 저장할 수 있는 플래시 메모리 : MLC 한 셀로 네 개의 정보 표현 (대용량화 유리) SLC보다 느린 입출력 SLC보다 짧은 수명 SLC보다..
[혼자 공부하는 컴퓨터구조 + 운영체제] - 다양한 보조기억장치1
·
CS
하드 디스크 : 자기적인 방식으로 데이터 저장 구성 스핀들 , 플래터 플래터는 여러겹으로 이뤄져 있음 일반적으로 플래터 양면 모두 사용 플래터를 스핀들이라는 요소가 회전시켜줌 회전의 단위를 RPM(분당 회전수)이라고 함 헤드, 디스크 암 헤드가 플래터를 읽고 쓰게 해주는것 디스크암은 헤드를 움직여주는 구성요소 일반적으로 모든 헤드가 미스크 암에 부착되어 함께 이동함 저장 단위 기본적으로 트랙과 섹터 단위로 데이터가 저장됨 섹터의 크기 : 512바이트~4096바이트 하나 이상의 섹터를 묶어 블록 이라고 표현하기도 함 실린더 : 여러 겹의 플래터 상에서 같은 트랙이 위치한 곳을 모아 연결한 논리적 단위 플래터는 트랙과 섹터로 나뉘고 같은 트랙이 모여 실린더를 이룹니다 데이터 접근 과정 하드 디스크가 저장된 ..
[혼자 공부하는 컴퓨터구조 + 운영체제] - 캐시 메모리
·
CS
CPU가 메모리에 접근하는 시간은 CPU 연산 속도보다 느리다 저장 장치 계층 구조 1. CPU와 가까운 저장 장치는 빠르고, 멀리 있는 저장 장치는 느리다 2. 속도가 빠른 저장 장치는 저장 용량이 적고, 가격이 비싸다 저장 장치들은 'CPU에 얼마나 가까운가'를 기준으로 계층적으로 나타낼 수 있다 캐시 메모리 - CPU와 메모리 사이에 위치한, 레지스터보다는 용량이 크고 메모리보다는 빠른 SRAM 기반의 저장 장치 - CPU의 연산 속도와 메모리의 접근 속도 차이를 조금이라도 줄이기 위해 탄생됨 - CPU가 매번 베보리에 왔다 갔다 하는건 시간이 오래 걸리니 메모리에서 CPU가 사용할 일부 데이터를 미리 캐시 메모리로 가지고 와서 쓰는 것 (비유예시) - 메모리에 접근 = 물건을 사러 가는 것 - 메..
[혼자 공부하는 컴퓨터구조 + 운영체제] - 메모리의 주소 공간
·
CS
물리 주소와 논리 주소 CPU와 실행 중인 프로그램은 현재 메모리 몇 번지에 무엇이 저장 돼 있는지 다 알지 못하는 이유 : 메모리에 저장된 값들은 시시각각 변하기 떄문 - 새롭게 실행되는 프로그램은 새롭게 메모리에 적재 - 실행이 끝난 프로그램은 메모리에서 삭제 됨 - 같은 프로그램을 실행하더라도 실행할 때마다 적재되는 주소는 달라짐 물리주소 - 메모리 입장에서 바라본 주소 - 말 그대로 정보가 실제로 저장된 하드웨어상의 주소 논리주소 - CPU와 실행 중인 프로그램 입장에서 바라본 주소 - 실행 중인 프로그램 각각에서 부여된 0번지부터 시작하는 주소 물리 주소와 논리 주소의 변환 물리주소와 논리주소는 MMU(메모리 관리 장치)라는 하드웨어에 의해 변환됨 - MMU는 논리주소와 베이스 레지스터(프로그램..
[혼자 공부하는 컴퓨터구조 + 운영체제] - RAM의 특성과 종류
·
CS
RAM의 특징 RAM은 휘발성 저장 장치이고, 보조기억장치는 비휘발성 저장 장치 메모리가 클수록 많은 프로그램들을 동시에 실행하는데 유리함 RAM의 종류 DRAM (Dynamic RAM) - Dynamic = 동적의 - 저장된 데이터가 동적으로 사라지는 RAM - 데이터 소멸을 막기 위해 주기적으로 재활성화 해야 함 - 일반적으로 메모리로 사용되는 RAM임 - 상대적으로 소비전력이 낮고 저렴하고 집적도가 높아 대용량으로 설계하기 용이하기 때문 SRAM (Static RAM) - Static = '정적의' - 저장된 데이터가 정적인 (사라지지 않는) RAM - DRAM보다 일반적으로 더 빠름 - 일반적으로 캐시 메모리에서 사용되는 RAM - 상래적으로 소비전력이 높고 가격이 높고 집적도가 낮아 -대용량으로..