일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
- MVVM
- CS
- forEach
- 이론
- mvc
- 협업
- 딕셔너리
- 네트워크
- 디자인 패턴
- 토이프로젝트
- struct
- 앱개발
- 대표
- SwiftUI
- 반응형
- swift
- ios
- AppStore
- 구름톤 유니브
- 세종대학교
- WeatherKit
- 기초문법
- 프로토콜
- 스트럭트
- 학과별커뮤니티
- collectionview
- RxSwift
- async
- 실습
- uikit
- Today
- Total
목록CS (8)
스윞한 개발자
안녕하세요! 이번 포스팅에서는 자료구조에 대해 공부하고 정리해보겠습니다! 자료구조는 효율적으로 데이터를 관리하고 수정, 삭제, 탐색, 저장할 수 있는 데이터 집합을 말합니다. # 복잡도1. 시간 복잡도* 빅오 표기법시간 복잡도란 입력 크기에 대해 어떠한 알고리즘이 실행되는 데 걸리는 시간입니다. 주요 로직의 반복되는 횟수를 중점으로 측정합니다. 빅오 표기법이란 입력 범위 n을 기준으로 해서 로직이 몇 번 반복되는지 나타내는 것입니다. - 시간 복잡도의 존재 이유 : 효율적인 코드로 개선하는 데 쓰이는 척도가 됩니다. ex) O(n^2) vs O(n) 보통 시간 복잡도를 생각할 때 평규느 최악의 시간 복잡도를 고려하여 사용합니다. 2. 공간 복잡도프로그램을 실행시켰을 때 필요로 하는 자원 공간의 양..
안녕하세요 이번 포스팅에서는 저번 포스팅에서 정리한 컴퓨터 구조, 운영체제를 더 공부하고 정리해보겠습니다. # 프로세스와 스레드프로세스는 컴퓨터 내에서 실행되고 있는 프로그램을 말하며 CPU 스케쥴링의 대상이 되는 작업 task 용어가 비슷한 의미로 사용됩니다.프로세스 내 작업의 흐름을 스레드라고 지칭합니다. * 프로세스와 컴파일 과정프로그램 -> 메모리 인스턴스화 -> CPU 스케쥴링 -> 프로세스 실행 1. 프로세스 상태1. 생성 상태 : fork(), exex()2. 대기 상태 : ready -> CPU 소유권 대기3. 대기 중단 상태 : 메모리 부족으로 일시 중단 상태4. 실행 상태 : CPU burst. 소유권과 메모리 할당 받음. 인스트럭션 수행 중5. 중단 상태 : 어떤 이벤트가..
안녕하세요 이번 포스팅에서는 운영체제에 대해 공부하고 정리해 보겠습니다! 운영체제란? 사용자가 컴퓨터를 쉽게 다루게 해주는 인터페이스입니다. 한정된 메모리, 시스템 자원 등을 효율적으로 분배합니다. * 운영체제와 비슷하지만 소프트웨어를 추가로 설치할 수 없는 것 : 펌웨어 # 운영체제* 운영체제의 역할과 구조1. CPU 스케줄링, 프로세스 관리2. 메모리 관리3. 디스크 파일 관리4. I/O 디바이스 관리 - 운영체제의 구조는유저프로그램 -> 인터페이스(GUI, CUI) -> 시스템콜 -> 커널(드라이버, 파일 시스템) -> 하드웨어 이 중, 인터페이스(GUI, CUI) -> 시스템콜 -> 커널(드라이버, 파일 시스템) 이 해당됩니다. * 시스템 콜운영체제가 커널에 접근하기 위한 인터페이스이며 유저..
안녕하세요 이번에는 CS 네트워크 마지막 포스팅 애플리케이션 계층인 HTTP에 대해 공부하고 정리해 보겠습니다. # HTTP1) HTTP/1.0*RTT : 패킷 목적지 -> 출발지 까지의 왕복 시간 1.0은 기본적으로 하나의 연결 당 하나의 요청을 처리하도록 설계되었습니다. 이로 인해 RTT가 증가한다는 단점을 가지고 있습니다. 매번 연결할 때마다 RTT가 증가하기에 스플리팅, 코드 압축, 이미지 Base64 인코딩 등을 사용했습니다. - 이미지 스플리팅많은 이미지를 다운 받게 되면 과부하되기 때문에 많은 이미지가 합쳐 있는 하나의 이미지를 다운 받고, 이를 기반으로 이미지를 표기하는 방법입니다. - 코드 압축개행, 빈칸 등을 없애 코드의 길이를 최소화하는 것입니다. - 이미지 Base64 인코딩이..
안녕하세요! 여러분 오늘은 지난 시간에 이어서 네트워크에 대해 공부하고 정리해 보겠습니다! # 네트워크 기기1. 네트워크 기기의 처리 범위상위 계층을 처리하는 기기는 하위 계층을 처리할 수 있지만 그 반대는 불가합니다. 2. 애플리케이션 계층을 처리하는 기기애플리케이션 계층을 처리하는 기기로 L7 스위치가 있습니다.(L7 - 로드밸런서 : 여러 장비 연결, 데이터 통신 중재, 목적지가 연결된 포트로만 전기 신호를 보내 데이터 전송, 서버 부하 분산) 트래픽 증가 목표, 필터링 기능, 주기적(정기적) 헬스 체크(전송주기/재전송 횟수 지정 반복 서버 요청)를 통해 장애 감시 vs L4(로드 벨런서) 보다는 더 많은 기능! * 로드밸런서를 이용한 서버 이중화서비스를 안정적으로 운용하기 위해서는 2대 이상의 ..
이번 포스팅에서는 CS 네트워크의 기초에 대해 공부하고 정리해 보겠습니다! 네트워크는 컴퓨터의 장치들이 통신 기술을 이용하여 구축하는 연결망입니다. # 네트워크의 기초노드, 링크가 서로 연결되어 있으며 리소스를 공유하는 집합을 말합니다. (노드 : 서버/링크/스위치 등 네트워크 장치)(링크 : 유/무선) * 처리량과 지연 시간좋은 네트워크 : 많은 처리량, 짧은 지연시간, 적은 장애 빈도, 좋은 보안을 갖춘 네트워크 - 처리량 : 링크 내 성공적으로 전달된 데이터의 양 ( 대역폭 : 주어진 시간 동안 네트워크 연결을 통해 흐를 수 있는 최대 비트 수 )- 지연 시간 : 요청 처리 시간, 장치 간 왕복 시간. 지연시간은 매체 타입(유/무선), 패킷 크기, 라우터의 패킷 처리 시간에 영향을 받습니다. *..
안녕하세요! 이번 포스팅에서는 지난 CS 이론 포스팅에서 정리했던 디자인 패턴과 더불어 남은 디자인 패턴에 대해 정리하고 프로그래밍 패러다임에 대해 공부하고 정리해 보겠습니다! 1. 이터레이터 패턴이란? 이터레이터를 사용하여 컬렉션의 요소들에 접근하는 디자인 패턴입니다.-> 순회할 수 있는 여러 가지 자료형의 구조와는 상관없이 이터레이터라는 하나의 인터페이스로 순회가 가능합니다. * 이터레이터 프로토콜이터러블한 객체들을 순회할 때 쓰이는 규칙 * 이터러블한 객체반복 가능한 객체로 배열을 일반화한 객체 2. 노출모듈 패턴이란?즉시 실행 함수를 통해 private, public, 같은 접근 제어자를 만드는 패턴을 말합니다. * public : 클래스에 정의된 함수에서 접근이 가능하며 자식, 외부 클래스..
이번에 네이버 부스트캠프를 도전하면서 CS에 대한 지식의 필요성을 느껴 CS 공부를 시작하게 되었습니다! 이 포스팅은 CS 공부하며 정리한 글입니다. 잘못된 부분이 있을 수 있으니 그런 부분에 대해서는 지적바랍니다! 1. 디자인 패턴디자인 패턴에 대해서 알아보기 전에! 먼저 용어 정의를 하고 가겠습니다. * 라이브러리 : - 공통으로 사용될 수 있는 특정한 기능을 모듈화한 것 - 폴더명, 파일명 등에 대한 규칙이 없으며, 프레임워크에 비해 자유로움 * 프레임워크 : - 공통으로 사용될 수 있는 특정한 기능을 모듈화한 것 - 폴더명, 파일명 등에 대한 규칙이 존재. 라이브러리보다 더 엄격. 디자인 패턴이란?프로그램을 설계할 때 발생했던 문제점들을 객체 간 상호 관계 등을 이용하여 해결할 수 있도록..