분류 전체보기 133

Figma 사용하기 (ft. 기본 사용법)

Figma 는 개발자와 디자이너가 협엽하기 좋은 인터페이스 디자인 툴이다. 웹 브라우저 기반이기에 작업 환경에 대한 걱정이 필요없다. 시작해보기 로그인 후 새 design file 을 추가해 준 후 본격적으로 작업을 시작해보자. 팀원 추가는 오른쪽 위에 Share 버튼에 이메일을 입력해 추가할 수 있다. Owner 가 팀원별 기타 접근사항을 부여할 수 있다. 그 옆에 헤드셋 아이콘을 보면 예상했겠지만, 팀원들끼리 소통하면서 작업하는 것도 가능하다.🤭 예시를 보도록 하자! 막상 디자인을 시작해보려면 굉장히 막막하다. 새 도화지상태에서 대체 뭐부터 건드려야할지.. 뭘 해야 할지 ... 감이 안잡히는데 🤯 예시들을 보면서 아이디어도 얻고 감 좀 잡아보자.. 로그인 화면 맨 위 오른쪽에 Explore Commu..

메모 2023.02.01

네트워크, 인터넷, 패킷의 정의

1. 네트워크(NETWORK)의 정의 : 여러 기기가 연결되어 있는 상태로 컴퓨터에만 국한되어 있지 않다.예) 도로와 철도의 네트워크, 사람과 사람간의 네트워크그 중에 컴퓨터간의 네트워크를 컴퓨터 네트워크라 부른다. (두 대 이상 연결되어 있어야 네트워크라 할 수 있음)네트워크는 Net + Work 의 합성어로써 컴퓨터들이 통신 기술을 이용하여 그물망처럼 연결된 통신 이용 형태를 의미한다. 좀 더 쉽게 말하자면 "두 대 이상의 컴퓨터들을 연결하고 서로 통신(이야기)할 수 있는 것" 누구는 네트워크의 정의를 이렇게 내린다. '어떤 연결을 통해 컴퓨터의 자원을 공유하는 것' IEEE(Institute of Electrical and Electronics Engineers:국제 전기 전자 공학회)에서는 네트워..

공부/Network 2022.12.07

Kotlin : nullable 타입 안전하게 참조하기 (ft.Safe Call)

아래 예시 코드를 보자. 물론 nullable 타입인 Movie? 타입의 bestMovie 가 아무 제한 없이 Movie 클래스의 속성에 참조할 수 있다면 위험하다. 아무것도 아닌 객체의 속성 참조는 NullPointerException을 일으킬 수 있기 때문에 (이를 코틀린에서는 런타임 전에 컴파일러를 통해 알려주긴 하다만). 그러면 참조하기 전에 그 객체가 정말 존재하는 객체인지 확인 후, 참조하면 되는 거 아닐까? 1. null 확인하기 bestMovie 가 실제 객체를 참조하는게 확실한 경우, 즉 Movie 타입을 참조하고 있다면 그 타입 속성에 참조하는게 가능하다. => 아래처럼 if 절을 이용해서 확인하면 된다. var bestMovie : Movie? = null if(bestMovie !=..

언어/Kotlin 2022.11.09

Kotlin : null 이란?

지금까지 각 변수에는 항상 어떠한 값이 제공되있어야 했다. 즉, 각 변수는 항상 특정한 개체를 참조하는데, 참조변수가 개체를 참조해서는 안되는 경우도 존재한다. 예를 들어 지금까지 만들어진 영화들 중 최고의 영화를 변수에 저장하고 싶다고가정해보자. val bestMovie = TODO() 하지만 아직 제작된 영화가 없다면 과연 이 변수는 어떤 영화 개체를 참조해야 할까? 물론 아무 의미가 없는 Movie 개체를 따로 만들어 둘 수 있지만 우아(?)하지는 않은 방법이다. 어찌됐든 게임(영화만들기 게임)이 막 시작했을 때, 아직 최고의 영화로 지정된 영화는 존재할 수 없는 거니까... 1. Nullable Types 코틀린에서 참조변수가 아무것도 참조하지 않도록 하는 방법이 있다. null 키워드를 이용하면..

언어/Kotlin 2022.11.09

Kotlin : 인터페이스 (Interface)

0.5 인터페이스란 인터페이스는 데이터 구조의 구현을 지정하지 않고 작업을 지정한다. 추상 메서드나 추상 속성(즉, Backing filed가 없음) 등이 인터페이스에 정의된다. 어떠한 특정 작업 세트를 제공하는 데이터 유형을 정의한다고 생각하면 된다. [기능이 구현되는 방식을 결정할 필요가 없는 기능 집합] 1. 인터페이스의 필요성 ( https://bruders.tistory.com/44 ) 에서 사용했던 클래스 계층 구조이다. 이 때 만들어진 영화는 비평가로부터 평가되어야 한다고 가정해보자. 이를 위해 비평 (Rating) 과 비평가 (Reviewer)에 대한 클래스를 추가로 만든다면 클래스 계층 구조는 어떻게 생겨야 할까? 왼쪽과 같은 구조를 생각했다고 가정해보자. 그러면 Reviewer 클래스는..

언어/Kotlin 2022.11.07

Kotlin : 추상클래스 (Abstract class)

1. 추상클래스의 필요성 클래스를 정의할 필요가 없는 고유한 개체 (object 키워드) 가 있듯, 객체가 없는 클래스가 존재한다. 그런 클래스가 과연 유용할까? 클래스는 ( https://bruders.tistory.com/21 ) 에서 얘기했듯 동일한 유형의 객체에 대한 일반적인 구조를 정의한다. 위 코드는 지난번에 코틀린 상속관련 예시로 작성한 코드다. Actor 클래스는 Actor 객체의 구조를, Director 클래스는 Director 클래스만의 구조를 정의했었는데, 두 사이 공통분모가 존재해 이를 따로 빼둘 둘의 상위 클래스인 Person 클래스를 만들었던 것이다. 사실 Actor 클래스와 Director 클래스의 객체만이 필요했을 뿐, Person 클래스의 객체는 따로 필요하지가 않은 상태라..

언어/Kotlin 2022.11.05

Kotlin : Object Composition & Aggregation 이란

1. Aggregation 위와 같이 코드를 작성했다고 생각해보자. 각 변수들이 어떤 객체들이 참조하고 있는지 그림으로 그려보았는데, 보면 참조변수 steven이 참조하는 Director 객체를 두개의 서로 다른 객체로부터 참조되고 있는게 보인다. (Director 객체인 steven이 단 하나의 영화에만 속해있는 게 아니라 여러 영화에 속해 있는 상태) 이렇게 여러개의 객체가 하나의 같은 객체를 참조하고 있는 걸 Aggregation 이라 부른다. 자 그럼 이제, secondMovie 객체를 삭제했다고 가정해보자. secondMovie 객체가 없어지면 당연히 그 객체가 다른 객체를 참조하고 있던 그 관계? 또한 사라진다. 하지만 위 그림을 보면 알 수 있듯, secondMovie 가 삭제되었지만 그 객..

언어/Kotlin 2022.11.03

Kotlin : Type-compatibility (ft. Upcast, Downcast)

1. Type-compatibility, 타입 호환성 일반적으로 더 일반적인 타입의 변수에 더 구체적인(더 전문화된) 타입의 개체를 할당하는 것은 항상 가능하다. 더 일반적인 유형은 더 적은 수의 가능한 작업을 정의하고 하위 타입이 상위 타입의 모든 작업을 허용한다는 것이 보장되어 있기 때문이다. 밑에 예를 보자. a와 p는 당연히 문제될 게 전혀 없다. 반면에 좀 살펴봐야 할 부분은 p2와 a2 다. p2는 Actor 타입이 상위 타입인 Person 타입의 모든 작업들이 허용 가능하니 문제되지 않는다 [모든 영화배우는 사람이다]. a2는 Person 타입이 하위타입(더 전문화된)인 Actor의 모든 작업들이 실행 가능하지 않으므로 프로그래밍 실행 전 이미 컴파일러 에러가 뜬다 [모든 사람은 영화배우가 ..

언어/Kotlin 2022.10.31

Kotlin : Supertypes and Subtypes

1.타입과 클래스 속성의 상속은 코드중복을 피할 수 있는, 합리적인 방법일 뿐만이 아니라 객체들 사이간에 타입관계들을 결정짓는다. 한 객체의 Type은 그 객체에서 수행할 수 있는 모든 작업들을 결정짓는다. 숫자 자료형들이 특정 연산만 가능한 것처럼, 객체의 유형에 따라 특정 작업만이 가능하다. 예를 들어 객체 내에 정의된 메서드들. 작업에는 보여지는 속성의 읽기와 쓰기도 포함된다. 1.5 Supertypes and Subtypes, 상위타입과 하위타입 Director 클래스는 Person 클래스에서 파생되었고 확장되었다. '확장'이란 속성과 메서드들이 추가돠는 동시에 Person 클래스가 가지고 있던 기존 속성 및 메서드가 모두 상속되는 것을 의미한다. 이는 하위 클래스의 객체들이 상위 클래스의 객체들..

언어/Kotlin 2022.10.30