2024년 마지막날에 쓰려고 했던 회고글을 이제서야 올린다.과제 전형이 겹쳐 미루다가 드디어 작성한다. 나의 2024년 == 우아한테크코스2024년을 한 단어로 정의하자면 무조건 "우아한테크코스"일 것이다.개발뿐만 아니라 모든 내 경험과 성장은 우테코로부터 기반했다.우테코 합격 후 했던 고민들이 무색하게, 2024년 겪었던 모든 경험들이 나를 성장시키는 연료가 되었다. 흐르는 대로 살아보기갓 25살이 된 나는 가장 불안한 시기를 지났다.자신감도 없고 자존감도 낮았다. 쉽게 불안해했다. 와중에 완벽주의적 성향도 강했다.이런 상태로 우테코에 들어갔을 땐, 마음에 소용돌이가 치는 것 같았다.경쟁이 없는 환경에서도 나는 1등을 하고 싶었다. 하지만 이렇게 스스로를 몰아붙이며 10개월을 버티는 건 말도 안..
먼저 제 스펙은 입니다. 프로그래밍 직무에 합격했고, 세부 직무는 선택할 수 없었지만 자소서나 포트폴리오에 백엔드 위주로 작성했습니다. 면접까지 가게 된 건 처음이라 아쉬움이 많이 남지만 기록용으로, 그리고 더 부족한 점을 개선하기 위해 후기를 작성해봅니다! 1. 전형 절차 전형 절차는 서류 -> 코테 -> 직무면접 -> SKCT 였습니다. 서류만 내면 코테를 볼 수 있고, 서류 붙으면 면접결과에 상관없이 SKCT를 볼 수 있었기 때문에 사실상 서류/코테 -> 직무면접/SKCT 이렇게 두 차례로 채용이 되는 거네요. 대기업 계열사고 채용연계형인데도 생각보다 절차가 적더라구요. 오히려 좋아 ^^ 2..
- 안드로이드 리눅스 운영체제 안에서 리눅스와 상호작용하면서 동작 - 안드로이드 vs iOS 개발 안드로이드는 오픈소스를 기반으로 하기 때문에 개발에 대한 제약사항이 적고, ios는 아이폰에만 한정적으로 호환되기 때문에 제한적인 개발 환경을 가짐. - 코틀린 vs 자바 코틀린은 Nullable과 non-nullable이 존재해서 NPE 예외를 방지할 수 있고, 비교적 간결하다. 자바와 완전히 호환된다. 객체지향과 함수형 프로그래밍의 특성 모두 가지고 있음. - 프래그먼트 액티비티 안에 존재하고, 모듈화하거나 재사용할 수 있는 화면 구성요소 - 4대 컴포넌트 BroadcastReceiver 어떤 행위가 발생했을 때 수행되는 방송(브로드캐스트)을 수신하는 객체 (이때 인텐트 필터로 수신자가 구독할 브로드캐스..
- 데이터베이스 파일 시스템의 문제를 해결하기 위해 고안됨. 데이터의 독립성, 무결성, 보안성, 일관성, 중복 최소화 성능은 디스크의 I/O에 좌우. - 인덱스 테이블의 검색 속도를 향상시키기 위해 별도의 메모리 공간에 칼럼의 값과 주소를 키-값 형태로 정렬되어 저장. 탐색은 빠르지만 추가, 삭제, 수정은 느림 B Tree Index: 일반적으로 사용. 칼럼의 값을 변형하지 않고 인덱싱 B-Tree: 균형 트리. 각 노드마다 key와 data를 가짐. B+Tree: 리프 노드에만 key와 data를 가지고 리프 노드는 linkedlist로 연결 Hash Index: 칼럼의 값을 해시 함수로 계산해서 인덱싱. 동등 연산에만 적합 * 카디널리티와 선택도가 높을 수록 인덱스 설정에 적합. 카디널리티: 중복되지..
- 프레임워크 vs 라이브러리 프레임워크: 개발할 때 필수적인 코드나 알고리즘 등의 큰 틀을 제공하는 것. 프레임워크가 흐름을 제어함. 라이브러리: 특정 기능을 모아둔 코드들의 집합. 사용자가 흐름을 제어함. - call by value vs call by reference 값에 의한 호출: 인자로 받은 값을 복사하여 처리 참조에 의한 호출: 인자로 받은 값의 주소를 참조하여 값에 직접 저장. * 자바는 값에 의한 호출이다. 배열, 클래스와 같은 참조형 타입은 그 자체로 주소를 갖고 있기 때문에 값을 복사하여 인자로 전달해도, 값이 변경되는 것. - TDD 매우 짧은 개발 사이클의 반복에 의존하는 소프트웨어 개발 프로세스. 테스트가 코드 작성을 주도하는 개발방식. 새로운 기능에 대한 테스트케이스 작성 -..
- HTTP 데이터를 주고 받기 위한 웹 프로토콜으로, 서버/클라이언트 모델을 따른다. 무상태성 - 서버는 이전의 클라이언트 상태 정보를 저장하지 않음 비연결성 - 서버가 클라이언트의 요청에 대한 응답을 하면 연결을 끊는 것 --> 쿠키, 세션 필요 - 세션/쿠키 차이 쿠키: 클라이언트의 상태 정보를 키-값 형태로 클라이언트 로컬 브라우저에 저장 세션: 클라이언트에게 고유한 ID를 부여하여 서버에 저장 세션은 서버의 처리가 필요하기 때문에 보안측면에서 더 우수하지만, 요청 속도는 쿠기가 더 빠름 - 세션/쿠키 동작 방식 클라이언트가 서버에 접속시 서버에서 세션 ID를 발급 서버는 세션 ID를 기반으로 쿠키를 포함시켜 클라이언트에게 응답 클라이언트는 서버에 요청할 때 이 쿠키를 같이 전달 서버는 쿠키의 세..
- thread vs process 프로세스: 일반적으로 실행 중인 프로그램을 뜻하며 메모리에 적재되어 cpu의 할당을 받을 수 있는 것. 운영체제로부터 메모리 주소 공간, 메모리 등을 할당 받으며 프로세스는 독립적이기 때문에 이를 다른 프로세스와 공유하지 않음. 스레드: 프로세스 내의 실행 단위. 프로세스의 주소 공간이나 자원을 다른 스레드와 공유할 수 있다. - 멀티 스레드 하나의 프로세스에 여러개의 스레드가 존재하는 것. 각각의 스레드는 독립적인 작업 수행을 위해 각자의 스택과 PC 레지스터를 갖는다. - 멀티 프로세스 vs 멀티 스레드 멀티 프로세스: 하나의 프로세스가 죽더라도 다른 프로세스에 영향을 미치지 않는다. 메모리 공간, cpu 시간 차지. 멀티 스레드: 오류로 하나의 스레드가 종료되면 ..
- 자바 객체지향 프로그래밍 언어. JVM 위에서 동작하기 때문에 운영체제에 독립적이지만 실행 속도가 상대적으로 느리다. 가비지 콜렉션을 통해 메모리 관리가 간편하다. - 객체지향이란 (캡상추다) 현실세계의 사물들을 객체라고 보고, 객체를 중심으로 프로그래밍하는 것. 코드의 재사용성이 높고 유지보수 용이 캡슐화 정보은닉. 접근제어자에 따라 접근할수있는 대상을 결정 상속 상위 클래스의 변수와 메서드를 하위 클래스에서 재사용하고, 더 확장할 수 있는것. 추상화 클래스를 통해 객체의 공통적인 속성과 기능을 추출하여 정의하는 것. 다형성 오버라이딩과 오버로딩을 통해 하나의 객체가 여러 타입을 가지는 것. - 객체지향 설계 원칙 (SOLID) SRP(Single Responsibility Principle) : ..