並び順

ブックマーク数

期間指定

  • から
  • まで

121 - 160 件 / 2311件

新着順 人気順

formatterの検索結果121 - 160 件 / 2311件

  • ブログをAstroに移行した

    ブログを Astro に移行した Astro とは Astro の公式サイトの説明を見てもらうのが早いかもしれない Astro is an all-in-one web framework for buildingfast, content-focusedwebsites. コンテンツ主体のウェブサイトを高速に作れるオールインワンウェブフレームワーク、という説明だが実際使ってみた感じ概ね合っていると思う. 特徴的なのが Astro で採用している Island Architecture と呼ばれるアーキテクチャで、UI の各コンポーネントを Island (島)のように見立ててそれぞれ独立したマイクロフロントエンドのように扱うことが出来る構成になっていること。 完全に Static な HTML とレンダリング後に Hydration (静的な HTML に後からイベントハンドラを設定)し

      ブログをAstroに移行した
    • ZString - Unity/.NET CoreにおけるゼロアロケーションのC#文字列生成

      Cy#の河合です。今回、文字列生成におけるメモリアロケーションをゼロにする「ZString」というライブラリを公開しました。そこで、この記事ではZStringの紹介の他に、あらためてC#の文字列についてを深く分解して解説し、Stringの複雑さと落とし穴、そしてZStringの必要性について解説します。 [GitHub – Cysharp/ZString] 以下の表は `”x:” + x + ” y:” + y + ” z:” + z` という単純な文字列連結においてのパフォーマンス計測です。 それぞれ “x:” + x + ” y:” + y + ” z:” + z ZString.Concat(“x:”, x, ” y:”, y, ” z:”, z) string.Format(“x:{0} y:{1} z:{2}”, x, y, z) ZString.Format(“x:{0} y:

        ZString - Unity/.NET CoreにおけるゼロアロケーションのC#文字列生成
      • 0からScalaを本番導入して感じたこと・考えたこと - k.dev

        はじめに 弊社ではScalaを本番環境に導入して大体1年になる。 導入以前に社内的にScalaに関する知識はゼロだった。 Scalaという言語は巷では色々言われているが愛好者とそれ以外の壁が非常に大きな言語のように思える。 ここはコミュニティの努力によって埋められようとしているが、他の言語に比べてまだまだなのが現状である。 弊社でのScala導入経験に関する情報がその壁を取り払う一助になることを祈る。 導入経緯 Railsの運用コスト もともとはプロダクトのバックエンドはRailsで書いていた。 Railsは非常に高速にプロダクトを開発できるのだが、長期的に見るとその高速性よりも運用困難性、堅牢性の欠如が目立つようになってきた。 MVCアーキテクチャは複雑なプロダクトを構成するのにはシンプルすぎた。 特にRailsの中核をなすアクティブレコードモデルのせいで問題の分割が難しかった。 じゃあ

          0からScalaを本番導入して感じたこと・考えたこと - k.dev
        • RustのWasm周りのクレートまとめと、Trunkを使ってRustで書いたWasmをブラウザ上で簡単に実行する

          wasm-packを使うことで、ビルドしてwasm-bindgen-cliでさらに変換処理を行い、npmで配布可能なパッケージにするという多段階必要なビルド手順をまとめることが可能です。 またnewコマンドのようなテンプレートから生成する機能などもあり、より手軽にWasmの実行を行えます。 後述のTrunkとの違いは、wasm-packはwebpackなどのJavaScript側で使われるバンドラーなどと合わせて使うことが想定されていることです。 webpackと合わせて使わない場合には今回のテーマであり後述するTrunkを利用したほうがより簡単にWasmの実行を行えます。 wasm-opt GitHub binaryenというリポジトリでwasm-optというツール含むいくつかのツールが作られています。 wasm-optはその名の通りWasmの最適化をしてくれるツールです。 与えるオプシ

            RustのWasm周りのクレートまとめと、Trunkを使ってRustで書いたWasmをブラウザ上で簡単に実行する
          • 自作 Markdown プロセッサベースの blog.jxck.io v2 リリース | blog.jxck.io

            Intro 本サイトは自作の Markdown ビルダを使っていたが、色々と気に食わない部分があったのでフルスクラッチで作り直し、それにともなってサイトの刷新を実施した。 必要だった要件や、意思決定を作業ログとして記す。 Markdown 本サイトは、一般に使われている Markdown -> HTML の変換結果では要件を満たせないため、最も都合の良い AST を吐く Kramdown のパーサから AST だけを取得し、それを Traverser でカスタマイズしてから自前でシリアライズしていた。 その実装を、微修正を繰り返しながら、継ぎ足し継ぎ足しで 5 年くらいイジってきたので、そろそろ自分がブログを書く上での要件も固まっており、記事中の Markdown のスタイルも固定してきた。 一方、 Kramdown の実装が原因でどうしてもワークアラウンドが必要だった部分に、フラストレー

              自作 Markdown プロセッサベースの blog.jxck.io v2 リリース | blog.jxck.io
            • 2日目:Python 3.10新機能パターンマッチの神髄がわかる | gihyo.jp

              先日公開した「PyCon JP 2021」1日目のカンファレンスレポートはいかがでしたでしょうか? 本レポートでは引き続き、2日目の様子をご紹介します。 PyCon JPは日本国内外のPythonユーザーが一堂に会し、互いに交流を深め、知識を分け合い、新たな可能性を見つけられる場所として毎年開催される国際カンファレンスです。 PyCon JP 2021は2021年10月15日~16日のカンファレンスと2日間の会期で開催されました。 今回は16日に行われたカンファレンスの中から、注目セッションと感想について運営スタッフがレポートします。 Day2 Keynote:A Perfect match ―Mr. Brandt Bucher (nikkie) 2021年10月、PyCon JP 2021の少し前にリリースされたPython3.10。その目玉機能といえば、Structural Patte

                2日目:Python 3.10新機能パターンマッチの神髄がわかる | gihyo.jp
              • 自動テストでチェックが失敗したときの説明を見やすくする - yujioramaの日記

                これは Perl Advent Calendar 2022 16日目の記事です。 昨日の記事は@hkunoさんのぜんぜんわからない。俺達は雰囲気で perl -p -i.bak をやっている でした。 Test2::Suiteの is 関数とTest2::Tools::Compareに登場する比較関数を組み合わせると、ネストしたデータ構造のチェックを(伝統的なスクリプト言語にしては比較的)分かりやすく記述できます。 cpm install Test2::Suite サンプルコードです。 ステートレスな関数を中心に設計しているなら、道具立てとしては十分でしょう。 ▶クリックで展開 #example.pl package main; use strict; use warnings; use utf8; use Test2::V0; package Foo; sub new { my ($cl

                  自動テストでチェックが失敗したときの説明を見やすくする - yujioramaの日記
                • タイムゾーン呪いの書 (Java 編)

                  「タイムゾーン呪いの書」は、もともと 2018年に Qiita に投稿した記事でしたが、大幅な改訂を 2021年におこない、同時にこちらの Zenn に引っ越してきました。この改訂で記事全体が長大になったので、「知識編」・「実装編」・「Java 編」と記事を分けることにしました。 この「Java 編」は、「知識編」と「実装編」に続く最終章です。本記事全体を通して、「知識編」「実装編」を読んでいることを前提にしているので、ご注意ください。 はじめに 「知識編」と「実装編」では、言語やソフトウェア特有の話にはあまり踏み込まずに、時刻とタイムゾーンについてなるべく一般論を書いてきました。そんな中でも Java の JSR 310: Date and Time API は何度も参照しています。 JSR 310 は時刻やタイムゾーンという概念をけっこう上手に一般化していて、一般論の検討にもいいモデル

                    タイムゾーン呪いの書 (Java 編)
                  • 【Next.js】eslint + pretteirをやめてBiomeにした話

                    はじめに Next.jsなどReactのプロジェクトにはlinterとformatterが必須でeslintとpretteirを使うと思います。 しかし、導入するとなると考慮すべき点や面倒な点が結構あります。 以下は一例です。 eslintとprettierは設定が複数あり、プラグインのインストールが必要 eslint-plugin-prettierを使えば、pretteirがなくてもformatterは実現できるため、そもそもprettierいるのか問題 逆にeslintはlinterとしての役割のみにして、formatterの機能は持たせたくない そこででてくるのがBiomeです。 Biomeとは 一言でいうとeslintとprettierを一つにしたものです。 以下、公式の引用とページです。 Biome はWebプロジェクトのための高性能なツールチェーンであり、プロジェクトの健全性を

                      【Next.js】eslint + pretteirをやめてBiomeにした話
                    • 【2024年】業務効率を上げるChromeの拡張機能 - Qiita

                      はじめに 今回は、クリエイターの業務効率を上げるGoogleChromeのおすすめ拡張機能をまとめていきます。 OctoTree - GitHub code tree GitHubでのレビューや検索を効率化させる拡張機能になっています。 コードナビゲーションによって、GitHub上の大量のコードの検索が簡単にできるようになります。 ColorZilla ColorZillaは、スポイトやカラーピッカーグラデーションの生成など簡単にできるツールになっています。 WhatFont Web ページで使用されているフォントを識別する際に使えるツールになっています。 OneTab 開いているページをリスト化しまとめることができる。メモリの消費量を削減できる。 JSON Formatter JSONデータを整形し、可読性を上げてくれるツールになっている。 エンジニア向けにJSONの解析やデバックをする

                        【2024年】業務効率を上げるChromeの拡張機能 - Qiita
                      • Become a VS Code Ninja with these Extensions and Tools [2020]

                        Become a VS Code Ninja with these Extensions and Tools [2020] VS Code is undoubtedly the best editor out there especially when it comes to writing javascript. It is fast, feature rich and has huge pool of extensions available which greatly enhances developer experience. I've been using VS Code for the past 4 years and over these years I came across many these extensions that I would like to share

                          Become a VS Code Ninja with these Extensions and Tools [2020]
                        • 永久保存版!?伊藤さん式・Railsアプリのアップグレード手順 - Qiita

                          はじめに Railsアプリケーションを長く運用していると避けて通れないのがRailsのバージョンアップです。 古いバージョンのRailsは順次サポートの対象から外れていく(=不具合修正やセキュリティ対応がされなくなる)ため、バージョンアップをせずに運用するわけにはいきません。 そこでこの記事では僕・伊藤淳一がRailsアプリのバージョンをアップグレード(アップデート)する手順を紹介します。 この手順はこれまで何度もRailsアプリケーションをアップグレードしてきた僕の知見が詰まった、いわば「秘伝のタレ」的なアップグレード手順です。 想定するRailsアプリケーション この記事で想定しているのは以下のようなRailsアプリケーションです。 開発者1人でもなんとか面倒が見れるレベルの規模(=アップグレードは1人で作業する想定) 趣味で作っているのではなく、外部のユーザーがいるRailsアプリ(

                            永久保存版!?伊藤さん式・Railsアプリのアップグレード手順 - Qiita
                          • Preferred Networks を退職します

                            今日はPreferred Networksの最終出社日でした。アルバイト期間含めて6年間、大変お世話になりました! pic.twitter.com/klMbe5mct8 — Yuki Igarashi (@bonprosoft) February 18, 20222月末をもって Preferred Networks を退職します。 フルタイムでは4年間、アルバイトも含めると6年間お世話になりました。 ここ数年間、おかげさまで私としては毎日楽しく(精一杯)過ごしてきたのですが、日頃の情報発信を怠っていたこともあり周りからどう思われているのか考えるときがあります。 ちょうど良い機会だと思うので、この数年間で何をやっていたかをまとめようと思います。 単なる自己満足でしかないのですが、私がこの4年間に取り組んでいたこと、PFNでの経験が本当に素晴らしいものであったということが一人でも多くの方に伝わ

                            • Rust製JVMを作成した話

                              rchaser53noMacBook-Pro:rj rchaser53$ javap -v java/io/PrintStream Classfile jar:file:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/rt.jar!/java/io/PrintStream.class Last modified 2017/07/21; size 9048 bytes MD5 checksum f62b2b102171bb9cd2cefa5efcf0e487 Compiled from "PrintStream.java" public class java.io.PrintStream extends java.io.FilterOutputStream implements java.lan

                                Rust製JVMを作成した話
                              • Webサービス開発でのmonorepo環境(Turborepo, nx)

                                Webサービス開発の文脈で、モノレポ環境を作る方法について整理しました。 ※バックエンドもフロントエンドも全てTypeScriptで開発している前提 この記事を書いた背景 世間で言われる「モノレポ」がどのように達成されているのか知らなかった 参考記事を読んでると実現方法が異なっていたり、運用のイメージが見えなかったり、ベストプラクティスが分かりづらかった Turborepoのようなモノレポツールを導入すれば解決しそうだが、このツールが何をしてくれるのか理解できなかった モノレポ何も分からない………になった この記事ではモノレポに関連する仕組みを1つ1つ丁寧に把握し、最終的に理想的なモノレポ環境を実現することを目指します。 モノレポとは? まずは用語の整理から。 モノレポを素直に訳せば「1つのリポジトリ」という意味でしかなく、1つのリポジトリで開発していればそれは「モノレポ」と呼べそうです。

                                  Webサービス開発でのmonorepo環境(Turborepo, nx)
                                • 「VSCode」での開発をよりスムーズに!基本的で役に立つ拡張機能を解説

                                  はじめに Microsoftの提供するVisual Studio Code(VSCode)は、2015年の最初のリリースから、今では開発用エディタの定番の座を占めるまでになりました。これには、無償で使えることも大きいですが、何よりエディタとしての使いやすさ、そしてさまざまな拡張機能によっていくらでも使い勝手を向上させたり、利用の領域を拡げられるということも大きいでしょう。本連載では、このVSCodeにフォーカスし、基本的な使い方から拡張機能の活用、そして本格的な開発現場での利用を想定した高度な機能までを紹介していくことで、読者がVSCodeマスターになるお手伝いをします。 対象読者 テキストエディタメインで開発してきた方 Visual Studioより軽い環境が欲しいと考えている方 Visual Sudio Codeをもっと使いこなしたい方 必要な環境 本記事の内容は、以下の環境で動作を確

                                    「VSCode」での開発をよりスムーズに!基本的で役に立つ拡張機能を解説
                                  • Biome, toolchain of the web

                                    Format code like Prettier, save timeBiome is a fast formatter for JavaScript, TypeScript, JSX, and JSON that scores 97% compatibility with Prettier, saving CI and developer time. Biome can even format malformed code as you write it in your favorite editor.

                                      Biome, toolchain of the web
                                    • 深層学習モデルの実装を爆速にするVSCodeの設定メモ - May the Neural Networks be with you

                                      こんにちは。@shunk031です。 新型コロナウイルスが猛威を奮っていますね。 不要不急の外出は控えるのが大切そうです。 こういう時は引きこもって論文を読むのが一番です。 今回はコードエディタであるVSCodeで、深層学習モデルの実装を爆速にするための設定についてメモします。 深層学習モデルの実装をする際にはリモート上にあるGPUを搭載したサーバで実装をしたりデバッグすることが非常に多いです。 VSCodeはこうしたリモートでのコード編集およびデバッグを簡単に行える仕組みを多数揃えています。 本記事では、深層学習モデルの実装に頻繁に利用されるPythonを対象に、以下の観点からモデルの実装を爆速にする設定や機能について紹介します: Pythonの開発環境の構築 リモートのGPUサーバに接続するための設定 深層学習モデルの実装・デバッグを簡単にする機能 おすすめのショートカットキー・拡張機

                                        深層学習モデルの実装を爆速にするVSCodeの設定メモ - May the Neural Networks be with you
                                      • ActiveRecord::LockWaitTimeout, ActiveRecord::Deadlocked, ActiveRecord::ConnectionTimeoutError が起きた時に原因調査に役立つ情報を表示する gem を作った

                                        それなりの規模のサービスを運用していると、不可解なエラーに遭遇することはよくあるものです。その中でもデータベース関連のエラーは一見難解な問題に見えるかもしれませんが、原因調査に役立つ情報をさえ出力すればたいていの場合は容易に原因を特定できるものです。というわけで、Rails でよく遭遇するエラーの調査に役立つ情報を出力する gem を作成しました。 activerecord-debug_errors 現在次のエラーをサポートしています。 ActiveRecord::LockWaitTimeout (MySQL のみ) ActiveRecord::Deadlocked (MySQL のみ) ActiveRecord::ConnectionTimeoutError 以下、具体的な例を用いてどのような情報が表示されるか説明します。 ActiveRecord::LockWaitTimeout Ac

                                          ActiveRecord::LockWaitTimeout, ActiveRecord::Deadlocked, ActiveRecord::ConnectionTimeoutError が起きた時に原因調査に役立つ情報を表示する gem を作った
                                        • Rustでマイクロサービス開発はじめました - EmotionTechテックブログ

                                          はじめに こんにちは、テックリードのかどたみです。 「冷やし〇〇はじめました」の幟が街を彩って久しくも、まだまだ暑い日が続きますね。 突然ですが、皆さんは今夏新しくはじめたことはありますか? 弊社ではタイトルの通りRustでマイクロサービスの開発をはじめました。 この記事では、マイクロサービス化やRustに至った考えとRustで開発をしてみた感想を述べたいと思います。 なぜマイクロサービス化するのか? 弊社ではサービス開始当初からRuby on Railsを用いて開発が進められ、現在でも機能の追加が続いています。モノリスとしてどんどん大きくなっているのですが、大きくなることによって以下のような課題が出てきています。 新しいメンバーがコードを把握するのにかなり時間を要する 改修の影響範囲が大きくなり、見積もり難度が上がっている テストやビルドに時間がかかり、細かな修正でもリリースのコストが高

                                            Rustでマイクロサービス開発はじめました - EmotionTechテックブログ
                                          • Rust エラー処理2020 - 電気ひつじ牧場

                                            このエントリは,Rust 3 Advent Calendar 2020の8日目の記事です. はじめに エラー処理の基本 Result<T, E> Errorトレイト ?オペレータ ベストプラクティスを支えるクレート anyhow thiserror failureクレートについて まとめ 追記 はじめに Rustを書いている時にアプリケーション固有のエラー型を定義したい場合があります.この辺のベストプラクティスは今まで何度か変化*1しており,今年の9月にエラーハンドリングのプロジェクトグループが発足*2したことからも分かるとおり,今後も変化していく可能性が濃厚です. この記事では,エラー処理まわりに関する基本的な内容と,現時点でのベストプラクティスとされているanyhowとthiserrorを用いたエラー処理について紹介します. エラー処理の基本 Result<T, E> Rustには例外

                                              Rust エラー処理2020 - 電気ひつじ牧場
                                            • VS Code拡張機能を追加してCloudFormation開発環境をレベルアップする | DevelopersIO

                                              データアナリティクス事業本部コンサルティンググループのnkhrです。 このブログでは、CloudFormation開発で利用できるVS Code拡張機能の設定について紹介します。今回実施した環境のバージョンは、下記の通りです。 Windows 10 VS CodeのVersion 1.60.2 PythonのVersion 3.9.7 ※バージョンが違うとGUIの設定画面や、設定パラメータ名など異なる場合があるため、設定時は注意してください。 このブログでは、下記の拡張機能の設定について説明しています。 vscode-cfn-lint:テンプレートを解析しバリデーションを実施 indent-rainbow:インデントをカラー表示(yaml形式で作成する場合は重宝しそう) CloudFormation support for Visual Studio Code:補完機能や公式ドキュメントの

                                                VS Code拡張機能を追加してCloudFormation開発環境をレベルアップする | DevelopersIO
                                              • メルコインにおけるGitHub Actions活用術 | メルカリエンジニアリング

                                                こんにちは。メルコインのバックエンドエンジニアのiwataです。 この記事は、Merpay Advent Calendar 2023 の23日目の記事です。 私はいまメルコインのCoreチームに属しています。Coreチームでは主にお客さまからの暗号資産の売買注文を受け付ける部分のマイクロサービスを開発運用しています。 メルコインではCI環境としてGitHub Actions self-hosted runnerを使用しています。またCIだけでなく、さまざまな自動化のためのワークフローの構築もこの環境を用いて実行しています。この記事では私の所属しているCoreチームにおいてGitHub Actions上に構築しているオートメーションについて紹介したいと思います。 PR-Agent PR-AgentはOpenAI APIを使って、PRのコードレビューなどを自動化してくれるActionです。La

                                                  メルコインにおけるGitHub Actions活用術 | メルカリエンジニアリング
                                                • 無料&インストール不要で32GB以上でもFAT32フォーマット可能な「FAT32 Format」

                                                  Windows 10の標準機能でディスク領域をフォーマットする時、FAT32形式を選ぶことはできません。また、Windows 7やWindows XPでは、FAT32形式によるフォーマットは標準機能で可能ですが、32GB以上の領域をフォーマットすることができません。「FAT32 Format」はWindows 10でも32GB以上のディスク領域をFAT32形式でフォーマットできる無料ソフトで、インストール不要で利用可能です。 Ridgecrop Consultants Ltd http://www.ridgecrop.demon.co.uk/index.htm?fat32-format.htm 今回は容量64GB以上のたUSBドライブをFAT32形式でフォーマットします。 FAT32 Formatを入手するためには配布サイトにアクセスし、以下画像で赤枠で示した「here」をクリックします。

                                                    無料&インストール不要で32GB以上でもFAT32フォーマット可能な「FAT32 Format」
                                                  • 【2024初頭】新規開発で使ってみたいモダンフロントエンド最前線

                                                    TL;DR 弊社で実験的に導入を始めている、2024初頭時点で今後に期待が高まる最新のweb技術についてまとめています。 新規プロダクトの技術選定に迷っている方などにおすすめです。 Turborepo - Monorepo管理 モノレポ構成における懸念点の一つとして、プロダクトが大きくなるにつれてビルド時間が膨大になって来る点です。 TurborepoはRust製、並列化、差分ビルド、Remote Cashingなど、肥大化しがちなmonorepoのビルド時間を短縮するメソッドがたくさん詰まっています。 Bun - Package manager (runtime, test tool) 正確にはBunはランタイムですが、Nextなど厳密にはNode.jsで動かす必要があるため、弊社では(ほぼ)パッケージマネジャーとして活用しています。 pnpmやyarnと比較してnpm installな

                                                      【2024初頭】新規開発で使ってみたいモダンフロントエンド最前線
                                                    • Why stdout is faster than stderr? - Orhun's Blog

                                                      I recently realized stdout is much faster than stderr for Rust. Here are my findings after diving deep into this rabbit hole. I have been using the terminal (i.e. command-line) for most of my day-to-day things for a while now. I was always fascinated by the fact that how quick and convenient the command-line might be and that's why I'm a proponent of using CLI (command-line) or TUI (terminal user

                                                        Why stdout is faster than stderr? - Orhun's Blog
                                                      • Announcing Rome Formatter

                                                        We began a full rewrite of Rome in Rust last year, and we’re excited to announce our first release as a part of this effort with the Rome Formatter, a new formatter for JavaScript and TypeScript. It perfectly expresses our goals of excellent performance, ease-of-use, and first-class IDE integration. Prettier revolutionized the JavaScript ecosystem by normalizing standards and removing formatting d

                                                          Announcing Rome Formatter
                                                        • ネタ系アプリ「キモツイ」で使用した技術(Vue.js+Firebase+Buefy)の基本的なセッティング方法 - Qiita

                                                          構想から半日の爆速でリリースしたネタ全振りWebサービス「キモツイ」の構成技術とその基本的なセッティング部分の解説です。 作ったサイトはこちら キモツイ 「クソツイ」じゃない「キモツイ」だ! 「キモツイ」は「クソツイ」とは違う新たな概念です。ちょっとキモい感じが漂うツイートを「キモツイ」と私たちは愛を込めて呼びます。 当サイトは、キモいツイートを誰でも投稿・シェアできるサービスです。 お気に入りキモツイには「キモ投票」ができ、100票集まると殿堂入りします。 ぜひお気に入りのキモツイを投稿・シェアしてみてください。 ブログに遊び方書いています。ブログ Vue.js + Firebase + Buefy(Bulma)のお手軽三点セット 気軽な個人開発ではもうおなじみの、フロントは「Vue.js」バックエンドはサーバレスの「Firebase」という構成です。加えてUIも楽したいのでBulmaベ

                                                            ネタ系アプリ「キモツイ」で使用した技術(Vue.js+Firebase+Buefy)の基本的なセッティング方法 - Qiita
                                                          • RustとDDDでAPIサーバーを構築する

                                                            はじめに Rust と フレームワーク axum を使って、API サーバーを実装してみました。 対象読者 Rust で API サーバーを実装したい人 Rust で DDD を実装したい人 説明しないこと Rust の基本的な文法 DDD の基本的な考え方 使用クレートの使い方 依存の方向 今回の作成する、アーキテクチャの依存関係は、上記のようになります。 上記の依存関係を頭の片隅に置いて、記事を読み進めていただけると、理解が深まると思います。 インフラストラクチャレイヤーは、アプリケーションレイヤーと依存しないことが重要です。 いざ、実装 仕様を決める 今回は、大学が、サークルを管理するシステムを作ることにしました。 メンバーを追加できる 4 年生は、追加できない メンバーを削除できる オーナーは削除できない 4 年生は、卒業する サークルは最低 3 人以上でないと、活動できない サー

                                                              RustとDDDでAPIサーバーを構築する
                                                            • サーバーレス LAMP スタック – Part 4: サーバーレス Laravel アプリの構築 | Amazon Web Services

                                                              Amazon Web Services ブログ サーバーレス LAMP スタック – Part 4: サーバーレス Laravel アプリの構築 本投稿は AWS サーバーレス アプリケーションのシニアデベロッパーアドボケートである Benjamin Smith による寄稿です。 本シリーズの他のパートは以下のリンクからアクセスできます。また、関連するサンプルコードはこちらの GitHub リポジトリにあります。 パート1:サーバーレス LAMP スタックの紹介 パート2:リレーショナルデータベース パート3:Webサーバーの置き換え パート5:CDK コンストラクトライブラリ パート6:MVC からサーバーレスマイクロサービスへ この投稿では、サーバーレスアプローチで Laravel アプリケーションをデプロイする方法を学びます。 これは「サーバーレス LAMP スタック」シリーズの4番

                                                                サーバーレス LAMP スタック – Part 4: サーバーレス Laravel アプリの構築 | Amazon Web Services
                                                              • proto定義や成果物の管理用レポジトリを構築した話 - Kyash Product Blog

                                                                こんにちは、Fundsチームの @convto です。Kyashでは銀行入金やコンビニ入金などの残高の入出金に関わる部分の開発をしています。 Fundsチームではその業務の性質上多数の外部ベンダとやり取りをしています。 それぞれベンダごとに仕様なども異なるため、その接続部分のいくつかはマイクロサービスとして切り出されています。 Fundsチームの管理しているサービス間の通信でgRPCを導入する際、今後の社内の別サービスなどにも汎用的に使えるようなproto管理レポジトリを構築したのでその紹介をしたいと思います。 proto管理レポジトリで満たしたい要件について はじめに、他社の事例も参考にしつつ、自分たちがprotoを管理するにあたってどのような要件を満たせれば良いのか整理しました。 他社の事例を調査したところ、以下のような構成が多かったように思います。 名称は app-proto や p

                                                                  proto定義や成果物の管理用レポジトリを構築した話 - Kyash Product Blog
                                                                • 明示的な型注釈によって推論コストを下げるというアプローチ

                                                                  近年、TypeScript を取り巻くエコシステムでは、ユーザーに明示的な型注釈を求めることで、推論や型生成のコストを下げるというアプローチが注目されています。TypeScript 5.5 beta で 発表された --isolatedDeclarations オプションはその代表的な機能ですし、Deno の提供する新しいパッケージレジストリ JSR が提唱している slow types という考え方も同様のアプローチを求めるものです。 この記事では、上記のようなアプローチが提案された経緯や解決したい課題について、TypeScript を利用するエコシステムの状況も踏まえて整理します。 TypeScript を取り巻くツールチェインと型情報を利用する上でのパフォーマンス 皆さんがご存知の通り、TypeScript の型推論は非常に賢く、その機能は日々アップデートされています。特に以下のよう

                                                                    明示的な型注釈によって推論コストを下げるというアプローチ
                                                                  • GCP連載#3 Goでサーバーレスな管理画面アプリを作る | フューチャー技術ブログ

                                                                    このうち、Cloud Funcionsと、AWSのLambdaはライバルのように言われます。実際機能的には似通っています。LambdaはHTTPのサーバーとして公開しようとすると、API Gatewayが必要なぐらいですね。 Cloud RunとFargateもライバルのように言われますが、Fargateは複数のコンテナを組み合わせたタスク単位で実行しますが、Cloud Runは単体のコンテナの実行になり、そこは少し差があります。 今回は、Go + Vue + Cloud Runでかんたんな管理画面を作ろうと思います。ストレージ側にもサーバーレスがあります。MySQLやPostgreSQLのクラウドサービス(Cloud SQLとかRDS)は、サーバーマシンを可動させて、その上にDBMSが稼働しますので、起動している時間だけお金がかかってしまします。一方、FirestoreやDynamoDB

                                                                      GCP連載#3 Goでサーバーレスな管理画面アプリを作る | フューチャー技術ブログ
                                                                    • gts で TypeScirpt をすぐ書き始める - ぽ靴な缶

                                                                      gts は Google の TypeScirpt style guide と Linter 設定が入った npm package。 googleapis 以下などの Google が公開している各種 TypeScirpt プロジェクトで使われている。 github.com TypeScript は大変気に入っているけど、新たにプロジェクトを作ってストレスなく開発するまで少し手間がある。 tsc --init して tsconfig.json を書き換えたり以前のプロジェクトからコピペしたり npm run build でコンパイルするように package.json の scripts を追加したり Linter や Formatter の設定も面倒くさい gts ならこれだけで十分設定されたプロジェクトができあがる。 $ npm init $ npm install --save-de

                                                                        gts で TypeScirpt をすぐ書き始める - ぽ靴な缶
                                                                      • JavaScript ASTを使ったツール(自作、ESLint、Babel、jscodeshift)を実装する話

                                                                        JavaScript ASTを使ったツール(自作、ESLint、Babel、jscodeshift)を実装する話 Dive into ASTというJavaScriptのASTを使ったツールの作り方を見ていく話を書きました。 自作の正規表現、ASTチェックツール、ESLint、Babel、jscodeshiftでそれぞれ動くツールを実装してるので、リポジトリにまとめてあります。 スライドではCode Surferを使ってASTや書き方をインタラクティブに解説しています。 スライド: Dive into AST リポジトリ: azu/dive-into-ast: JavaScriptを中心にしたAST(Abstract Syntax Tree)を使ったツールの作り方についての資料です! 自作ASTツール、ESLint、Babel、jscodeshift それぞれでASTを使ったツールをどう実装

                                                                          JavaScript ASTを使ったツール(自作、ESLint、Babel、jscodeshift)を実装する話
                                                                        • 次世代のFormatter「dprint」を試してみた

                                                                          何のプラグインを使うか聞かれるので、スペースで選択します。 対応する設定が書かれた dprint.json が作成されます。 TypeScriptの例 下記プレイグラウンドから設定をコピーして、dprint.json に貼り付けます。 { "typescript": { "lineWidth": 80, "indentWidth": 4, "useTabs": true, "semiColons": "prefer", "quoteStyle": "alwaysDouble", "quoteProps": "preserve", "newLineKind": "lf", "useBraces": "whenNotSingleLine", "bracePosition": "sameLineUnlessHanging", "singleBodyPosition": "maintain", "

                                                                            次世代のFormatter「dprint」を試してみた
                                                                          • MNTSQ社の開発環境のご紹介|yuki_nishimura

                                                                            MNTSQ社でソフトウェアエンジニアをやっております西村と申します。 弊noteへのご来訪まことにありがとうございます。 本日は弊社の開発環境をご紹介いたします。 開発言語弊社では基盤部分をRuby on Railsで開発しております。一部、OCR処理は都合でJavaを利用したり、機械学習はPythonが得意ですのでPythonを利用しております。 レビュー環境 リリースブランチや開発ブランチへの直接プッシュは禁止しております。GitHubでブランチを保護する方法につきましては、以下の記事などをご参考ください。 [GitHub] ブランチの保護設定を活用しよう 【レビューが通るまでマージさせんぞ】 | Developers.IO リリースブランチや開発ブランチに変更を加えるには、Pull Requestを介して行います。Pull Requestのレビューは必須となっており、少なくとも一名が

                                                                              MNTSQ社の開発環境のご紹介|yuki_nishimura
                                                                            • 技術ブログに CI を導入する - ドワンゴ教育サービス開発者ブログ

                                                                              技術ブログで公開する記事の品質を安定させ、効率的に執筆できるよう、 CI の導入に着手しました。 技術ブログを継続的に運営する中で、多くのメンバーが執筆に参加しています。 多様な視点の記事を公開できる一方で、技術ブログ全体として一定の品質を担保する必要があります。 人の目でレビューすることはもちろん必要ですが、中でも自動化可能な部分は機械に任せられるように環境整備を進めています。 この記事では、CIの環境や検証内容についてお伝えします。 CIの環境 記事の執筆にあたっては、過去の記事にもある通り一部Google Docsで執筆されている記事を除きGithubのリポジトリでバージョンを管理しています。 Github を利用しているということで CI の選択肢としては Github Actions が真っ先に候補となりますが、今回は AWS CodeBuildを採用しました。 AWS Code

                                                                                技術ブログに CI を導入する - ドワンゴ教育サービス開発者ブログ
                                                                              • Rome

                                                                                Code function HelloWorld({greeting = "hello", greeted = '"World"', silent = false, onMouseOver,}) { if(!greeting){return null}; // TODO: Don't use random in render let num = Math.floor (Math.random() * 1E+7).toString().replace(/.d+/ig, "") return <div className='HelloWorld' title={`You are visitor number ${ num }`} onMouseOver={onMouseOver}> <strong>{ greeting.slice( 0, 1 ).toUpperCase() + greetin

                                                                                  Rome
                                                                                • Next.js のプロジェクトを開発しやすいようにするlintとformatterなどの設定

                                                                                  動機 結構 lint 系がアップデートされていたり、以前は必要だったものがいらなくなっていたりしていて自分が作った以前のテンプレートだとちょっと不要な設定などが増えていたので、 これを機に調査しながら設定を見直そうかなと。 今回作ったもの この記事で設定をした Next.js のテンプレートはこちらに公開してあります。 前提 node: v18.17.1 next.js: 13 系 React: 18 系 Next.js まずは Next.js のインストールから。どんなプロジェクトであれ TypeScript で開発をしたいから --ts をつけます。 あとは設問に答えていけば基本的なプロジェクトが作られます。基本的に全て Enter で問題ないです。 ちなみに Would you like to customize the default import alias? はデフォルトで N

                                                                                    Next.js のプロジェクトを開発しやすいようにするlintとformatterなどの設定