전체 글 108

23.4.5

오늘은 식목일~ 나무가 잘 자라라고 봄비가 내리나 보다 🌳🌧️ 기술 면접 스터디 ✅ 알고리즘에서 '시간복잡도' 와 '공간복잡도' 란 무엇인가? 그리고 이것들은 왜 중요한가? 🌳 시간 복잡도 특정 알고리즘이 어떤 문제를 해결하는데 걸리는 시간을 의미. 알고리즘이 진행되는데 걸리는 실행시간이 아니라, 연산 횟수라는 것에 유의해야함. 시간과 공간은 반비례적 경향이 있고, 최근 대용량 시스템이 보편화되면서, 공간 복잡도보다는 시간 복잡도가 우선 시 되며 알고리즘은 시간 복잡도가 중심이다. 제한 시간내에 빠른 속도로 처리해주어야하기 때문이다. 💡 계산 방법 Big-O(빅-오) Big-Ω(빅-오메가) Bid-θ(빅-세타) 세 가지 표기법은 시간 복잡도를 각각 최악, 최선, 중간(평균)의 경우에 대해 나타내는 방법다..

23.4.4

기술 면접 스터디 ✅ Stack과 Queue 그리고 Array와 Linked List 자료구조에 대해 말씀해주시고 차이점에 대해 설명해주세요. 1) Stack 스택(stack)이란 쌓아 올린다는 것을 의미한다. 따라서 스택 자료구조라는 것은 책을 쌓는 것처럼 차곡차곡 쌓아 올린 형태의 자료구조를 말한다. 📌 스택의 특징 스택은 위의 사진처럼 같은 구조와 크기의 자료를 정해진 방향으로만 쌓을수 있고, top으로 정한 곳을 통해서만 접근할 수 있다. top에는 가장 위에 있는 자료는 가장 최근에 들어온 자료를 가리키고 있으며, 삽입되는 새 자료는 top이 가리키는 자료의 위에 쌓이게 된다. 스택에서 자료를 삭제할 때도 top을 통해서만 가능하다. 스택에서 top을 통해 삽입하는 연산을 'push' , top..

23.4.3

기술 면접 스터디 트랜잭션( Transaction )이 무엇인지 설명해 주세요. - 데이터 베이스의 상태를 변경시키기 위하여 수행되는 작업의 단위이다. ( CRUD ) - 트랜잭션은 상황에 따라 여러개가 만들어질 수 있으며 하나의 트랜잭션은 Commit (저장) 되거나 , RollBack (철회)될 수 있다. - 사람이 설계한 논리적인 작업 단위로서, 일처리는 작업단위 별로 이루어 져야 사람이 다루는데 무리가 없다. - 여러개의 쿼리를 묶어놓은 것 Commit - 하나의 트랜잭션이 성공적으로 끝나 , 데이터 베이스가 일관성 있는 상태에 있을 때 의미한다. Rollback - 트랜잭션의 원자성이 깨진 것 , 하나의 트랜잭션 처리가 비정상적으로 종료됨 , Rollback 실행시 트랜잭션의 재시작 , 부분적 ..

23.3.31

기술 면접 스터디 ✅ 프로세스와 스레드의 차이에 대해 설명해 주세요 1) 프로세스 사전적인 뜻으로는 일을 처리하는 일련의 과정을 의미한다. 💡 컴퓨터에게 프로세스란? 운영체제로부터 시스템 자원을 할당받는 작업의 단위 컴퓨터에서 연속적으로 실행되고 있는 프로그램 메모리에 올라와 실행되고 있는 프로그램의 인스턴스. 💡 하나의 프로세스 코드영역(code), 데이터 영역(date), 스택 영역(stack), 힙 영역(heap) 으로 이루어져 있다. Code : 코드 자체를 구성하는 메모리 영역(프로그램 명령) Data : 전역 변수, 정적 변수, 배열 등 (초기화된 데이터) Stack : 지역변수, 매개변수, 리턴 값 (임시 메모리 영역) Heap : 동적 할당 시 사용 (new(), mallock() 등) 실..

23.3.29

알고리즘 스터디 StringTokenizer 기술 면접 스터디 MSA(Microservice Architecture)란? 공식 홈페이지 설명 MSA를 "하나의 큰 어플리케이션을 여러 개의 작은 어플리케이션으로 쪼개어 변경과 조합이 가능하도록 만든 아키텍쳐" 라고 한 줄 설명이 가능하다. 즉, 레고처럼 작은 부품 하나하나를 쌓아서 하나의 작품을 만들어 내는 것이다. 👀 그럼 MSA는 왜 생겨났을까? 애플리케이션 개발 초기에는 전체 소스 코드를 하나의 배포 유닛 (war 또는 ear)으로 내장시키는 'Monolithic' 방식을 사용했다. 하지만 기존 애플리케이션에 사소한 변경 사항이 있더라도 자체적인 QA(Quality Assurance) 주기에 따라 업데이트를 하거나 일부 서비스 업데이트로 오류가 발생한..

카테고리 없음 2023.03.29

23.3.28

알고리즘 스터디 풀이 ** 알아볼 것 병합정렬 스트링 빌더 : 멀티 스레드에서 사용하는 Builder 스트링 버퍼 import java.util.Scanner; class Solution { public ctatic void main[String[] args]{ Scanner sc = new Scanner(System.in); StringBuffer sb = new StringBuffe(); int col = sc.nextInt(); int row = sc.nextInt(); for (int i = 0; i < row; i++) { for (int j = 0; j < col; j++) { sb.append("*"); } sb.append("\n"); } System.out.println(sb); } } ..

23.3.27

최종프로젝트가 끝나고 그냥 매우 뻗었었다. 하라는대로 이력서도 쓰고, 기술 면접도 준비하긴 했지만 살짝 좀 퍼져있었달까나,,,,,⭐🌟⭐🌟 암튼 오늘부터 다시 열심히 달려보려고 한다. 알고리즘도 풀고, 리뷰하고, 기술면접 대비 문제도 열심히 정리해보고,,! 할수이따 아좍! 기술면접 스터디 객체지향 프로그래밍(OOP)에 대해 설명해주세요. 알고있는 원칙이나 키워드를 언급해주세요. 객체 지향 프로그래밍(Object Oriented Programming)이란? 말 그대로 객체의 관점에서 프로그래밍 하는 것을 의미한다. 객체란 프로그램 동작의 주체가 되는 요소를 말한다. 이 객체는 유/무형을 가리지 않으며, 상태와 동작을 가진다. TV로 예를 들면 TV의 디자인, 가격, 크기 등은 상태이고, 채널 이동, 다시보기..

23.2.16

프로젝트 2주차 9일째 환경변수 설정해주기~ node.js를 깔면 npm도 자동적으로 같이 깔리고, 이렇게 파워쉘에 뜨면 성공적으로 깔린 것! 그리고 실제 react app을 편하게 쓸 수 있게 해주는 명령어가 제일 첫 줄이다. VS code에 terminal을 열어 첫 줄을 입력해야한다. do-rong 부분은 본인이 설정하고 싶은 패키지 이름으로 하면 되고, y를 입력해 패키지를 다운받아 준다. 패키지가 전부 완료되면 이렇게 명령어를 알려주면서 끝난다. 마찬가지로 이렇게 명령어를 쳐주면 아래와 같이 로컬 창이 나타난다. JSX : JavaScript + XML/HTML 을 의미 이렇게 쓴다. JSX를 굳이 안 써도 되지만 장점이 많고, 코드가 간결해지기 때문에 쓰는 것을 추천한다. ㅁㅓ야 왜 없다 그래..

23.2.15

프로젝트 2주차 8일째 필수 기능은 다 구현되었고, 오늘부터 다시 각자 개인 업무를 나눠서 추가 기능이랑 프론트를 만들기로 했다. 기한을 16일까지 싹 만드는 걸로 하고 리팩토링도 진행할 수 있으면 진행하는걸로~ 개쩌는 우리의 조장님이 사진 업로드를 열공하셔서 구현에 성공하셨다. 진짜 멋있음,,ㅠㅠㅠ 그리고 사랑니 뺀다고 빠진 날에 다른 조원님들도 기능을 엄청 많이 구현해놓으셔서,,,, 깃허브에 알림이 장난 아니었다 ㅋㅋㅋㅋㅋㅋ 나도 질 수없지,,, 맡은 프론트 엔드를 열심히 해내야겠다.

23.2.14

👀 HTTP Error Code · 1XX: Informational(정보 제공): 임시 응답으로 현재 클라이언트의 요청까지는 처리되었으니 계속 진행하라는 의미. HTTP 1.1 버전부터 추가. 상태 코드 상태 텍스트 서버 측면에서의 의미 1XX Informational (정보 제공) 클라이언트의 요청을 받았으며 작업을 계속 진행하고 있다. 1xx 계열의 응답은 HTTP/1.1 클라이언트에게만 보낼 수 있으며 응답은 바디 없이 상태 라인, 헤더(생략 가능), 빈 줄로 종료됩니다. 100 Continue(계속) 계속 진행하라. 클라이언트는 요청 헤더에 ‘Expect: 100-continue’를 보내고 서버는 이를 처리할 수 있으면 이 코드로 응답합니다. 101 Switching Protocols (프로토콜..