일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- GraphQL
- Linux
- css
- node.js
- 코딩테스트
- Kubernetes
- java
- 알고리즘
- 인접리스트
- javascript
- REST API
- LifeCycle
- Deep Dive
- MySQL
- 인접행렬
- JWT
- html
- winston
- Interceptor
- nestjs
- dfs
- 프로그래머스
- bean
- puppeteer
- 자료구조
- typescript
- Spring
- TIL
- OOP
- 탐욕법
- Today
- Total
목록전체 글 (241)
처음부터 차근차근
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/b2DBqf/btszfJXK3C9/Y1s2lb8EuiLufpJr9cY5JK/img.png)
1. 변수는 무엇인가? 왜 필요한가?? 애플리케이션은 데이터를 입력(input)받아 처리하고, 그 결과를 출력(output)하는 것이 전부다. 그렇다면 변수란?? 프로그래밍 언어에서 데이터를 관리하기 위한 핵심 개념 변수 : 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 그 메모리 공간을 식별하기 위해 붙인 이름을 말한다. → 간단히 말하자면, 변수는 값의 위치를 가리키는 상징적인 이름 변수 이름(변수명, 식별자) : 메모리 공간에 저장된 값을 식별할 수 있는 고유한 이름 변수값 : 변수에 저장된 값 할당(assignment 대입, 저장) : 변수에 값을 저장하는 것 2. 식별자 식별자(변수 이름) : 어떤 값을 구별해서 식별할 수 있는 고유한 이름 값은 메모리 공간에 저장 → 식별자는 메모리..
오늘 한 일 Javascript 동작원리 팀스파르타 면접 진행 팀스파르타 면접 첫 개발자 면접 진행, 아쉬웠던 점은 인성 면접이었던 부분 인성면접도 정리해봤을 때 부족한 점이 많다. 잘못된 답변이나 면접관들이 이해를 잘 하지 못한 부분이 있었음 녹음할 수 있다는 것 자체가 신세계 첫 개발자 면접이었지만, 인성면접이에서 그렇게 긴장되지는 않았다. 다만, 잘못된 답변(Ex 피드백을 받은 경험이 있는지, 혹은 개발자가 이해를 잘 하지 못한 부분)에 있어서는 다시 한번 답변을 정리해야 겠다는 생각을 하였다. 그리고 조금 Free한 분위기 속에서 면접을 진행하다보니, 면접이 더 잘풀렸던 것 같다. Javascript 동작 원리 다시 한번 Javascript의 동작 원리에 대해 정리하였다. 하지만 Event Lo..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bvtAXr/btsy4iAeAS0/F1tlylc4hU92N4MxbG5esK/img.png)
자바스크립트 동작 구조 먼저 JS의 전체적인 동작 구조를 살펴보자. 자바스크립트를 실행하기 위해서는 JS 엔진이 필요하며, 대표적으로는 Chrome의 V8엔진이 있다. 아래 그림은 자바스크립트를 실행할 수 있게 해 주는 V8 엔진을 간략하게 표현한 그림이다. 자바스크립트 엔진 자체는 싱글 스레드로 구성되어 있으며, Memory Heap과 Call Stack으로 구성되어 있다. Memory Heap : 메모리 할당이 일어나는 장소(Ex 선언한 변수, 함수 등이 담겨져 있다) Call Stack : 코드 실행에 따라 스택이 하나씩 쌓이는 장소 JS는 콜 스텍을 통해 명령문을 실행하는데, 하나의 스레드에서 하나의 콜 스텍으로 모든 명령을 순차적으로 실행하기 때문에 싱글 스레드 언어라고 볼 수 있다. 즉, 한 ..
오늘 한 일 팀스파르타 면접 정리 객체 지향 프로그래밍 팀스파르타 면접 정리 팀 스파르타 면접에 대비하여 면접 예상 질문 정리, 1분 자기소개 정리를 하였다. 이력서 관련 질문을 받았을 때, 내가 얼마나 답변을 잘 못할지 예상 할 수 있었고, 이를 통해 프로젝트 전반적으로 다시 돌아볼 수 있는 시간이 되었다. 또한 옛날에 공부하였던 내용들도 정리할 수 있어서 좋았다. 객체 지향 프로그래밍 객체 지향 프로그래밍을 왜 쓰는지 다시 공부하고, 어떻게 동작하는지 공부하였다. 복습을 하고 면접 준비도 하는 겸 정리를 다시 한 번 진행하였다. 객체 지향 프로그래밍은 프로그램 구현에 필요한 객체를 파악하고, 각각의 객체들의 역할이 무엇인지를 정의하여 객체들 간의 상호작용을 통해 만드는 것을 의미합니다. 특징으로는 1..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bKRSZY/btsy0gPHbQW/LYCCCQRVBS8D9SEGPkdtkk/img.png)
객체 지향 프로그래밍(OOP)란? 컴퓨터 프로그램을 명령어릐 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, 즉 "객체"들의 모임으로 파악하고자 하는 것 - wikipedia 프로그램 구현에 필요한 객체를 파악하고, 각각의 객체들의 역할이 무엇인지 정의하여 객체들 간의 상호작용을 통해 만드는 것을 의미한다. 즉, 객체가 중심이 되어, "어떤 객체가 무슨 일을 할 것인가??" 가 핵심이다. 우리가 사용하는 언어에서 간단히 표현하자면, 데이터를 객체로 취급하여 객체 내부에 선언된 메서드를 사용하는 방식을 의미한다. 왜 객체 지향 프로그래밍이 나왔을까? Object-Oriented Programming 이전에는 명령어의 목록을 나열(절차 지향)하는 프로그래밍 방식을 사용하였다. 절차 지향 프로그래밍은 ..
오늘 한 일 Network 관련 기초 CS 정리 기업 지원 OpanAI API 관련 회의 진행 Network 관련 기초 CS 정리 (배운 것) Network : https://hangju95.tistory.com/76 Network 기초 단어 정리 : https://hangju95.tistory.com/77 Network Topology : https://hangju95.tistory.com/78 네트워크 통신 종류 : https://hangju95.tistory.com/79 네트워크 관련하여 CS 정리를 진행하였다. Network에 대해서 더 학습해야겠다는 생각을 했다. Topology의 형태를 통해 병목 현상이 어디서 발생하는지 알 수 있게 되었다. 대용량 트래픽에 대응할려면 대역폭도 중요하지만, 서..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/433I7/btsyTqxVXG3/ZvMtC5er19nVbK2uBy4Qx0/img.png)
네트워크에서 출발지부터 목적지로 데이터를 전송할 때 사용하는 통신 방식의 종류는 다음과 같다. 유니캐스트 출발지와 목적지가 정확히 하나로 정해져 있는 1:1 통식 방식이다. 실제로 사용하는 대부분의 통신(Ex : HTTP)은 유니캐스트 방식이며, 가장 일반적인 네트워크 전송 형태이다. 브로드캐스트 1:N (전체 통신) 동일 네트워크에 존재하는 모든 호스트가 목적지이다. 목적지 주소가 모든으로 표기되어 있는 통신 방식으로, 유니캐스트로 통신하기 전, 주로 상대방의 정확한 위치를 알기 위해 사용된다. 예시르논 ARP가 있다. 주소 체계에 따라 브로드캐스트를 다양하게 분류할 수 있지만 기본 동작은 로컬 네트워크 내에서 모든 호스트에 패킷을 전달해야 할 때 사용합니다. 멀티캐스트 1:그룹(멀티캐스트 구독 호스트..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/begCww/btsyPVrT67x/nZsw9cDGZpPnoYePgaciE1/img.png)
Network Topology란? 토폴로지는 컴퓨터 네트워크의 요소들(링크, 노드 등)을 물리적으로 연결해 놓은 것, 또는 그 연결 방식을 말한다. LAN은 물리적 토폴로지와 논리적 토폴로지 둘 다 보여 줄 수 있는 네트워크의 한 예이다. LAN상의 어떠한 노드도 네트워크 상에서 하나 이상의 다른 노드에 하나 이상의 링크를 갖고 있으며 그래프 상의 이러한 링크와 노드들은 네트워크의 물리적 토폴로지를 잘 설명해 주고 있다. 이와 비슷하게 네트워크 상에서 노드끼리의 데이터 흐름은 네트워크의 논리적 토폴로지를 결정한다. 물리적 토폴로지와 논리적 토폴로지는 특정 네트워크에서 아주 동일할 수도 있고 그렇지 않을 수도 있다. -Wikipedia 즉, 네트워크 토폴로지란 노드와 링크가 어떻게 구성되어 있는지 말하는 ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/k3UQz/btsyT3BTxLZ/dnjSsoUskxNSigv6GJ7Zuk/img.png)
Traffic 서버와 스위치 등 네트워크 장치에서 특정 시점 내의 "흐르는" 데이터의 양을 의미한다. Ex) 서버에 저장된 파일(문서, 이미지, 동영상 등)을 클라이언트(사용자(가 다운로드 시 발생되는 데이터의 누적량 트래픽이 많아졌다 = 흐르는 데이터가 많아졌다. 처리량이 많아졌다 = 처리되는 트래픽이 많아졌다. 단위 : bps(bits per second) 예시로, 10MB 동양상이 10명이 다운로드 시 누적 트래픽은 어떻게 될까?? 10 X 10 = 100MB이다. Throughput 처리량 스루풋 (throughput) 또는 처리율(處理率)은 통신에서 네트워크상의 어떤 노드나 터미널로부터 또 다른 터미널로 전달되는 단위시간당 디지털 데이터 전송으로 처리하는 양을 말한다. 즉, 링크 내에서 성공적으..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/qsnwG/btsyPC0lLJZ/aPjeoA8haJ76CH2htf55K0/img.png)
Network란? Net + work의 합성어로써 컴퓨터들이 통신 기술을 이용하여 그물망처럼 연결된 통신 이용 형태를 의미한다. 쉽게 말하자면, "두 대 이상의 컴퓨터들을 연결하고 서로 통신(이야기)할 수 있는 것" 이것이 네트워크이다. IEEE(Institute of Electrical and Electronics Engineers:국제 전기 전자 공학회)의 정의에 따르면 네트워크는 “몇 개의 독립적인 장치가 적절한 영역내에서 적당히 빠른 속도의 물리적 통신 채널을 통하여 서로가 직접 통신할 수 있도록 지원해 주는 데이터 통신 체계”라고 한다. Node와 Link가 서로 연결되어 있으며, Resource를 공유하는 집합을 의미한다. Node : 서버, 라우터, 스위치 등 네트워크 장치를 의미 Link(..