siruba-2050のブックマーク (165)

  • proc_macro_workshopでRustの手続き的マクロに入門する 後編 - CADDi Tech Blog

    はじめに builder マクロを作る(続き) 06-optional-field 目標 実装方針 実装 ガード節で Optional でない型のみエラーを出すようにする Optionでラップされた型はアンラップしてCommandBuilder構造体のフィールドで保持する Optional な型の setter メソッドはラップされた中身の型を引数として受け付けるようにする is_optionとunwrap_optionの実装 is_option関数 unwrap_option関数 AngleBracketed(AngleBracketedGenericArguments) リファクタリング 07-repeated-field 目標 実装方針 実装 Builder 構造体のフィールドではVec型の変数はOptionでラップしない is_vectorとunwrap_vectorの実装 フィー

    proc_macro_workshopでRustの手続き的マクロに入門する 後編 - CADDi Tech Blog
  • proc_macro_workshopでRustの手続き的マクロに入門する 前編 - CADDi Tech Blog

    はじめに Rust のマクロ 宣言的マクロ 手続き的マクロ proc_macro_workshop proc_macro_workshop について proc_macro_workshop の進め方 derive(Builder) マクロを作る マクロの処理の流れ マクロを開発する上での Tips dbg!マクロの使用 cargo-expand 01-parse 目標 実装方針 実装 02-create-builder 目標 実装方針 実装 空のbuilder関数をCommand構造体に実装する CommandBuilderを返すようにbuilder関数の実装を変更する 構造体名、フィールド名に応じた Builder 構造体を生成する 03-call-setters 目標 実装方針 実装 04-call-build 目標 実装方針 実装 05-method-chaining 目標 実装方針

    proc_macro_workshopでRustの手続き的マクロに入門する 前編 - CADDi Tech Blog
  • 知っておくと仕事が捗る便利ツール17選 - Qiita

    はじめに 知っておくと仕事が捗るブラウザ上で動く超便利なツールを17個集めました。 Squoosh Googleが開発した画像変換・圧縮用のWebサービス。 プレビュー画面で変換前後の画質をリアルタイムで確認しながら圧縮設定を調整することができる。 Documatic Documaticは、プロジェクトドキュメントの開発プロセスを削減するためのツール。API リファレンスからユーザー ガイドまで、コード ベースを簡単に文書化できる柔軟なテンプレートとユーザーフレンドリーな編集ツールを提供する。 transform jsonからyamlの形式に変換したい等、あらゆるデータ形式から別の形式に変換するサービス。 jsonからyml、htmxからjsxへの変形、jsonやGraphQLのIDLからTypeScriptのinterfaceまでも、ブラウザ上で生成することができる。 Roadmap.s

    知っておくと仕事が捗る便利ツール17選 - Qiita
  • 良いコードってどんなコードですか?という質問を受けたら何と答えるか - snoozer05's blog

    技術顧問先で、一生懸命コードに向き合っているプログラマーになりたての方から、次のような質問をもらいました。 最初に面談した時、1年後にいいコードが書ける、上手に書けることを目標にしましたが、 先日スクール時代の同期(それぞれRubyの会社で働いている)と話したところ、会社ごとにレビューの仕方やコードに関する基準がさまざまなようで、良いコードとはなんなのか疑問に感じました。「いいコード」とは、みたいな部分で島田さんの考え方をお聞きできたら嬉しいです。 この質問にぼくは次のような回答をしたのですが、「この質問が来たら他の人はどんな回答するんだろうな」に興味があるので、ここにしたためておきます。もしよかったら「若者にこれを聞かれたら自分ならこう答える」をコメントなどで残していってもらえたら嬉しいです。 とても大事な疑問を見つけられたんだなあと思います。 「良さとは何か」ということに向き合う必要の

    良いコードってどんなコードですか?という質問を受けたら何と答えるか - snoozer05's blog
  • サイバーエージェント、新卒エンジニアの研修資料を2つ無料公開 「システム運用」と「オブザーバビリティ」を解説

    関連記事 上司や部下に読ませたい? とある地方自治体の「会議改善に関するガイドライン」が分かりやすいと話題に 新潟県柏崎市が公開した「会議改善に関するガイドライン」が、Xやはてなブックマークで話題だ。同市がDXに伴う既存業務の見直しに当たって、会議の質を向上するために策定したもので、SNSなどでは「自治体からこれが出てくるのは画期的」「同僚や役員に読ませたい」といった声も出ている。 「テスト文字列にうんこと入れるな」──ゲーム会社の新卒向け資料“2024年版”が公開 テスト環境で悪ふざけするリスク説く 「テスト文字列にうんこと入れるな」──そんなふうに訴える新入社員向けの研修資料の2024年版が公開中だ。軽い気持ちで入れたテスト文字列が社外に漏えいした際のリスクについて説明した資料で、新たに事例などを加筆している。 早速出たぞ、24年度研修資料 新卒向け「エンジニア基礎」、ウィルゲートが公

    サイバーエージェント、新卒エンジニアの研修資料を2つ無料公開 「システム運用」と「オブザーバビリティ」を解説
  • Figma初心者でも大丈夫! レスポンシブWebデザインをFigmaで作るための3つのポイント

    この記事について この記事は、スマートフォン時代のWebデザインスクール や Web制作の基礎から学べる「Webコーディングスクール」 の資料制作をお手伝いして頂いているemiさんによる寄稿記事です。 最近はスマホで見ることを前提にデザインされたWebサイトも増えてきていますが、そのようなWebサイトでもPCでみた時にも違和感のないデザインになっています。 また、総務省の「通信利用動向調査」を見ると、スマートフォンでもパソコンでもインターネットが利用されている事がわかります。 利用状況 2022年のインターネット利用率(個人)は84.9%となっており(図表4-11-1-2)、端末別のインターネット利用率(個人)は、「スマートフォン」(71.2%)が「パソコン」(48.5%)を22.6ポイント上回っている。 (出典)総務省「通信利用動向調査」 このようにスマホ、PCどのデバイスでも見ることが

    Figma初心者でも大丈夫! レスポンシブWebデザインをFigmaで作るための3つのポイント
  • VRChatを「1人」で楽しむ。謎解きなど深くやり込めるワールド6選 | メタカル最前線

    VRChatを始めたばかりで何をしたらいいのか聞いたり調べたときに、フレンドや交流を広げるためにイベントに参加したりで話しかけたりするといいよと言われたことありませんか? VRChatの作りはコミュニケーションやイベントの参加による他者との繋がりよって楽しむ部分があります。 しかし実際には「知らない人がたくさんいるワールドにはいきたくないな」と足踏みしてしまう場面があるでしょう。VRChat全体にある雰囲気に合わない人もいると思います。 ですが、人と話すことやイベントに参加することだけがVRChatとの向き合い方ではありません。人付き合いが得意でない人なりのVRChatとの向き合い方というのもあると考えています。 記事では、1人から少人数で楽しめて交流も深めやすいワールドの紹介や人付き合いが得意でない人なりのVRChatの遊び方を紹介していきます。 謎解きワールドで一緒に考えてコミュニケ

    VRChatを「1人」で楽しむ。謎解きなど深くやり込めるワールド6選 | メタカル最前線
  • Promise や Context から値を読み取る use React フック

    use フックは 2024 年 4 月現在、React の Canary および experimental チャンネルでのみ利用可能です。 use は、Promise や Context から値を読み取るための React フックです。以下のコードのように Promise の値を同期的に読み取ることができます。 import { use } from "react"; const fetchUsers = async () => { const response = await fetch("/api/users"); return response.json(); }; const Users = () => { const users = use(fetchUsers()); return ( <ul> {users.map((user) => ( <li key={user.id}>

    Promise や Context から値を読み取る use React フック
  • プログラミング言語をすぐに試せる「プレイグラウンド」まとめ。2024年版

    新しいプログラミング言語やライブラリ、フレームワークを学ぶには、実際にそれらを試して挙動などを見てみることが大事ですが、実行環境を用意するのは手間がかかります。 そこで役立つのが、いわゆる「プレイグラウンド」と呼ばれる、Webブラウザでプログラミング言語やライブラリ、フレームワークをすぐに試すことができるサービスです。 主要なプログラミング言語の公式サイトには、実際にその言語をすぐに試せるプレイグラウンドが用意されていることも多く、また公式サイト以外にもネット上にはさまざまなプレイグラウンドがあります。 プレイグラウンドを使えば、気軽にいろんなプログラミング言語やライブラリ、フレームワークを試せます。 この記事ではそうしたプレイグラウンドをまとめてみました。ここで紹介したプレイグラウンドの他にも、あなたのお気に入りのプレイグラウンドがあればX/Twitterやブックマークのコメント、メール

    プログラミング言語をすぐに試せる「プレイグラウンド」まとめ。2024年版
  • npmで管理しているライブラリのバージョンアップ手順まとめ

    概要 npmで管理しているライブラリのバージョンアップ方法をまとめていきます。 また、今回は何かサンプルのプロジェクトを利用し、結果を見ていくとわかりやすいと思うので、https://github.com/creativetimofficial/vue-notus こちらを利用し下記の手順を試しながら結果を記載していきます。 ローカル環境のnpmバージョンを確認 最新のversionになっていることを確認します。 最新になっていなければversionをlatestまで上げてからバージョンアップを行うのが良いです。 現在のライブラリのversionを確認 npm outdatedコマンドで現在のライブラリのバージョン、マイナーバージョンがどのくらい上がるのかを確認します。 npm outdated説明 Current:現在インストールされているバージョン Wanted:存在するバージョンのう

    npmで管理しているライブラリのバージョンアップ手順まとめ
  • [2023年]Next.js + eslint周りの設定

    更新履歴 2024年3月31日 → npm scriptsについて追記しました。 動機 リンター周りの設定で理解が曖昧な箇所があったので、 クリアにして諸々の設定を見直したい と考えたからです。 リンターや、フォーマッターで他人の設定をコピペして設定している人も多いかと思います。 それだと応用が効かなかったり、古い設定をそのまま使用することになってしまいます。 方針 最小限の設定から足りないものを足していくスタイル 魔改造しない これはやっといた方がいいものだけに絞る 一個一個噛み砕いて、設定していく 成果物 こちらに成果物のリポジトリを用意しました。 記事を読むのは面倒な人はこちらからどうぞ。 commitは記事の順番にそっているので、記事の流れに沿って設定できます。 (1)Next.jsをインストール

    [2023年]Next.js + eslint周りの設定
  • Prettierを使わない理由

    この記事はPrettierを使用している人を非難したり、脱Prettierを推奨する事を目的としていません。 こういった考え方もあるということをひとつの意見としてご覧いただければ幸いです。 勘違いしている人が多そうなので追記します。 Prettierを使わないというのは私が独断で決めた事ではないです。 チームが発足する際の技術選定で合意は取れていますし、私が関与していない別のチームでも同様にPrettier無しで開発しています。 私達のチームはメンバー同士を互いに信頼していますし、細いスタイルで喧嘩を始めるようなメンバーは居ないので安心してください。 はじめに Prettierはコードフォーマッターとして広く使われているツールです。 コードスタイルに関する議論をなくすことを目的としており、ESLintとは異なりデフォルト設定のままですぐに使えるのが特徴です。 さらに、PrettierはJS

    Prettierを使わない理由
  • 「読書」ができない! と悩んだ大学生が、読書のためのお店「fuzkue」(フヅクエ)に行ってみた【空いた時間でなにしてる?】

    「読書」ができない! と悩んだ大学生が、読書のためのお店「fuzkue」(フヅクエ)に行ってみた【空いた時間でなにしてる?】
  • Cloud Run で作るサーバーレス アーキテクチャ 23 連発 - これのときはこう!

    2023年は「Cloud Run を触って覚える」をテーマとした ひとりアドベントカレンダー を開催しており、Cloud Run のさまざまな機能や Cloud Run でよく使う構成などをご紹介しています。 最終日、25日目は Cloud Run を中心としたサーバーレス アーキテクチャをいくつか紹介します。2023年にちなんで23個のアーキテクチャを用意しました。 Cloud Run の概要は「gihyo.jp」で解説していますので、こちらもぜひご覧ください。 Web アプリケーション + API の 3-Tier 構成 (SPA) Web アプリケーション + API の 3-Tier 構成 (SPA) SPA (Single Page Application) がフロントになり、バックエンドの API サーバーとして Cloud Run を使用するアーキテクチャです。SPA は N

    Cloud Run で作るサーバーレス アーキテクチャ 23 連発 - これのときはこう!
  • Let's EncryptのDNS-01チャレンジでのSSL証明書更新(手動) - Qiita

    概要 2020/4/12現在、Let's Encryptでワイルドカード証明書を発行するためには、よくネットで見られるHTTP-01チャレンジでなくDNS-01チャレンジを用いて証明書を発行する必要がある。 稿では、n番煎じではあるが、DNS-01での更新方法を記す。 環境 ドメインとDNSサーバはfreenomを使用 証明書が対象とするドメインは、*.example.comとexample.com 手順 まず、certbotの実行と、そのチャレンジのレコードへの追加を行う。 sudo certbot certonly --manual \ --server https://acme-v02.api.letsencrypt.org/directory \ --preferred-challenges dns \ -d *.example.com -d example.com \ -m w

    Let's EncryptのDNS-01チャレンジでのSSL証明書更新(手動) - Qiita
  • 自作RDBMSやろうぜ!

    Skip to the content. 自作RDBMSやろうぜ! このサイトの目的 RDBMS(いわゆるリレーショナルデータベース)というものはプログラミング言語の処理系や、OSなどと同様に、世の中で広く使われているソフトウェアであるにも関わらず、いざ自作してみようと思うと日語で記述されたサイトや書籍で、必要な情報・情報源がまとまったものがないことに気づきました そこで、叩き台として、サイト管理人および数名のコミッタで開発している自作RDBMSである SamehadaDB が軌道に乗るまでの経験をベースに、自作RDBMSするための道筋をある程度整理して書き記してみました 各々の情報・情報源はあいかわらず多くが英語で記述されていますが、その点はご容赦下さい なお、サイトは技術的な解説を提供するのではなく、適切と思われる情報・情報源をポイントするようなサイトとなることを想定しています

  • 【ALB】アクセス元IPアドレスをApache/Nginxアクセスログに出力する | 開発者ブログ | 株式会社Skrum

    Skrumエンジニアの福島です。 開発したアプリケーションをリリース後に運用・保守していくためには、Webサーバーへの送信元IPアドレスをアクセスログとして取得し保存しておくことは重要事項かと思います。今回は AWS のELB(ALB)使用下での EC2 インスタンス上の Webサーバーアクセスログ設定を紹介したいと思います。 まず、ALB を経由せずにクライアントから直接 EC2 インスタンス上のWebサーバーへアクセスする構成としている場合です。この場合では、デフォルトのWebサーバー設定のままでもアクセスログにクライアント IP アドレスが記録される状態になっているので問題ありません。しかし、ALB を経由してアクセスする構成の場合では、デフォルトの設定のままだと ALB の IP アドレスのみがアクセスログに記録されることになります。これは ALB がリバースプロキシであるためです

    【ALB】アクセス元IPアドレスをApache/Nginxアクセスログに出力する | 開発者ブログ | 株式会社Skrum
  • Google Cloud Spannerを使った際に感じた良かった点と注意点 - Liberent-Dev’s blog

    Google Cloud Spannerを使った際に感じた良かった点と注意点 みなさま、こんにちは! システム開発部のK.Mです。 弊社でGoogle Cloud Spannerをデータベースに使用する機会がありましたので、開発・運用時に感じた良かった点・注意点を個人的な見解を交えて記載していきます。 Google Cloud Spannerを使った際に感じた良かった点と注意点 Google Cloud Spannerとは 良かった点 注意点 開発時、運用時に起きた他の事例 その他、未確認事項 まとめ 最後に Google Cloud Spannerとは Googleが開発した分散データベース RDBMSとNoSQLの良い部分が合体したデータベース 良かった点 フルマネージドなので運営中に手がかからない 運営期間中は追加実装など他業務に集中出来る。 実際の運用時にspannerが落ちて繋が

    Google Cloud Spannerを使った際に感じた良かった点と注意点 - Liberent-Dev’s blog
  • 快適SoHo生活のためのオーダーメイドデスク「iDesk」

    お客様の声/導入事例写真を新たに頂きました。[更新 4月24日] 20年ご愛用頂いてるユーザー様より嬉しいお便りも頂きました。 編集スタジオ[更新 10月25日]

  • MySQL with InnoDB のインデックスの基礎知識とありがちな間違い - クックパッド開発者ブログ

    こんにちは、サービス開発部の荒引 (@a_bicky) です。 突然ですが、RDBMS の既存のテーブルを見てみたら「何でこんなにインデックスだらけなの?」みたいな経験はありませんか?不要なインデックスは容量を圧迫したり、挿入が遅くなったりと良いことがありません。 そんなわけで、今回はレコードを検索するために必要なインデックスの基礎知識と、よく見かける不適切なインデックスについて解説します。クックパッドでは Rails のデータベースとして主に MySQL 5.6、MySQL のストレージエンジンとして主に InnoDB を使っているので、MySQL 5.6 の InnoDB について解説します。 InnoDB のインデックスに関する基礎知識 インデックスの構造 (B+ 木) InnoDB では B+ 木が使われています。B+ 木は次のような特徴を持った木構造です。 次数を b とすると、

    MySQL with InnoDB のインデックスの基礎知識とありがちな間違い - クックパッド開発者ブログ