You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
Next.js + REST APIãå¿ è¦ã¨ãã人ã®ããã®ã©ã¤ãã©ãª ä¸éãRSCã§çãä¸ãã£ã¦ããä»ã§ãç§ã¯REST APIã好ãã§ä½¿ã£ã¦ãã¾ããOpenAPIãSwaggerUIã§å±éãã¦APIä»æ§æ¸ã¨ãã¦ç´åã§ããããä¿å®å¼ç¶ãã®ããã®ã¨ã³ã¸ãã¢æè²ãæ¯è¼çç°¡åã§ãã SwiftãKotlinã§ãã¤ãã£ãã¢ããªå¯¾å¿ããå ´åãOpenAPIããHTTPã¯ã©ã¤ã¢ã³ããèªåçæãã¦ä½¿ããã¨ãå¤ãã®ã§ã¯ãªãã§ããããï¼ ããã«Next.jsã®Route Handlersã§APIãéçºãããå ´é¢ããããªãã«ããã®ã§ãããå ¬å¼ã®æ¹æ³ã ãã ã¨åãç·©ãã¦è¾ãã§ããåé¿çã¨ãã¦å ¨ã¦ã®ãªã¯ã¨ã¹ããHonoã«æãã¦åãä»ããè¨äºãããè¦ããã¾ããããã¡ã¤ã«ãã¼ã¹ã«ã¼ãã£ã³ã°ã®å©ç¹ã失ããã¦ãã¾ãã¾ãã ãã®è¨äºã§ã¯ãaspidaã¨frourioã®éçºçµé¨ãæ´»ããã¦è¨è¨ãããRoute Handlersç¹å
TypeScript 5.8ã§å°å ¥ãããerasableSyntaxOnlyãã©ã°ã使ãã¨ãenumãnamespaceãã¯ã©ã¹ã®ãã©ã¡ã¼ã¿ããããã£ãmoduleãã¼ã¯ã¼ããªã©ã®æ§æãã¨ã©ã¼ã¨ãã¦æ¤åºã§ãã¾ãããããã®æ§æã¯Node.jsã§TypeScriptãå®è¡ããéã«éäºæãªæ§æã§ãããæ¬ãã©ã°ã®å°å ¥ã«ããNode.jsã¨TypeScriptã®äºææ§ãé«ã¾ãã¾ãã æ¬è¨äºã§ã¯ãerasableSyntaxOnlyãã©ã°ã®æåã¨ããªããã®ãã©ã°ãå°å ¥ãããã®ãã解説ãã¾ãã erasableSyntaxOnlyãã©ã°ã®æå erasableSyntaxOnly ã¨ã¯ããåé¤å¯è½ãªæ§æã®ã¿ãã¨ããæå³ã§ããåé¤å¯è½ãªæ§æã¨ã¯ãNode.jsã§TypeScriptãå®è¡ãããéã«åé¤ãããæ§æã®ãã¨ã§ããå¾ã»ã©è©³ãã解説ãã¾ãã erasableSyntaxOnlyãã©ã°ã¯ãtsconf
ã¯ããã« åå®å ¨æ§ã¨æ¡å¼µæ§ã®ä¸¡ç« 宣è¨ãã¼ã¸ã®æ´»ç¨ 宣è¨ãã¼ã¸ã¨ã¯ï¼ 宣è¨ãã¼ã¸ã使ã£ã¦ã¡ãã»ã¼ã¸ã®åãæ¡å¼µãã åã¨ã¤ãªã¢ã¹ã¨ Generics ã使ã£ãæ¹æ³ã¨ã®æ¯è¼ 宣è¨ãã¼ã¸ã使ããã¨ã§å®è£ ã¨åã®æ´åæ§ãæ ä¿ãããããªã MUI ã§ã®å®£è¨ãã¼ã¸ã®æ´»ç¨äºä¾ 注æç¹ VS Code ä¸ã®åãã§ãã¯ã®è¡¨ç¤ºã tsc ã®åãã§ãã¯ã®çµæã¨ç°ãªãå ´åããã ã©ã¤ãã©ãªå´ã空㮠interface ã®ã¾ã¾ã ã¨å°ããã¨ããã ãªã react-redux ã§ã¯ãã®ã¢ããã¼ãããããã®ãï¼ ã¾ã¨ã interface ã®å®£è¨ãã¼ã¸ãæ´»ç¨ãããã¨ã§ ã¯ããã« ããã«ã¡ã¯ï¼Element ãã¼ã ã§ããã³ãã¨ã³ããæ å½ãã¦ãã all-user ã§ãã Elementãã¼ã ã¨ã¯ãããã¯ã¿ããã®ãããã¯ãéçºã®ä¸ã§ã主ã«DOMã¨ã®ã¤ã³ã¿ã©ã¯ã·ã§ã³å¨ãã®éçºãæ å½ãã¦ãããã¼ã ã§ãShadow DOM ã i
ã¢ãã¯ã« Advent Calendar 2024ã®12æ¥ç®ã®è¨äºã§ãï¼ ã¯ããã« ã¢ãã¯ã«ã®éçºçµç¹ã§ã¯ï¼TypeScriptããããã¯ããä½ãã¨ãã®æåã®é¸æè¢ã¨ãã¦æ¡ç¨ãã¦ããï¼Node.jsãã©ã³ã¿ã¤ã ã¨ããä¸è¬çãªJSã®æè¡ã¹ã¿ãã¯ã§ã®éçºãè¡ã£ã¦ãã¾ãï¼ ãããªä¸ã§Node.jsã®ããã©ã¼ãã³ã¹ã«èª²é¡ãæãå§ãï¼ä¸é¨ã®ã³ã¼ããRustã§æ¸ãç´ãã¨ããä½æ¥ãè¡ãã¾ããï¼ Node.jsã«æããèª²é¡ ãããããµã¼ãã¹ã稼åãã¦ããã ãã§ãéãçã¿åºãã¦ãããã¨è¯ãã®ã§ããï¼æ®å¿µãªããå ¨ã¦ã®ãµã¼ãã¹ããéãçã¿åºãããã§ã¯ããã¾ããï¼ãµã¼ãã¹ã稼åãããã³ã¹ããããã£ã¦ããã®ã§ããã°ï¼ãã®ã³ã¹ããã§ããéãåæ¸ãããã¨æãã®ã¯çµç¹ã¨ãã¦ã¯ä¸è¬çãªãã¨ã ã¨æãã¾ãï¼ ãããªä¸ï¼ãµã¼ãã¹ã®ä¸é¨ãã¤ã³ã¹ã¿ã³ã¹ã®ã¡ã¢ãªã¼ãªãããã«å¼ã£æããããã«ãªãã¾ããï¼ é常ã¦ã§ãã¢ããªã±ã¼ã·ã§ã³ã®ãµã¼
æ ªå¼ä¼ç¤¾ã¹ã¿ã³ãã¤ã§ããã³ãã¨ã³ãã¨ã³ã¸ãã¢ããã¦ããå·éã§ãã ããã³ãã¨ã³ãã¨ã³ã¸ãã¢ã¨ããå½¹å²ãæ ã£ã¦ãã¾ãããæè¿ã§ã¯éçºè ä½é¨ãéçºçç£æ§ã¨ããã¨ããã«èå³ãããããã®ãããã®æ¹åã«ãããåãçµãã§ãã¾ãã ã¯ããã« ç§ãã¡ã®ãã¼ã ã§ã¯ãGoogle Apps Script (GAS) ãå©ç¨ãã¦ãéã¨ã³ã¸ãã¢ã®äººãã¡ãã·ã¹ãã ã«ã¹ãã¬ããã·ã¼ãã®ãã¼ã¿ãã¢ãããã¼ãã§ããä»çµã¿ãæ§ç¯ãã¦ãã¾ãã GAS ã¯æ軽ã«éçºã§ããããã¸ã§ã¯ãéå§å½åã®å°ããªè¦æ±ãæºããã«ã¯ååãªãã®ã§ããã ããããããã¸ã§ã¯ããé²ãã«ã¤ã次第ã«è¦ä»¶ãå¢ãã¦ãããGAS ã§å¯¾å¿ããã®ã大å¤ã«ãªãã»ã©è¤éã«ãªã£ã¦ãã¾ããã ã¾ã GAS ã§ã¯ãåã®æ©æµãåãããã¨ãé£ããã£ãããã¨ãã£ã¿ã®ãµãã¼ããæºè¶³ãããã®ã§ãªãã£ããããå¢å¤§ãã¦ããè¤éãã«ç«ã¡åããã®ãé£ãããªã£ã¦ãã¾ããã ãã®ãããªèª²é¡ã解決
çããããã«ã¡ã¯ãcosocafã§ããåã¯æ®æ®µC++ã使ã£ã¦ããã®ã§ãããæ°å転æãããã¦TypeScriptã§AtCoderããã£ã¦ã¿ãã®ã§åå¿ãå¾ç¶ã®æ¹ã®ããã«è¨äºãæ¸ãããã¨æãã¾ãããªãTypeScriptãé¸ãã ã®ãã¨ããã¾ãã¨ãåèªèº«C++ã®æ¬¡ã«ãã使ãè¨èªãããã§ãããããªã®ãããã®ã§ãããC++ãRustãPythonã°ã£ãã®ãã®ç°å¢ã«å¯¾ããå骨精ç¥çãªã¨ãããããã¾ãã 1. æºå ã¾ãã¯ãç°å¢æ§ç¯ã§ããVSCodeã§ãããªããã¨ãæ³å®ãã¦ãã¾ããããã³ã¼ãæ¸ãããã£ã¦ç¶æ ã®æ¹ã¯ã¨ã°ãã¦ãã ããã ã¾ãããã®ç« ã¯è¨äºã®è¶£æ¨ã¨ããã¦ããã®ã§ç°¡æçãªèª¬æã«ã¨ã©ãã¦ãã¾ãã詳ãã説æã¯å¥ã®æ¹ã®è¨äºãåèã«ãã¦ãã ããã Nodeãã¤ã³ã¹ãã¼ã«ãã Windowsã®å ´å ããããã¤ã³ã¹ãã¼ã©ããã¦ã³ãã¼ããã¾ãããã¨ã¯ã¤ã³ã¹ãã¼ã©ã®æ示ã«å¾ãã°åé¡ããã¾ããã Macã®å ´å br
ãTypeScriptã§ã¯ãããåã·ã¹ãã ãã¨ããè¨äºãnæåã©ã ããã¼ãã«å¯ç¨¿ãã¾ããã æ°åãçºå£²ãã¾ãã "ãnæåã©ã ããã¼ããVol.4 No.3ï¼2024ï¼çºè¡ã®ãç¥ãã https://t.co/PGppk1aRRAâ lambdanote (@lambdanote) 2024å¹´10æ4æ¥ ã©ããªå å®¹ï¼ TypeScriptã®æ¥µå°ãµãã»ããã«å¯¾ããåæ¤æ»å¨ãæ¸ãããããéãã¦åã·ã¹ãã ãä½æãã¦ã¿ãããã¨ããå 容ã§ãã 詳ããè¨ãã¨ãbooleanåã¨numberåã¨é¢æ°åãããªãTypeScriptãµãã»ããè¨èªãã¿ã¼ã²ããã§ãã åæ¤æ»å¨ã®å®è£ è¨èªã«ãTypeScriptï¼å¦çç³»ã¯Denoï¼ã使ãã¾ãã TypeScriptã¥ããã®ä¸åã§ãã ããã人åãã«è¨ãã¨ããåã·ã¹ãã å ¥éãã¨ããæ¬ï¼é称TAPLï¼ã®åç´åä»ãã©ã ãè¨ç®ã«ç¸å½ããå 容ãTypeScriptã§èª¬æã
åã®è¨äºã§ã¯ããµãã¿ã¤ãã³ã°æ©è½ãåããéçåä»ãè¨èªã«ã¤ããã®ã®ãæ½è±¡åº¦ãé«ãé£ããæ¦å¿µãåå¤ãã¨ãå ±å¤ãã«ã¤ãã¦è§£èª¬ãã¾ããããã®è¨äºã§ã¯ãååã®è¨äºãæ¸ãåæ©ã¨ãªã£ãæ°ã¥ãã«ã¤ãã¦ã話ãã¾ããæåã«åæã¨ãã¦ãåå¤ãã¨ãå ±å¤ããçµã¿åãããæ¦å¿µã§ãããä¸å¤ããç´¹ä»ãããã®ä¸ã§ãä¸å¤ãã§ãããã¨ã«ãã£ã¦çºè¦ããããã®ãæ°ã¥ããã«ã¤ãã¦è§£èª¬ãã¾ãã ä¸å¤: é¢æ°ã®å¼æ°ã¨ãã¦åãåãããã¤æ»ãå¤ã¨ãã¦è¿ãå ´å ããåã®åå¼æ°ããé¢æ°ã®æ»ãå¤ã§ããã°å ±å¤ã«ãªããé¢æ°ã®å¼æ°ã§ããã°åå¤ã«ãªãã¨ãããã¨ã¯ãåå¼æ°ãé¢æ°ã®æ»ãå¤ã¨å¼æ°ä¸¡æ¹ã§ä½¿ç¨ããã¦ããå ´åã¯ã©ããªãã§ãããããããããå ´åã¯ãä¸å¤ãã¨ãªããåå¼æ°ã«æ¸¡ãåãå ¨ãåãã§ãªããã°ãµãã¿ã¤ãã»ã¹ã¼ãã¼ã¿ã¤ãã®é¢ä¿ãæç«ããªããªãã¾ããæåéããä¸å¤ããªã®ã§ãã æ©éä¾ãæãã¾ããã: // åå¤æ°Tãé¢æ°ã®æ»ãå¤ã¨å¼æ°ä¸¡æ¹ã«ä½¿ç¨ãã¦ãã
ãã®è¨äºã§ã¯ãJavaãScalaãTypeScriptãªã©ããµãã¿ã¤ãã³ã°ï¼subtypingï¼ããµãã¼ãããè¨èªã§ããã°ééããªããµãã¼ããã¦ããã§ããããåå¤ï¼contravariantï¼ãã»ãå ±å¤ï¼covariantï¼ãã«ã¤ãã¦ãè¦è¦çãªã¢ããã¸ã¼ãç¨ãã¤ã¤è§£èª¬ãããã¨æãã¾ããã³ã¼ãä¾ãå«ãå ¨ã¦TypeScriptãåæã¨ãã説æã§ãããåæ§ã®æ©è½ãæã£ãè¨èªã§ããã°æ¦ãåããã¨ãè¨ããã¯ãã§ãã ãããããµãã¿ã¤ãã³ã°ã¨ã¯ ãµãã¿ã¤ãã³ã°ã¨ã¯ãåã¨åã¨ã®éã«ãµãã¿ã¤ãï¼subtypeï¼ã»ã¹ã¼ãã¼ã¿ã¤ãï¼supertypeï¼ã¨ããé¢ä¿ãå®ãã¦ãã¹ã¼ãã¼ã¿ã¤ãã§ããåã®ä»£ããã¨ãã¦ããµãã¿ã¤ãã§ããåãå©ç¨ã§ããããã«ããä»çµã¿ã§ãã ä¾ãã°ãTypeScriptã§ã¯stringåã¯Objectåã®ãµãã¿ã¤ãã§ããã®ã§ã次ã®ããã«Objectåã®å¤æ°ã«stringåã®å¤ãä»£å ¥ããã
TypeScriptã§ã¯type alias syntaxï¼åã¨ã¤ãªã¢ã¹æ§æï¼ã¨interface declarationï¼ã¤ã³ã¿ã¼ãã§ã¼ã¹å®£è¨ï¼ã使ã£ã¦åãå®ç¾©ã§ãã¾ãã ãããã両è åããã¨ãã§ããã®ã§ãã©ã¡ãã使ããè¿·ãã¾ãã 両è ã®ä½¿ãåãã«é¢ããè¨äºã¯æ²¢å±±ããã¾ãã ãããã®è¨äºãèªãã§åºæ¬çã«ã¯typeã使ãã°è¯ãã¨æã£ã¦ãã¾ããã ã§ããæè¿ä»¥ä¸ã®ãã¨ããããtypeã¨interfaceã®ä½¿ãåããããããªããªã£ã¦ãã¾ãã¾ããã typeãããinterfaceã®æ¹ãã³ã³ãã¤ã«ã®ããã©ã¼ãã³ã¹ãè¯ãã¨ãã話ãè³ã«ããã interfaceãã使ããªãç¹å®ã®æ©è½ãç¥ã£ãã ããã§typeã¨interfaceã®éããå¦ãã§ãã©ã使ãåããã°ããããæ´çãã¾ããã type, interfaceããããã®ã¡ãªãã typeã®ã¡ãªãã interfaceã§è¡¨ç¾ã§ããªããã¨ã表ç¾ã§ãã
TypeScript 5.7ã§è¿½å ããã --rewriteRelativeImportExtensions ãªãã·ã§ã³ã¯ããã®ä½¿ç¨ã«ããã£ã¦æ³¨æãå¿ è¦ãªãªãã·ã§ã³ã§ãã èæ¯ã¨ãã¦ã¯ããã®ãªãã·ã§ã³ã«é¢ãã¦æè¿è±èªåã®TSã¨ã´ã¡ã³ã¸ã§ãªã¹ãã®ãããªäººãç©æ¥µçãªæ´»ç¨ãæ¨å¥¨ããæ稿ããã¾ãããä¸æ¹ã§ãTypeScriptãã¼ã ã¯ãã®ãªãã·ã§ã³ã使ãã®ã¯éå®çãªå ´åã«éãã¹ãã¨ãã¦ãã¾ãã ãã®è¨äºã§ã¯TypeScriptãã¼ã ã®å´ã«å¯ãæ·»ãã--rewriteRelativeImportExtensions ãªãã·ã§ã³ãããã¿ã«ä½¿ãã¹ãã§ã¯ãªãçç±ã«ã¤ãã¦è§£èª¬ãã¾ãã 以ä¸ã«å¼ç¨ããã®ã¯TypeScriptãã¼ã ã®Ryanæ°ã®æ稿ã®ã²ã¨ã¤ã§ãã If you can't coherently explain why this flag wasn't present for the previ
Drizzle ORM Drizzle is a good friend whoâs there for you when necessary and doesnât bother when you need some space. Drizzle ORM is a headless TypeScript ORM with a head. ð² It looks and feels simple, performs on day 1000 of your project, lets you do things your way, and is there when you need it. Itâs the only ORM with both relational and SQL-like query APIs, providing you the best of both worlds
å½¹ã«ç«ã¡ã¾ãã ãã®ãã¥ã¼ããªã¢ã«ããã£ã¦ãããªãã®ç涯åå ¥ã¯ï¼åãä¸ããã¾ããã é¼»æ¯ã§ãæãã¦ãæ¹ãé¼»æ¯ä¸æ¬åãããã¯å²ããããããªãã§ããããã AI ã«çæãããã³ã¼ããããããªããé°å²æ°ãå³ãã£ã¦ã¿ã¦ãã¤ãã§ã«ãã¥ã¼ããªã¢ã«å½¢å¼ã®è¨äºã«ãã¦ã¿ã¾ããã 人ã«èªãã§ãããããã¨ããããèªåã®æ¥è¨æè¦ã§æ¸ãã¦ããã ååã¨éããããã£ãºã®ãããªå 容ãªã®ã§ãã¾ãæå¾ ããªãã§ãã ãããã¾ãååã¯ãã«ããã¦å¼ç«ãã¦å¤§å¤ãªãã¨ã«ãªã£ããã twitterãã£ã¦ã¾ãã æºå nodejs18 以ä¸å ¥ãã¨ãã°ããããããªãã§ããã(é©å½) docker 㧠postgres ãåããã tsx 㯠typescript ã®ã³ã¼ããç´æ¥å®è¡ãããã¤ãts-node ãã使ããããã®ã§ãã使ã£ã¦ããããªãã§ãããã§ãã { "name": "unko", "version": "1.0.0", "ma
ã©ã³ãã³ã°
ãç¥ãã
ã©ã³ãã³ã°
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}