'분류 전체보기' 카테고리의 글 목록 (10 Page) — SH's Devlog

분류 전체보기

Flutter/Basic

[Flutter] Flutter 설치하기 (Mac)

1. Flutter SDK 설치 (1) Stable Channel의 최신버전을 설치합니다. 2021년 5월 11일 기준 SDK 버전이 2.0.6이므로 해당 버전을 다운로드 하겠습니다. (2) 다운 받은 후 SDK 압축을 원하는 디렉토리에 풀어줍니다. 압축을 풀게되면 flutter 디렉터리가 생긴 것을 확인하실 수 있습니다. (3) 환경변수에 flutter의 SDK의 PATH를 등록해 줍니다. 1. 일시적인 환경변수 편집 $ export PATH="$PATH:~/Users/seunghwan/development/flutter/bin" 위와 같이 치면 환경변수에 PATH변수가 등록되지만 터미널이 재부팅되면 초기화됩니다. 2. 영구적인 환경변수 편집 저는 bash 쉘을 이용하기 때문에 vim으로 .bash_p..

CS(Computer Science)/Network

[네트워크] HTTP 프로토콜이란?

HTTP 프로토콜이란? HTTP(HyperText Transfer Protocol)란 인터넷에서 하이퍼텍스트 문서인 HTML로 만든 웹페이지를 전송하기 위해 사용되는 어플리케이션 계층 프로토콜입니다. HTTP는 주로 전송 계층의 TCP를 사용하여 데이터를 교환하며 기본적으로 80번 포트를 사용합니다. HTTP 프로토콜의 특징 웹 페이지는 객체(objects)들로 구성 됩니다. -> 객체는 HTML 파일, JPEG 이미지, java applet, 오디오 파일 등입니다. 웹 페이지는 보통 참조 객체들이 포함된 기본 HTML 파일이며 각 객체는 URL로 참조합니다. HTTP는 TCP를 사용 합니다. -> 클라이언트는 소켓을 만들고 서버의 80번 포트에 TCP 연결 요청 후에 서버가 요청을 수락하면 브라우저와 ..

Android/Kotlin(Java)

[Kotlin] isAssignableFrom 와 is (Java instanceOf)

class UserViewModel @Inject constructor(): ViewModel() val userViewModel = UserViewModel() Log.d(TAG, "${ViewModel::class.java.isAssignableFrom(UserViewModel::class.java)}") // true Log.d(TAG, "${userViewModel is ViewModel}") // true instanceof (Kotlin에서 is) -> Class가 어떤 클래스 or 인터페이스를 상속했는지를 체크합니다. Class.isAssignableFrom() -> Class가 어떤 클래스 or 인터페이스에게 상속되었는지 체크합니다.

CS(Computer Science)/Network

[네트워크] TCP와 UDP 개념 및 동작 원리

전송 계층의 프로토콜 TCP와 UDP 특징 TCP의 특징 - 신뢰적이고 순차적인 전달(에러 없이 전달) - 혼잡 제어 - 흐름 제어 - 연결 설정 신뢰성있는 데이터 전송의 원리 더보기 - 점진적으로 송/수신 측의 reliable transfer protocol(rdt)를 발전 시킬 것입니다. - 단방향 데이터의 전송만 고려 -> but, 제어 정보는 양방향으로 오갈 것입니다. - 송/수신 측을 명시하기 위해 Finite State Machine(FSM)을 사용할 것입니다. 상태(state) -> 어떤 "상태"일 때 다음 이벤트에 의해 다음 상태가 결정. 그래서, 상태들이 서로의 동작을 결정하는 것을 상태 전이(transition)이라고 합니다. 유한한 갯수의 상태가 존재하고, 특정 상태를 정의하는 것을 ..

CS(Computer Science)/Network

[네트워크] IP 프로토콜 개념 정리(IPv4, IPv6)

이번 포스트에서는 TCP/IP 프로토콜의 3계층인 네트워크 계층의 IP 프로토콜을 정리하겠습니다. IP (인터넷 프로토콜) 인터넷 프로토콜(IP, Internet Protocol)은 목적지까지 데이터를 전달하는 기능을 수행하고 동시에 주소를 관리하는 기능을 수행합니다. 집 주소가 있어야 우편을 보낼 수 있듯이, 네트워크에 접속된 각 컴퓨터에도 고유한 식별 번호가 있어야 정확하게 데이터를 송수신할 수 있습니다. 따라서 인터넷에 연결된 모든 컴퓨터에는 고유 주소가 부여되는데 이것이 IP 주소 입니다. IP datagram 포맷 IP 데이터는 TCP or UDP로 부터 받은 데이터(payload)에 네트워크 계층에서 필요한 정보들이 header에 덧붙여집니다. 헤더의 정보는 아래와 같습니다. ver -> IP..

CS(Computer Science)/Network

[네트워크] OSI 7 Layers - 개념 정리 및 각 계층 정리

OSI 7 Layers란? OSI 프로토콜은 국제표준화기구(International Organization for Standardization, ISO)에서 만든 프로토콜 입니다. OSI 프로토콜은 서로 다른 컴퓨터 간의 통신 기능을 7 Layer로 구분하여 각 계층마다 표준화된 서비스와 프로토콜을 규정한 모델이고 우리가 꼭 알아두어야 할 프로토콜입니다. 하지만 실제로는 사용되지 않고 이론적으로만 우리가 참조하고 공부하는 모델이고 그래서 참조 모델이라고도 부릅니다. 전 세계에서 가장 많이 사용하는 프로토콜은 TCP/IP 프로토콜이고 이 프로토콜은 표현 계층과 세션 계층이 응용(Application) 계층 하나로 합쳐져있습니다. 네크워크를 계층으로 나눈 이유? 네트워크는 많은 요소들로 구성되어 복잡합니다...

Android/Kotlin(Java)

[Kotlin] Collections API - fold(), reduce()

안녕하세요. 오늘은 fold()와 reduce()에 대해 정리하겠습니다. 1. fold() fold() 함수의 구현 public inline fun IntArray.fold(initial: R, operation: (acc: R, Int) -> R): R { var accumulator = initial for (element in this) accumulator = operation(accumulator, element) return accumulator } fold()함수는 내부 요소들을 모두 돌아가며 operation을 수행한 결과를 반환합니다. reduce()와의 차이점은 초기값을 설정할 수 있고, emptyList여도 Exception을 던지지 않습니다. import org.assertj.cor..

DevOps/Linux

[Linux] 리눅스 쉘(Shell)의 이해

쉘이란? 쉘(Shell)은 스크립트 언어로 명령어의 해석을 통해 사용자와 리눅스 커널 사이에서 중간자 역할을 수행합니다. 윈도우에서의 프롬프트 명령어를 실행하는 것과 비슷해 보이지만 리눅스의 쉘은 더 강력한 기능을 제공합니다. 쉘 명령어로 구성된 쉘 스크립트 프로그램을 작성하면 쉘이 스크립트 파일을 읽어 일련의 명령을 수행할 수 있습니다. 쉘은 운영체제의 일부이며 커널과는 분리된 프로그램입니다. 쉘의 종류에 따라 alias 설정, 초기화 파일, 스크립트 작성 등에서 다른 특성을 가질 수 있습니다. 리눅스 사용자는 자신이 선호하는 쉘을 기본 쉘로 설정하여 사용할 수 있으며 가장 많이 사용하는 언어는 배쉬(Bash) 쉘입니다. 현재 쉘 확인 $ grep cent /etc/passwd seunghwan:x:5..

코딩테스트/알고리즘

[백준] 2178 미로탐색 | BFS

문제 N×M크기의 배열로 표현되는 미로가 있다. 1 0 1 1 1 1 1 0 1 0 1 0 1 0 1 0 1 1 1 1 1 0 1 1 미로에서 1은 이동할 수 있는 칸을 나타내고, 0은 이동할 수 없는 칸을 나타낸다. 이러한 미로가 주어졌을 때, (1, 1)에서 출발하여 (N, M)의 위치로 이동할 때 지나야 하는 최소의 칸 수를 구하는 프로그램을 작성하시오. 한 칸에서 다른 칸으로 이동할 때, 서로 인접한 칸으로만 이동할 수 있다. 위의 예에서는 15칸을 지나야 (N, M)의 위치로 이동할 수 있다. 칸을 셀 때에는 시작 위치와 도착 위치도 포함한다. 입력 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력..

코딩테스트/알고리즘

[백준] 2667 단지번호 붙이기 | BFS

문제 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집들의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여기서 연결되었다는 것은 어떤 집이 좌우, 혹은 아래위로 다른 집이 있는 경우를 말한다. 대각선상에 집이 있는 경우는 연결된 것이 아니다. 는 을 단지별로 번호를 붙인 것이다. 지도를 입력하여 단지수를 출력하고, 각 단지에 속하는 집의 수를 오름차순으로 정렬하여 출력하는 프로그램을 작성하시오. 입력 첫 번째 줄에는 지도의 크기 N(정사각형이므로 가로와 세로의 크기는 같으며 5≤N≤25)이 입력되고, 그 다음 N줄에는 각각 N개의 자료(0혹은 1)가 입력된다. 출력 첫 번째 줄에는 총 단지수를 출력하시오. 그리고 각..

반응형
seunghwaan
'분류 전체보기' 카테고리의 글 목록 (10 Page)