Flutter 카테고리의 최신글
[Flutter][Widget] CustomPaint로 나만의 위젯 만들기
[Flutter][Widget] CustomPaint로 나만의 위젯 만들기
Widget
2024.04.08 20:35
개요 Flutter에서는 상당히 많은 기본 위젯들을 제공해준다. Container, Column, Row, Stack, ListView 등등... 많은 기본 위젯들을 제공해준다. 기본 위젯들을 잘 조합하여 새로운 위젯을 만들 수 있지만, 때로는 기본 위젯의 조합으로도 만들 수 없는 위젯들을 만들어야할 때가 있다. ▼ 이럴 때는 우리가 따로 정의하여 사용을 해야하는데, 이를 도와주는 것이 `CustomPaint`다. CustomPaint를 통해 직접 위젯의 모양을 정의하여 새로운 형태의 위젯을 만들 수 있다. 들어가기 앞서 : 기본적인 좌표계에 대해서 들어가기 앞서 좌표계에 대해 알아야 한다. 이는 `CustomPaint`에서만 사용되는 것은 아니고 앱 전반적으로 다 사용되는 내용이다. 우리가 배웠던 좌표..
[Flutter] 패키지 사용법
[Flutter] 패키지 사용법
방법론, 이론
2024.04.01 13:39
개요 개발을 하다보면 기본적으로 제공하는 함수나 기능들 외의 기능들이 필요할 때가 많다. 스스로, 혹은 개발 팀에서 이를 직접 구현할 수 있고, 그러기로 결정이 났다면 다행이지만, 그럴 여유가 없어서 그 기능을 구현할 수 없을 때가 있다. 그럴 때는 보통 라이브러리를 받아와서 해결한다. ▼ Flutter는 이를 패키지라고 부르며, 빠른 개발을 위해서라면 패키지를 사용하는 것은 필수다. 패키지 혹은 플러그인이라고도 부르는데 엄연히 따지자면 패키지가 조금 더 큰 개념이다. 굳이 구별을 하자면 Dart코드로만 이루어진 것을 패키지라고 하고, JAVA, Swift, Kotlin과 같은 다른 언어를 포함하고 있는 것을 플러그인이라고 한다. 어쨌든 이번 포스트에서는 패키지 사용법에 대해 알아볼 것이다. 패키지 검색..
[Flutter][Widget] Row, Column 위젯
[Flutter][Widget] Row, Column 위젯
Widget
2024.03.24 18:57
개요 Flutter에서 하나의 위젯을 배치하는 것은 굉장히 쉽다. 오버라이드된 `build` 메소드의 `return`에 위젯 클래스를 반환해주면 위젯을 쉽게 렌더링할 수 있다. (물론 그 과정은 굉장히 추상적이고 복잡하겠지만...) "그렇다면 여러 개의 위젯을 배치하고 싶을 때는 어떻게 해야하지?" `return` 에는 하나의 위젯만 반환시킬 수 있고, 반환 타입마저도 `List`이 아니라서 여러 개의 위젯을 반환하는 것은 사실상 불가능하다. "그럼 뭐 불가능하다는거야 뭐야?" 불가능했다면 Flutter는 이 세상에 나오지 못햇을 것이다... 당연히 가능하며, 이를 도와주는 것은 Multichild-Layout Widget들이다. Multichild-Layout Widget에는 `Row`, `Column..
[Flutter][Widget] Container 위젯 그리고 Container의 크기 설정
[Flutter][Widget] Container 위젯 그리고 Container의 크기 설정
Widget
2024.03.20 22:55
개요 특정 영역에 위젯을 배치할 때 그냥 위젯을 배치하는 것이 아니라 어느 영역을 설정한 후 위젯을 배치한다. 그럴 때 Flutter에서는 단일 위젯을 배치할 때 `Container` 위젯과 `SizedBox` 위젯을 사용하여 그 영역을 설정하곤 한다. 이번 포스트에서는 `Container` 위젯에 대해 알아볼 것이다. Container Container란? `Container`의 의미는 용기, 담을 수 있는 무언가라는 의미로 정석적인 의미와 상당히 사용하는게 비슷한 위젯이다. UI요소를 감싸고, 다양한 형태를 취할 수 있는 위젯이다. 위의 설명은 `SizedBox`와 굉장히 비슷한데, `SizedBox`와의 결정적인 차이점은 `Container`위젯은 그 자체를 꾸밀 수 있다는 것이다. 사용예시 Con..
[Flutter][Widget] Text 위젯
[Flutter][Widget] Text 위젯
Widget
2024.03.19 17:46
개요 글자를 보여준다는 것은 프로그램의 가장 기초적인 부분이다. Flutter에서는 Text 라는 위젯을 통해 이를 보여준다. Text 외의 다른 위젯도 있지만, 이번 포스트에서는 가장 기초적인 위젯인 Text위젯을 볼 것이다. Text란? `Text`는 이름 그대로 문자를 보여주는 위젯으로 원하는 문자열을 화면에 그려준다. Text 사용예시 Text("안녕하세요 노근입니다.") `Text` 위젯은 위와 같이 간단하게 사용할 수 있다. `Text("원하는 문자열")`의 형태로 가볍게 사용할 수 있다. ▼ style 프로퍼티 (TextStyle) "근데 폰트 크기가 더 크거나, 색이 달랐으면 좋겠는데?" 그럴 때는 `style` 프로퍼티에 `TextStyle` 에 필요한 프로퍼티들을 채운뒤 넣어주면 된다...
Develop 카테고리의 최신 글
[Unity2D] Input 시스템
[Unity2D] Input 시스템
Unity
2024.03.03 21:37
시작 게임은 영상이나 음악이란 요소도 중요하지만, 영화나 다른 시각 매체와 큰 차이점을 두는 것은 바로 조작이다. 우리가 게임을 조작하기 위해서는 여러가지 것들을 이용할 수 있다. PC게임이라면 키보드, 콘솔 게임이라면 게임패드, 모바일 게임이라면 터치UI 등등이 될 수 있다. 우리가 게임을 조작하는 것은 물리적인 조작 장치가 게임에 신호를 보내는 것이라고 할 수 있다. 이 조작을 위한 신호는 Input 시스템이 담당하고 있기에 우리는 Input 시스템을 어떻게 이용할 수 있는지에 대해 알아야한다. Input System 게임 엔진에 대해 전문적이고 체계적으로 개발한 Unity는 그동안 입력에 관해 여러가지 시스템들을 도입하고 발전 시켰다. 그 결과 두 형태의 Input 시스템이 존재하는데, 각각 old..
Unity2D: Start와 Update
Unity2D: Start와 Update
Unity
2024.03.01 13:43
시작 저번 글에 이어 자동차를 조종하는 것을 마저 만들어볼 것이다. 이전 글 내용이 기억나지 않는다면 아래의 링크로 들어가면 볼 수 있다.▼ [Unity2D] Object와 Sprite 시작 간단하게 캡슐 모양의 오브젝트를 자동차처럼 조종하는 것을 만들어볼 것이다. (유니티 에디터 버전: 2020.3.30f1 Intel) 아래의 자동차를 조종해 볼 것이다.▼ 아래의 이미지는 코딩고라니가 noguen.com C# 스크립트 생성 키보드로 자동차를 조종하기 전에 우선은 입력없이 자동차 스스로 움직이게 해보자. 그러기 위해서는 자동차 오브젝트의 위치나 각도를 바꿔줄 코드가 필요한데, 그 코드를 Unity에서는 스크립트(Script)라고 부른다. 기본적으로 스크립트는 C# 문법을 따른다. 우선은 C# 스크립트를 ..
모음 타입들
모음 타입들
iOS
2024.02.23 15:23
모음 타입들 Swift는 여러 값들을 저장하기 위해 Array, Set, Dictionary라는 Collection Type(컬렉션 타입)을 제공한다. Array(배열)은 순서대로 값을 모은 것이고, Set(집합)은 순서가 없는 값들을 모은 것이다. Dictionary는 Key-Value 쌍을 순서 없이 모은 것이다. Swift의 Array, Set, Dictionary에 저장되는 값은 항상 명확한 타입을 가지고 있어야 한다. 만약 Int자료형을 저장하는 Array에 String 타입의 값을 넣으려고 하면 오류가 발생한다. Mutability of Collections 개발자가 Array, Set, Dictionary를 만들어 변수에 할당하면 해당 컬렉션들은 모두 변경 가능하다. 즉, 값을 추가, 제거,..
[Unity2D] Object와 Sprite
[Unity2D] Object와 Sprite
Unity
2024.02.22 15:27
시작 간단하게 캡슐 모양의 오브젝트를 자동차처럼 조종하는 것을 만들어볼 것이다. (유니티 에디터 버전: 2020.3.30f1 Intel) 아래의 자동차를 조종해 볼 것이다.▼ 아래의 이미지는 코딩고라니가 만들었고, 이미지를 연습용으로 사용하는데는 아무 제약이 없습니다. 마음에 들지 않는다면, 다른 파일로 해도 괜찮습니다. 자동차 오브젝트 생성 가장 먼저 해야할 것은 조종할 오브젝트를 만드는 것이다. 일단 유니티 프로젝트를 만들어준다. (2D 프로젝트로 만드는 것을 잊지 말자)▼ Hierarchy 탭의 빈공간을 눌러서 캡슐 모양 스프라이트를 가진 2D 오브젝트를 하나 만들어주자. 사실 어떤 오브젝트인지는 상관 없다. 어차피 square, circle, capsule의 차이는 스프라이트의 차이인데 우리는 자..
[Unity2D] 게임 디자인
[Unity2D] 게임 디자인
Unity
2024.02.22 15:20
게임 디자인 게임 제작에 앞서 게임 디자인이란 것에 대해 생각해야한다. 게임 디자인이란? 게임 디자인(game design)은 게임을 플레이하는 사람에게 전달하고 싶은 재미를 표현하고 구현하기 위해 게임의 규칙과 내용을 설계하는 과정을 지칭하는 말이다. 또한 이미 제작된 게임의 설계 양식이나 문서를 가리키는 말로도 사용된다. 게임 디자인에는 여러가지 제약들이 존재하지만 소규모로 제작하는 입장에서 고려해야할 것들에 대해서 간단하게 얘기하자면 이런 것들이 있다. 게임의 요소와 메카닉 사용자 경험(Player Experience) 핵심 기능(Core Mechanic) 게임 루프(Game Loop) 하나씩 살펴보자. 게임의 요소와 메카닉 게임의 요소와 메카닉은 단순하게 말하면 무엇이 게임에 있고, 어떤 방식으로..
스펙업! 카테고리의 최신글
[면접 질문] Flutter 심화 질문 (작성중)
[면접 질문] Flutter 심화 질문 (작성중)
스펙 업!
2024.03.06 19:45
Flutter의 컴파일 과정 How Flutter & Dart Code Gets Compiled To Native Apps How does Flutter and Dart work internally? pinedamg.medium.com From the FlutterDev community on Reddit: How does Dart (or Flutter) compile to iOS, Android, and other "native" code? Explore this post and more from the FlutterDev community www.reddit.com [Flutter] 01. 그 시작과 궁금증 플러터란 무엇? | (본 글은 공부하며 적은 글로서 100% 맞음을 보장할 수 없습니다. 틀린..
[면접 질문] Flutter 기본 질문
[면접 질문] Flutter 기본 질문
스펙 업!
2024.03.05 22:57
Flutter란? Flutter는 구글에서 개발한 모바일 어플리케이션 개발용 오픈소스 프레임워크다. Dart언어로 작성되었으며 안드로이드 및 iOS 모바일 앱 개발 뿐만 아니라 웹, 데스크톱 및 IoT 기기 등 다양한 플랫폼에서도 실행이 가능하다. Flutter는 빠른 개발 및 확장성을 지원하고, 다양한 애니메이션 및 사용자 인터페이스 요소를 포함하고 있다. Flutter와 타 모바일 개발 플랫폼들과의 차이점 React Native와의 차이점 Flutter의 높은 성능 Flutter의 Dart언어는 네이티브 코드로 컴파일 될 수 있다. 허나 React Native는 네이티브 모듈과 통신하기 위해 JavaScript 브리지를 사용하기 때문에 성능이 Flutter에 비해 약간 낮을 수 있다. 응용 프로그램 ..
[면접 대비] 프로그래밍 공통
[면접 대비] 프로그래밍 공통
스펙 업!
2024.03.05 17:21
메모리 구조 코드 영역 실행할 프로그램의 코드가 저장되는 영역으로 텍스트(Text) 영역이라고도 부른다. 사용자가 프로그램 실행 명령을 내리면 OS가 HDD에서 메모리로 실행 코드를 올리게 되고, CPU는 코드 영역에 저장된 명령어를 하나씩 가져가 처리하게 된다. 제어문, 함수, 상수들이 이 영역에 저장된다. 데이터 영역 프로그램의 전역 변수(global)와 정적 변수(static)가 저장되는 영역이다. 데이터 영역은 프로그램의 시작과 함께 할당되며, 프로그램이 종료되면 소멸한다. 힙 영역 프로그래머가 직접 관리할 수 있는 메모리 영역으로 이 공간에 메모리를 할당하는 것을 동적 할당이라고 부른다. Java, C# 그리고 일부 스크립트 언어에 가비지 콜렉터가 있으며, 해당 언어들에서는 가비지 컬렉터가 자동..
CS 카테고리의 최신 글
Transaction Management Overview
Transaction Management Overview
데이터베이스
2024.04.04 19:42
Transactions DBMS의 성능을 향상시키기 위해서는 사용자 프로그램의 동시 실행이 필수적이다. 디스크 액세스는 빈번하게 발생하며 비교적 느리기 때문에 CPU를 활용하여 여러 사용자 프로그램을 동시에 처리하는 것이 중요하다. 사용자 프로그램은 데이터베이스에서 검색한 데이터에 대해 많은 작업을 수행할 수 있지만, DBMS는 데이터베이스에서 읽거나 쓰는 데이터에만 관심이 있기 때문이다. DBMS는 사용자 프로그램을 추상화하여 트랜잭션(Transaction)이라는 개념으로 표현한다. 트랜잭션은 읽기와 쓰기의 연속으로 구성된 DBMS의 추상적인 사용자 프로그램이다. 트랜잭션은 일련의 데이터베이스 작업으로 구성됩니다. 일반적으로 트랜잭션은 다음과 같은 단계로 진행된다. 시작 (Begin) 트랜잭션이 시작되..
통계 DB의 보안(내용보완필요)
통계 DB의 보안(내용보완필요)
데이터베이스
2024.04.04 19:35
개론 앞에서는 DB외에도 일반적으로 사용하는 방법을 알아보았다. 이제는 통계 DB에서의 개인정보 유출을 배워본다. 통계 DB 통계 DB에서는 개인의 정보를 다룬다. 그러나 해당 DB에서는 집계 질의문만 처리해주기 때문에 특정 개인의 정보를 알 수 없다. 평균 나이, 최소 나이, 최고 나이 등등과 같은 집계 정보만 주기에 고라니의 나이나 고라니의 몸무게와 같이 특정 데이터는 얻을 수 없다. 추론 문제 그러나 추론이 가능하다. 예를 하나 들어보자. 나이와 등급이 연결되어있는 통계 DB가 있다고 해보자. 등급은 꽤나 민감한 정보로 아무도 모르지만 현재 노근은 대학 내의 학생 중 최고령자의 이름을 알고 있다. 그리고 이 최고령자가 유일무이하단 것도 알고 있다. 이 상황에서 노근은 해당 사람의 나이를 모름에도 등..
인터넷 응용프로그램의 보안
인터넷 응용프로그램의 보안
데이터베이스
2024.03.08 19:08
암호화 대칭적 암호화(Symmetric Encryption) 암호화에 필요한 키가 복호화 키로도 사용이 되는 암호화 방식을 말한다. 키가 하나만 있으면 되기에 간편한 방법이지만 키를 건네줄 때 부담이 생기게 된다. 암호화된 내용도 중간에서 가로챌 수 있는데 키라고 중간에 못 가로챌 일은 또 없다. 이렇게 하나의 키로 암호화와 복호화를 모두 하게 되면 키를 교환하는데에 부담이 생기게 된다. 공개키 암호화(Public-Key Encryption) 그래서 이런 부담을 줄이고자 나온게 공개키 암호화다. 각 사용자들은 모든 사람에게 알려진 공개 암호화 키와 자신만 알고 있는 비공개 복호화 키를 하나씩 갖고 있다. 사용자가 아마존에게 암호화된 주문 정보를 보내는 것을 예시로 보자.▼ 아마존은 암호화를 해주는 pub..
CPU Scheduling
CPU Scheduling
운영체제
2024.03.04 21:23
개요 운영체제는 항상 한정된 자원을 두고 자신과의 싸움을 한다. ▼ 자원은 계속해서 늘어나고 있지만 자원이 늘어나는 만큼 더 많이 사용하게 되어 자원은 항상 부족하다. 프로세스가 구동이 되려면 메모리 자원과 CPU자원이 필요하다. 모든 프로세스가 자원을 원하는 만큼 가져가면 좋겠지만 그렇게 다 주기엔 자원이 모자르기에 누구에게, 얼마나, 얼마동안 줄 지를 결정해야한다. 이렇게 프로세스에게 자원을 주는 일련의 행위를 Scheduling, 해당 행위를 맡고있는 OS의 일부분을 Scheduler라고 부른다. Q. Scheduler의 정체가 정확히 무엇인지? 하드웨어? 아니면 프로세스? A. 스케쥴러는 하드웨어나 별도의 프로세스가 아닌 OS의 기능중 하나이다. Term에 따른 종류 스케쥴러는 term을 단위로 ..
Process
Process
운영체제
2024.03.04 20:49
프로세스(Process)란? 프로세스란 지금 실행하는 프로그램을 의미하며, 프로그램의 가장 기본적인 단위를 의미하기도 한다. 프로세스의 문맥(Context) 현재 혹은 특정 지점을 놓고 봤을 때 프로세스가 어디까지 수행됐는지, 프로세스를 실행시키기 위해 어떤 메모리 공간을 만들었는지, Program Counter가 어디를 가리키고 있는지를 알려주는 정보를 프로세스의 문맥이라고 한다. 프로세스의 요소 각 프로세스는 크게 아래의 2가지를 갖는다. address space(core image) process table entry 여기서 entry는 해당 프로세스를 수행하기 위해 필요한 정보와 나중에 수행하기 위해 필요한 레지스터 값과 상태를 저장한다. Entry보다는 Process Control Block이라..
Algorithm 카테고리의 최신 글
백준 2178번 미로 탐색 - SWIFT
백준 2178번 미로 탐색 - SWIFT
BOJ PS
2024.05.02 00:51
문제N×M크기의 배열로 표현되는 미로가 있다.101111101010101011111011 미로에서 1은 이동할 수 있는 칸을 나타내고, 0은 이동할 수 없는 칸을 나타낸다. 이러한 미로가 주어졌을 때, (1, 1)에서 출발하여 (N, M)의 위치로 이동할 때 지나야 하는 최소의 칸 수를 구하는 프로그램을 작성하시오. 한 칸에서 다른 칸으로 이동할 때, 서로 인접한 칸으로만 이동할 수 있다.위의 예에서는 15칸을 지나야 (N, M)의 위치로 이동할 수 있다. 칸을 셀 때에는 시작 위치와 도착 위치도 포함한다. 입력첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. 출력첫째 줄에 지나야 하는 최소의..
백준 1991번 트리 순회 - SWIFT, C++
백준 1991번 트리 순회 - SWIFT, C++
BOJ PS
2024.04.28 20:08
문제이진 트리를 입력받아 전위 순회(preorder traversal), 중위 순회(inorder traversal), 후위 순회(postorder traversal)한 결과를 출력하는 프로그램을 작성하시오.  예를 들어 위와 같은 이진 트리가 입력되면,전위 순회한 결과 : ABDCEFG // (루트) (왼쪽 자식) (오른쪽 자식)중위 순회한 결과 : DBAECFG // (왼쪽 자식) (루트) (오른쪽 자식)후위 순회한 결과 : DBEGFCA // (왼쪽 자식) (오른쪽 자식) (루트)가 된다. 입력첫째 줄에는 이진 트리의 노드의 개수 N(1 ≤ N ≤ 26)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 각 노드와 그의 왼쪽 자식 노드, 오른쪽 자식 노드가 주어진다. 노드의 이름은 A부터 차례대로 알파벳 ..
백준 1992번 쿼드트리 - SWIFT
백준 1992번 쿼드트리 - SWIFT
BOJ PS
2024.04.28 20:05
문제흑백 영상을 압축하여 표현하는 데이터 구조로 쿼드 트리(Quad Tree)라는 방법이 있다. 흰 점을 나타내는 0과 검은 점을 나타내는 1로만 이루어진 영상(2차원 배열)에서 같은 숫자의 점들이 한 곳에 많이 몰려있으면, 쿼드 트리에서는 이를 압축하여 간단히 표현할 수 있다.주어진 영상이 모두 0으로만 되어 있으면 압축 결과는 "0"이 되고, 모두 1로만 되어 있으면 압축 결과는 "1"이 된다. 만약 0과 1이 섞여 있으면 전체를 한 번에 나타내지를 못하고, 왼쪽 위, 오른쪽 위, 왼쪽 아래, 오른쪽 아래, 이렇게 4개의 영상으로 나누어 압축하게 되며, 이 4개의 영역을 압축한 결과를 차례대로 괄호 안에 묶어서 표현한다. 위 그림에서 왼쪽의 영상은 오른쪽의 배열과 같이 숫자로 주어지며, 이 영상을 쿼..
백준 1987번 알파벳 - SWIFT
백준 1987번 알파벳 - SWIFT
BOJ PS
2024.04.19 15:49
문제 세로 R칸, 가로 C칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 (1행 1열) 에는 말이 놓여 있다. 말은 상하좌우로 인접한 네 칸 중의 한 칸으로 이동할 수 있는데, 새로 이동한 칸에 적혀 있는 알파벳은 지금까지 지나온 모든 칸에 적혀 있는 알파벳과는 달라야 한다. 즉, 같은 알파벳이 적힌 칸을 두 번 지날 수 없다. 좌측 상단에서 시작해서, 말이 최대한 몇 칸을 지날 수 있는지를 구하는 프로그램을 작성하시오. 말이 지나는 칸은 좌측 상단의 칸도 포함된다. 입력 첫째 줄에 R과 C가 빈칸을 사이에 두고 주어진다. (1 ≤ R,C ≤ 20) 둘째 줄부터 R개의 줄에 걸쳐서 보드에 적혀 있는 C개의 대문자 알파벳들이 빈칸 없이 주어진다. 출력..
백준 1967번 트리의 지름 - SWIFT
백준 1967번 트리의 지름 - SWIFT
BOJ PS
2024.04.18 18:51
문제 트리(tree)는 사이클이 없는 무방향 그래프이다. 트리에서는 어떤 두 노드를 선택해도 둘 사이에 경로가 항상 하나만 존재하게 된다. 트리에서 어떤 두 노드를 선택해서 양쪽으로 쫙 당길 때, 가장 길게 늘어나는 경우가 있을 것이다. 이럴 때 트리의 모든 노드들은 이 두 노드를 지름의 끝 점으로 하는 원 안에 들어가게 된다. 이런 두 노드 사이의 경로의 길이를 트리의 지름이라고 한다. 정확히 정의하자면 트리에 존재하는 모든 경로들 중에서 가장 긴 것의 길이를 말한다. 입력으로 루트가 있는 트리를 가중치가 있는 간선들로 줄 때, 트리의 지름을 구해서 출력하는 프로그램을 작성하시오. 아래와 같은 트리가 주어진다면 트리의 지름은 45가 된다. 트리의 노드는 1부터 n까지 번호가 매겨져 있다. 입력 파일의 ..
노션 카테고리의 최신 글
5. 데이터베이스 속성 심화
5. 데이터베이스 속성 심화
NOTION
2024.03.13 13:28
저번 포스트인 노션의 핵심 데이터베이스 에서는 데이터베이스에 대해 전체적으로 훑어봤다. 어떤 기능이 있고, 어떻게 사용하는지 정도를 봤는데 아직 본격적으로 사용하기에는 무리가 있지 않을까하고 생각했다. 사실 기초적으로, 그저 데이터를 담기 위해 데이터베이스를 사용하는 거라면 속성에 대해 깊이 알 필요는 없다. 어쩌면 데이터베이스라는 것 자체도 그냥 보이는 대로 집어다가 사용하면 될 수 도 있다. 그런데 데이터베이스가 심화되고, 한 데이터베이스에 담는 내용들이 많아지면 조금 곤란한 상황이 발생할 수도 있다. 마치 코드처럼 어설픈 설계로 규모를 키우면 코드 전체가 꼬여버리는 것 처럼 말이다. 그래서 이번에는 직관적인 속성보다는 약간 추상적이고 복잡한 속성들에 대해 배워보겠다. 관계형 첫번째로 볼 속성은 관계..
[노션 강의] 4. 노션의 핵심 데이터 베이스
[노션 강의] 4. 노션의 핵심 데이터 베이스
NOTION
2024.03.08 18:55
앞의 포스트에서 봤던 노션의 구조, 블록은 사실 다른 메모 어플리케이션에서도 지원을 하는 내용들다. 노션이 조금 더 완성도 있게, 더 많이 지원해주는 부분이 있지만, 사실 이 블록들보다 노션이 힘을 쓰고 있는 부분은 데이터베이스다. "데이터베이스? 그거 백엔드에서 다루는 거잖아." 데이터베이스라고 하면 개발자의 전유물같은 느낌으로 받아들여지는데, 최근에는 개발자로 많은 분야의 사람들이 활동하게 되면서 그런 감각이 조금 사라진 것 같다. 사실 데이터베이스라는 것 자체가 개발자가 많이 쓰지만 개발자를 위한 것 보다는 데이터를 효율적으로 다루기 위해 나온 것이라고 보는게 더 맞을 거다. 그것을 개발자가 사용하는 것 뿐이다. 그런 감각, 그런 개념으로 접근하게 되면 노션에서 데이터베이스를 사용하는 것은 문서 ..
[노션강의] 3. 블록 소개
[노션강의] 3. 블록 소개
NOTION
2024.02.27 13:46
⛳️ 블록의 종류와 사용법에 대해 알아봅시다! 노션에는 엄청나게 많은 종류의 블록이 존재한다. 보기 좋은 글을 만들어주는 글 변형 블록들부터, 이모지, 사진, 그리고 심지어는 페이지까지 블록으로 넣을 수 있다. 블록들 대부분은 다루기 쉽기에 하나씩 직접 만들어서 사용해보면 그 사용법에 대해 금방 익힐 수 있다. 그래서 제가 모든 블록들을 설명하기 보다는 블록들을 카테고리 위주로 설명한 후, 각 카테고리에서 사용하기 어려운 블록들에 대해서 추가적으로 설명하도록 하겠다. 마크다운 지원 블록 블록들의 카테고리는 노션 팀이 보기좋게 분류를 해놓았다. 기본블록 미디어 데이터베이스 AI 블록 고급 블록 인라인 임베드 그런데 각 카테고리에 5개 정도의 블록이 있다고만 생각해도 35개의 블록이다. 블록의 개수를 생각해..
[노션 강의] 2. 노션의 기본 구조와 사용
[노션 강의] 2. 노션의 기본 구조와 사용
NOTION
2024.02.23 15:53
⛳️ 노션의 구조와 노션을 이루고 있는 구성요소의 사용에 대해 알아봅시다! 노션의 기본 구조 노션 사용법에 대해 알아보기 전에 노션의 기본 구조에 대해 알아볼 것입니다. 노션의 구조를 알고 나면 사용하는 법도 더 쉽게 익힐 수 있습니다. Top-down 방식으로 하나씩 보도록 합시다. Workspace 노션의 가장 큰 단위라고 하면, 역시 workspace다. Workspace는 하나의 프로젝트라고 볼 수 있다. 하나의 큰 대분류로 다른 프로젝트나 다른 주제와의 분리가 가능해진다. 좌측 상단에 워크스페이스들을 모아 볼 수 있고, 원하는 워크스페이스로 전환이 가능하다. ▼ Workspace 만드는 법 ‘처음 시작할 때 워크스페이스를 하나 만들었는데, 새로운 워크스페이스는 어떻게 만드나요?’ 좌측 상단의 워..
[노션 강의] 1. 노션이란?
[노션 강의] 1. 노션이란?
NOTION
2024.02.21 23:02
⛳️ 노션으로 무엇을 할 수 있는지 알아봅시다! 노션(NOTION) 이란? 노션은 all-in-one workspace로 문서, 데이터베이스, 위키, 달력, 프로젝트 관리 등의 기능을 제공해주는 어플리케이션입니다. 아래의 기능들을 노션 하나로 모두 사용할 수 있습니다. 문서 데이터베이스 공개 웹사이트 지식 베이스 프로젝트 관리 시스템 "그렇지만 제가 보기엔 그냥 예쁜 메모 앱인거 같은데요?" 노션의 핵심 기능이 문서 작성이기에 이렇게 보이기도 하지만, 노션을 통해 문서 작성 외의 다른 것들도 할 수 있습니다. 조금 와닿지 않으실 거 같아서 제가 만든 몇가지 워크 스페이스를 보여드릴게요. 노근이 만든 워크스페이스들 1. NOGUEN 블로그 블로그를 노션으로 운영했었다. 노션 자체적인 기능과 super.so..
이모저모 카테고리의 최신 글
image