並び順

ブックマーク数

期間指定

  • から
  • まで

321 - 360 件 / 383件

新着順 人気順

jsonの検索結果321 - 360 件 / 383件

  • VSCode上のVim操作を快適にする拡張 VSpaceCode の紹介

    VSpaceCodeは,Spacemacsのようなkey bindingをVSCode上で実現するための拡張です.本記事では,VSpaceCodeについて簡単に紹介します. VSpaceCodeとは VSpaceCodeは,冒頭に述べたとおりSpacemacsのようなkey bindingをVSCode上で実現する拡張です.Spacemacsのようなkey bindingとは,デフォルトのleaderであるspaceキー␣を起点とした操作のことです.以下が例になります. VimでNormalモードの時にleader(␣)を押すと,コマンドパレットが表示される 続く候補の操作のためのキーを押す 操作を実行 公式のデモが分かりやすいです 例えば␣ w / は,windowを分割する操作(コマンド)になります. VSpaceCodeを使う大きな利点は,画面上側に入力に応じてコマンド候補が表示され

      VSCode上のVim操作を快適にする拡張 VSpaceCode の紹介
    • コンテナで動くGoアプリをデバッグする方法

      初めに 最近開発環境を整備していて、コンテナでGoアプリケーションをリモートでデバッグするのにちょっと面倒だったので、自分のメモも兼ねてやり方を残しておきます。 要件 プロジェクトによりますが、今の現場では主要エディタがVSCodeです。 もちろんVimユーザー(うち一人はぼく)がいるので、ターミナルでもデバッグできるように対応する必要があります。 また、コード変更を反映させるために都度イメージをビルドしてコンテナを再作成するは開発スピードが落ちるため、コンテナ再起動だけで反映されるようにする必要があります。 デバッガのしくみ Goにはdelveというデバッガがあります。 delveはClient-Serverモデルになっていて、次の2つのプロトコルで通信が可能になります。 JSON-RPC DAP JSON-RPCはdelveのCLIに使われています。 DAPはMicrosoftが策定し

        コンテナで動くGoアプリをデバッグする方法
      • 脱Firestoreするために考えていること(追記あり) - Sweet Escape

        FirebaseのFirestoreをやめることにしたので雑なメモを残しておく。なお、まだ走り始めたばかりなので、内容には間違いや考慮不足も多数含まれる可能性があるので読む人はその点注意を。あと、あくまでも雑なメモなので細かいところは書いていない。 なぜ脱Firestoreするのか? なぜGraphQLではなくREST APIなのか? 移行にあたって検討したこと、決め事 ドキュメントIDをどう扱うか サブコレクションをどう扱うか 配列やマップといったフィールドのタイプをどう扱うか 追記: Mapの配列をどうするか Firebase Authenticationとセキュリティルールで実現しているセキュリティ機能をどうするか では実際にどんなテーブル設計にするのか 次にやること なぜ脱Firestoreするのか? まず、脱Firestoreする理由は ユースケースとしてFirestoreでは対

          脱Firestoreするために考えていること(追記あり) - Sweet Escape
        • TypeScriptの型定義からバリデーションコードを生成するツールを書いた

          create-validator-tsというTypeScriptの型定義からJSON Schemaを使ったバリデーションコードを生成するツールを書きました。 モチベーション expressなどでAPIを書くときに、Request/Responseが意図したものかどうかをバリデーションする必要があります。 特にreq.queryなどはStringが入ると予想しますが、オブジェクトが入ってくることもあります。 これは、expressの内部で使っているqsというURLクエリのパーサが、オブジェクトや配列へ展開する機能を持っているためです。 expressを使ってるサイトは ?q=text があるときに req.query.q には オブジェクトが入る可能性をちゃんと考慮しないといけない。 ?q[a]=text で req.query.q ; // { a: "text" } になる — azu

            TypeScriptの型定義からバリデーションコードを生成するツールを書いた
          • npmのprivate registryからGitHub Packages Registryに移行する

            PLAIDでは社内のNode.jsパッケージの管理にnpm private registry [https://docs.npmjs.com/creating-and-publishing-private-packages](npmのregistryにprivateでパッケージをpublishする形式)を利用していました。 また、npm private registryを導入する以前の古いパッケー

            • DuckDB メモ

              モチベーション JSONL を読み込んで解析するツールが欲しかった ログを読み込ませたいので圧縮機能は必須 自社のパッケージ製品が出力する JSONL を読み込んで解析できる仕組み 顧客が問題解析を気軽にできるようにしたい 顧客向けツールとして提供したい つまり顧客環境で動かしたい 1 バイナリ OSS として提供したい Apache-2.0 として公開したい ログファイルは大きくても 100 GB は行かない もともと Go + SQLite + JSONB で検討していた SQL で書きたい SQLite ファイルとして書き出したい SQLite ファイルフォーマットは信頼できる S3 などにファイルを置いておくだけにしたい クラウド版に組み込みたい 顧客毎に duckdb ファイル作ればいいのでは? duckdb ファイルダウンロードできると便利そう DuckDB https://d

                DuckDB メモ
              • GitHub - kellyjonbrazil/jc: CLI tool and python library that converts the output of popular command-line tools, file-types, and common strings to JSON, YAML, or Dictionaries. This allows piping of output to tools like jq and simplifying automation scripts

                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

                  GitHub - kellyjonbrazil/jc: CLI tool and python library that converts the output of popular command-line tools, file-types, and common strings to JSON, YAML, or Dictionaries. This allows piping of output to tools like jq and simplifying automation scripts
                • Rubyのテストのややこしい失敗を直した話 - まめめも

                  Ruby の CI 維持業というのはこんな感じという事例紹介。 CIを観察する RubyのCIがときどき次のように失敗していました。 1) Error: TestM17N#test_object_inspect_external: Encoding::CompatibilityError: incompatible character encodings: UTF-8 and UTF-16BE /tmp/ruby/v2/src/trunk-test-random/test/ruby/test_m17n.rb:311:in `encode' /tmp/ruby/v2/src/trunk-test-random/test/ruby/test_m17n.rb:311:in `inspect' /tmp/ruby/v2/src/trunk-test-random/test/ruby/test_m1

                    Rubyのテストのややこしい失敗を直した話 - まめめも
                  • GitHub Actions向け自作アクションの作り方|Tably

                    こんにちは。Tably よういちろう(@yoichiro)です。 皆さんは普段GitHubをお使いでしょうか?お使いの方は、GitHub Actionsを使ってCI/CDしていますでしょうか? GitHub Actionsを使うことで、Pull Requestの作成や更新、あるブランチへのマージといったタイミングで、コードのフォーマットを整えたり、テストを走らせたり、本番環境にデプロイしたり、一連の作業が終わったことをチャットに通知したり・・・といったことを自動的に行うことができます。GitHubにはGitHub Marketplaceというアクションが公開されているマーケットプレースがあります。やりたいことがあった時に、一般的なものであればそこで見つけることができるでしょう。 ものすごい数のアクションがMarketplaceにて公開されていますが、たまたま僕が行いたかった動作をしてくれる

                      GitHub Actions向け自作アクションの作り方|Tably
                    • クレジットカード処理を担う「ISO8583」とは? Go言語でパーサーを開発したエンジニアが中身と苦労を明かす

                      キャッシュレス決済の一環として、クレジットカード決済の利用がまた広がっている。その裏でやりとりされるデータは、多くの人が想像するJSONやXMLではなく「ISO8583」という規格にのっとって行われている。1980年代に策定されたこの標準規格、扱いはなかなか一筋縄ではいかないようだ。 Go言語でISO8583のパーサーを書いたというカンムのバックエンドエンジニアである佐野裕章氏は、2019年8月29~31日に開催された「builderscon tokyo 2019」のセッション「クレジットカードの通信プロトコル ISO8583 と戦う」で、その過程で得られた知見を紹介した。 クレジットカード業界のエコシステム クレジットカードというと「Visa」「Mastercard」といった「ブランド」のイメージが強いが、決済処理にはもっと多くの登場人物が関わっている。加盟店、いうなれば「使う場所」を増

                        クレジットカード処理を担う「ISO8583」とは? Go言語でパーサーを開発したエンジニアが中身と苦労を明かす
                      • 自由なソフトウェアと抗議と倫理の「(不)可能性」について

                        自由なソフトウェアと抗議と倫理の「(不)可能性」について 2022.05.10 Updated by yomoyomo on May 10, 2022, 18:15 pm JST 大変ごぶさたしております。実に約5年半ぶりになりますが、またこちらで書くことになりました。ブランクが長かったため、ここへの文章の書き方を自分でも忘れてしまったところがあるのですが、稲田豊史氏の「ウェブは最初に結論を書く、くどくど掘り下げて説明しない、とにかく簡潔に」という金言に逆らい、地味な話題についてくどくどと書いていこうと思います。 いや、結論だけは先に書いておきましょうか。銀の弾はない、それだけです。 2022年2月にロシアがウクライナへの侵攻を開始して早くも2カ月以上経ち、ロシア(のプーチン大統領)の甘い見通し、予想以上のウクライナの抵抗、多くの国のウクライナへの支援などと相まって、現状、ロシアが手こずっ

                          自由なソフトウェアと抗議と倫理の「(不)可能性」について
                        • 『初めてのGraphQL』を読んだ感想 - 虎の穴開発室ブログ

                          皆さんこんにちは、とらのあなラボのY.Fです。 オライリー書評シリーズは、今回で第5弾になります。 (前回の書評はこちら) toranoana-lab.hatenablog.com 今回の記事では、2019年11月のオライリー定期購読で届いた、『初めてのGraphQL』を読んだので感想を書きたいと思います。 読んだ理由 APIに限らずWebアプリケーションを作る上ではRESTの考え方はもはや基礎知識になっているかと思います。 ただ、個人的にはRESTについては以下のような認識を持っていました。 通常のCRUD処理から外れるとルーティングなどが悩ましい 複雑に絡み合ったデータを扱おうとした時にURLの階層が深くなりがち JSONを返すAPIに汎用性をもたせると巨大なJSONが返されたりするケースがある 対して、最近GraphQLを採用したとか、ReactやVueと組み合わせてやってみたという

                            『初めてのGraphQL』を読んだ感想 - 虎の穴開発室ブログ
                          • 【小ネタ】AIにVSCodeの設定ファイルの書き方などを尋ねてみると良かったです | DevelopersIO

                            もちろん裏取りは必要ですが、エディターの設定ファイルをどう書くのかAIに聞いてみるのも面白かったです。特にエディターは「○○みたいにしたい」というのを言語化して、どう調べれば良いのかわからなかったので今後も助けてくれそうな気がしています。 こんにちは。AWS事業本部コンサルティング部に所属している今泉(@bun76235104)です。 今回は超がつくほどのの小ネタなのですが、生成系のAIにVSCodeの設定周りについて聞いたり、作業をお願いしたらとても快適だったので使い方の一旦を紹介します。 やってみたことは以下のとおりです。 独自スニペット用のJSON文字列を書いてもらう キーボードショートカットの設定(keybindings.json)の書き方を教えてもらう 設定ファイル(settings.json)の書き方を教えてもらう 実際にやってみた 今回試している環境は以下のとおりです。 試し

                              【小ネタ】AIにVSCodeの設定ファイルの書き方などを尋ねてみると良かったです | DevelopersIO
                            • GoでYAMLを扱うすべての人を幸せにするべく、ライブラリをスクラッチから書いた話 - Qiita

                              この投稿は、 Go アドベントカレンダーの 6日目のものになります。 はじめに GoでYAMLを扱う際にデファクトになっているのは、おそらく github.com/go-yaml/yaml でしょう。 実装はC言語で実装された libyaml を Go に移植しつつ、 Go ならではの機能を足す作りになっているのですが、 cgo を使わずに pure Go で移植されており、開発者の気合を感じます。 枯れている libyaml を利用していることからも、 YAML の仕様を忠実に実装していることが期待できます。 ですが、このライブラリにはいくつか使いにくい点もあり、例えば以下のようなことはできませんでした 構造体を埋め込む場合に、埋め込む型をポインタで定義できない ( ※ ポインタなしは大丈夫 ) encoding/json とコンパチの インターフェース ( MarshalYAML()

                                GoでYAMLを扱うすべての人を幸せにするべく、ライブラリをスクラッチから書いた話 - Qiita
                              • Firestoreの簡易管理ツールをNuxt.jsでつくってみた - Qiita

                                Firestore、とっても便利ですが、Firebaseのコンソールがイケてないので、 ローカルで動かせる簡易の簡易ツールを作ってみました。Nuxt.js製です。 Firebase Admin SDKを使ってるので、秘密鍵を配置すればOK。 セキュリティルールの変更も不要です。 動いているところはこんな感じ。 GitHubで公開してます。ただ書きなぐりなので、ソースはイケてないです。。 まだα版くらいなので、機能は限定的です。。 memory-lovers/simple-firestore-admin: Simple Firestore Admin なんで作ったか Firestoreを使ったWebサービスを作ってみたところ、 ちょこっとしたDBの変更にもデータが多かったり、1ドキュメントのサイズが大きいと、 Firebaseコンソールだと重い感じに。。 いろいろ見ていると、Webサービスな

                                  Firestoreの簡易管理ツールをNuxt.jsでつくってみた - Qiita
                                • DuckDBでお手軽!データフェデレーション - Techtouch Developers Blog

                                  tl;dr はじめに DuckDB とは DuckDB では何が読めるのか 使ってみる S3 上のJSON を読んでみる リレーショナルデータベース 他ツールではなく DuckDB を使うメリット しくじりポイント (特にリリースされたばかりの)バージョンには気をつける S3 のオブジェクト数が多い場合不都合がありがち スレッドの調整が必要な場合も Redshift には未対応 終わりに 付録 MySQL のデータを読み込む例の MySQL 側の準備 tl;dr DuckDB 便利だよ。分析以外でも使えるよ 色々な場所のデータを閲覧・結合できるよ。標準SQLも使えるよ ただし、細かい落とし穴は色々あるので気をつけてね はじめに2023年4月にデータエンジニアとして入社したmin(@not_rogue)です。暖かくなるにつれ、YouTube で見た南伊豆ロングトレイル | 松崎町に行く機運が

                                    DuckDBでお手軽!データフェデレーション - Techtouch Developers Blog
                                  • 超高速シリアライズフォーマット「DLHN」

                                    新しいシリアライズフォーマットDLHNをリリースしました。 DLHNは高速でデータサイズが小さいバイナリ形式のシリアライズフォーマットです。 DLHNの発音は"Dullahan"と同じです。 公式サイトは https://dlhn.org 実装は https://github.com/otake84/dlhn イラストは @kira2beat さんに描いていただきました。 特徴DLHNはプログラミング言語やプラットフォームに依存しないバイナリ形式のシリアライズフォーマットで、JSON, CSV, MessagePack, Protocol Buffersなどから影響を受けています。 シリアライズとデシリアライズが高速で、データサイズが小さく、Schema定義ファイルが不要でストリーム処理にも対応しています。 これを聞くとMessagePackと同じように感じるかもしれませんが、実際のデータ

                                      超高速シリアライズフォーマット「DLHN」
                                    • webフロントエンドからwebAPIを呼び出すのをwrapするアレの名前 - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く

                                      twitterに書いたやつ再掲+加筆。 Webフロントエンド、というかSPAの設計で、単なるwebAPIラッパーに対して「Repository」と名付けるケースが散見されるけど、ぼくはあれあまり好きではないです。というのも、Repositoryという名前がついてると、集約的なもの、それが言い過ぎならいわゆるEntity、それも言い過ぎならひとかたまりのデータを保存、取得するだけの責務のように思えるからです。けど、実際の「Repository」を見てみると、取得されるのは画面の仕様にベッタリなJSONだったり、更新系としてもなんちゃらidとパラメータを渡すようなIFになってることが多いですよね。画面の仕様にベッタリなJSONが返ってくるようになってたり、idとパラメータ渡すだけだったりするのは、多くの場合考えることが少なくて済むし通信量も減る良いプラクティスだと思うので、それ自体は問題ではな

                                        webフロントエンドからwebAPIを呼び出すのをwrapするアレの名前 - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く
                                      • next.js で自分のブログを作る

                                        next.js で自分のブログを作る 自分のブログとして mizchi.dev を作った話 at 隅田川.js #1(オンライン) - connpass 何を作ったか このブログ自身(mizchi.dev)。スライドツールも突貫で自作 ソースコード mizchi/dev Lighthouse Full AMP GA 対応 Git から編集ヒストリの生成 どんなブログがほしかったか Lighthouse で満点出したい 普通の Markdown じゃつまんないから MDX で書きたい サーバーの運用をしたくない next.js の最適化に乗りたい 作った どうせ動かないし CDN 上で静的サイト + Full AMP MDX コンパイラを自作 (amdx) netlify + 買ったまま忘れてたカスタムドメイン(mizchi.dev) pages/*.tsx が公開される仕組みを、そのまま採

                                        • フルスクラッチして理解するOpenID Connect (3) JWT編 - エムスリーテックブログ

                                          こんにちは。デジカルチームの末永(asmsuechan)です。この記事は「フルスクラッチして理解するOpenID Connect」の全4記事中の3記事目です。前回はこちら。 www.m3tech.blog 9 JWT の実装 9.1 JWT概説 9.2 OpenID Connect の JWT 9.3 ヘッダーとペイロードの実装 9.4 署名の実装 公開鍵と秘密鍵を生成する 署名処理を作る 10 JWKS URI の実装 (GET /openid-connect/jwks) 11 RelyingParty で ID トークンの検証をする 12 OpenID Connect Discovery エンドポイントの実装 (GET /openid-connect/.well-known/openid-configuration) まとめ We're hiring 今回は全4回中の第3回目です。 (

                                            フルスクラッチして理解するOpenID Connect (3) JWT編 - エムスリーテックブログ
                                          • プログラミング関係でググるたび検索上位に出てくる激遅ロード時間の例のプログラミングスクールサイト【検索妨害】

                                            なるみCYO🐷 @queenmk 私はね、JSONファイルをPOSTする方法を知りたかっただけなのに、得られたのは侍に対する殺意だけだった。欲しかった情報は社内で得られた。 2020-03-18 17:16:51

                                              プログラミング関係でググるたび検索上位に出てくる激遅ロード時間の例のプログラミングスクールサイト【検索妨害】
                                            • CUE言語(cuelang)に入門しよう

                                              Abstruct 本記事においては、The CUE Configuration Languageを用いて設定ファイルを記述することはどのようなメリットがあるのか。また、どのような使い方が想定されるのかについて議論する。 私は、実際の開発現場において、各マイクロサービスチームがKubernetesのManifestを生成するテンプレートとして活用している。 そのため、KubernetesのManifestをcuelangを用いて記述している。(この件に関する記事は現在執筆中だ。) その経験から、CUE言語がどのような言語であるかについてここで述べることにする。 Keyword: CUE, cuelang, configuration, 設定記述言語, JSON, YAML, Kubernetes, manifest Introduction あなたは普段どんな設定記述言語を利用しているだろう

                                                CUE言語(cuelang)に入門しよう
                                              • VSCodeでC#開発環境整えちゃう(グッバイVisual Studio)

                                                こんにちは!今年の冬も暖房なしで頑張る佐藤です。 みなさん、C#(.Net)使ってますか?弊社では、主にバックエンド開発に使われていますが、Java8とかで開発してた時に感じた、いろいろな不満が解消されていて、いい言語だなあとひしひし感じています。 さて、C#の開発をする際にメジャーなエディターといえば、Visual Studio、Riderだと思います。 それらも、とても便利なエディターではあるのですが、IDEなのもあって多少スペックが必要+ライセンス契約をする必要がある=金銭のやりとりが発生する、等の理由のために、多少敷居の高さがあるんじゃないかな〜と個人的に感じています。 また、私自身が、他の言語の開発ではほぼVisual Studio Codeを使っているのもあって、VSCodeとVisual Studioを一緒に起動して開発するのもなんだかなあ… と感じていました。 そこで、11

                                                  VSCodeでC#開発環境整えちゃう(グッバイVisual Studio)
                                                • GitHubに1コマンドでいろいろPUTできるツールghputを作った - Copy/Cut/Paste/Hatena

                                                  ghput pr-comment ghput issue-comment のデフォルトの挙動について注意点を追記しました 最近はGitHubやGH:Eといったサービスのリポジトリと、そのリポジトリと連携するCI/CD環境がある前提で、様々なパイプラインを作ることが普通になってきています。 git push や Pull Request をトリガーにCI/CD環境で実行されるのもテストの実行だけではなく、master mergeのタイミングでのプロダクションデプロイやプロビジョニング、その前段階としてPull Requestタイミングでのdry-runやplanの実行など。 GitHubは便利ですし、それと連携するCI/CD環境があるとその2つだけで様々なものの自動化ができて便利です*1。 そんなGitHub+CI/CDな環境で使えるであろう ghput というツールを作りました。 gith

                                                    GitHubに1コマンドでいろいろPUTできるツールghputを作った - Copy/Cut/Paste/Hatena
                                                  • Obsidian Canvas - Visualize your ideas

                                                    Visualize your ideas. Infinite space to research, brainstorm, diagram, and lay out your ideas. Canvas is a core plugin included for free with Obsidian. A playground for thought Canvas allows you to organize notes visually — an infinite space to research, brainstorm, diagram and lay out your ideas. Embed your notes alongside images, PDFs, videos, audio, and even fully interactive web pages. A new w

                                                      Obsidian Canvas - Visualize your ideas
                                                    • [Go] レイヤードアーキテクチャの階層構造を守らないimportを警告するlinterを作った - My External Storage

                                                      Goでクリーンアーキテクチャ等のレイヤードアーキテクチャを実装するための静的解析ツールを作った。 「webhandlerパッケージからusecaseパッケージを使わずに直接domainパッケージを使わないで!」というような、やってほしくないimportをエラーにできる。 https://github.com/budougumi0617/layer TL;DR クリーンアーキテクチャなどのレイヤードアーキテクチャでは、利用できるパッケージに制限がある レイヤー間の依存関係は一方向のみ 同じ層、あるいは1つ下の層のパッケージしか利用してはいけない https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html Goは循環importができないので、自然に単方向依存は満たしやすい しかし、層を飛び越して、2

                                                        [Go] レイヤードアーキテクチャの階層構造を守らないimportを警告するlinterを作った - My External Storage
                                                      • OSSのJSONエディタをElectronアプリに移植した - マルシテイア

                                                        josdejong氏作のJSONエディタを、Electronでデスクトップ用アプリに移植しました。 github.com 元のJSONエディタはこちら。めちゃ高機能で便利。 僕が書いたコードはたった200行くらいです。 github.com なぜ作った 仕事でイベント用のUnityアプリを作る事が多い 現場でパラメータを調整するために、パラメータをJSONやCSVファイルに出しておくことが多い SRDebuggerとかでアプリ内に設定画面を作る事も多いけど、その時間すらない事もある プログラマー的にはJSONを使いたい プログラマー以外の普通の人にとっては、JSONの編集は難しい CSVはエクセルで編集できて便利という世界観 普通の人が使えるJSONエディタがほしい オンラインJSONエディタは良い奴がたくさんある exeで欲しいんだが!!! Electronでラップしたら良いのでは? E

                                                          OSSのJSONエディタをElectronアプリに移植した - マルシテイア
                                                        • Big Sky :: Go の struct は小さくできる(fieldalignment のススメ)

                                                          動的型付けプログラミング言語や、class を持つようなプログラミング言語を使う場合、そのフィールドメンバの定義順などを意識する事は少ないかもしれません。 Go は struct という、C言語が持っている構造体と同じ様にメモリ配置され、構造体そのものをレシーバとして、メソッドを定義しつつプログラミングを行います。struct はデータ構造そのものを示し、それが大きくなるにつれ、当然ながらメモリ使用量も多くなります。 さて、例えば以下のコードを実行すると、struct 100 個分のサイズは幾らになるでしょうか。 package main import ( "fmt" "unsafe" ) type Account struct { TimeZone struct { Name       string `json:"name"` UtcOffset  int    `json:"utc_

                                                            Big Sky :: Go の struct は小さくできる(fieldalignment のススメ)
                                                          • ノーコード・コードレスでGoogleスプレッドシートからAPIを作成できる「SSSAPI」β版がリリース

                                                            合同会社めもらばは、GoogleスプレッドシートのAPI化サービス『SSSAPI』β版の公開を開始したと発表した。β期間中は最上位プランを無料で利用できる。 SSSAPIはGoogleスプレッドシートの内容をJSON形式で返却するAPIを作成できるWebサービスだ。「ちょっとしたAPIがあるといいけど、 サーバを用意するほどではない」「クライアントに入力してほしいけど、 管理画面を作る余裕がない」といったときに、シンプルなAPIをノーコード/コードレスで作成することが可能だ。 SSSAPIでは、このようなスプレッドシートから、

                                                              ノーコード・コードレスでGoogleスプレッドシートからAPIを作成できる「SSSAPI」β版がリリース
                                                            • Rubyアンチパターン: なんでもHash

                                                              ソフトウェアの内部では、データを様々な形に加工しつつ、あちこちに受け渡して再利用します。そのためのデータ構造として、RubyではHashクラスのオブジェクト(他の言語ではMapだったりDictionaryだったり連想配列だったりします)を使うことはよくあります。 単体の数値や文字列ではなく、それらを組み合わせたデータを扱う際には、Hashオブジェクトが便利です。 しかし、あらゆる場面でHashを駆使しようとすると、利便性よりも弊害が大きくなります。 典型的な症状 あちこちで同じだったりちょっと違ったりするHashオブジェクトを引き回していたりします インスタンス変数が少なく(あるいはまったくなく)、その代わりとしてメソッド引数のHashオブジェクトにいろんなデータを渡していたりします 1つのHashオブジェクトのキーとして、文字列やシンボル、さらにはそれ以外のクラスのオブジェクトが使われて

                                                                Rubyアンチパターン: なんでもHash
                                                              • BigQueryでSaaSのjsonデータを処理するSQLサンプル集 - 下町柚子黄昏記 by @yuzutas0

                                                                この記事の概要 SaaSのデータをBigQueryに統合することで業務改善を促進できる。 しかし、SaaSのデータの中身を見ると、BigQueryの関数では対応しにくい形式になっていることがある。 そこで、本稿では「こういうデータ形式だったらこういうSQLを書く」というサンプル集を掲載する。 目次 この記事の概要 目次 宣伝 実現したいこと SaaSデータの処理方法 SQLサンプル1: 純粋な配列だけのケース SQLサンプル2: 配列内にハッシュマップがあるケース SQLサンプル3: 配列宣言ナシでカンマ区切りのハッシュマップが突如始まるケース SQLサンプル4: 配列とハッシュが入り乱れるケース SQLサンプル5: JSONの中に親子構造があるケース SQLサンプル6: Objectを定義したくなるケース 最強のJSONパースの関数は作れるか jsonデータの処理をどこで行うか 最後に

                                                                  BigQueryでSaaSのjsonデータを処理するSQLサンプル集 - 下町柚子黄昏記 by @yuzutas0
                                                                • はてなブックマークWeb版のエントリー検索のアルゴリズムを改善しました - はてなブックマーク開発ブログ

                                                                  はてなブックマークWeb版の全体のブックマークから検索する機能では、検索対象を「タグ」にすることによって、指定したタグがつけられたエントリーを検索することができます(以降「タグ検索」と呼びます)。この度、タグ検索のアルゴリズムを改善するリリースを行いましたのでお知らせします。 これまでのタグ検索では、指定されたタグのみでエントリーを検索しており、表記揺れや類義語に対応していませんでした。例えば はてな でタグ検索を行っても、hatena というタグのみがついたエントリーを発見することはできませんでした。そのため、タグの情報が少ない新着エントリーの検索などにおいては、ユーザーの意図に合致するはずのエントリーが発見されずに埋もれてしまう可能性がありました。 今回のリリースでは、タグ検索のアルゴリズムを改善し、タグの表記揺れや類義語を考慮してエントリーを検索するようになりました。表記揺れや類義語

                                                                    はてなブックマークWeb版のエントリー検索のアルゴリズムを改善しました - はてなブックマーク開発ブログ
                                                                  • 複数のサブスキーマを持つデータへの対応におけるスキーマ記述言語の比較 | IIJ Engineers Blog

                                                                    プログラミング中、何度も同じような、でも、その都度少しずつ異なるコード(ボイラープレートコードとも呼ばれます)を記述しなければならない場面は多々発生します。 可能ならば、このようなパターン化された単調なコードの記述は省略して、より重要なロジックの実装に集中したいものです。 Web APIの開発においても、毎回のように実装が必要なパターン化された処理は多々あります。 リクエストやレスポンスのデータ(現在、ほとんどがJSON形式)のバリデーションもその代表です。 データ種別ごとに手動でバリデーション処理を記述するのでは無く、データ仕様の定義(データスキーマ)を与えれば、自動的にバリデーションするような仕組みが理想でしょう。 本稿では、そんなバリデータの調査や検証中に見つけた課題についてご紹介したいと思います。 ポリモーフィックパターン まず、以下のようなJSONデータを処理するケースについて考

                                                                      複数のサブスキーマを持つデータへの対応におけるスキーマ記述言語の比較 | IIJ Engineers Blog
                                                                    • Python で緊急対応時の Slack 操作を自動化してみた | DevelopersIO

                                                                      このブログはこんな方におすすめ 緊急対応の初動を早めたい リモートワーク中心になり、緊急対応中の作業分担や進捗確認が難しい Google Apps Script で緊急対応時の Slack 操作を自動化してみた の Python 版がほしい 2021年6月11日に以下のセッションに登壇しました。本ブログでは登壇中に紹介するとお伝えした関数をご紹介します。また背景についても改めて少し記載しています。 業界特化事例紹介セッション SIer編 | Slack はじめに クラスメソッドでは Slack API を活用することで、いくつかある緊急対応の初動が約30分早くなりました。 では、どのように活用して初動対応を迅速化したのでしょうか。 本ブログでは、クラスメソッドの緊急対応の一つである、AWS 不正利用対応を例に紹介します。 AWS 不正利用とは、AWS アクセスキーの漏洩などが原因で発生しま

                                                                        Python で緊急対応時の Slack 操作を自動化してみた | DevelopersIO
                                                                      • 意味的知識グラフとApache Solrを使った関連語検索の実装 - Ahogrammer

                                                                        Manningから出版予定の『AI-Powered Search』(AIを活用した情報検索の意)を冬休み中に読んでいたら、その中で意味的知識グラフ(Semantic Knowledge Graph)と呼ばれるデータ構造について説明していて、関連語の計算やクエリ拡張などに使えるということで興味深かったので紹介しようと思います。最初に意味的知識グラフについて説明したあと、日本語のデータセットに対して試してみます。 AI-Powered Search(https://www.manning.com/books/ai-powered-search) 本記事の構成は以下のとおりです。 意味的知識グラフとは 意味的知識グラフを用いた関連語の計算 参考資料 意味的知識グラフとは 知識グラフと聞くと、固有表現認識や関係抽出、OpenIEを使って構築するグラフを思い浮かべる方もいると思うのですが、意味的知識

                                                                          意味的知識グラフとApache Solrを使った関連語検索の実装 - Ahogrammer
                                                                        • Auth0からCognitoへのユーザー移行 - ROBOT PAYMENT TECH-BLOG

                                                                          こんにちは。ROBOT PAYMENT (以下、ロボペイ)でエンジニアをしているtakamoriです。 私が所属しているチームでは、請求先マイページ機能を開発しており、その中でユーザー認証基盤をAuth0からCognitoへと移行させました。そこで今回は、Auth0からCognitoへのユーザー移行手順を書いていきたいと思います。 ※ 本記事ではAuth0やCognitoの環境構築は対象外で、それぞれの環境が構築済み前提となります。 移行手順 Auth0からユーザーをエクスポート Auth0ユーザー情報をCognitoユーザー情報へマッピング Cognitoへユーザーをインポート Auth0からユーザーをエクスポート Auth0からのユーザーをエクスポートするには、ExportUsersJob APIを利用します。GetUsers APIを利用して取得することも可能ですが1,000件の取得

                                                                            Auth0からCognitoへのユーザー移行 - ROBOT PAYMENT TECH-BLOG
                                                                          • OpenAPIを使ったRailsスキーマ駆動開発 - ドワンゴ教育サービス開発者ブログ

                                                                            はじめに サービス構成 レポジトリ一覧 サーバー側Railsアプリ クライアント側Railsアプリ 開発の流れ 利用ツール swagger-cli committee-rails 不具合1: ファイルの分割 不具合2: $refとnullableの同時使用 json-schema openapiの記法に合わせた機能拡張 openapi-generator-cli (Ruby client) 不具合1: 中途半端な型チェック 不具合2: oneOf/anyOfに非対応 factory_bot 終わりに We are hiring! はじめに 前回の記事では、OpenAPIで新しいウェブAPIを定義する際に、yamlのままで読みやすいようにファイル構成等を工夫した話をしました。 今回はそのAPIスキーマを使って、Railsでスキーマ駆動開発を実現するにあたって利用しているツール類についてお話し

                                                                              OpenAPIを使ったRailsスキーマ駆動開発 - ドワンゴ教育サービス開発者ブログ
                                                                            • TerraformでIAM Policyを書く方法5つ | DevelopersIO

                                                                              タイトル修正しました。最初「TerraformでIAM Policyを書く方法4つと失敗する方法ひとつ」というものでしたが、失敗する方法は単に私の書き方が間違ってただけでした TerraformでIAM Policyを書く方法は色々とあるので、紹介していきます。 今回は例として、こちらの公式ドキュメントに出てくる以下ポリシーを使いたいと思います。 { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "dynamodb:*", "Resource": "arn:aws:dynamodb:us-east-2:123456789012:table/Books" } } ファイル外だし policyの中身はtfファイルに書かず、JSONファイルとして外だしします。それをfile関数を使って参照します。 fil

                                                                                TerraformでIAM Policyを書く方法5つ | DevelopersIO
                                                                              • 図解 JWS/JWE/JWT/IDトークン/アクセストークンの包含関係 - Qiita

                                                                                JWS/JWE/JWT/IDトークンの包含関係 JWS (JSON Web Signature) と JWE (JSON Web Encryption) の直列化方法には、それぞれ JSON 形式とコンパクト形式がある。 JWT (JSON Web Token) は JWS か JWE だが、いずれにしてもコンパクト形式である。仕様でそう決まっている。 仕様により、ID トークンには署名が必要なので、ID トークンは JWS もしくは「JWS を含む JWE」という形式をとる。 ID トークンは「JWE を含む JWS」という形式はとらない。なぜなら、仕様により、ID トークンを暗号化する際は「署名してから暗号化」という順番と決まっているため。 アクセストークン/JWT/IDトークンの包含関係 アクセストークンの実装が JWT だとは限らない。 仕様により、ID トークンは必ず JWT で

                                                                                  図解 JWS/JWE/JWT/IDトークン/アクセストークンの包含関係 - Qiita
                                                                                • ライフログを可視化してみたら偏食のようすがわかった - 飯田橋ランチマップ - JX通信社エンジニアブログ

                                                                                  「JX通信社Advent Calendar 2019」11日目の記事です. 昨日は, @shinyoke さんの「PySparkはじめました - 分散処理デビューする前にやったこと」でした。 こんにちは. 同じくJX通信社でデータ基盤エンジニアをしています, @maplerと申します。 はじめに 今回はちょっと美味しい話をします。 昼時間になったらよくある話 「今日昼飯どこにいきますか?」 「わからない。。」 JX通信社オフィスがある飯田橋周辺美味しい店たくさんありまして、どこでランチを食べればいいのかわからない。 ちょうど2年前、Moves App というライフログアプリを一年半ほど利用してたので、そのデータを利用して自分の飯田橋ランチマップを作ってみようと思います。 やったこと GeoPandas と GeoPy で位置情報の解析 Mapbox + Plotly で位置情報の可視化 S

                                                                                    ライフログを可視化してみたら偏食のようすがわかった - 飯田橋ランチマップ - JX通信社エンジニアブログ