[1장] 운영체제 - Operating System Concepts 공룡책
·
📗 Computer Science
운영체제 정의 컴퓨터 하드웨어를 관리하는 프로그램. 사용자와 하드웨어 사이에서 중재자 역할을 수행하는 프로그램. 운영체제는 자원 할당자이다. 운영체제는 제어 프로그램이다. 컴퓨터에서 항시 수행되는 하나의 프로그램은 커널(kernel)이다. 운영체제의 목적 환경 관리 : 편리하게 사용할 수 있는 환경 제공 프로세스 관리 : 사용자 프로그램을 쉽게 해결 자원 관리 : 하드웨어를 효율적으로 사용 컴퓨터 시스템 구성 하드웨어 : 중앙처리장치, 메모리, 입출력장치로 구성 운영체제 응용 프로그램 사용자 부트스트랩 프로그램 부트스트랩 프로그램은 ROM 등의 펌웨어에 저장된다. 시스템의 모든 기능을 초기화 한다 커널을 메모리에 로딩하고 실행을 시작한다 컴퓨터 시스템 조직 하나 이상의 제어기, CPU가 공유 메모리에 접..
[IOS] MVVM 모델 개념
·
🌙 iOS 스터디/iOS
MVVM 모델 Model - View - ViewModel SwiftUI가 작동하려면 MVVM을 준수하여야한다. MVVM없이는 SwiftUI를 할 수 없음. MVC는 UIKit 개발 메커니즘을 따름. ( 몇년전만 해도 MVC모델 사용 ) Model은 UI와 독립적이다. 알고리즘적인부분, 기능적 부분, 데이터부분 등등 모델은 “The Truth” 데이터는 항상 모델->뷰로 이동한다. View는 모델에 있는 것을 그리는 것과 같다. 카드 매칭게임이 화면에 나타나는것 게임의 상태를 반영하는것이 뷰. 즉 모델의 상태를 반영함 선언하는 것과 같다. 스위프트UI는 명령형임 그래서 코딩을 해야함. 뷰는 사실은 구조체이고 , 기본적으로 읽기 전용이다. View Model은 View를 Model에 바인딩하는 것임 인터프..
[네트워크] TCP 개념
·
📗 Computer Science
TCP 특징 Point to Point : 소켓 한쌍끼리의 통신을 책임 진다 신뢰적으로 순서대로 전송이 된다. 파이프 라인 형태로 감 데이터가 양방향으로 작용한다 둘다 sender receiver될수 있음.(duplex data) MSS : maximum segment size 윈도우 사이즈 만큼이 있음 . 이것에 해당하는 버퍼가 receiver에 필요함.둘다 리시버가 될 수 있기 때문에 버퍼가 각자 있음 연결 기반 3-way handshaking Flow control : receiver가 받아드릴수 있을 만큼 보내야됨 Congestion control: 네트워크가 받아 드릴 수 있을 만큼 보내야됨 전송 단위는 세그먼트이며 , 트렌스포트 계층임. Ack가 Cumulate Ack임 (다음 순서를 Ack의..
[IOS] Swift 생소한 문법 정리
·
🌙 iOS 스터디/Swift
Optional 타입형 var carName: String? carName = nil //nil carName = "탱크" //탱크 Swift 에는 Obtional 타입형이라는 것이 있음. String? 이라는 타입형은 Optional String 타입형이라는 것이다 . 주의 ! String 형이 아님. Optional 타입형임. Optional 이라는 것은 값을 안가질수도 있는 상황(nil)일 때 쓰는 것이다. nil은 0도 아니고, null도 아니다. 값이 없다는 것임. optional 타입형으로 가져오기 싫으면 !를 붙여서 대입하면 , 값이 있는 것에 대한 타입형이 나옴. 단, 선언할 때 !는 ?와 마찬가지로 optional의 의미를 가짐 let num = Int("10") //num의 타입형은 I..
[IOS] MVC 모델 설명
·
🌙 iOS 스터디/iOS
MVC 란? MVC = Model View Controller의 3개의 그룹으로 나눈다 Model 그룹 : 프로그램이 하는 일 자체를 말한다. UI와는 독립적이다. 계산기로 따지면 계산하는 일 처리 같은 것 . 보통 foundation 모듈 import (core service) View 그룹 : UI적인 부분을 말한다. 버튼이나 디스플레이 같은 것들이 해당됨. Main.stroyboard가 여기에 해당 Controller 그룹 : Model과 View를 연결하는 역할을 하는 것. UIkit 모듈 import . ViewController.swift 가 여기에 해당 MVC의 Controller는 반드시 UIViewController를 상속받아야 함. 일반적으로 ios에선 MVC 한 개가 아이폰 화면 한개..
[Xcode] MVC 모델로 만든 계산기 앱 (Standford 대학 IOS강의)
·
🌙 iOS 스터디/Xcode
개요 Model , View , Controller 그룹으로 철저히 나누어 계산기 앱을 만든다. Constant, Unary Calculate, Binary Calculate 연산이 가능하여야 한다. 사칙연산은 누적이 되어야 한다. 앱을 눕히더라도 꽉찬 계산기 형태로 나와야 한다. 계산은 실수 형태로 나타내진다. Demo 앱 화면이 1개의 간단한 앱이기에, MVC 한 단위만 사용하여 구현하였다! 설명 클로져를 사용하여 함수를 지저분하게 사용하지않고 인라인 함수처럼 사칙 연산을 구현한건데, 스위프트 엄청 똑똑한 언어로 잘 만든 것 같다 가장 기억에 남는 갓클로져... Model 그룹에 해당하는 CalculatorBrain.swift (직접 생성) : 계산기의 계산을 수행하는 클래스 부분 View 그룹에 해..
[Xcode] 손전등 앱 (Flash App)
·
🌙 iOS 스터디/Xcode
개요 아이폰에 기본적으로 내장되어있는 손전등 앱이랑 같은 역할을 하는 기본적인 앱 구현 기능 손전등이미지에 있는 버튼을 누르면 UI 이미지도 바뀌며, 실제 아이폰의 Flash가 켜진다 바뀔 때마다 Sound 효과를 추가 하였다 기본 어플의 Icon 이미지 생성하였다 Demo 영상에서는 플레쉬가 터지는지 안터지는지 안보이지만 , 아이폰과 연결하여 테스트 해보았을 때, 문제 없이 잘 터짐. TIP Icon 이미지를 만들기 위해선 Asset Catalog Creator어플만 이용하면 편리하게 해결가능 아이폰에서 테스트 해보기 위해서는 개발자 아이디 등록을 해야한다 한번 켜진 버튼을 다시 끄고, 꺼진 버튼은 다시 키기 위해서 if, else문을 사용하는데 (삼항연산자를 사용하여 축약) UIImage를 이용하여 ..
[인프런] IOS 앱개발 입문 2편 수료
·
🌙 iOS 스터디/iOS
2편은 수료증을 안준다 왜안주는거야.. -_- 2편이 현재까지 나온 강의의 마지막인데 강사가 잘가르쳐서 아쉽다 ㅠ IOS 운영체제 크게 4가지로 나뉘며, ios 버전이 올라가면 올라갈수록 각각에 추가되는 API가 많아지고 업데이트 된다 IOS는 API를 이용하여 앱에서 하드웨어를 조작할 수 있게 만든다 스위프트 배열 스위프트의 배열은 다른 언어와의 배열과 다르게 연속해서 메모리에 저장되는것이 아닌 따로따로 저장되어있어, 중간 값의 추가 삭제가 용이하다 Argument Label argument label은 변수를 설명하기 위한 설명이름 같은 것. inout 키워드 함수로 전달하는 인자는 기본적으로 스위프트에선 상수임. INOUT으로 함수로 전달할 인자를 상수가 아닌 변수로써 변경가능하게 할 수 있다. i..
[인프런] IOS 앱개발 입문 1편 수료 (+맥북 m1 에어 후기)
·
🔮 회고 & 후기/후기
맥북 언박싱의 날 드디어 2주만에 사전예약으로 산 맥북 m1에어가 도착했당✨ 실버랑 스페이스 그레이중에 고민을 했는데, 스페이스 그레이로 결정 UI가 체감상 너무 예쁘고 윈도우에 비해 훨씬 쓰는 감이 좋다 처음엔 창 나누는게 불편했는데 유튜브 검색해서 spectacle까니까 편해졌다 윈도우에 비해서 가장 맘에 드는점은 모니터 위에 뜨는 메뉴 바 인데 거기에 내가 설정한 일정이 뜬다 이 기능 말고도 메뉴바가 윈도우에 비해 너무 좋은듯하다 그리고 뭔가 맥은 파일정리하기에 훨씬 깔끔한느낌. 윈도우는 뭐하나 다운받으면 어디에 저장되는지도 모르고 자동저장돼서 쌓이는 경우가 많은데 맥북은 쌓이긴 힘들거 같다 맥북 으로 Playground에서 스위프트 게임 해봤는데 너무 귀여워서 코딩배우기1 거의 다깼다 메이플스토리..
안드로이드 모바일 앱개발 개념정리
·
🎈 안드로이드
안드로이드 특징 안드로이드 앱 4대 컴포넌트 액티비티 서비스 브로드캐스트 수신자 내용 제공자 main 메소드 없음 뷰(View)와 컨트롤러(Controller)를 분리하여 구현 사용자와의 인터랙션에 의해 안드로이드 시스템이 프로그램에 구현되어 있는 메소드를 필요에 따라 호출 - Callback 뷰의 영역 : 테두리 기준 바깥쪽은 마진(margin) , 안쪽은 패딩(padding) 뷰 가시성(Visibility) 설정 타이젠(Tizen) : 삼성전자와 인텔이 주도하는 다목적 운영체제 리엑트 네이티브 : Facebook이 개발한 리액트 기반 오픈소스 모바일 프레임워크 플러터 : 구글이 개발한 모바일 앱 개발 프레임워크 네이티브 앱, 웹 앱, 하이브리드 앱 대표적 레이아웃 제약 레이아웃 제약 조건을 사용해 화..
알고리즘 정리
·
📗 Computer Science
7. Greedy Method 탐욕적 알고리즘의 개요 설계 절차 : 선정과정 -> 적정성 -> 해답 점검 탐욕적 알고리즘은 항상 최적의 결과를 준다고 보장 할 수 없다. 최소 비용 신장 트리 : MST 신장 트리 : 순환경로(cycle)가 없어지도록 이음선을 제거하여 구성한 연결된 부분 그래프를 신장트리라 한다. (모든 정점은 포함 해야됨) 최소 비용 신장 트리 : G 그래프를 가지고 만든 여러 신장트리 중에서 가중치의 합이 최소가 되는 신장트리를 최소 비용 신장 트리라고 한다. MST 구하는 알고리즘 종류 Prim 알고리즘 : O(n^2) Kruskal 알고리즘 : O(nlogn) O(n^2logn) Prim 알고리즘 최단 경로 구하기 : Dijkstra's Algorithm Prim 알고리즘과의 차이..
[Python] 이것이 코딩테스트다 7장 이진탐색
·
💡 CodingTest/이것이코딩테스트다
이진탐색의 핵심 순차 탐색 : 앞에서부터 차례차례 탐색 이진 탐색 : 반으로 쪼개면서 중간점을 기준으로 탐색 O(logn) 이진 탐색은 우선 정렬이 되어있다는 가정하에 할 수 있는 탐색이다 따라서, 정렬이 안되어 있다면 정렬을 하고 이진탐색을 해야하므로 O(logn)의 성능이 안나올 수 있다. 이진 탐색 트리 : 왼쪽 자식 노드 < 부모 노드 < 오른쪽 자식 노드 이진 탐색 트리를 구현하면은 부모노드 부터 검사를 해서 왼쪽으로 갈지 오른쪽으로 갈지 정할 수 있기 때문에 이진 탐색을 쉽게 적용 가능하다 이진 탐색의 핵심은 문제를 보고 이진탐색이냐 아니냐를 구별해 내는 능력을 키우는 것 보통 몇십억~ 기하급수적인 숫자가 나오면 아무리 순차탐색의 O(n)성능이라도 시간초과가 나기 때문에 이진 탐색을 떠올려야한..
슬라임 통통
'분류 전체보기' 카테고리의 글 목록 (5 Page)