| 일 | 월 | 화 | 수 | 목 | 금 | 토 | 
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 | 
| 9 | 10 | 11 | 12 | 13 | 14 | 15 | 
| 16 | 17 | 18 | 19 | 20 | 21 | 22 | 
| 23 | 24 | 25 | 26 | 27 | 28 | 29 | 
| 30 | 
- Stream
 - InteliJ
 - MCP
 - DIA
 - MySQL
 - 인텔리제이
 - Mac
 - @RequestBody
 - db
 - maven
 - class-transformer
 - oracle
 - 클로드
 - TypeScript
 - AWS
 - 클로드 코드
 - REST
 - ojdbc6
 - Spring
 - Aspect
 - node.js
 - Java
 - JavaScript
 - svn
 - 코어자바스크립트
 - claude
 - DART
 - 프로그래머스
 - SQL
 - ARC
 
- Today
 
- Total
 
목록전체 글 (113)
개발자가 되고 싶은 개발자
*Chromium 엔진을 사용하는 Chrome, Arc, Dia에서 확인된 방법입니다. API를 개발하다보면 'me'와 같은 리소스 명에 접근하는 api들이 존재합니다. 권한별로 리소스의 접근을 구분해 둔 것인데 이 네이밍은 어떤 api에서도 사용이 가능한 이름입니다. payment-api의 me인지, search-api의 me인지 알 수 없기 때문에 그 동안 Headers 탭을 눌러 URL을 확인했었습니다.(me가 10개 이상이면 아후,,,) 최근들어 찾을 일이 많아져 너무 번거로워서 찾아보려했는데 문득 없을리가 없다는 생각에 우클릭을 해보니 역시 옵션이 있었습니다.'Name' 탭을 우클릭한 후 Path, Url, Mehtod 등을 선택할 수 있습니다. 개인적으로는 Name을 없애고 Path, Url,..
지난 포스팅을 작성한 이후 클로드 코드가 최근 가장 많이 사용하는 도구가 된 것 같습니다. 구독을 함에도 불구하고 요청 토큰에 대한 제한이 있는데요, 제한은 일정 시간이 지나면 풀리지만 어느 정도 사용했는지 알 수 없어 불편합니다. GeekNews에서 마침 적합한 오픈소스를 발견하여 기록해두고 사용 방법에 대해 정리해두겠습니다. 설치 방법Breaking Change(주요 변경 사항)에 적혀 있는 최소 요구 사항인 파이썬 3.9 이상의 버전의 설치가 필요합니다.아래 파이썬 홈페이지에서 설치 파일을 다운 받아 설치합니다. 저는 25년 8월 1일 기준의 최신 버전인 3.13 버전을 설치하였습니다.파이썬 설치가 완료되면 아래에서 uv 툴을 설치합니다. npm과 같은 파이썬의 패키지 매니저 입니다.# uv 툴 설..
사내에서 여러 도구를 지원하고 있지만, Cladue MCP와 더 나은 결과물을 위해 Calude와 Cursor IDE를 별도로 구독해서 사용하고 있습니다. 20$, 17$ 빠져 나가는 알림을 보고 문득 아깝다는 생각이 들어 플랜을 종료하려다가 최근 몇 달간 이 패턴이 반복되고 있었고, 반복되는 이유를 스스로 생각해보면 비용대비 잘 사용하지 못한다는 생각에 종료하고 없으면 불편하고 아쉬울 때 다시 찾게되곤 하였습니다. 구독 취소 빈도를 줄이고 잘 활용하고 있다고 느낄 때 까지 한동안 커뮤니티를 드나들며 얻은 팁을 이 포스팅에 기록해보고자 합니다.Cursor AI1. Rules 설정하기command + , 를 눌러 설정으로 이동 후 Cursor 메뉴에서 파란색 글씨로 표시되는 '(full seetting..
데이터 그립(DataGrip)을 사용하신다면, 자동 정렬 기능을 사용하고 계시나요?? 저는 직접 쿼리를 작성하거나 ORM에 의해 생성된 로그를 붙여넣을 때 자동 정렬해주는 단축키를 자주 사용합니다. 단축키는 개개인 마다 설정에 의해 다르므로, 아래와 같이 에디터 화면을 우클릭하면 'Reformat Code'에서 확인이 가능합니다. 이렇게 정렬해 준 코드에서 구분이 쉽도록 'SELECT', 'INT' 등의 예약어 혹은 타입을 대문자로 구분하여 확인하고 싶었습니다.아래에서 가능합니다.설정(command + ',')으로 들어가 'Build-in types'를 검색합니다. (General로 검색하면 다른 검색이 많이 뜨기 때문에 이렇게 검색하는 것이 빠릅니다.) 여기서 'Built-in types', 'Key..
TL;DR;티머니 어플을 설치하여 티머니 카드를 발급 받습니다. (카드 구매가 아니라 '추가' 버튼만 누르면 됩니다.)애플 페이에 티머니 카드를 등록하여 사용합니다.충전은 티머니 앱 또는 현대카드 애플 페이 두 가지 방식으로 가능합니다.기기마다 별도의 티머니를 추가해야 합니다. (예: 아이폰, 애플워치 둘 다 사용할 경우 2개의 티머니 추가.)설치 및 사용법아래 순서대로만 따라하시면 되도록 간단하게 정리했습니다.모바일 티머니 앱을 설치해주세요 모바일티머니㈜티머니의 소비생활 필수 플랫폼, ‘모바일티머니’입니다. 당신의 티머니. 이제 iPhone과 Apple Watch 속으로. [주요 기능] ■ iPhone만으로 버스, 지하철 탑승을 간편하게 - 결제는 APP이나 화면을apps.apple.com 앱을 실..
*기록용 다이어리 글 입니다. 정보 습득을 위한 글이 아닌 점 참고 부탁드립니다. BTS, 손흥민, 봉준호 Jay Park Let’s go.MCP, GenAI, BibeCoding. Ba’am! 이제는 세상이 위 키워드들에 뒤덮여 가는 것이 익숙해져 갑니다.무섭기까지 할 정도로 빠른 속도에 혼란스러운 것도 같습니다. 이런 감정이 과연 기술에 대한 두려움일까 라는 생각이 스쳐갔지만 그 정도 톺아본 적이 없기 때문에 금세 스스로 정답을 알고 있다는 것을 깨닫게 됩니다.뒤처지는 것에 대한 두려움은 개발자 분들이 겪는 보편적인 고민인 것 같습니다. (아닌가요 전 그렇습니다.) 빠른 변화가 이뤄지는 시대여서 그런지 이제는 이러한 신기술을 빠르게 받아들여 '잘' 쓰는 것이 중요하단 것을 금방 깨닫곤 합니다.오..
*MacOS 26의 업그레이드를 통해 레이캐스트의 주요 기능들이 스팟라이트에서 유사하게 이용 가능해진 점 참고 부탁드립니다.TL;DR;바쁘신 분들은 빠르게 설치 후 맨 하단의 Quick Link 기능만 우선 사용해보시는 것을 추천 드립니다.(설치 시 다음 버튼을 쭉 누르고, 권한 까지 다 주면 번거로운 추가 설정 없이 사용하실 수 있습니다.)목차들어가기 전에설치하기초기 설정단축키 & 권한 설정둘러보기퀵 링크 (적극 추천)즐겨찾기들어가기 전에PC에서 가장 많이 사용하는 기능을 두 가지만 골라본다면 어떤 기능이신가요?? 근래 저의 대답은 복사와 스크린샷 이 두 가지 입니다. 최근 들어 유난히 복사한 내역을 다시 복사할 일들이 반복되는 것 같아 예전에 저장해두었던 '레이케스트(Raycast)'라는 무료 생산..
*해당 글은 클로드 데스크탑 버전의 설치를 필요로 합니다.오늘은 '표준'이라는 개념을 시작으로 글을 적어나가 보려고 합니다. 표준이라는 단어의 뜻을 사전에서 찾아보면 다음과 같습니다.사회적 합의를 통해 이루어진 통일 규격 어떠한 기술을 사용하고자 하거나 배우려고 할 때 복잡하거나 추상적인 개념에 접근하는 데 있어 어려움을 겪을 때가 있습니다. 그럴 때 우리는 표준 기술을 통해서 현대 사회의 복잡하게 얽혀있는 기술 환경 안의 서로 다른 시스템들 혹은 도구를 편리하게 연결하기도 하고, 더 쉽게 접근하고 이해할 수 있습니다. 서문이 길었습니다. 2024년 11월 26일, 클로드(Claude)의 개발사인 앤트로픽(Antrophic)은 MCP라는 새로운 표준을 제시하였고, 아래는 엔드로픽사의 MCP의 소개글이며 ..
Intro하루가 멀다 하고 새로운 툴들이 쏟아지는 것 같은 요즘입니다. 3-5년 전 스타트업 붐이 일어났을 시기에 노드 진형에서의 백엔드, 프론트 기술들의 변화도 뜨거웠던 것으로 기억합니다.Bun.js, Deno 등 여러 런타임도 등장하고, Nest, Next, Fastify, tRPC 등의 프레임워크의 다양화가 이뤄지는 등의 변화가 있었습니다. 결국에는 현재 제 상황을 직시하고 필요한 도구를 선택할 수 있는 능력이 중요한 것 같습니다.그 선택의 힘에 필요한 근육을 기른다는 생각으로 즐겁게 제미나이 CLI를 알아보고자 합니다. (코딩애플 채널의 콘텐츠를 보고 작성하게 되었습니다. 클로드 코드 게시물을 업데이트 하니 알고리즘에 뜨는군요...)Hello World!2025년 6월 25일 구글에서는 "당신의..
Zen, Chrome, Safari, Firefox, Whale, Brave 까지 여러 브라우저에 거쳐서 정착한 Arc 브라우저의 개발이 잠정 중단되었습니다. UI 측면의 작은 디테일과 편의 기능의 차이가 얼마나 많은 편의성을 증대시키는지 알게 해준 툴이고, 주변 분들께 소개도 많이 드리면서 주 브라우저를 아크로 전향하신 분들도 보아 더욱 재밌게 사용하였습니다. 그런 브라우저의 개발 중단 소식이 아쉽지만은 않았는데요, Arc Browser의 개발을 중단하는 대신 최초의 AI 브라우저인 Dia Browser 집중한다는 소식 덕분이었습니다. Your friend is inviting you to the Dia beta!Dia is the AI browser that’s always up to speed. N..
들어가기 전에이미 여러 AI 도구가 존재하는데 클로드 코드가 필요할까?라는 의문이 들지만 어떤 측면에서 호평을 받는지 궁금하여 사용해보고자 합니다. 저는 업무에서 WebStrom, InteliJ, PHPStorm, VSCode, Cursor 등 프로젝트와 언어에 적합한 IDE를 사용하고 있습니다.여러 AI 도구들을 사용하고 있고 코드 자동 완성 도구로는 Copilot을 기본으로 사용중이었습니다. 현 회사에서는 Node.js 환경에서 개발을 시작하였고, 입사 당시 Copilot이 출시되어 사수분과 재밌게 사용해봤던 기억이 납니다. 여러 도구를 사용해 보는 것을 즐기는 편입니다. 사내에서 Jetbrain 라이센스를 지원하여 Webstrom으로 갈아탔고 당시 다소 자동완성이 불안정하고 플러그인이 지원되지 않아..
최근 프로젝트를 배포하면서, AWS Route 53에서 구매한 도메인을 Vercel 프론트엔드 프로젝트에 연결하게 되었습니다.도메인을 붙이는 과정에서 인지하고 있지만 정확히 알지 못하는 개념들을 정리하고, 발생하였던 이슈들과 그 해결 과정을 정리하려 합니다.목표Route 53에서 구매한 도메인을 Vercel 프론트엔드 프로젝트에 연결 (fullth.tistory.com 라고 하겠습니다.)https://fullth.tistory.com과 https://www.fullth.tistory.com 모두 접근 가능하도록 설정 주요 용어 정리 (도메인 연동 시 필요한 개념)용어설명A 레코드도메인을 정적인 IP 주소와 연결함. CNAME 레코드서브도메인(예: www.fullth.com)을 다른 도메인 이름으로 포워딩..
Kubernetes(k8s) 환경에서는 클러스터 내부의 서비스 디스커버리가 중요한 역할을 합니다. 이 글에서는 Kubernetes에서 DNS 질의가 어떻게 이루어지는지 그 원리를 살펴보겠습니다.Kubernetes의 DNS 구조Kubernetes는 클러스터 내에서 DNS 서비스를 제공하기 위해 CoreDNS를 기본 DNS 서버로 사용합니다. 이 DNS 서버는 클러스터 내의 모든 서비스와 파드의 이름을 도메인으로 변환해주는 역할을 합니다.DNS 질의 과정Pod 내에서의 DNS 설정nameserver 10.96.0.10search default.svc.cluster.local svc.cluster.local cluster.localoptions ndots:5Pod가 생성될 때, Kubernetes는 자동으로 ..
TL;DR엑셀>데이터>텍스트/CSV에서 불러오거나데이터그립에서 엑셀파일로 export 하는 것이 가장 간단함문제데이터를 csv 파일로 추출 시 한글 데이터가 깨짐DBeaver / DataGrip 로 추출해도 동일함원인csv파일과 엑셀의 인코딩 방식이 다름해결방안메모장을 이용하는 방법 (windows)엑셀 툴을 이용하는 방법 (windows/mac)datagrip을 이용하는 방법 (windows/mac)메모장을 이용하는 방법csv 파일 우클릭 -> 연결 프로그램 -> 메모장 -> 다른 이름으로 저장 -> 인코딩 UTF-8을 UTF-8(BOM)으로 변경.엑셀을 이용하는 방법데이터 탭 -> 텍스트/CSV에서 -> 인코딩 유니코드(UTF-8) 선택 후 데이터 로드DataGrip 이용하는 방법데이터 내보내기 -..
Preface동일성과 동등성은 객체를 비교할 때 중요한 개념입니다.Java에서는 equals() 메서드와 == 연산자를 통해 구분할 수 있습니다.Spring에서는 lombok의 @EqualsAndHashCode 어노테이션을 이용합니다.equals() 메서드와 == 연산자의 차이객체 비교 대상에서의 차이가 존재합니다.eqauls() 메소드는 객체의 내용을 비교하고, == 연산자는 객체의 참조를 비교합니다.따라서 두 객체의 내용이 같더라도, 서로 다른 객체라면 eqauls()는 true를,== 연산자는 fasle를 반환합니다.동등성평가의 대상인 객체의 내용이 같은지를 비교하는 개념입니다.자바에서는 equals()메서드를 사용하여 객체의 동등성을 비교합니다.class Team { private List ..
Preface이전 포스팅을 작성하게된 본 목적을 이어서 작성합니다.동료분이 노드 관련해서 질문주셔서 문제점을 같이 찾아보다가 class-validator의 옵션이 원인이었고, 몰랐던 옵션에 대해 알게되었습니다.해당 라이브러리에 대한 사용법과 옵션에 대해서 간단하게 정리합니다. class-transformer란 무엇이고 왜 사용할까?Preface동료분이 노드 관련해서 질문주셔서 문제점을 같이 찾아보다가 class-validator의 옵션이 원인이었고, 몰랐던 옵션에 대해 알게되었습니다. 해당 옵션만 정리하려다가 TypeStack의 라이브러리를fullth.tistory.comTypeStackclass-validator도 class-transformer과 동일하게 TypeStack의 프로젝트입니다.스프링처럼 ..
Preface동료분이 노드 관련해서 질문주셔서 문제점을 같이 찾아보다가 class-validator의 옵션이 원인이었고, 몰랐던 옵션에 대해 알게되었습니다. 해당 옵션만 정리하려다가 TypeStack의 라이브러리를 같이 정리하고자 하여 class-transformer 대한 기본적인 내용들을 우선 정리합니다. TypeStack노드와 브라우저를 위한 데코레이터 기반의 프레임워크와 라이브러리를 개발하는 Git Organization입니다.Decorator based frameworks and libraries for Node and browser. TypeStackDecorator based frameworks and libraries for Node and browser. - TypeStackgithub.c..
여러 프로젝트간의 전환을 하나의 웹스톰 윈도우 안에서 탭처럼 이용하는 옵션입니다. TL;DRSettings 에서 Open 검색Open project in에서 New window를 선택 (폴더별로 각각의 윈도우를 오픈하도록 설정하는 옵션)프로젝트를 2개 이상 오픈 (현재까지는 각각 윈도우가 띄워집니다.)상단 Window에서 Merge All Project Windows 선택탭별로 합쳐짐 (세 번째 첨부파일의 Nest.js, Algorithm와 같이 합쳐짐)이후부터 오픈하는 프로젝트들은 하나의 윈도우 안에서 열림System Settings> Project> Open project in 옵션에서 New window 선택위 옵션 선택 후 프로젝트를 두 개 이상 오픈해둡니다. Window>Merge All Pro..
Error() constructor - JavaScript | MDNThe Error() constructor creates Error objects.developer.mozilla.orgTL;DR자바스크립트에 내장된 기본 Error 객체는 name, message 파라미터를 받는다에러를 반환할 때 호출되는 toString 메소드는 name이 존재하지 않을 경우 "Error: "와 message를 붙여서 반환하게 된다.일반적인 에러 관리법보통 에러를 반환할 때는, 기본 에러 타입을 상속받아서 커스텀한 메시지를 반환하는 형태를 이용합니다.interface HttpError { status?: number; message?: string; code?: number; } interf..
Number - JavaScript | MDNNumber values represent floating-point numbers like 37 or -9.25.developer.mozilla.org아래와 같이 일반적인 자료형의 범위를 넘어가는 요청을 방지하고자 하는 작업이 존재하였습니다.처리하는 과정에서 JS의 기초적인 부분에 대해 망각하고 있어 정리합니다.GET /items?page[offset]=0&page[limit]=200000000000000000000 쿼리스트링잠시 쿼리스트링에 대해서 얘기해보겠습니다. 쿼리스트링은 데이터를 전달하는 기본적인 방법 중 하나입니다. URL의 일부이고, 이름에서 알 수 있듯이 문자열입니다. HTTP 요청은 텍스트 기반이므로 쿼리스트링을 포함한 요청은 문자열로 데이..
(이 글은 작성중입니다.) 가벼움 등의 이점으로 노드를 이용하여 많은 기업들이 빠르게 서비스를 만들어 나갔지만 결국 동적언어의 한계로 타입스크립트가 등장했고, 이로 인해 더욱 더 노드가 트렌드가 되며 많은 인기를 끌었습니다. 기존 자바스크립트 라이브러리들도 오픈소스 개발자들로 인해 빠르게 타입지원을 이뤄나가 순식간에 TS를 도입하는 사례가 많았고 빠르게 국내 개발시장에 자리잡은 것 같습니다. 빠르게 나아지고 발전하고 있지만 항상 본인의 업무 환경이 최신 환경일 수는 없습니다. 어느 순간 현재 주어진 불편한 개발환경에 익숙해졌고, 어떤 환경에서도 방법은 존재하기 때문에 합리화했던 부분도 있었습니다. 더 합리적이고 좋은 방법이 있는데 여러 이유와 핑계들로 개선하려하지 않는 자세가 결국 공부의 필요성과 의욕도..
TL;DR아래 순서대로 실행하면 강의가 "봤어요" 처리됩니다.하단의 스크립트를 복사완료처리하고자 하는 인프런 강의 접속개발자도구 실행스크립트 붙여넣기해당 스크립트는 2024-06-28 18:10 기준입니다.인프런의 css 클래스명이 변경되면 동작하지 않을 수 있습니다. 듣기 싫어서 작성한거 아님사내에서 무료로 인프런 강의를 제공해주는 복지를 잘 활용하고 있습니다. 해당 복지는 악용 방지 차원에서 신청 후 3개월간 완강하지 않으면 사비로 강의비를 지불해야 하는 정책이 존재합니다. 최근 어플에 관심이 생겨 강의를 잘 듣고 있었으나, 앱개발 특성 상 빠른 환경의 변화 탓인지 약 500개의 강의 중 거의 절반의 강의가 현재와 달라져 [@Deprecated] 표시를 해주셨습니다. 인프런은 강의 영상에 대해서 1분..
개요 약 2시간이 소요되는 작업이 있었고, Chunk 방식로 Connection pool의 갯수만큼 나눠서 처리하는 작업이다.본문의 제목과 같이 Node.js 환경에서 동작하고 있고, 성능 개선을 시도하려고 한다. PM2와 같은 프로세스 매니저를 이용해서 프로세스 자체를 여러 개 띄워서 해결할 수도 있지만, 문득 원론적으로 Node.js가 싱글/멀티 스레드인지 헷갈려서 해당 개념을 정리하고자 WorkerThreads와 같이 조사한다. node/lib/worker_threads.js at v20.12.1 · nodejs/nodeNode.js JavaScript runtime ✨🐢🚀✨. Contribute to nodejs/node development by creating an account on Gi..
에러 내용Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column To disable safe mode, toggle the option in Preferences -> SQL Editor and reconnect. 원인MySQL Workbench의 기본옵션으로 using safe update mode가 켜져 있음.여러 로우를 한꺼번에 업데이트하는 경우를 대비하는 옵션.DataGrip에서는 발생하지 않음. 쿼리로 옵션 끄기SET sql_safe_updates = 0;SELECT @@SQL_SAFE_UPDATES; SELECT 쿼리를 실행할 수 없는 ..
5.7로 업그레이드 했을 때 발생하던 현상이였다. 분명히 같은 IN쿼리지만, 5.6에서는 인덱스를 타던 것이 5.7로 넘어오면서 인덱스를 타지 않게 된 것이다. 정확히 말하자" data-og-host="jobc.tistory.com" data-og-source-url="https://jobc.tistory.com/216" data-og-url="https://jobc.tistory.com/216" data-og-image="https://blog.kakaocdn.net/dna/dkMLRr/hyVS22A7gf/AAAAAAAAAAAAAAAAAAAAAN_eRJZAVGimvnNggVWZXQurWnYOA4MRe9AouJxRv-LJ/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&expires=1764514799&allow_ip=&allow_referer=&signature=giV5uDWJc%2BxKAvQFvMtGnGZbYKI%3D
🏷️ 설치방법 홈페이지에서 설치하는 방법과 brew로 설치하는 방법이 존재한다. brew로 설치하면 웹 + 앱개발자가 아닌 이상 한 번에 설치가 완료되지 않을 것이다. brew로 설치하는 방법은 간단하니, 문서 아래 부분에 정리한 brew 명령어를 실행해보고 다시 돌아와서 안되어 있는 것을 추가로 설치하는 것을 추천한다. 🏷️ 아래 정리된 명령어 참고 공식사이트와 비교해보면서 보면 수월하게 설치할 수 있다. Flutter Mac 설치 커맨드 | Notion Shell 타입 확인 커맨드 codefactory.notion.site 🏷️ 플러터 사이트 접속 2024년 04월 03일 기준 Flutter - Build apps for any screen Flutter transforms the entire app..
Future Future라는 미래에 받을 값들에 대해서 받을 수 있는 생소한 키워드가 존재한다. 자바에서도 비동기 프로그래밍에서 사용하는 키워드이다. 지금까지 본 결과 TypeScript와 Java의 장점이 합쳐진 언어로 보인다. void main() { Future name = Future.value('Genesis'); Future serial = Future.value(80); Future isMine = Future.value(true); } setTimeout과 같은 역할을 아래 문법으로 사용할 수 있다. Future.delayed(Duration(seconds: 2), () { print('딜레이 종료'); }); 비동기 프로그래밍: futures, async, await DartPad로 비동..
Dart 기본 문법 정리에 이어 Dart에서 Class를 어떻게 사용하는지 정리한다 Dart 기본 문법 빠르게 정리 배열의 인덱스에 접근하는 방법과 같이 프로그래밍 언어의 일반적인 사항은 작성하지 않음. Dart 언어 소개 Dart 프로그램과 주요 개념에 대한 간결한 소개. dart-ko.dev main 최상위 main 함수를 갖음출 fullth.tistory.com 객체 생성 new 연산자는 생략이 가능하다 void main() { Car myCar = Car(); myCar.catalog(); } class Car { String brand = 'Hyundai'; String name = 'Genesis G80'; void catalog() { print('${brand} ${name}'); } } ..
배열의 인덱스에 접근하는 방법과 같이 프로그래밍 언어의 일반적인 사항은 작성하지 않음. Dart 언어 소개 Dart 프로그램과 주요 개념에 대한 간결한 소개. dart-ko.dev main 최상위 main 함수를 갖음출력은 print 함수를 사용 void main() { print('Hello, World!'); } 자료형 문자형, 숫자형, 실수형, 논리형 String, int, double, bool String flutter = 'flutter'; int num = 10; double num2 = 0.5; bool isTrue = true; var var로 타입 지정하지 않고 변수선언 가능 var name = 'fullth'; print(name); var 변수의 타입 var는 선언할 때 타입이 지정..
💻 개요 업무 중 심볼 타입이 객체 프로퍼티의 키로서 사용된 경우 해당 객체의 값을 추출해야 하는 부분이 있었습니다. 간단하게 Object.values로 추출하려 했으나, 의도대로 동작하지 않았고 잘몰랐던 부분이여서 해당 부분과 심볼타입에 대해 정리합니다. Documentation - Symbols Using the JavaScript Symbol primitive in TypeScript www.typescriptlang.org 💻 심볼 타입이란 number, string과 같은 기본 데이터 타입 중 하나 불변하고 유일함 문자열처럼 객체 속성의 키로서 사용될 수 있음 💻 생성하는 방법 Symbol 생성자를 호출하는 것으로 값을 생성 let sym2 = Symbol("key"); let sym3 = Sy..