개발/정리

    [Flutter가지고놀기] Dart_3

    [Flutter가지고놀기] Dart_3

    노마드 코더 'Dart 시작하기' 강의 정리 Data Types String = 문자열 bool = true / false int = 정수 double = 끝에 소수점을 붙일 수 있음 num = 숫자. int 와 double의 부모 class기 때문에 정수, 소수점 수 쓸 수 있음. Dart는 거의 전부가 object로 이루어져있다. function(함수)까지도. 그래서 진정한 객체지향언어라고 부른다. Lists var numbers = [1,2,3,4,]; List numbers = [1,2,3,4,]; List에서는 끝에 쉼표로 마무리 한다. collection if 로 List를 만들 수가 있는데, 다음과 같다. 이렇게 되면 출력되는 값은 [1,2,3,4,5]가 된다. 따로 numbers 밖에서 n..

    [Flutter가지고놀기] Dart_2

    노마드 코더 'Dart 시작하기' 강의 정리 Null Safety Null 은 어떠한 값도 표시되지 않는 상태이다. Null Safety를 제공함으로써 null로 인한 오류가 생기는 것을 방지한다. 기본적으로 모든 변수는 null이 될 수 없다. Dart에서는 어떤 변수, 데이터가 null이 될 수 있음을 정확히 표시해야 하고 그럴 경우 Dart는 null일 때는 참조하지 않는다. Final var 대신 final 변수를 만들면 해당 변수는 수정할 수 없다. (Javascript와 Typescript의 'const'와 같음) Late late는 var나 final 앞에 붙여줄 수 있는 수식어다. 현재 데이터가 없을 때, late 변수를 만들고 API요청 후 API에서 데이터 응답이 오면 그 값을 late..

    [Flutter가지고놀기] Dart_1

    노마드 코더 'Dart 시작하기' 강의 정리 Void main() { print('hello world); } main() 함수는 Dart의 Entry Point다. main() 에 쓴 코드가 호출되기 때문이다. Dart 언어에서는 ';' 세미콜론이 중요하다. Javascript와 Typescript는 자동으로 세미콜론을 달아주는 auto formatter로 완성이 되지만, Dart는 자동으로 완성되지 않는다. 이유는 Dart에서는 일부러 세미콜론을 안 쓸 때가 있기 때문이다.(cascade operator) 변수를 만드는 방법은 2가지다. 1. 명시적으로 변수의 타입을 지정할 수도 있고 ex) String name = '다트' 2. 그냥 'var'를 사용할 수 있다. ex) var name ='다트' ..

    [Flutter가지고놀기] Flutter가 좋은 이유!

    노마드 코더 'Dart 시작하기' 강의 정리 Flutter는 하나의 코드 베이스로 웹과 모바일 등 여러 환경에서 작동이 되도록 하는 크로스플랫폼 프레임워크다. 1. 각각의 환경에 따라 개발을 할 필요가 없다는 것이 가장 큰 장점이다. Flutter는 Dart 언어로 작성되고 두개 다 구글이 개발하고 있다. *Dart Dart는 2개의 컴파일러가 있음 1) Dart Web - Dart로 쓴 코드를 javascript로 변환해주는 컴파일러 2) Dart Native - Dart로 쓴 코드를 여러 CPU의 아키텍쳐에 맞게 변환(ARM32. ARM64, X86_64 아키텍쳐의 CPU를 기반으로 하는 IOS, Android, Windows, Linux, Mac 등에서 사용할 수 있도록 변환) * JIT = jus..

    React Native 개발환경 설정 (for macOS m1)

    오래전부터 앱을 만들어서 나만의 서비스를 올려보는게 목표였다. 웹개발 프론트엔드 취업 후 앱개발 공부하려고 했었는데, 코로나에 심하게 고생하고 나서 코딩을 좀 쉬었더니 의욕도 사라지고 핑계만 늘고 매우 게을러졌다. 게다가 실력도 많이 줄어든 것 같다는 생각이 들었다. 이전에 지원했던 기업에서 React-Native로 과제를 주었는데, (그동안 React만 다뤄봐서) 한번도 개발해보지 않았던 것이기도 하고 시간이 촉박했던 터라 제출하지 못했었다. 자신있게 도전하지 않았던 것이 계속 마음에 걸렸고, 그동안 만들고 싶었던 서비스를 어떻게든 해보자는 생각이 들었다. 그래서 React-Native에 도전하기로 했다. React Native는 https://reactnative.dev/docs/environment..

    CS 공부 - 네트워크의 기기, IP주소

    네트워크의 기기 네트워크 기기의 처리 범위 애플리케이션 계층 : L7 스위치 인터넷 계층 : 라우터, L3 스위치 데이터 링크 계층 : 브리지, L2 스위치 물리 계층 : NIC, 리피터, AP 애플리케이션 계층을 처리하는 기기 L7 스위치 로드밸런서라고도 하며, 서버의 부하를 분산하는 기기 클라이언트의 요청을 여러 서버로 나누는 역할을 하고 URL, 서버, 캐시, 쿠키들을 기반으로 트래픽을 분산한다. 또한, 바이러스와 불필요 데이터 등을 거르는 필터링 역할도 한다. L4 스위치와 L7 스위치 차이 로드밸런서는 L7과 L4 스위치도 있는데, L4스위치는 IP와 포트를 기반으로 트래픽 분산을 하고 L7스위치는 URL, HTTP헤더, 쿠키 등을 기반으로 트래픽 분산을 한다. 헬스 체크 서버의 정상 여부를 주..

    CS 공부 - TCP/IP 4계층 모델 - 2

    링크 계층 은 전선, 광섬유, 무선 등으로 데이트를 전달하며 장치 간 신호를 주고받는 '규칙'을 정하는 계층. 네트워크 접근 계층이라고도 한다. 유선LAN(IEEE802.3) 유선랜을 이루는 이더넷은 IEEE802.3 프로토콜을 따르며 전이중화 통신을 쓴다. 전이중화통신 full duplex 송신로와 수신로로 나눠서 데이터를 주고받는다. CSMA/CD Carrier Sense Multiple Access with Collision Detection (충돌 감지) 이전에는 반이중화통신 중 하나인 CSMA/CD 방식을 썼음. 데이터 송신 중 충돌이 발생하면 재전송을 하는 방식이다. 유선 LAN을 이루는 케이블 트위스트 페어 케이블 일반적으로 유선랜 케이블이라 하면 볼 수 있는 UTP케이블. 케이블을 연결할 ..

    CS 공부 - TCP/IP 4계층 모델 - 1

    인터넷 프로토콜 스위트는 TCP/IP (Transmission Control Protocol/ Internet Protocol) 4계층 모델과 OSI 7계층 모델로 설명하기도 한다. 어플리케이션 계층은 FTP, HTTP, SSH, SMTP, DMS 등의 응용 프로그램이 사용되는 계층이고 서비스를 사람들에게 제공 하는 층 전송 계층은 송신자와 수신자를 연결하는 통신 서비스를 제공하며 어플리케이션과 인터넷 계층 사이의 데이터 중계역할을 한다. TCP와 UDP가 있다. TCP는 '가상회선 패킷 교환 방식'을 사용한다. UDP는 '데이터그램 패킷 교환 방식'을 사용한다. '가상회선 패킷 교환 방식'은 각 패킷에 식별자가 포함되어 패킷을 전송하면 가상회선이 해제되고 패킷들은 전송된 순서대로 도착하는 방식이다. '..

    CS 공부 - 네트워크의 기초

    그동안 학습했던 개념들도 있고 면접 준비를 하며 나름대로 정리한 적 있지만, 항상 막연하다는 생각이 들었다. 그 이유는 아무래도 인터넷으로 찾은 내용들이고 대부분은 맞겠지만서도 그때 그때 필요한 내용만 읽는게 많아서 빈 부분이 많아서 일것이다. 그래서 책을 따라 쭉 한번 정리해보려고 한다. 책의 목차로는 1. 디자인 패턴과 프로그래밍 패러다임 2. 네트워크 3. 운영체제 4. 데이터베이스 5. 자료 구조 6. 포트폴리오와 면접 이렇게 된다. 순서대로 공부해도 되지만, 가장 필요한 부분 먼저 읽는 것이 좋을 것 같아서 순서를 바꿔본다. 책의 개념들을 정리하지만, 추가로 검색한 부분, 내가 알고 있는 부분도 추가. 네트워크 - 자료구조 - 디자인 패턴과 프로그래밍 패러다임 - 운영체제 - 데이터베이스 순서로..