본문 바로가기

TIL (Today I Learned)87

[C#] Tuples, ValueTuples 여러 데이터 요소를 그룹화하는 Tuple 타입이 참조 타입이라는 사실을 아시나요? 튜플은 여러 데이터 요소를 그룹화하는 유형이다.나는 튜플을 주로 두 개 이상의 데이터를 반환하는 메서드를 작성할 때 반환값으로 사용했다.  그러면 튜플을 선언할 때 주로 사용하는 ( item1, item2 )와 new Tuple(item1, item2)는 똑같은 튜플일까?var tuple = new Tuple("Tuple", 1);var tuple2 = ("Tuple", 1);Console.WriteLine($"tuple type: {tuple.GetType()}"); // 1Console.WriteLine($"tuple2 type: {tuple2.GetType()}"); // 2Console.Re.. 2024. 4. 24.
[C#] Reflection, Attributes, Metadata .NET 환경에서 개발을 하다 보면 쉽게 접하는 Attribute와 Reflection에 대해 기록했습니다. 메타데이터(metadata or metainformation)는 데이터(data)에 대한 데이터이다. 데이터 베이스 작업을 할 때를 예로 들어보자. 데이터베이스 내부에 저장된 데이터는 실제 데이터이고, 테이블의 구조와 테이블 간의 관계는 메타데이터이다. attribute는 타입(type)에 메타데이터를 추가한다. 즉, 기존 메타데이터에 타입이나 메서드에 대한 정보를 추가하는 방식인데, 이는 Type 객체에서 읽을 수 있는 유형이나 메서드를 설명한다. reflection은 애플리케이션에 사용되는 유형(type)을 검사할 수 있는 코드를 작성할 수 있는 메커니즘이다. 예를 들어 리플렉션을 사용하면 특.. 2024. 4. 22.
[C#] using, IDisposable C#의 키워드 using에 대해서 정리했습니다. The using statement ensures the correct use of an IDisposable instance 출처: https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/statements/using using 문(statement: 실행 가능한 최소의 독립조각, 문 · 구문 · 명령문)은 IDisposable 인스턴스가 제대로 작동하도록 보장해 준다. 어떻게 보장한다는 것일까? 이를 알기 위해서는 IDisposable 인터페이스에 대해서 알아야 한다. IDisposable은 Dispose 메서드를 작성해야 하는 인터페이스다. Dispose는 처분하다, 배치하다, 정리하다 .. 2024. 4. 18.
[프로그래머스 C#] Lv.2 유사 칸토어 비트열 가독성을 위해서 문제 설명은 생략합니다. 링크를 통해 확인해 주세요. https://school.programmers.co.kr/learn/courses/30/lessons/148652 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 ✏️ using System; public class Solution { public int solution(int n, long l, long r) { int answer = 0; for(l--;l (l-1) c == '1'); return answer; } private string makeCantor(int n, s.. 2024. 4. 6.
[프로그래머스 C#] Lv.2 혼자 놀기의 달인 가독성을 위해서 문제 설명은 생략합니다. 링크를 통해 확인해 주세요. https://school.programmers.co.kr/learn/courses/30/lessons/131130 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 ✏️ using System; using System.Collections.Generic; public class Solution { public int solution(int[] cards) { bool[] checkedBox = new bool[cards.Length]; Array.Fill(checkedBox, fal.. 2024. 4. 5.
[programmers] 같은 숫자는 싫어 가독성을 위해서 문제 설명은 생략합니다. 링크를 통해 확인해 주세요. 지난 포스팅에서 자바스크립트의 Array 메서드를 알아봤습니다. 이번에는 Array 메서드를 사용하며 발생했던 오류와 그 이유에 대해서 작성해 보겠습니다. 예시로 들 문제는 프로그래머스 레벨 1 문제 '같은 숫자는 싫어'입니다. 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/12906 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 입력받는 매개변수는 "Array 객체" 반환해야 하는 값은 조건을 만족하는 "Array.. 2023. 9. 6.
[JS] array 메서드 js 코딩테스트 준비하며 자주 사용한 함수를 메모했습니다. MDN을 참고했습니다. JavaScript | MDN JavaScript (JS)는 가벼운, 인터프리터 혹은 just-in-time 컴파일 프로그래밍 언어로, 일급 함수를 지원합니다. 웹 페이지를 위한 스크립트 언어로 잘 알려져 있지만, Node.js, Apache CouchDB, Adobe Acrobat처럼 developer.mozilla.org 함수의 설명에 있어서 매개변수에 대한 설명이 부족합니다. 위 사이트에 접속해서 매개변수와 활용 예제를 확인하시는 것을 추천드립니다. 어떤 값을 '반환' 하는지, 혹은 원본 데이터를 수정하는 것인지를 유의하시면 좋을 것 같습니다. Array 메서드 arr.length 메서드가 아니라, Array 객체의 .. 2023. 9. 1.
[Python] Numeric types 파이썬에 대한 기본적인 이해를 위해 작성했습니다 c언어로 pintOS프로젝트를 할 당시를 떠올리면 변수를 선언할 때 자료형을 명시해야 했다. 하지만, 파이썬은 다르다. 심지어 이미 선언한 변수에 다른 자료형을 참조할 수 있다. 이번 포스팅에서는 파이썬이 어떻게 숫자를 다루는지 포스팅한다. #1 int 객체? c언어에서 우리는 숫자에 대한 자료형을 명시하기 위해서 해당 수를 표현하기 위한 바이트의 개수에 기준하여 자료형을 명시했다. 파이썬은 어떻게 작동하기에 이런 과정이 필요 없을까? 파이썬에서 모든 것은 '객체'라고 했다. 다른 언어에서는 해당 값 만을 저장하지만, 파이썬은 해당 값을 상태로 가지는 객체를 메모리에 저장한다. 이 과정에서 객체를 저장하기 위한 메모리 오버헤드가 발생한다. int 객체는 가.. 2023. 4. 13.
[Python] 변수와 메모리 (파이썬 최적화) #4 파이썬에 대한 기본적인 이해를 위해 작성했습니다 파이썬 최적화에 대해 알아보자. 다음 블로그를 참고했습니다. https://this-programmer.tistory.com/508 #8 Int interning 주의할 점은, Immutable 객체를 참조할 때 동일한 객체를 참조하지 않을 수도 있다. Python이 자동으로 공유 참조를 하지만, 언제나 작동하지는 않으며 될 때도 있고 안될 때도 있다는 점을 명심해야 한다. 지난 포스팅 '변수와 메모리 #2'의 마지막 줄이다. a = 10 b = 10 위의 경우 동일한 메모리 주소를 참조하게 된다. 하지만, 257 이상의 값을 참조하는 경우 Python은 공유 참조를 만들지 않는다. a = 500 b = 500 변수 a와 b는 서로 다른 메모리 주소를 참조.. 2023. 4. 11.