본문 바로가기

분류 전체보기100

[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.
[일상] 취준생 타잔씨 그러면 지금 서울에서 일하고 있는 거야? 크래프톤 정글을 수료한 후, 종종 듣고 있는 질문이다. 아쉽게도 대답은 '아니, 아직'이다. 작년 10월, 크래프톤 정글에 입소하며 스스로에게 던졌던 질문이 떠오른다. 정말 내가 뭘 하려고 코딩을 배우나. 처음에는, 개발이 마냥 재미있었다. 발전하는 스스로의 모습은 향상심을 느끼게 했고, 성취감의 사이클은 굉장히 빨랐다. 하지만 수료와 함께 취업에서 가로막히는 내 모습은, 내가 그동안 발전했는가? 에 대한 막연한 의구심만을 던졌다. 왜 나는 못할까, 2021년 2학기가 시작한 즈음에, 주변 동기와 후배들의 취업 준비가 시작됐다. 그 과정 속에서 그들의 걱정과 불안은 복도의 공기를 바꾸기 충분했다. 면접에 가기 위해 어색한 정장을 입는 후배, 자격증을 따기 위해 혼.. 2023. 6. 15.
프로젝트 배포하는 방법 - GCP 최근에 작업한 프로젝트를 새로운 인스턴스에 배포해야 하는 상황이 생겼다. 겸사겸사 당시 기록하지 못했던 구축 과정을 기록해 본다. #1 인스턴스 구매 나는 구글 클라우드 플랫폼에서 VM 인스턴스를 대여했다. https://console.cloud.google.com/ 왜냐면, 신규 회원에게 300달러 규모의 크레디트를 제공하기 때문에 여유로운 환경에서 3개월 동안 프로젝트를 배포할 수 있기 때문이다. 신규 회원 등록을 마치고 Compute Engine 카테고리에서 인스턴스를 입맛에 맞게 대여해라. #2 도메인 구매 도메인은 있어도 없어도 상관없는데, 이왕이면 이쁜 이름 지어주자. 본인은 가비아에서 1년 500원 도메인을 구매했다. https://my.gabia.com/ 이제 여러분은 서버를 돌릴 컴퓨터도.. 2023. 4. 16.