並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 232件

新着順 人気順

コマンドラインオプションとはの検索結果1 - 40 件 / 232件

  • プログラマーを30年間やってきた経験から学んだことまとめ

    プログラマーにとって「どうすればより効率よくプログラムを組み上げられるのか」は常に頭を悩まし続ける問題の1つとなっていますが、その道のエキスパートであるエンジニアのジュリオ・ビアソンさんが30年間ソフトウェア開発に携わってきた経験から学んだことについてブログにまとめています。 Julio Biason .Net 4.0 - Things I Learnt The Hard Way (in 30 Years of Software Development) https://blog.juliobiason.net/thoughts/things-i-learnt-the-hard-way/ ビアソンさんは多数ある「学んだこと」を以下の3つに大きくわけてまとめています。 ◆ソフトウェア開発について ◆チーム・仕事について ◆個人的なことについて これからプログラマーになろうとしている、あるいは

      プログラマーを30年間やってきた経験から学んだことまとめ
    • 図解 X.509 証明書 - Qiita

      はじめに X.509 証明書について解説します。(English version is here → "Illustrated X.509 Certificate") ※ この記事は 2020 年 7 月 1 日にオンラインで開催された Authlete 社主催の『OAuth/OIDC 勉強会【クライアント認証編】』の一部を文書化したものです。勉強会の動画は公開しており、X.509 証明書については『#4 X.509 証明書(1)』と『#5 X.509 証明書(2)』で解説しているので、動画解説のほうがお好みであればそちらをご参照ください。 1. デジタル署名(前提知識) この記事を読んでいただくにあたり、デジタル署名に関する知識が必要となります。つまり、「秘密鍵を用いて生成された署名を公開鍵で検証することにより」、「対象データが改竄されていないこと」や「秘密鍵の保持者が確かに署名したこと

        図解 X.509 証明書 - Qiita
      • Dockerハンドブック - 教会エンジニアの開発日記

        Dockerの概念や仕組みまではなんとなく理解できるもののDockerfileを書こうとするとスムーズに書けなかったり、そもそものDockerの基礎、あるいはコンテナ技術というものの基礎が抜け落ちていてDocker環境に移行できていないところも多いのではと思い、この記事を翻訳しました。 Source:The Docker Handbook by Farhan Hasin Chowdhury(@Twitter) 本記事は、原著者の許諾のもとに翻訳・掲載しております。 コンテナ化の概念自体はかなり古いですが、2013年にDocker Engineが登場したことで、アプリケーションのコンテナ化がはるかに簡単になりました。 Stack Overflow Developer Survey-2020によると、 Dockerは#1 最も望まれるプラットフォーム、#2 最も愛されるプラットフォーム、および

          Dockerハンドブック - 教会エンジニアの開発日記
        • jQueryからTypeScript・Reactまで - Viteで始めるモダンで高速な開発環境構築 - ICS MEDIA

          Vite(ヴィート=フランス語で「速い」の意味)は2020年に発表された新しいフロントエンドのビルドツールです。 開発者がVue.jsの作者であるEvan You氏であるため、Vue.jsのツールであると誤解されることもありますが、プレーンなJavaScript(バニラJS)からVue.js・React・Svelteといった流行のフレームワークまで、さまざまな環境で利用できる汎用的なツールです。 位置付けとしてはwebpackのようなバンドラーと呼ばれるものに近い存在ですが、それだけではありません。この記事では、Viteを導入してプレーンなJavaScriptから、TypeScript+Vue.js・Reactといったフレームワークまで、快適な開発環境を手に入れる方法を紹介します。 この記事で紹介すること: Viteの特徴と基本の仕組み 基本の使い方 Vite + SCSS Vite +

            jQueryからTypeScript・Reactまで - Viteで始めるモダンで高速な開発環境構築 - ICS MEDIA
          • 「ビジネスロジック」とは何か、どう実装するのか - Qiita

            アプリケーション開発で、「ビジネスロジックは分離しろ」だとか「Controller にビジネスロジックを書くな」といったことをよく言われると思います。 しかし、ビジネスロジックという言葉の意味を聞いたり調べたりしてみても、「システムのコアの部分」とか「システムの目的になる処理をするところ」みたいなことを言われたりして、よく分かりませんでした。 そんな中、クリーンアーキテクチャや DDD の戦術的設計について学ぶことで、「ビジネスロジックとは何か」、「ビジネスロジックはどう実装するか」について、自分なりの考えが整理されてきたので、この記事ではそれをまとめます。 ※ 曖昧な言葉を自分としてどう使っているかという話になります。違う意味で使う方もいると思うので、ご注意ください ビジネスロジックとは何か 「システムのコアの部分」とか「システムの目的になる処理をするところ」といった説明も正しいとは思い

              「ビジネスロジック」とは何か、どう実装するのか - Qiita
            • サービス間通信のための新技術「gRPC」入門 | さくらのナレッジ

              たとえば次のような「user.proto」というプロトコル定義ファイルを用意し、これを変換する例を見てみよう。 syntax = "proto3"; message Picture { uint32 id = 1; uint32 width = 2; uint32 height = 3; enum PictureType { PNG = 0; JPEG = 1; GIF = 2; } PictureType type = 4; } message User { uint32 id = 1; string nickname = 2; string mail_address = 3; enum UserType { NORMAL = 0; ADMINISTRATOR = 1; GUEST = 2; DISABLED = 3; } UserType user_type = 4; repeated

                サービス間通信のための新技術「gRPC」入門 | さくらのナレッジ
              • いつまでコンピュータで消耗しなきゃならないの?

                なんでみんないつまでも100年以上も昔のタイプライターの成れの果て、みたいなキーボードをカタカタ叩いてコンピュータ操作してるの? コンピュータは時代の最先端なんじゃないの? 使いこなすには習熟が必要って、そりゃそうかもしれないけど度が過ぎてないか? 特にCUIがいけすかない。DOSプロンプトを初めて見た日から今に至るまで、あんな不親切なインターフェースを一度だって良いと思ったことはない。 $とかC:\とかなに?適当に文字を打ってもエラーしか出ない。使われるのを拒絶しているようにしか見えない。 ゲームで言うなら1980年代のテキスト入力型アドベンチャーみたいなレベル。コマンドを全部覚えてないと何もできないクソゲー。 多分もうおっさんしか知らない。いまどきそんなゲームはないだろ?つまりそれだけ遅れてるんだよ。 使いやすいようにカスタマイズするのが当たり前?だったら最初からその使いやすい状態で提

                  いつまでコンピュータで消耗しなきゃならないの?
                • Python 3.15からデフォルトのエンコーディングがUTF-8になります - methaneのブログ

                  Pythonがファイルを開くときなどに使われるエンコーディングはロケール(WindowsではANSIコードページ)依存でした。 Unixの世界ではどんどんUTF-8ロケールが一般的になっている一方、WindowsのANSIコードページはなかなかUTF-8になりません。 そのために、Unixユーザーが open(filepath) のようにエンコーディングを指定しないままUTF-8を仮定するコードを気軽に書いてしまって、Windowsユーザーがエラーで困るといった問題が発生します。 また、Windowsでもメモ帳(Notepad.exe)やVSCodeはすでにUTF-8をデフォルトのエンコーディングで使用しています。ANSIコードページがUTF-8になるのを待っていたらどんどん周りの環境から置いていかれ、レガシー化してしまいます。 Pythonがデフォルトで利用するエンコーディングをWind

                    Python 3.15からデフォルトのエンコーディングがUTF-8になります - methaneのブログ
                  • パイプライン指向JSON処理プログラミング言語 jq - 檜山正幸のキマイラ飼育記 (はてなBlog)

                    jq(https://stedolan.github.io/jq/)の紹介では、「JSON処理のワンライナー〈一行野郎〉としてめちゃくちゃ便利!」とアピールするのが定番です。もちろんそれは本当で、「めちゃくちゃ便利!」です。が、実は jq は、ワンライナー記述にとどまらない、かなり本格的なプログラミング言語です。 JSON処理のためのDSL〈Domain Specific Language | 領域特化言語〉なので、汎用言語ではありません。しかし、汎用言語が備えている言語機能の一部(関数定義、モジュールシステムなど)を jq も持っています。また jq は、独特で楽しいプログラミング・パラダイム -- “パイプライン指向”に基づいて設計されています。 この記事では、ワンライナーを超えた jq の使い方と、プログラミング言語としての jq の特徴を紹介します。長い記事になってしまったので、一

                      パイプライン指向JSON処理プログラミング言語 jq - 檜山正幸のキマイラ飼育記 (はてなBlog)
                    • Goのロギングライブラリ 2021年冬 - moriyoshiの日記

                      この記事はPySpa Advent Calendar 2021の14日目のエントリーとして書かれました。昨日のエントリーは冷凍食品でウキウキ引きこもり生活 でした。ちなみに私も70ℓの冷凍庫を購入しましたが本当にライフチェンジングでした。 総論: なぜログが必要か 可観測性 たとえ目的は自明でも、その動作までが自明なアプリケーションというものはほぼ存在しません。現実の世界のアプリケーションというものは、動作パラメータだったり実行環境だったり、起動時点でのさまざまな要因によって挙動を変えるものだからです。そして、そうしたアプリケーションにはライフサイクルというものがあります。ここでいうライフサイクルは、アプリケーションの処理が実行されるにつれ、アプリケーションの内外との情報のやりとりで生じる大局的な状態の変化のことです。アプリケーションが並行処理を行うようなものであれば、個々の並行処理の単位

                        Goのロギングライブラリ 2021年冬 - moriyoshiの日記
                      • Rustでサイトを再実装

                        このサイト r7kamura.com の実装言語をRubyからRustに変えてみた。 アプリケーションの概観 このサイトには、大別すると次の6種類のルーティングパターンがある。 GET / トップページ GET /articles/:article_id 記事ページ GET /feed.xml RSSフィード GET /links リンク集 GET /sitemap.txt サイトマップ (Google Search Console等が利用する) GET /* その他の静的ファイル (CSSや画像など) Rubyの実装では、適当なRackアプリケーション + rack-captureという構成で、Webアプリケーションとして実装しつつGitHub Pagesのために静的ファイルも吐き出せるという仕組みになっていた。 Rustの実装もほぼ同じで、適当なHTTPサーバー + 適当なHTTPクラ

                          Rustでサイトを再実装
                        • プロと読み解く Ruby 3.0 NEWS - クックパッド開発者ブログ

                          技術部の笹田(ko1)と遠藤(mame)です。クックパッドで Ruby (MRI: Matz Ruby Implementation、いわゆる ruby コマンド) の開発をしています。お金をもらって Ruby を開発しているのでプロの Ruby コミッタです。 本日 12/25 に、ついに Ruby 3.0.0 がリリースされました。一昨年、昨年に続き、今年も Ruby 3.0 の NEWS.md ファイルの解説をします。NEWS ファイルとは何か、は一昨年の記事を見てください(なお Ruby 3.0.0 から、NEWS.md にファイル名を変えました)。 プロと読み解く Ruby 2.6 NEWS ファイル - クックパッド開発者ブログ プロと読み解くRuby 2.7 NEWS - クックパッド開発者ブログ Ruby 3.0 は、Ruby にとってほぼ 8 年ぶりのメジャーバージョンア

                            プロと読み解く Ruby 3.0 NEWS - クックパッド開発者ブログ
                          • プロと読み解くRuby 2.7 NEWS - クックパッド開発者ブログ

                            技術部の笹田(ko1)と遠藤(mame)です。クックパッドで Ruby (MRI: Matz Ruby Implementation、いわゆる ruby コマンド) の開発をしています。お金をもらって Ruby を開発しているのでプロの Ruby コミッタです。 去年の記事「プロと読み解く Ruby 2.6 NEWS ファイル」に続き、今年も本日 12/25 リリース予定の Ruby 2.7 の NEWS ファイルの解説をしてみようと思います。NEWS ファイルとは何か、というのは去年の記事を見て下さい。 実は最近、NEWS ファイルを読みやすくしよう、と例を入れたりしていて、以前のものに比べて読みやすくはなっています(英語だけど)。記事中のコードも、NEWS ファイルから引用しているものがあります。本記事では、変更の解説に加え、執筆者らが開発に携わっているということを活かして、「なぜ変更

                              プロと読み解くRuby 2.7 NEWS - クックパッド開発者ブログ
                            • ターミナルでSlackを読む - 詩と創作・思索のひろば

                              Slackはそのクライアントがそれなりに、かなりよくできていて、これでほとんど困ることはないんだけど、そうは言ってももうちょっとプログラマブルに取り扱いたいこともある。 そういう場合にもよいAPIが用意されていて、Real Time Messaging API ってのがある。こいつはWebSocketでSlackの発言をはじめ、あらゆるイベントのJSONを送りつけてくれるやつ。ひとまずこれを標準出力に流すことができれば、あとは好きに料理できるはずだ。 というわけで作ったのがこちら。書いたことなかったのでRustです。ちょうどいいネタだった。 GitHub - motemen/slack-stream-json slack-stream-json というバイナリが、SLACK_TOKEN 環境変数を設定した上で起動してやると、RTM APIによって得られたイベントのJSONをそのまま標準出力

                                ターミナルでSlackを読む - 詩と創作・思索のひろば
                              • コマンドラインからウィンドウの制御が可能になったWindows Terminal v1.7 (1/2)

                                プレビュー版はv1.7まで進んだWindows Terminal Windows Terminalは、3月に入り、通常版のv1.6、プレビュー版ではv1.7の配付が始まった。v1.6のプレビュー版では、GUI設定ページが搭載されたが、まだプレビューのプレビューという感じで、キー割り当てなどをしないとGUI設定ページを出せなかった。 しかし、プレビュー版v1.7では、従来settings.jsonを開くキー割り当てである「Ctrl+,」でGUI設定ページが開くようになり、どうやら“プレビューのプレビュー”からただの“プレビュー”になったようである。これにともない、キー割り当てを表示するタブが追加された。ただし、キー割り当ては、まだsettings.jsonでする必要があるようだ。 しかし、v1.7には、それ以外にもいくつもの新機能が搭載された。ここでは、これらをまとめて解説する。なお、v1.

                                  コマンドラインからウィンドウの制御が可能になったWindows Terminal v1.7 (1/2)
                                • Terraform を使用するためのベスト プラクティス  |  Google Cloud

                                  フィードバックを送信 Terraform を使用するためのベスト プラクティス コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。 このドキュメントでは、複数のチームメンバーやワーク ストリームで Terraform を使用した効果的な開発を行うためのガイドラインと推奨事項について説明します。 このガイドでは Terraform の概要は説明しません。Google Cloud で Terraform を使用する方法については、Terraform を使ってみるをご覧ください。 スタイルと構造に関する一般的なガイドライン 以下の推奨事項は、Terraform 構成の基本スタイルと構造を対象としています。この推奨事項は、再利用可能な Terraform モジュールとルート構成に適用されます。 標準のモジュール構造に従う Terraform モジュールは、標準のモジュ

                                    Terraform を使用するためのベスト プラクティス  |  Google Cloud
                                  • Linuxシステムの勉強に役立つコマンドの紹介 - セキュアスカイプラス

                                    こんにちは、SSTでWeb脆弱性診断用のツール(スキャンツール)開発をしている坂本(Twitter, GitHub)です。 先日の記事では Linux のネットワークインターフェイス名を出発点として systemd や udev について調査しました。 どうやって調査したかというと、 検索キーワードをあれこれ試してみて、見つかった記事から気になるコマンドや設定ファイルがあれば、実際の内容を確認し、 そこからmanページを辿ってパッケージ情報にさかのぼり、パッケージがインストールした他のコマンドや設定ファイルの一覧から構成を把握し、 さらに関連するコマンドや設定ファイルをmanページで辿って・・・ というサイクルを繰り返しました。 時には同じmanページを数度に渡って辿り直し、読み直したりして自分の中の情報を整理しました。 読者の皆様は、そのような時どうされますか? 初めて触るLinuxディ

                                      Linuxシステムの勉強に役立つコマンドの紹介 - セキュアスカイプラス
                                    • DNS パケット欠落のケース: Google Cloud サポート ストーリー

                                      ※この投稿は米国時間 2020 年 5 月 12 日に、Google Cloud blog に投稿されたものの抄訳です。 編集者注: Google Cloud テクニカル ソリューション エンジニア(TSE)がサポートケースにどのように取り組んでいるか気になったことはありますか?TSE はお客様から報告された問題の技術的な根本原因のトラブルシューティングと特定を担当するサポート エンジニアです。かなりシンプルな問題もありますが、数名の専任エンジニアによるトラブルシューティングを必要とするサポート チケットがたまに送信されることがあります。このブログ投稿では、Google Cloud テクニカル ソリューション エンジニアから聞いた、最近解決した特に厄介なサポートケース(DNS パケットが欠落する問題)についてご紹介します。トラブルシューティングの過程で収集した情報と、どのように方法を推論し

                                        DNS パケット欠落のケース: Google Cloud サポート ストーリー
                                      • プロと読み解く Ruby 3.1 NEWS - クックパッド開発者ブログ

                                        技術部の笹田(ko1)と遠藤(mame)です。クックパッドで Ruby (MRI: Matz Ruby Implementation、いわゆる ruby コマンド) の開発をしています。お金をもらって Ruby を開発しているのでプロの Ruby コミッタです。 本日 12/25 に、ついに Ruby 3.1.0 がリリースされました(Ruby 3.1.0 リリース )。今年も Ruby 3.1 の NEWS.md ファイルの解説をします。NEWS ファイルとは何か、は以前の記事を見てください。 プロと読み解く Ruby 2.6 NEWS ファイル - クックパッド開発者ブログ プロと読み解くRuby 2.7 NEWS - クックパッド開発者ブログ プロと読み解くRuby 3.0 NEWS - クックパッド開発者ブログ 本記事は新機能を解説することもさることながら、変更が入った背景や苦労な

                                          プロと読み解く Ruby 3.1 NEWS - クックパッド開発者ブログ
                                        • WSL(Windows Subsystem for Linux)がMicrosoftストア版に一本化される

                                          Microsoftストア版WSL(Windows Subsystem for Linux)が正式版になった話は、昨年11月に記事にしているが(「Microsoftストア版WSLが正式版になり、Windows 10でも動作可能に」)、現在配布中のWindows Insider Programのプレビュービルド25727では、WSLがWindowsのインストールイメージから外された。つまり、今後はWSLはMicrosoftストア版のみとなる。 ただし、実際にWSLが含まれないWindowsの配布が始まるのは早くても、今秋のアップデート以降。つまり、現状のWindows 10/11のユーザーは特に何もする必要がない。また、WSLのインストール方法が変わるのも、やはりその今秋のアップデート以降の話だ。 ただし、現在WSLを利用しているユーザーは、wsl.exeがアップデートされ、今後はWSLをアッ

                                            WSL(Windows Subsystem for Linux)がMicrosoftストア版に一本化される
                                          • なぜシェルスクリプトはPOSIX準拠でも環境依存が激しいのか? 〜POSIXの問題点とその解決策の案〜 - Qiita

                                            なぜシェルスクリプトはPOSIX準拠でも環境依存が激しいのか? 〜POSIXの問題点とその解決策の案〜ShellScriptBashshellPOSIX まえがき この記事は「シェルスクリプトで高い移植性と生産性を両立させるシリーズ」の第一弾です。移植性と生産性を両立させるための前提知識として POSIX コマンドの問題点について解説します。第二弾では高い移植性と互換性を実現させるための考え方、そして第三弾、第四弾ではそれを実現するシェルスクリプトの具体的な実装テクニックを紹介します。第五弾では現実的な問題と回避方法について解説する予定ですがまだ具体的な内容は決まっていません。第五弾はその前に「シェルスクリプト入門(仮)」の記事を書こうと思ってるので少し遅くなると思います。もし興味がある方は記事をストックしていると更新時に通知されると思います。 2021-07-11 追記 記事が長くなった

                                              なぜシェルスクリプトはPOSIX準拠でも環境依存が激しいのか? 〜POSIXの問題点とその解決策の案〜 - Qiita
                                            • プロと読み解くRuby 3.3 NEWS - STORES Product Blog

                                              テクノロジー部門CTO室の笹田(ko1)と遠藤(mame)です。今年の 9 月から STORES 株式会社で Ruby (MRI: Matz Ruby Implementation、いわゆる ruby コマンド) の開発をしています(Rubyのこれからを STORES で作る。Rubyコミッター笹田さん、遠藤さんにCTOがきく「Fun」|STORES People )。お金をもらって Ruby を開発しているのでプロの Ruby コミッタです。 本日 12/25 に、恒例のクリスマスリリースとして、Ruby 3.3.0 がリリースされました(Ruby 3.3.0 リリース)。クックパッド開発者ブログで連載していたように、今年も STORES Product Blog にて Ruby 3.3 の NEWS.md ファイルの解説をします(ちなみに、STORES Advent Calendar

                                                プロと読み解くRuby 3.3 NEWS - STORES Product Blog
                                              • Linuxだけで作れる!私の超快適な開発環境を紹介する話 - paiza times

                                                Photo by Eduardo QuagliatoFollow もじゃ(@s10akir)です。paizaラーニングでプログラミング学習動画制作のアルバイトをしたりバイト中にアニメを見たりしている専門学生です。(今は主にまちカドまぞくを見ています) 私がpaizaラーニングでアニメを見始めてから…もといアルバイトを始めてから、早いもので1年強が経過しました。 実は私はアルバイトのくせに業務では私物マシンのArchLinuxを使っているので、今回は私の開発環境のご紹介と「ぶっちゃけLinuxだけで仕事できるの?どうやってやるの?」というお話をいたします。 (当然ですがこれは私がみずから望んでやっていることで、普通にバイトする人には会社がMacも開発環境も用意してくれます。) ちなみにpaizaラーニングでは「Linux入門編」を公開していますから、私の話に興味はないけどLinuxには興味が

                                                  Linuxだけで作れる!私の超快適な開発環境を紹介する話 - paiza times
                                                • 私が Deno にコントリビュートする理由

                                                  私が Deno にコントリビュートする理由 2018 年 6 月の JSConf EU で Deno が初めて発表されてから 1 年が経ちました. 日本では 2018 年 12 月ごろから Deno の周辺で作業をする人が増え, 2019 年 1 月頃から定期的に Deno もくもく会 #deno_ja が開催されるようになりました. #deno_ja では毎回, 冒頭で簡単な自己紹介をするのですが, よくよく聞いていると早く Deno を始めた人でも 12 月ぐらいの人が多いことに気づきました. 自分だけが Deno 公開直後の 5 月からコントリビュートしています. そして, なぜその時期から Deno にコントリビュートしているのか, #deno_ja の中でも自分からあまり説明できていないことに気がつきました. この記事は, なぜ自分がそこまで Deno にコントリビュートするのか

                                                    私が Deno にコントリビュートする理由
                                                  • オープンソースプログラミング言語zigまとめ - Qiita

                                                    WebAssemblyのモジュール記述のためのプログラミング言語を調べていると、比較的新しいオープンソースのプログラミング言語zigがWebAssemblyモジュールを書くのに適している感じだったので、ソースコードを書いて動かしながら調べたことについて、コードに出ている順で並べています。 この文章中で用いているソースコードはmacOSやlinux上でビルド可能な状態で以下のURLにおいてあります: https://gist.github.com/bellbind/3c52ea6e506656701c9b7ff00a8599fa Qiitaは現時点でzigコードのシンタックスハイライトに未対応であり視認性がよくないですが、githubではzigコードでもシンタックスハイライトされます。 0. プログラミング言語zigについて オープンソースのプログラミング言語zigは、以下のURLで公開され

                                                      オープンソースプログラミング言語zigまとめ - Qiita
                                                    • ファイルをお手軽に暗号化したい! – openssl cms のススメ | IIJ Engineers Blog

                                                      はじめに 今回は、IIJ Engineers Blog編集部より、IIJ社内の雰囲気が少し垣間見えるような記事をお送りします。 IIJの社内掲示板では、エンジニアのちょっとした技術ネタが好評となって多くのコメントが付いたり、お役立ち情報が掲載されています。 そんな書き込みを眺めては、 「社内だけに留めておくのはもったいない。きっとこういった情報を欲している人もいるはず!」 と思い、編集部が社内掲示板からチョイスしたものを記事にしてみました。 今回紹介するのは「手軽にファイルを暗号化 - openssl cms」 手軽にファイルを暗号化する手法のひとつとして openssl cms を紹介します。 どうぞご覧ください! みなさん、機密情報を USB メモリを介して受け渡したり、ネットワークを介してコピーしたいとき、どうやって暗号化していますか? “gpg” を思い付いたあなた。エントロピーが

                                                        ファイルをお手軽に暗号化したい! – openssl cms のススメ | IIJ Engineers Blog
                                                      • 2023パズル をRustで解いてみる - すぎゃーんメモ

                                                        tkihiraさんの問題が面白そうだったので挑戦してみた。 2023年クイズ! 上の例のように、数字の合間に四則演算(+−×÷)や括弧を入れることで、2023 を作ってください。 - 数字の間に必ず演算子を 1 つ入れてください - ただし 9 と 8 の間には既に ÷ が入っています - 括弧は複数重ねて使用できます - 10×(-9 ÷ 8) のようなマイナス記号の使用は禁止です pic.twitter.com/K0w2miMXJA— Takuo Kihira (@tkihira) December 31, 2022 既に解説記事が出ているので解答はこちらをどうぞ。 nmi.jp 結局自分は自力では解けなくて 他の人の解法や上記の解説記事を読んでようやくできた、のだけど… 自分なりに理解して改めてRustで実装してみた。 RPN(逆ポーランド記法)の backtracking 探索の高

                                                          2023パズル をRustで解いてみる - すぎゃーんメモ
                                                        • Goで作ったロジックにWebUIをつけてGitHubページに公開する | フューチャー技術ブログ

                                                          ちょっとしたツールをGoで作ってみたのですが、わざわざインストールしなくてもいいようにWebのUIをつけてブラウザで使えるようにしてみました。作ってみたのは以下のツールで、Markdownのリスト形式でざっと下書きしたテーブルの設計をSQLとか、PlantUMLとかMermaid.js形式のERDの図にします。 https://shibukawa.github.io/md2sql/ ウェブフロントエンド部分はNext.jsの静的サイトで、GoはWASMにしてロードして実行しています。WASMを使うのは初めてなのであえて選んでみました。 GoをWASM化するもともとCLIツールは作っておりました。CLIのメインはcmd/md2sql/main.goで作っていました。この中でやっていることは kingpin.v2のオプションパース 指定されたファイルを読み込み(あるいは標準入力) パース 指定

                                                          • 軽量な Go 製カラムナフォーマット変換ツール columnify を作った話 - Repro Tech Blog

                                                            こんにちは。業務委託として SRE チームのお手伝いをしている @syucream です。 本記事では Repro にて開発した、 Go 製のカラムナフォーマットへのデータ変換ツール columnify について、開発背景や技術的な取り組みを紹介します。 なぜカラムナフォーマットか? ことのおこり 事業がスケールすると共に扱うログの量が増えることは、喜ばしい反面さまざまな悩みをもたらします。その中でも顕著なものの一つとしてコストの問題が挙げられます。 膨大なログデータはログに対するストレージ料金を増大させると共に、分析や可視化に際してクエリで求められるコンピュートのコストも無視できなくなっていきます。 近頃 Repro でもコンテナのログの管理においてこの問題が顕著になってきました。Repro のバックエンドシステムは ECS 上のコンテナで実現され、ログの閲覧・管理のため外部のログ収集サ

                                                              軽量な Go 製カラムナフォーマット変換ツール columnify を作った話 - Repro Tech Blog
                                                            • 機能的にはほぼ完成されたWindows 10の新コンソール、Windows Terminal v0.9 (1/2)

                                                              2月にWindows Terminalのプレビュー版、v0.9.433.0(以下、v0.9)が公開された。今回の改良点ではコマンドラインが実装され、ここからWindows Terminalの挙動を制御できるようになった。これにより、エクスプローラーに装備されている「ここでPowerShellを開く」といったコンテキストメニューの登録や、標準以外のプロファイルで起動するショートカットなどをスタートメニューやタスクバーに登録できるようになった。 とは言え、Windows Terminalは、まだプレビュー版である。現時点でも、公開されているドキュメントや資料などと挙動が違う部分などがある。Ver.1.0の完成は今年4月を予定しているが、今回のv0.9でほぼ完成版と同じ仕様が実装され、以後は大きな機能追加はなく、バグフィックスや品質向上がメインになるようだ。 Windows Terminal v

                                                                機能的にはほぼ完成されたWindows 10の新コンソール、Windows Terminal v0.9 (1/2)
                                                              • 「Rubyは落ちるか、伸びるかの岐路に立っている」 まつもとゆきひろ氏が語る、30年後に向けた生存戦略

                                                                プログラミング言語「Ruby」の国内最大のビジネスカンファレンス「RubyWorld Conference」。Rubyの先進的な利用事例や最新の技術動向、開発者教育の状況などの情報を発信することで、「Rubyのエコシステム(生態系)」を知ることができる場として開催します。ここで登壇したのは、Rubyアソシエーション 理事長のまつもとゆきひろ氏。プログラミング言語の過去、歴史から学ぶ教訓について発表しました。全4回。4回目は、Rubyコミュニティが生存するために必要なことについて。前回はこちら。 Rubyコミュニティが生存するためには何が必要か まつもとゆきひろ氏(以下、まつもと):さて、これらの教訓をもとに、Rubyの未来はどうなるかについて考えてみましょう。 教訓をもう1回まとめておきますね。アイデアだけでは、価値がない。単純さは、いつもいいこととは限らない。仕様が大きいことは、いつもい

                                                                  「Rubyは落ちるか、伸びるかの岐路に立っている」 まつもとゆきひろ氏が語る、30年後に向けた生存戦略
                                                                • 「単一のアカウントを分けたい」「CI/CDを簡単にやりたい」 スタートアップに“あるある”のAWS相談の解決策

                                                                  今押さえておくべき知識をアップデートし、ノウハウを共有し、さらなるスキルアップを実現する場として開催されている、AWS で最も Developer に特化したカンファレンス「AWS Dev Day Online Japan」。ここで、「[AWS Startup ゼミ]よくある課題を一気に解説!御社の技術レベルがアップする 2021」をテーマに、松田氏と齋藤氏が登壇。まずは、「単一のAWSアカウントを分けたい」「CI/CDを簡単にやりたい」という2つの要望に対する解決方法を紹介します。 自己紹介 松田和樹氏(以下、松田):「[AWS Startup ゼミ]よくある課題を一気に解説!御社の技術レベルがアップする 2021」秋期講習と題して、私と齋藤の2名でお届けします。 最初に自己紹介を簡単にします。私は松田と言います。ふだんはスタートアップ企業専任のソリューションアーキテクトとして、スタート

                                                                    「単一のアカウントを分けたい」「CI/CDを簡単にやりたい」 スタートアップに“あるある”のAWS相談の解決策
                                                                  • Markdownで書籍を作るとは - golden-luckyの日記

                                                                    昨日まで何回かにわたり、多様なドキュメント形式の変換アプリケーションであるPandocのコアとなる仕組みを説明してきました。 特に、Pandoc構造とそれを生成するReader、生成されたPandoc構造を変換するPandocフィルターについて、少し時間をかけて紹介しました。 では、PandocのReaderとフィルターについて理解したところで、Pandocを使って本は作れるでしょうか? いままでの説明には登場しませんでしたが、Pandocの出力側を担うWriterには、「PDF生成のためのLaTeX Writer」や「EPUB Writer」など、「本」を作るのに使えそうなものがあります。 それらWriterを制御するためのコマンドラインオプションはいろいろ用意されており、独自のテンプレートを指定することも可能です。 ただ正直なところ、これらのWriterは、吊るしの状態では売り物の本を

                                                                      Markdownで書籍を作るとは - golden-luckyの日記
                                                                    • ARM64 版 Windows 11 で動作する dd + gzip 自作ツール (物理ディスクのイメージ化 + リストア、Linux の dd + gzip 互換) の提供 - Qiita

                                                                      ARM64 版 Windows 11 で動作する dd + gzip 自作ツール (物理ディスクのイメージ化 + リストア、Linux の dd + gzip 互換) の提供WindowsC#Win32APIarm64Windows11 by 登 大遊, 2022/11/18, Quiita 初投稿記事 Microsoft 製 「Windows Dev Kit 2023」(Windows ARM64 開発キット、32 GB LPDDR4x RAM、512GB SSD) というハードウェアは、実に玄人志向であります。素人には、お勧めできません。なぜならば、PC 利用における極めて基本的な操作 (ディスクイメージの dd + gzip 的なバックアップ、復元) をするために必要な ARM64 版 dd ツールが (見渡す限り) 存在しないのです。そのため、自分でプログラミングして作る必要があり

                                                                        ARM64 版 Windows 11 で動作する dd + gzip 自作ツール (物理ディスクのイメージ化 + リストア、Linux の dd + gzip 互換) の提供 - Qiita
                                                                      • Ruby 3.1はここに注目! 新しいJITとは? デバッガ、エラーメッセージ、そして未来! リリースマネージャーに聞いた |ハイクラス転職・求人情報サイト AMBI(アンビ)

                                                                        Ruby 3.1はここに注目! 新しいJITとは? デバッガ、エラーメッセージ、そして未来! リリースマネージャーに聞いた 2021年12月25日にリリースされたばかりのRuby 3.1では、どのような機能がどういった経緯で採用されているのでしょう。リリースマネージャーのnaruseさんと、フルタイムコミッターのmameさん、ko1さんに詳しくうかがいました。 プログラミング言語Rubyでは2013年の2.1.0以降、毎年クリスマス(12月25日)にメジャーバージョンアップが行われています。2021年も無事にバージョン3.1.0がリリースされました。 ▶ Ruby 3.1.0 リリース Ruby 3.1は、言語機能の面では全体的に穏やかなリリースにも見えますが、新しい方式のJIT(just in time)コンパイラ、標準の新デバッガー、事前アナウンスでも好評だったエラーメッセージの改善な

                                                                          Ruby 3.1はここに注目! 新しいJITとは? デバッガ、エラーメッセージ、そして未来! リリースマネージャーに聞いた |ハイクラス転職・求人情報サイト AMBI(アンビ)
                                                                        • 正式版が登場したWindows Terminalをカスタマイズする (1/2)

                                                                          Windows Terminal v1.0が公開されている。これが最初の正式版になるので、今回は正式となった設定の内容に関して解説する。なお、過去にもWindows Terminalの設定については解説したが、プレビュー版であったため、正式版とは異なる部分がある。このため、過去記事を参照する場合には、この点に注意いただきたい。 今回は、Windows Terminalの設定のうち、全体の設定にあたる「グローバル設定」と「プロファイル設定」について解説する。Windows Terminalの設定ファイル「settings.json」には、このほか「カラースキーマ設定」と「キー割り当て設定」があるが、これについては次回解説する予定だ。 Windows Terminalの設定をうまく使うとcmd.exeでバッチファイルを起動して環境設定するなど、さまざまなやり方で「シェル」を起動できるようになる

                                                                            正式版が登場したWindows Terminalをカスタマイズする (1/2)
                                                                          • 脆弱性にIDを割り振って管理する「CVE」のシステムには欠陥があるという指摘

                                                                            情報セキュリティの欠陥となる脆弱(ぜいじゃく)性が発見されると、CVE(Common Vulnerabilities and Exposures:共通脆弱性識別子)という識別IDが与えられ、重大度が評価された上でリスト化されます。このCVEのシステムに大きな問題があると、転送ライブラリであるcURLのメンテナーであるダニエル・ステンバーグ氏が自身のブログで疑問を提起しています。 CVE-2020-19909 is everything that is wrong with CVEs | daniel.haxx.se https://daniel.haxx.se/blog/2023/08/26/cve-2020-19909-is-everything-that-is-wrong-with-cves/ 2023年8月25日、ステンバーグ氏はcURLのメーリングリストで、「最近cURL関連の脆弱

                                                                              脆弱性にIDを割り振って管理する「CVE」のシステムには欠陥があるという指摘
                                                                            • 即席負荷試験ツールを実装するためのライブラリを作りました

                                                                              モチベーション 世の中には様々な負荷試験ツールがあり、それらは大概シナリオを組めたり複数ノードからリクエストを送れたりと高機能です。無論それは素晴らしいことなのですが 新しく実装したAPIで目標RPSを達しているかざっくり確認したい インデックスの追加前後でパフォーマンスに大きな影響が出ないか見てみたい 等といったシンプルな要件においてはセットアップ諸々の手間を考慮すると少々億劫な面があると思います。かといって自分で即席ツールを実装しようとすると 試験パラメーター取得処理 パフォーマンスを意識した実装 並行処理の排他制御 統計情報の出力 等々地味に面倒な実装が多くこちらもそれなりの労力を要します。或いはもっと簡便な試験ツールを使おうとすると微妙に痒いところに手が届かなかったりもするでしょう。 こうしたケースで簡単に負荷試験ツールを実装できるライブラリがあればもっと気軽に負荷試験を行え便利な

                                                                                即席負荷試験ツールを実装するためのライブラリを作りました
                                                                              • argopt: Rust向けの宣言的なコマンドライン引数パーザー - 純粋関数型雑記帳

                                                                                TL;DR 簡潔で直感的に扱える、宣言的なRust向けのコマンドライン引数パーザーを作りました。 https://crates.io/crates/argopt モチベーション Rustにstructoptというライブラリがあります。これはコマンドライン引数をパーズするライブラリなんですが、僕はこのライブラリが大好きなんです。Rustのライブラリの中で一二を争うほど好きです。なんならコマンドラインツールをRustを書く理由の大部分がこのライブラリの存在といっても過言ではないかもしれません(過言ですけど)。 しかしstructoptも使い続けていると、どうにももっと便利にできるんじゃないのかと思う部分が出てきます。structoptでは名前の通りコマンドライン引数をstructで定義して、それに#[derive(StructOpt)] とStructOptをderiveすることでパーザーのコ

                                                                                  argopt: Rust向けの宣言的なコマンドライン引数パーザー - 純粋関数型雑記帳
                                                                                • 第784回 Sniffnetやbandwhichでネットワークの流量と宛先を簡単に確認する | gihyo.jp

                                                                                  本連載を読むような人なら、インターネットはある種の生命線になっていることでしょう。普段から様々なネットワーク通信ソフトウェアにお世話になっているはずです。ある日突然、通信が遅くなった、何かが負荷をかけているかもしれない、今回はそんな状況を気軽に調べられるRust製のGUIアプリケーション「Sniffnet」とCLIツール「bandwhich」について紹介します。 Rust製の高速なネットワークモニタリングツールであるSniffnet ネットワークに接続されたコンピューター上のソフトウェアは、日々何らかのマシンと通信を行っていることが一般的です。特にデスクトップマシンなら、ソフトウェアのアップデートやDHCPによるアドレスの確保、arp/neighに対する応答などなど、ユーザーが「何もしていなくても⁠」⁠、なにがしかの通信は行われています。 これはコンピューターでの作業中も同じで、何気なくブ

                                                                                    第784回 Sniffnetやbandwhichでネットワークの流量と宛先を簡単に確認する | gihyo.jp