본문 바로가기

분류 전체보기209

[Java] Mutable, Immutable, 방어적 복사, unmodifiableList 🎇 Mutable, Immutable 자바는 new 연산자로 객체를 생성힐 수 있고, 이때 heap 영역에 할당되고 stack 영역에서 참조 타입 변수를 통해 데이터에 접근한다. 이때 자바의 객체의 타입은 두 가지 있다. Mutable(가변) 객체와 Immutable (불변) 객체이다. ✔️ Immutable(불변) 객체 불변 객체 : 객체 생성 이후에는 객체의 상태가 바뀌지 않는 객체 불변 객체 종류: String, Boolean, Integer, Float, Long 등 String을 제외하고 원시 타입의 wrapper 타입이다. 🤖 : 오잇! 나 String 타입 변경한 적 있는 거 같은데? 🐰 : 오.. 이 상황을 말하는 거야? String name = "정윤"; name = "jeongyoon".. 2023. 5. 2.
[AWS Cloud Practitioner] 스터디 2주차 정리 "AWS Certified Cloud 전문가 시험 합격을 위한 모든 것" 강의 내용의 포함되어 있습니다. * 🧚 : 시험 출제 포인트 🪣 S3 S3 (Simple Storage Service) : 오브젝트 스토리지, 무한 확장 스토리지 S3 콘솔은 글로벌 콘솔이다. 하지만 버킷을 생성할 때에는 특정 리전에 할당해야 한다. ✔️ 사용 사례 백업, 저장 재해 복구 보관 비용 절감 하이브리드 클라우드 스토리지 핵심은 객체를 저장! [ S3 Object와 Bucket ] ✔️ Object (객체) : 데이터를 담기 위한 단위 Key - Value 구조 Key는 전체 경로, 접두사 + 객체 이름으로 구성 ex. s3://my-bucket/my_file.tx ✔️ Bucket (버킷) : Object를 담기 위한 .. 2023. 4. 28.
[Git] 한 repository 여러 프로젝트 월세주기 🏡 🐰 주디 요구사항 많은 사람들의 (👤1명). 뜨거운 관심 속에 스프링 놀이터를 만들고만 주디.. 기존에 각각의 레포를 만들어서 여러 실습도 진행해 보고 강의 코드도 정리하고 있었다. 갈수록 많아지는 레포는 찾아보기 힘들고 놀이터도 만들었겠다. 놀이터에서 놀아줘야지. 주디는 아래의 요구사항을 가지고 있다. 빈 레포로 기존 깃에 있는 레포를 옮기고 싶다. 당연히 소중한 커밋 기록도 들고 가고 싶다. 한 레포에 여러 프로젝트를 관리하고 싶다. 자 그러면 지금 이사가보자!! 뚠뚠~ 🐜 0. 초기 세팅 1) 부모 repository 부모 역할을 할 레포지토리를 만든다. 2) 자식 repository 자식 역할을 할 레포지토리를 생성하거나 선택한다. 1. 부모 repository를 로컬에 clone 한다. $ gi.. 2023. 4. 24.
[AWS Cloud Practitioner] 스터디 1주차 정리 "AWS Certified Cloud 전문가 시험 합격을 위한 모든 것" 강의 내용의 포함되어 있습니다. * 🧚 : 시험 출제 포인트 ☁️ 클라우드 컴퓨팅이란? ✔️ 클라우드 컴퓨팅 : 컴퓨터 성능과 데이터베이스 스토리지, 애플리케이션과 다른 IT 리소스를 on-demand로 제공하는 것이다. 즉, 필요할 때 해당 서비스를 이용할 수 있다. 또한 요청한 만큼만 비용을 지불하여 컴퓨터 리소스의 정확한 유형과 크기를 프로비저닝 할 수 있다. [ 클라우드 배포 유형 ] Public Cloud MS Azure, Google Cloud, AWS Private Cloud (OpenStack) 클라우드를 사용하기 원하는 기업에서 자체적으로 전용망을 이용하여 구축하는 클라우드 Multi Cloud 멀티 클라우드는 2곳.. 2023. 4. 20.
[자료구조] hashing, hash function, map, hash table, hash set | 종합 선물 세트..? 모의면접에서 hash 파트 정확하게 잘 모르는 걸 어떻게 알았는지... 해시(스터디원)가... 자꾸 해시를 물어봤다... 가만안도오. 😫 이번엔 제대로 대답한다.. 가보자 해시 나라로. 자료구조 공부에서 기본은 해당 자료구조의 특징과 문제점. 그리고 구체적으로 어느 곳에서 사용되는지(use case)를 아는 것이다! 거기서 추가적으로 대답의 깊이를 가져가기 위해서는 hash 자료구조 같은 경우에는 hash function을 만들 때 고려할 점과 collision 상황 해결 방법에 대해서 알면 좋다! DFS : 좁고 깊게 vs BFS : 얕고 넓게 10개의 질문에 BFS로 대답하는 것보다 1개라도 DFS로 대답하자!!! 다시 한 번 다짐하며! 정말 출~발~ 💫 hash 대략적인 개념들부터 살펴보자. [ 해.. 2023. 4. 18.
멀티 모듈, 그게 뭔데? 그거 어떻게 하는건데? 🧐 때는.. 바야흐로 일주일 전... 디프만 OT.. 👥 우리 서버팀 : 웅성👥 웅성 👥 웅ㅅ멀티 웅성성 모듈 웅성👥 🐰 주디박 : 뭔데?!! 멀티??? 모??? 뭐라고요?? 멀티 모듈??? 그게 모지!!? DDD???? 👥 우리 서버팀 : 한 프로젝트에 여러 모듈 개발하는 방법이 있어요!! 🐰 주디박 : 예??? 아~~~~ 그렇구나~~~ (모르겠음) 우리 서버팀에서 도전하고 싶어 하고 궁금해하는 멀티 모듈!!! 그게 뭘까? 팀에 도입하고 싶은데 우선 나는 궁금해졌다. 그게 뭔데? 그게 왜 필요한데??? 그래서 공부를 시작했다. 두둥 탁 1. 멀티 모듈 프로젝트✔️ 모듈Oracle Java 문서에서 모듈이란 패키지의 한 단계 위의 집합체이며, 관련된 패키지와 리소스들의 재사용할 수 있는 그룹이라고 정의하고 .. 2023. 4. 17.
[디프만 13기] 최종 합격 및 OT 후기 디자이너와 프로그래머가 만났을 때 🔗 공식 홈페이지 : https://www.depromeet.com/ 🔗 인스타그램 : https://www.instagram.com/depromeet/ 🔗 깃허브 : https://github.com/depromeet 🔗 비핸스 : https://www.behance.net/Depromeet 📝 서류: 2023.03.06 ~ 03.12 👩‍💼 면접(온라인): 2023.03.25 ~ 03.26 (나는 26일!) 🎉 최종 결과: 2023.04.03 👨‍👩‍👦‍👦 OT(오프라인): 2023.04.08 오랜만에 프로젝트를 시작했다!! 그것도 디프만에서~🎉 🤖 : 삐빅. 당신. 후기가 늦은 거 아닙니까? 🐰 : 아~ 원래 취준생이 제일 시간 많은데 제일 바쁜 거요~~ 0. 개요.. 2023. 4. 14.
[웹개발자 필수2] HTTPS 작동 원리 우리는 웹으로 많은 일을 할 수 있다. 그 중 웹 사이트에서 신용카드로 물건을 구매한 경험이 있을것이다. 이때 우리의 브라우저와 서버 간의 통신은 거의 확실하게 TLS 위에서 사용하고 있을 것이다. (URL이 https:로 시작한다면 TLS를 사용하고 있는 것이다.) 금융 정보나 메일 등 중요한 정보를 보호하기 위해서 가장 기본적인 기술이 HTTPS라고 할 수 있다. 지금부터 HTTPS에 대해서 알아보자. 🔒 HTTPS (Hypertext Transfer Protocol Secure) 인터넷 상에서 정보를 암호화하는 TLS 프로토콜을 사용해 클라이언트와 서버가 자원을 주고 받을 때 쓰는 통신 규약 HTTP는 평문 텍스트, 즉 암호화되지 않은 텍스트를 전송하는 TCP 프로토콜의 일종이다. 여기에 S(Se.. 2023. 3. 20.
컨테이너(Container) 너 좀 멋있다? 작년에 데엔/데옵 스터디를 하면서 인프라에 대해서 많이 공부했다. 그런데... 사람의 기억력이란.. 실습했던 자료는 남아있어서 괜찮은데 개념은 가물가물.. 작년에 깃허브 TIL, 블로그, 노션 여기저기 정리해서 찾아보기도 헷갈렸당 다시 공부해 보자! 출발~ 1. Virtualization (가상화) 넓은 의미: 컴퓨터 리소스(CPU, MEM 등)의 추상화 좁은 의미: 단일 컴퓨터의 리소스를 가상 머신(VM)이라고 하는 다수의 가상 컴퓨터로 분할하는 것 장점 리소스 효율성: 새로운 서비스를 위해 서버를 구매하지 않아도 된다. VM을 위한 컴퓨터는 필요. 관리 편의성: Infrastructure as Code(Iac), 자동화 가동 중단 시간 최소화: VM을 여러 개 두어, High Availability를.. 2023. 3. 3.
[자료구조] Red-Black 트리 [ 이진 탐색 트리(BST, Binary Search Tree)의 단점 ] 균등 트리 : 노드 개수가 N개일 때 O(logN) 편향 트리 : 노드 개수가 N개일 때 O(N) 이진 탐색 트리는 최악의 경우 한쪽으로 편향된 트리일 때 O(N) 시간이 걸린다. 이 말은 모든 노드를 한 번씩 다 확인해줘야 한다는 의미이다. 이러한 단점을 개선한 균형 트리인 Red-Black 트리에 대해서 알아보자. 🔴 Red-Black 트리 ⚫️ 이진 탐색 트리의 단점을 개선하기 위한 자료구조 이진 탐색 트리(BST)의 한 종류 스스로 균형(balancing) 잡는 트리 BST의 worst case의 단점을 개선해서 모든 경우에 O(logN) 모든 노드는 red 혹은 black ✔️ 5가지 속성 모든 노드는 red 혹은 bla.. 2023. 3. 2.
[DB] 인덱스 (index) 🔖 인덱스 (index) 추가적인 쓰기 작업과 저장 공간을 활용하여 데이터베이스 테이블의 검색 속도를 향상시키기 위한 자료구조 즉, index는 데이터의 주소값을 저장하는 별도의 특별한 자료 구조이다. index를 활용해서 빠르게 원하는 데이터를 찾을 수 있다. ✔️ Point 1 : DB 테이블에 인덱스(index)가 필요한 이유 🧐 만약 table에 index를 걸지 않으면 어떻게 될까? SELECT * FROM customer WHERE first_name = "Jeongyoon"; 원하는 데이터를 찾고 싶을 때 table 전체를 full scan 해야 한다. 즉, first_name에 index가 걸려있지 않다면 "Jeongyoon"을 찾기 위해서는 모든 데이터를 하나씩 확인해야 한다. full .. 2023. 2. 16.
[DB] 트랜잭션 #3 | Isolation level(격리 수준)과 이상 현상 (+면접 질문) 🔎 트랜잭션 (Transaction) 2부에서 concurrency control(Serializability, Recoverability)에 대해서 알아봤다. 트랜잭션의 Isolation이 제대로 유지되려면 복수의 트랜잭션을 동시에 실행할 경우, 이상 현상이 일어나지 않도록 한다. 이것을 보장하기 위한 중요한 속성이 Serializability과 Recoverable이다. 즉, 이 두 가지 속성이 보장될 수 있도록 해야 한다. 하지만 이때 동시에 처리할 수 있는 트랜잭션의 수가 줄어들어서 DBMS의 퍼포먼스가 하락한다는 단점이 있다. 이를 해결하기 위해 DBMS의 concurrency control은 여러 종류의 Isolation level을 제공해서 개발자가 데이터 정합성과 성능 사이에서 어느 정도 .. 2023. 2. 11.
[DB] 트랜잭션 #2 | concurrency control(Serializability, Recoverable) 🔎 트랜잭션 (Transaction) 1부에서 트랜잭션에 대한 개념과 속성에 대해서 알아봤다. ACID 중 'Isolation'은 복수의 트랜잭션을 동시에 실행할 경우, 이상 현상이 일어나지 않도록 한다. 이것을 보장하기 위한 중요한 속성이 Serializability과 Recoverable이다. * 참고로 DBMS의 concurrency control(동시성 제어)이 이 두 가지를 제공해야 한다. 📑 목차 [DB] 트랜잭션 #1 | 개념과 ACID 속성 [DB] 트랜잭션 #2 | concurrency control(Serializability, Recoverable) - 현재 포스팅 [DB] 트랜잭션 #3 | Isolation level(격리 수준)과 이상 현상 (+면접 질문) concurrency c.. 2023. 2. 10.
[DB] 트랜잭션 #1 | 개념과 ACID 속성 🔎 트랜잭션 (Transaction) 대용량 데이터 동기화 등을 처리하다 보면 개발자가 트랙잭션을 어떻게 처리 하느냐에 따라 데이터의 정합성 등에 영향을 주게 된다. 그래서 백엔드 개발자로서 트랜잭션은 중요한 개념이다. 트랜잭션과 관련된 내용은 많기 때문에 3부로 걸쳐 살펴보자. [DB] 트랜잭션 #1 | 개념과 ACID 속성 - 현재 포스팅 [DB] 트랜잭션 #2 | concurrency control(Serializability, Recoverable) [DB] 트랜잭션 #3 | Isolation level(격리 수준)과 이상 현상 (+면접 질문) 개념과 ACID 속성 - 트랜잭션은 데이터베이스에서 하나의 논리적 기능을 수행하기 위한 작업의 단위를 말하며 데이터베이스에 접근하는 방법은 쿼리이므로, 즉.. 2023. 2. 10.
예비 개발자는 어떻게 CS 스터디할까 지금까지 내가 성장해 온 과정을 떠올리면 나는 스터디를 통해 성장해 왔다. 공동 학습을 추구한다. 공유의 가치와 함께 하는 것의 시너지를 믿고 그것이 내 성장 원동력이다. 내가 참여했던 스터디들은 코테스터디(3번), 데이터분석 & 머신러닝 스터디, 데엔 & 데옵 스터디, 1D1P 스터디(2번), CS 스터디(2번) 등이 있다. 작년 6개월 동안 교육을 수료했지만 백엔드 교육은 2주뿐이었고 필요한 내용은 항상 스스로 학습해서 습득해 왔다. 지금까지 스터디 중 최근에 진행 중인 CS 스터디를 어떻게 시작했고 진행하고 있는지 기록해 보자. 신입 개발자 CS 면접 대비 및 지식 공유 👩‍💻 🔥 👉 Repository (구독, 좋아요, 알림 설정은 없고 별 ⭐️ 눌러주세용😏) 🚀 등장배경(?) [ 1:1 암기는 .. 2023. 2. 8.
반응형