본문 바로가기

전체 글

(62)
[Java/Basics] 자바 기초 스터디 1주차: 자바의 실행 구조와 메모리 모델(동작 원리) 먼저 왜 언어를 공부할 때 실행 구조와 메모리를 이해하면 좋은 지 알아보고, 실행 과정, JVM의 구성 요소, 메모리 구조와 에제 코드에 대해 작성한다.1. 왜 언어 실행 구조와 메모리 모델을 이해해야 할까?돌아간다 신난다를 위해서는 사실 이론에 대한 공부는 딱히 하지 않아도 된다.하지만 구현을 넘어 더 딥한 고민으로 퀄리티 있는 코드를 짜기 위해서는 동작 원리를 이해해야 한다.언어에 대한 깊은 이해를 하고 코드를 짜면 좋은 점효율적인 메모리 사용메모리 사용 최적화 가능Garbage Collection의 작동 원리를 알면 메모리 누수 방지 가능(객체 참조 적시에 제거하는 등)디버깅과 문제 해결 능력 향상NullPointerException, StackOverflowError, OutOfMemoryErro..
[Java/Basics] 자바 기초 스터디 계기인턴 진행하면서 동기들이 Java에 익숙하지 않은 상황에서 Java로 과제를 수행해야 한다고 하길래 나도 기초 이론 정리할 겸 스터디를 제안해서 시작하게 되었다. 계획일단 4주 동안 각자 정한 주제로 주에 1개씩 블로그 포스팅을 올리기로 했다. 마감은 일요일 23:59! 누락 시 만원 벌금도 만들었다. 1주차: 자바의 실행 구조와 메모리 모델2주차: 객체지향프로그래밍3주차: 상속과 다형성4주차: 예외처리와 스트림(이후는 개인적으로 정리)5주차: 주요 라이브러리와 기능(컬렉션 프레임워크 한눈에 보기…)6주차: 멀티스레드 기초 개념과 간단한 구현7주차: 지금까지 정리한 거 요약해서 gpt한테 보여주고 부족한 부분 보완 예정 GPT랑 얘기해서 이 정도로 정리해뒀다. 앞으로 최소 4주는 빡세게 해봐야지!! ..
[ AWS S3 ] S3란? 사용하는 이유? AWS S3란?AWS S3(Simple Storage Service)는 Amazon Web Services에서 제공하는 객체 스토리지 서비스로,데이터를 안전하게 저장하고 언제든 접근 가능하도록 설계됨. 확장성이 매우 뛰어나며, 대용량 데이터를 효율적으로 처리할 수 있어 클라우드 스토리지 서비스의 표준으로 자리잡고 있음.1. 객체 스토리지객체 기반 저장소. 데이터를 파일 단위로 저장.객체는 데이터 자체, 메타데이터(파일 정보), 고유한 ID로 구성됨.디렉토리나 폴더 구조 대신 버킷이란 개념을 사용해 데이터 저장, 관리.(버킷은 폴더처럼 보이지만 사실상 논리적 구분임)2. S3 주요 기능무제한 스토리지: 사실상 무제한의 저장 공간 제공. 파일 크기나 저장하는 데이터 양의 제한이 없으며, 자동 확장됨.높은 내..
코딩 테스트 합격자 되기 스터디 5주차 - 집합 https://www.inflearn.com/course/cpp-%EC%BD%94%EB%94%A9%ED%85%8C%EC%8A%A4%ED%8A%B8-%ED%95%A9%EA%B2%A9 집합상호배타적 집합이란?집합의 연산union 연산과 find 연산경로 압축 / 랭크 기반 알고리즘으로 개선하기집합의 구현상호배타적 집합교집합이 없는 집합관계(집합은 꼭 2개가 아니라 N개일 수도 있음)집합 표현하기무엇을 고려해야 할까?특정 집합 원소들이 하나의 집합의 원소라는 것을 알 수 있어야 함.집합 A = {1, 2, 3}일 때 각 원소가 집합 A에 속한다는 것을 알아야 함.각 집합 간 다른 집합임을 알 수 있어야 함.집합 A = {1, 2, 3}, ㅠ = {4, 5, 6}일 때 두 집합이 다른 집합임을 알아야 함.특정 ..
코딩 테스트 합격자 되기 스터디 4주차 - 트리 https://www.inflearn.com/course/cpp-%EC%BD%94%EB%94%A9%ED%85%8C%EC%8A%A4%ED%8A%B8-%ED%95%A9%EA%B2%A9 [지금 무료] 코딩 테스트 합격자 되기 - C++ 강의 | dremdeveloper - 인프런dremdeveloper | 코딩 테스트 합격을 위한 C++ 강의, 책 없이도 가능! 저자와 직접 소통 가능한 커뮤니티 제공!, [사진]여기에 문의 하세요https://open.kakao.com/o/gX0WnTCf📘 코딩 테스트 합격자 되기 - C++편www.inflearn.com 트리 개념이진트리 표현이진트리 순회이진탐색트리트리의 개념노드와 간선으로 이루어진 계층적 자료 구조(부모-자식 관계 존재)순환 허용 X코테에서는 이진트리(자..
코딩 테스트 합격자 되기 스터디 3주차 - 해시 https://www.inflearn.com/course/cpp-%EC%BD%94%EB%94%A9%ED%85%8C%EC%8A%A4%ED%8A%B8-%ED%95%A9%EA%B2%A9 [지금 무료] 코딩 테스트 합격자 되기 - C++ 강의 | dremdeveloper - 인프런dremdeveloper | 코딩 테스트 합격을 위한 C++ 강의, 책 없이도 가능! 저자와 직접 소통 가능한 커뮤니티 제공!, [사진]여기에 문의 하세요https://open.kakao.com/o/gX0WnTCf📘 코딩 테스트 합격자 되기 - C++편www.inflearn.com코딩테스트 합격자 되기 스터디 3주차해시해시의 개념해시 함수충돌 처리해시해시 함수를 사용해서 변환한 값을 인덱스 삼아 키-값을 저장해서 빠른 데이터 탐색을 ..
코딩 테스트 합격자 되기 스터디 2주차 - 스택 / 큐 코딩테스트 합격자 되기 스터디 2주차https://www.inflearn.com/course/cpp-%EC%BD%94%EB%94%A9%ED%85%8C%EC%8A%A4%ED%8A%B8-%ED%95%A9%EA%B2%A9스택스택의 개념LIFO(Last In First Out), 가장 최근에 들어간 원소가 가장 먼저 나오는 자료 구조)스택을 활용할 수 있는 문제를 알아보는 법:가장 최근에 들어온 원소를 알 수 있다.가장 최근에 들어온 원소 순으로 나온다.ADT란?ADT(Abstract Data Type): 추상 데이터 타입의 약어세부 사항을 숨기고 사용자에게 필요한 기능만 명시세부 사항: 내부 자료구조, 프로그래밍 언어, 저장 공간의 크기사용자에게 필요한 기능: 연산, 입력, 출력ADT를 사용하면?복잡한 자료구..
코딩 테스트 합격자 되기 스터디 1주차 - 시간복잡도 코딩테스트 합격자 되기 스터디 1주차[지금 무료] 코딩 테스트 합격자 되기 - C++ 강의 | dremdeveloper - 인프런시간복잡도알고리즘이란?유한한 수의 규칙에 따라 구별 가능한 기호들을 조작하여 입력 정수에서 출력 정수를 생성하기 위한 일반화된 작업을 정의정밀성: 변하지 않는 명확한 작업 단계를 가져야 한다.유일성: 각 단계마다 명확한 다음 단계를 가져야 한다.타당성: 구현할 수 있고 실용적이어야 한다. → 알고리즘의 성능입력: 정의된 입결을 받아들일 수 있어야 한다.출력: 답으로 출력을 내보낼 수 있어야 한다.유한성: 특정 수의 작업 이후에 정지해야 한다.일반성: 정의된 입력들에 일반적으로 적용할 수 있어야 한다.알고리즘의 성능은 어떻게 측정할 것인가?(절대 시간 측정)PC에서 코드가 수행된..