전체 글
-
[SSAFY] 싸피 8기 2학기 공통 프로젝트 후기 - 우수상(1등)IT/SSAFY 2023. 3. 12. 13:02
최근 정신 없는 공채 시즌이다.싸피에서 한 프로젝트와 그 안에서의 나의 역할, 배운점 등을 정리하면 좋을 것 같아 블로그에도 기록으로 남겨 본다.프로젝트 개요 및 결과- 서비스명 : Color the rock- 서비스 개요 : 볼더링 유저를 위한 실시간 소통 및 운동 기록 서비스- 프로젝트 기간 : 23.01.09 - 23.02.17(6주)- 프로젝트 인원 : 5명 (백엔드 3명, 프론트엔드 2명)- 결과 : 반 🎉1등 수상🎉아이디어 기획1월 2일부터 1주간은 부트 캠프 기간으로 사실상 이 단계부터 아이데이션에 많은 팀들이 돌입한다.부트 캠프 기간에 아이디어톤을 진행하는데, 9팀 중 1팀을 제외하곤 이 때 낸 아이디어를 모두 드롭했다.싸피는 정말 오랜 기간 같은 주제로... 프로젝트를 진행시켜왔기 ..
-
[Java Collection Framework] 2. 컬렉션(Collection), 리스트(List), ArrayList, LinkedList, VectorProgramming/Java 2023. 3. 7. 15:41
Collection 인터페이스 collection 계층 구조의 root interface로 object의 집합을 의미 List, Queue, Set이 이를 구현 ✅ 주요 메소드 1. List 인터페이스 ✅ 주요 메소드 🔽 메소드 공부하면서 생긴 궁금증 더보기 Q. 각각 new 생성자를 통해 생성한 ArrayList 객체가 같은 값, 같은 순서의 요소를 갖고 있을 때, hashCode값이 같은 이유가 뭘까? - hashCode는 각 객체에 고유한 속성값을 주기 위해 존재하며 보통은 메모리 주소를 기반으로 함 - 하지만 'ArrayList'는 hashCode 메소드를 override하여 리스트의 컨텐츠를 기반으로 값을 반환(메모리 주소가 아닌!) - ArrayList에서는 이터레이터를 통해 리스트의 요소들을..
-
[알고리즘] Scanner VS BufferedReaderComputer Science/Algorithm 2023. 3. 3. 19:21
📍 Scanner와 BufferedReader는 대표적으로 사용자(키보드) 입력을 받기 위해 사용하는 클래스 - BufferedReader가 속도 측면에서 더 우위를 가지고 있음 - 데이터 인풋의 양이 적을 경우에는 문제 없지만, 데이터 양이 많아질수록 성능 차이가 크게 발생 Scanner 사용법 import java.util.Scanner; public class Test { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String input = sc.next(); // 공백 이전 문자열 반환 int inputNum = sc.nextInt(); // 공백 이전의 숫자 반환 } } BufferedReader 사..
-
[운영체제] 메모리 관리 - 페이징 (Paging)Computer Science/Operating System 2023. 2. 28. 13:15
들어가기 전에 External Fragmentation (외부 단편화) 란? : 총 메모리 공간을 계산했을 때 요청을 처리할만한 충분한 메모리가 있음에도 불구하고, 가능한 공간들이 연속적이지 않아 (저장 공간이 많은 hole 들로 조각조각 나있을 때) 프로세스를 할당할 수 없는 문제 - 프로세스는 실행이 되면 메모리에 올라가게 됨 - 프로세스는 연속적으로 배치가 됨(Contiguous allocation) → 프로세스를 쪼개서 배치할 수 없음 - 아래 그림과 같이 Process4가 들어갈 수 있는 자리가 있음에도 할당되지 못하고 대기하게 되는 문제 발생 ※ 참고: 프로세스를 밑으로 재배치하여 Hole 을 없애는 방법은 불가한가? 더보기 Compaction : 비어 있는 공간을 연속적인 공간으로 만들고 움..
-
[Java Collection Framework] 1. 컬렉션 프레임워크란?Programming/Java 2023. 2. 11. 22:34
컬렉션 프레임워크란? : 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스 집합 - 데이터를 저장하는 자료 구조와 데이터를 처리하는 알고리즘을 구조화하여 클래스로 구현해놓은 것 - 컬렉션 프레임워크는 자바의 인터페이스를 사용해 구현 📍Collection이란? : 오브젝트의 집합. A collection is an object that represents a group of objects (such as the classic Vector class). Collection Framework 종류 List : 인덱스의 순서로 요소를 저장하며 중복된 데이터 저장 가능 Queue : 데이터가 저장된 순서대로 출력되는 선입선출 구조를 갖는 선형 자료구조 Set : 순서가 없으며 데이터 중복..
-
[운영체제] 프로세스 VS 스레드 개념 및 예상 질문Computer Science/Operating System 2023. 2. 7. 12:24
프로세스 VS 스레드 구분 프로세스 스레드 사전적 의미 컴퓨터에서 실행되고 있는 컴퓨터 프로그램 - 메모리에 올라와 실행되고 있는 프로그램 인스턴스 프로세스 내에서 실행되는 여러 흐름의 단위 - 프로세스의 특정한 수행 경로 고유 할당 자원 Code, Data, Stack, Heap 프로세스 내에서 Stack만 따로 할당 특징 1. 프로세스 한 개당 최소 1개의 스레드를 가지고 있음 2. 각 프로세스는 별도의 주소 공간에서 실행되어 다른 프로세스의 변수나 자료구조에 접근 불가 3. 다른 프로세스 자원에 접근하려면 프로세스간 통신(IPC) 사용 필요 (파이프, 파일, 소켓 등) 1. 같은 프로세스 내의 여러 스레드들은 같은 힙 공간 공유 2. 한 스레드가 프로세스 자원을 변경하면 다른 이웃 스레드도 그 변경..
-
[운영체제] 프로세스의 구성, 상태, 시스템콜 등 총 정리Computer Science/Operating System 2023. 2. 7. 00:28
프로세스란? : 실행 중인 프로그램으로 디스크로부터 메모리에 적재되어 CPU의 할당을 받을 수 있는 것 - 가상 메모리 공간, 코드, 데이터, 시스템 자원의 집합(microsoft) - 하나 혹은 그 이상의 Thread로 실행되는 컴퓨터 프로그램의 instance - Process는 Program code와 그 activity를 포함 프로세스의 구성 PCB (Process Control Block) : 프로세스에 대한 정보는 프로세스 제어블록(PCB, Process Control Block) 또는 프로세스 기술자(Process descriptor)라고 부르는 자료구조에 저장 - 운영체제는 프로세스 관리를 위해 프로세스의 생성과 동시에 고유한 PCB를 생성하여 Kernel 영역에 저장 - 프로세스는 CPU..
-
[AWS] 유저가 업로드한 동영상에서 썸네일 이미지 추출하여 S3에 바로 저장하기 - JavaAWS/Cloud 2023. 2. 1. 23:31
들어가기 전 저어어엉말 관련한 글들을 찾기가 어려워서 힘들었는데.. 결국 성공! 하여 누군가에게 도움이 되길 바라며 정리해놓는다. [구현 하고 싶었던 기능] 1. 유저가 자신의 로컬 스토리지에서 영상을 업로드 2. 백에 MultipartFile 형태로 파일이 전달 3. 동영상을 바로 S3에 업로드 4. 동영상에서 썸네일 이미지만 추출하여 S3 업로드 [시도해본 것] 1. AWS MediaConvert - 미디어 컨버트를 활용해 S3 버킷을 인풋용/아웃풋용으로 나누고 인풋 버킷에 영상 파일이 업로드 되면, 미디어 컨버트를 통해 썸네일로 변환하여 아웃풋 버킷에 저장하도록 함 - 해당 방법은 아웃풋 버킷에 무조건 full video도 함께 저장하여야 하고.. 미디어 컨버트는 영상의 분 단위로 비용 책정을 해서..