TIL

· TIL/SQL
1. 데이터 모델링 - 정보시스템 구축을 위한 데이터 관점 업무 분석 기법 - 현실 세계의 데이터를 약속된 표기법을 표현 - 데이터베이스를 구축하기 위한 분석 및 설계 과정 이러한 과정을 개체, 속성, 관계로 나타낼 수 있다. - 중복, 비유연성, 비일관성을 유의해야 한다. 유지보수의 어려움과 데이터 모델의 업무 변경에 취약해 질 수 있기 때문이다. 2. 데이터 베이스 스키마 -외부스키마 사용자 관점의 데이터베이스 정의 -개념스키마 통합관점(모든 사람)의 스키마 구조 표현, 논리적 구조 및 뷰를 제공하며 논리 구조 변경 시 개념 스키마 변경 -내부스키마 물리적 저장구조 정의, 사용자나 응용프로그램에 직접 노출되지 않기 때문에 영향을 주지 않는다. 3. ERD(Entity-Relationship Diagr..
· TIL/Unity
코루틴을 누군가에게 설명하라고 하면 비동기적인 기능을 만들 때 주로 사용한다고 말할 것이다. 하지만 코루틴은 사실 비동기인 것 처럼 보이는 것이지 동기적으로 진행된다고 알고있다. 그래서 이 애매한 지식을 확실하게 파악하기 위하여 코루틴의 대한 개념을 정리하고자한다. 1. 코루틴이 뭐야? 코루틴이란 순차적인 방식으로 비동기식 코드를 작성할 수 있도록 하는 함수다. 코루틴을 사용할 때는 IEnumerator형으로 메서드를 선언하고 yield return문을 사용하여 비동기적 기능을 제작할 수 있다. 주로 특정 기간동안 실행을 중지할 수 있는 yield return new WaitForSeconds를 사용하거나 한 프레임동안 실행을 중지할 수 있는 yield return null을 사용한다. 이렇게 메서드를 ..
· TIL/Unity
유니티에서 콜백기능이라고 하면 딱 떠오르는 대표적인 개념이 하나 있는데 그것이 바로 델리게이트다. 실제로 델리게이트를 사용해본 경험도 있고 사용하는 이유도 어느정도 알고 있지만 정확하게 개념을 파악하진 못했다. 그래서 이번에 확실하게 이해를 하고 넘어가고 싶어 델리게이트에 대해 정리해 보려 한다. 1. Delegate란 뭘까? Delegate를 한국어로 번역하면 대리자, 대표자 라는 뜻이 나오는데 말 그대로 대리자의 역할을 하는 것이 Delagete다. 따라서 Delegate는 메서드에 대한 참조를 나타내며 이를 통해 메서드를 매개변수로 전달하거나 변수에 저장할 수 있는 실체로 처리할 수 있는 대리자다. 근데 메서드에 대한 참조, 메서드를 매개변수로 전달.. 뭔가 말이 되게 복잡하다. 그래서 코드 예시와..
· TIL/Unity
사실 프로퍼티에 대한 개념은 어느정도 알고있다. 하지만 사용법과 개념만 알고있지 이 기능이 무엇이며 왜 사용하는지 깊게 생각해본적이 없다. 그렇기에 누군가에게 프로퍼티를 설명해보라고 하면 어중간한 답변을 할 수 밖에 없을 것 같다. 그래서 프로퍼티를 공부하며 생긴 질문들을 적고 답하며 자세히 알아보려고한다. 1. 프로퍼티가 뭐야? 프로퍼티는 getter와 setter을 이용하여 전용 필드의 값을 읽고 쓰거나 계산하는 등 유연한 방법들을 제공하는 클래스의 멤버다. 프로퍼티는 위 사진과 같이 변수의 값을 얻어낼 수 있는 get과 설정할 수 있는 set으로 선언된다. 2. 프로퍼티를 왜 쓰는거야? 일반적인 변수는 public과 private 등을 이용하여 접근제한을 하는데 public은 어디에서든 접근이 가능..
· TIL/C#
코드를 잘 쓰는 것도 중요하지만 우리가 적은 코드들이 어떤 메모리 영역에 들어가서 관리되는지 이해하는 것도 중요하다. 그래서 오늘은 메모리 구조에 대해 살펴보고자 한다. 1. 메모리 구조 메모리의 구조는 크게 4가지 영역으로 나눠져있다. 1. 코드 영역 프로그램의 실행 코드가 저장되는 공간이며 텍스트 영역이라고 부른다. CPU는 코드 영역에 저장된 명령어를 하나씩 가져가서 처리한다. 2. 데이터 영역 전역 및 정적 변수를 저장하는 공간이며 특정 함수나 개체의 인스턴스에 연결되지 않았다. 프로그램이 시작할 때 함께 할당되며, 프로그램이 종료되면 소멸된다. 3. 스택 영역 함수의 호출 및 지역 변수와 매개변수를 관리하는 영역. 함수의 호출과 함께 할당되며, 함수의 호출이 완료되면 소멸된다. 스택은 가장 최근..
· TIL/Unity
최종프로젝트를 진행하면서 관련된 데이터 스프레드 시트 파일을 Json화 하는 작업을 Tool이용하여 진행했었다. 하지만 Loading을 하면서 자동적으로 스프레드시트 데이터를 불러오는 방법을 채택했고 그와 관련된 기능을 구현했다. 그곳에서 async와 await를 주로 사용하며 작업을 진행했는데 이 개념에 대해 오늘 정리하고자 한다. async란? Asynchronous의 줄임말로 비동기 처리 구현을 가능하게 해주는 기능이다. 주로 Task와 같이 async Task ~~의 형태로 사용된다. Task -> 작업의 단위를 반환해주는 변수 await란? 작업을 기다린다는 의미로 async와 같이 쓰이는 기능이다. 아무리 비동기 작업이라 한들 async 기능들이 모두 완료되지 않고 함수가 종료될 수 있는 문제..
· TIL/C++
백준 1439 https://www.acmicpc.net/problem/1439 1439번: 뒤집기 다솜이는 0과 1로만 이루어진 문자열 S를 가지고 있다. 다솜이는 이 문자열 S에 있는 모든 숫자를 전부 같게 만들려고 한다. 다솜이가 할 수 있는 행동은 S에서 연속된 하나 이상의 숫자를 잡고 모 www.acmicpc.net 문제 다솜이는 0과 1로만 이루어진 문자열 S를 가지고 있다. 다솜이는 이 문자열 S에 있는 모든 숫자를 전부 같게 만들려고 한다. 다솜이가 할 수 있는 행동은 S에서 연속된 하나 이상의 숫자를 잡고 모두 뒤집는 것이다. 뒤집는 것은 1을 0으로, 0을 1로 바꾸는 것을 의미한다. 예를 들어 S=0001100 일 때, 전체를 뒤집으면 1110011이 된다. 4번째 문자부터 5번째 문..
· TIL/C++
백준10816 https://www.acmicpc.net/problem/10816 10816번: 숫자 카드 2 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10,0 www.acmicpc.net 문제 숫자 카드는 정수 하나가 적혀져 있는 카드이다. 상근이는 숫자 카드 N개를 가지고 있다. 정수 M개가 주어졌을 때, 이 수가 적혀있는 숫자 카드를 상근이가 몇 개 가지고 있는지 구하는 프로그램을 작성하시오. 풀기 전 생각 처음 문제를 풀었을 때는 당연히 맵을 사용하면 가장 빠르게 해결될 줄 알았다. 이유는 해쉬를 사용한 탐색이기 때문에 O(1..
Sh_Blog
'TIL' 카테고리의 글 목록