並び順

ブックマーク数

期間指定

  • から
  • まで

81 - 120 件 / 4940件

新着順 人気順

Splitの検索結果81 - 120 件 / 4940件

  • GitLabで1クリックアカウント乗っ取りが可能だった脆弱性から学ぶ、OpenID Connect実装の注意点 - Flatt Security Blog

    はじめに こんにちは。株式会社Flatt Securityセキュリティエンジニアの森(@ei01241)です。 最近は認証や認可に際してOpenID Connectを使うWebサービスが増えていると思います。「Googleアカウント/Twitter/Facebookでログイン」などのUIはあらゆるサービスで見かけると思います。しかし、OpenID Connectの仕様をよく理解せずに不適切な実装を行うと脆弱性を埋め込むことがあります。 そこで、突然ですがクイズです。以下のTweetをご覧ください。 ⚡️突然ですがクイズです!⚡️ 以下の画面はOAuth 2.0 Best Practice上は推奨されないような実装になっており、潜在的リスクがあります。https://t.co/bXGWktj5fx どのようなリスクが潜んでいるか、ぜひ考えてみてください。このリスクを用いた攻撃についての解説記

      GitLabで1クリックアカウント乗っ取りが可能だった脆弱性から学ぶ、OpenID Connect実装の注意点 - Flatt Security Blog
    • OpenAI Function callingで複雑なタスクを簡単に実現 - Qiita

      Function callingの登場 6/13ごろにOpenAI社から発表された新しいgpt-3.5-turboのインスタンスにFunction callingという機能が追加され話題を呼んでいます。このFunction calling、非常に強力な機能なのですが、仕組みがいまいちピンとこないといった方も多いのではないでしょうか。筆者もその一人で、ドキュメントを3回くらい読んでもしっくり来なかったのですが、実際にFunction callingを実装してみてなるほど、これは凄いな、となったので紹介します。 ここでは、具体的なソースコードを紹介しながら、実際に動作するサンプルを作っていきます。 TL;DR ソースコードだけ見られればいい!という方は以下へ https://github.com/canada/openai-function/blob/master/app.py ソースコードを

        OpenAI Function callingで複雑なタスクを簡単に実現 - Qiita
      • はてなブログの DB を RDS for MySQL 8.0 にアップグレードした話 - Hatena Developer Blog

        この記事は、はてなエンジニア Advent Calendar 2023の2024年1月17日の記事です。 はてなエンジニア Advent Calendar 2023 - Hatena Developer Blog id:hagihala です。先日、はてなブログの DB を RDS for MySQL 5.7 から 8.0 へアップグレードしたので、工夫した点などを共有します。 Aurora MySQL 3.x にしなかった理由 MySQL 5.7 -> 8.0 で対応した変更点 character set や collation のデフォルトが変更される explicit_defaults_for_timestamp がデフォルトで有効になる SQL mode の変更 デフォルトの認証プラグインが caching_sha2_password になり、 mysql_native_passw

          はてなブログの DB を RDS for MySQL 8.0 にアップグレードした話 - Hatena Developer Blog
        • 👻 GhostText — Use your text editor in the browser

          • Use your text editor in the browser Whenever you’re writing more than a little snippet of code anywhere on the web, activate GhostText to open your preferred text editor and enjoy your own development environment. Installation GhostText is a browser extension that connects to your editor via its own extension. Install both extensions and, if necessary, start the GhostText server in the editor’s

            👻 GhostText — Use your text editor in the browser
          • 最新の論文をChatGPTで要約して毎朝Slackに共有してくれるbotを作る!

            研究室のSlackチャンネルに最新の論文を共有してくれるbotがあれば、議論をもっと活発化できるのでは?と思ったので試しに作ってみました! 目標 こんな感じで、時間通りにarxiv論文を要約したものをシェアしてくれるSlackbotを作ります。 手順 SlackBotのためのAPIトークンを生成 OpenAIのAPIを取得 Pythonコードを作成 Google Cloud Platform(GCP)で実行を自動化 完成! 1. SlackBotのためのAPIトークンを生成 Slack APIのページからbotを作成する必要があります。 この方の記事で詳しいやり方が紹介されているので、参考にしながらアプリ作成、APIトークン生成、ワークスペースにアプリをインストール、メッセージ送信のテストまでやってみてください。 2. OpenAIのAPIを取得 今回は取得した論文を要約するために、Cha

              最新の論文をChatGPTで要約して毎朝Slackに共有してくれるbotを作る!
            • Building Protocols with HTTP

              Workgroup: HTTP Internet-Draft: draft-ietf-httpbis-bcp56bis Obsoletes: 3205 (if approved) Published: 22 March 2022 Intended Status: Best Current Practice Expires: 23 September 2022 Author: Building Protocols with HTTP Abstract Applications often use HTTP as a substrate to create HTTP-based APIs. This document specifies best practices for writing specifications that use HTTP to define new applicati

              • 契約書の差分比較をGPT-3を使って自動化する - Qiita

                こんにちは!逆瀬川 ( https://twitter.com/gyakuse ) です! 今日は契約書の更新差分の比較をGPT-3とGoogle Document AIを使ってやってみたいと思います。 概要 異なるバージョンの契約書をPDF解析システムとGPT-3を使って自動的に比較し、リスクなどの検討も自動で出力する仕組みを作る。 Colab 使い方 Document AIの準備 (作成方法など詳しくは後述) Google CloudのDocument AIでプロセッサを作成する プロセッサ一覧から作成したプロセッサを選び、予測エンドポイントをコピーする https://console.cloud.google.com/ai/document-ai/processors json形式のAPIキーファイルをダウンロードしておく OpenAI APIキーの準備 すべてのセルを実行 比較した

                  契約書の差分比較をGPT-3を使って自動化する - Qiita
                • 秘密情報には出どころも書いてくれ!頼む! - KAYAC engineers' blog

                  SREチームの長田です。 KAYAC Advent Calendar 2022の11日目の記事です。 アプリケーションから何かしらの外部サービスを利用するとき、そのサービスを利用するためのAPI Keyなり秘密鍵なりの秘密情報を保持することになります。 暗号化したものをファイルとしてアプリケーションに持たせたり、 Amazon Web Services(AWS)ならAWS Secrets Managerや AWS Systems ManagerのParameter Store(SSM Paramater Store)に保存したものを実行時に読み込んだりするでしょう。 これらの秘密情報、どこから来たのかわかりますか? どこから来た秘密情報なのか 秘密情報を使って出どころを調べられるのであれば問題はないでしょう。 # 例えばAWSのIAM User Credenntialsとか $ AWS_A

                    秘密情報には出どころも書いてくれ!頼む! - KAYAC engineers' blog
                  • Vimで本格的にWeb開発したい人の為のステップアップガイド

                    想定読者 この記事は「Vimって便利だけど、覚えたてだと局所的にしか使えなかったりして、実際に本格的にWeb開発するのは難しいし、モチベーションも続かないなあ…」という人のために書きました。 工夫した点 TODOサンプルアプリを用意して「Vimの設定適用 → リアルなコードを使って実際にVimを動かす」という感じで少しずつ便利になる体験をしながら実際のWeb開発でも使えるVimを使った操作や設定などを覚えていけるステップアップ構成 特定のプラグインを使うケースは類似プラグインを紹介し、他のプラグインも選択できるように。(これこそVimの楽しいところ。好きなものを好きなように自分で組み合わせて使う。) 注意点 Vimの説明になります(Neovimではありませんのでご注意ください)。 Vimはバージョン8.2を使っています。 Docker上のUbuntuでVimを動かす想定になっています。イン

                      Vimで本格的にWeb開発したい人の為のステップアップガイド
                    • Datadog メトリクスモニター作成入門

                      Datadog はモニタリング関連の SaaS ではおそらく最も利用されているサービスでしょうが、公式ドキュメントが豊富にある割には何から読み始めれば良いかわかりにくく、慣れるまでの道が険しい印象です。 本エントリーでは、Datadog が既に導入されている組織で、Datadog モニターを使って監視をしたいけど、モニターの設定方法がよくわからないといった方を対象に、メトリクスモニターの作成に焦点を絞って解説していきます。なお、あくまで Datadog の使い方についての解説であり、どのようなモニターを設定すべきかについては触れません。 メトリクスの収集についても触れたかったんですが、力尽きたので、メトリクスの収集については気が向いたら別エントリーを書きます。 アジェンダ メトリクスモニターの作成方法の基本 クエリの定義について クエリの評価期間・評価方法・アラート条件の指定 クエリの結果

                        Datadog メトリクスモニター作成入門
                      • アルミ削り出しの一体型キーボードをつくった - log.fstn

                        はじめに この記事は キーボード #1 Advent Calendar 2020 の7日目の記事です。6日目の記事は@hsgwさんのARMマイコンを使ったスプリットキーボードの作り方でした。 自作キーボードという文化が流行りだして数年経ち、はじめは一部のキーボード大好きっ子で盛り上がっていましたが、今ではだいぶ広い範囲まで文化が浸透してきたような気がしています。今の日本でのブームの源流がLet's SplitやHelixとすると、どちらかといえば製品としてのキーボードというより、電子工作に近いところからスタートしたと認識しています。ただ最近では海外のように高級志向なキーボードを買う方々を国内でもよく見るようになり、また違う流れを感じ始めました。 私自身も今までサンドイッチタイプのCorneキーボードから、徐々にアルミ削り出しのキーボードに興味を持つようになり、色々なキーボードを試すようにな

                          アルミ削り出しの一体型キーボードをつくった - log.fstn
                        • iPadOSの特徴となる機能10選。iOSとのちがいがよくわかります

                          iPadOSの特徴となる機能10選。iOSとのちがいがよくわかります2019.10.18 21:0097,239 David Nield - Gizmodo US [原文] ( 松浦悦子/Word Connection JAPAN ) iPadはもっぱらゲームと動画鑑賞にしか使っていないワタクシですが…。 なんでも、iOS 11からiPadでしか使えない機能が登場し、今やiPadで走るオペレーティングシステムは専用のiPadOSに。まったく別のOSになっているとか。このiPadOS(連続性の関係で、バージョンは13から始まりますが)のデビューを記念して、本日はiPhoneにはない、iPadだけのすばらしい機能を紹介します。 1. ホーム画面にウィジェットを追加できるImage: Gizmodo USiPadOSがAndroidになった!という雰囲気。ホーム画面の最初のページを右方向にスワイ

                            iPadOSの特徴となる機能10選。iOSとのちがいがよくわかります
                          • VPNにつなぐとWSL2でインターネットに繋がらない問題を解決する - Qiita

                            $ sudo apt-get update Ign:1 http://archive.ubuntu.com/ubuntu jammy InRelease Ign:2 http://security.ubuntu.com/ubuntu jammy-security InRelease Ign:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease Ign:2 http://security.ubuntu.com/ubuntu jammy-security InRelease Ign:4 http://archive.ubuntu.com/ubuntu jammy-backports InRelease Ign:2 http://security.ubuntu.com/ubuntu jammy-security InRelease

                              VPNにつなぐとWSL2でインターネットに繋がらない問題を解決する - Qiita
                            • TypeScriptでどこまで「関数型プログラミング」するか ─ 「手続き Haskell」から考察する - 一休.com Developers Blog

                              この記事は 一休.comのカレンダー | Advent Calendar 2023 - Qiita 10日目の記事です。 昨今は Web アプリケーション開発の世界でも、関数型プログラミングのエッセンスを取り入れるような機会が増えてきました。 とはいえ、一つのアプリケーションを 1 から 10 までがっちり関数型プログラミングで構成するというわけではなく、そのように書くこともあればそうでない従来からの手続き的スタイルで書くところもあるというのが現状で、どこまで関数型プログラミング的な手法を取り入れるかその塩梅もまちまちだと思います。まだ今はその過渡期という印象も受けます。 本稿ではこの辺りを少々考察してみたいと思います。 先日、Qiita Conference 2023 Autumn で以下のテーマで発表を行いました。 この発表では「関数型プログラミング最強!」という話をしたわけではなく、

                                TypeScriptでどこまで「関数型プログラミング」するか ─ 「手続き Haskell」から考察する - 一休.com Developers Blog
                              • Understanding how Facebook disappeared from the Internet

                                Understanding how Facebook disappeared from the Internet2021-10-04 This post is also available in 简体中文, 繁體中文, 日本語, 한국어, Deutsch, Français, Español, Português, Pусский, and Italiano. The Internet - A Network of Networks“Facebook can't be down, can it?”, we thought, for a second. Today at 15:51 UTC, we opened an internal incident entitled "Facebook DNS lookup returning SERVFAIL" because we were worr

                                  Understanding how Facebook disappeared from the Internet
                                • ローカルで動く大規模言語モデル(Rinna-3.6B)を使ってあなただけのAIパートナーを作ろう - Qiita

                                  はじめに はじめまして。株式会社ずんだもんのアルバイトエンジニアのinadaです。 今日は誰でも作れるずんだもんと題してローカルPCにずんだもんAIを作ります。この記事はそのチュートリアル記事です。 (誰でもと書いてますが、RTX 3060(12G)搭載以上のPC推奨です。CPUマシンでも出来る部分はありますが非推奨です。RTX 3060(12G)のグラボは5万ぐらいで買えるので持ってなければ買っちゃいましょう。) 対象読者/記事の範囲 ローカルPCで動かせる大規模言語モデルを、学習用のデータの用意から、学習、動かすところまで一通りどんなものか、お試ししてみたい人。 自分だけの世界にただ一人だけのうちの子、またはパートナー(うちの嫁)を作り育てたい。そんな沼にはまりたい、興味がある人。 AIの仕組みや用語は当記事では解説しません。AIの用語(モデル, loss, epoch, checkp

                                    ローカルで動く大規模言語モデル(Rinna-3.6B)を使ってあなただけのAIパートナーを作ろう - Qiita
                                  • C言語でSQLiteのクローンを作るチュートリアルやった - valid,invalid

                                    2019年12月の冬休みに1週間程かけて"Let's Build a Simple Database"という、C言語でSQLiteのクローンを作るチュートリアルをやりました。この存在を教えてくれた同僚に感謝 :pray: cstack.github.io チュートリアルの内容 Richard Feynman先生の“What I cannot create, I do not understand.”という言葉が掲げられているように、データベースを作ることでデータベースをより深く理解することに主眼が置かれているチュートリアルです。 これは重要事項説明かつタイトル詐欺に関する謝罪なのですが… 残念ながらこのチュートリアルは完成しておらず、Part 13が2017-11-26に公開されたのを最後に更新が止まってしまっており、以下の13章しかありません。 Part 1 - Introduction

                                      C言語でSQLiteのクローンを作るチュートリアルやった - valid,invalid
                                    • Google Workspaceのプライマリドメイン変更を実施しました - Pepabo Tech Portal

                                      こんにちは、ペパボのCorporate Engineering Group(以下CEG)でソフトウェアエンジニアをしている加治です。 CEGでは、主にペパボ社内で利用されている社内向けサービスの開発・運用・保守を行っています。運用・保守を行っているサービスの中にはSaaSも含まれています。そのSaaSの一つであり、ペパボでメインで使用されているオフィススイートであるGoogle Workspaceのプライマリドメインを変更したお話をします。 最初に、このお話のターゲットを明確にしておこうと思います。 これからプライマリドメインを変更したい情シス、コーポレートエンジニアなどの担当者 プライマリドメインを変更したことがあり、ペパボではどうだったのかな〜と気になった人 Google Workspaceの運用をしていて、プライマリドメインが事実上のメインのドメインと異なるときの影響を知っておきたい

                                        Google Workspaceのプライマリドメイン変更を実施しました - Pepabo Tech Portal
                                      • Wikipediaの前処理はもうやめて「Wiki-40B」を使う - Ahogrammer

                                        最近の自然言語処理では、大規模なテキストから単語の分散表現や言語モデルを学習させて使っています。学習する際のテキストとしては、分量や利用しやすさの都合からWikipediaが選ばれることが多いですが、その前処理は意外と面倒で時間のかかる作業です。そこで、本記事では比較的最近リリースされた前処理済みのデータセット「Wiki-40B」とその使い方を紹介します。 Wiki-40Bとは? Wiki-40Bは、40言語以上のWikipediaを前処理して作られたデータセットです。このデータセットは言語ごとに学習/検証/テスト用に分かれているので、単語分散表現や言語モデルの学習・評価に使えます。言語ごとの対応状況については、以下のページを参照するとよいでしょう。 wiki40b | TensorFlow Datasets 前処理としては、大きくは以下の2つに分けられます。 ページのフィルタリング ペー

                                          Wikipediaの前処理はもうやめて「Wiki-40B」を使う - Ahogrammer
                                        • awkが新しくなる!? 本家AwkがUnicode (UTF-8)とCSV対応に! - Qiita

                                          はじめに 2023年、長い時を経て awk がとうとう Unicode (UTF-8) と CSV に対応しました 🎉🎉🎉 awk で日本語がうまく扱えない(場合がある)、Excel が出力する CSV ファイルが扱えない(場合がある)、といった問題が解決に向けて一歩に進みます。 去年、本家 awk (One True Awk, nawk) に Unicode サポートが Brian Kernighan の手によって追加されたと話題になった(参照)ことを覚えているでしょうか? Brian Kernighan が誰だか知らない方がいるかもしれないので説明すると、オリジナルの awk の開発者の一人で awk の頭文字、Alfred Aho、Peter Weinberger、Brian Kernighan の一人です。通称「K&R」の「プログラミング言語C」や「プログラミング言語AWK」

                                            awkが新しくなる!? 本家AwkがUnicode (UTF-8)とCSV対応に! - Qiita
                                          • みちびき災危通報を受信するためにGNSS受信機を作った話

                                            前回の記事から約4年3ヶ月ぶりの投稿です... 定期的に文章を書かないと書けなくなってしまうので何か書かなければ...と思っていたら、ちょうどタイミングよくアドベントカレンダーの季節だったので 防災アプリ Advent Calendar 2022の7日目として参加させていただきます。 現在、日本からオーストラリアにかけての上空に「みちびき(初号機〜4号機、初号機後継機)」と命名された準天頂衛星(quasi-zenith satellites)が4機(待機運用中の初号機も合わせると5機)飛んでいます。 この衛星を利用した準天頂衛星システムみちびき(QZSS)は既存のGPSやGLONASSといった衛星測位システムを補完し、常時1機は日本から高仰角で見通せる位置に滞空するように設計されています。 高層ビルの多い都市部や山間部において低仰角を飛んでいるGPSをうまく捕捉できない場合でも高仰角を飛ぶ

                                              みちびき災危通報を受信するためにGNSS受信機を作った話
                                            • よくあるWeb制作の悩みをCSSで解決!最新テクニック40選まとめ

                                              この記事では、普段のホームページ制作で直面しがちな課題を解決するCSSテクニックをまとめて紹介しています。 クライアントからの要望も多いCSSの小技テクから、「これがCSSだけでできるの?」と疑いたくなるような最新の使い方まで、実例やサンプル用ソースコードと一緒に確認できます。 ここで紹介されているCSSテクニックを利用すれば、これまで頭を抱えていた問題や課題も、一発で解決できるかもしれません。 コンテンツ目次 1. 入力フォームをカスタマイズしたい 2. ナビゲーションメニューを使いやすくしたい 3. ボタンを目立たせたい 4. リンク用エフェクトにこだわりたい 5. スクロールバーをサイトの色で統一したい 6. ドロップシャドウの影にもこだわりを 7. グラデーションをビンテージ風にしたい 8. CSSで要素を中央寄せする5つの方法 9. ブラウザごとのデザインのずれを防ぎたい 10.

                                                よくあるWeb制作の悩みをCSSで解決!最新テクニック40選まとめ
                                              • Qiitaのスパム狩りをしたらAutoMLに仕事を奪われた件 - Qiita

                                                知っている人は知っていると思うが、Qiitaではたびたび大量のスパム記事が投稿されている。 深夜24~26時頃に記事一覧を確認してみて欲しい。 スパム記事がわんさか出てくるはず。 登録したてのQiitaユーザは不安よな。1 ———— @dcm_chida 動きます🧐 はじめに これはNTTドコモサービスイノベーション部AdventCalendar2019の1日目の記事です。 我々の部署では日頃から「KDDCUP2」や「論文読み会」に取り組んでおり、若手から中堅社員まで最先端の技術取得に励んでいます。 そうした活動をもっと外部へと発信していこうと始めたのがこのAdventCalendarです。社員一人一人が書いた記事を通して、少しでも多くの方に興味を持って頂ければ幸いです。 さて、僕は4年目社員ですがプログラミング初心者の頃から現在に至るまで、Qiitaにはかなりお世話になりました。 自分

                                                  Qiitaのスパム狩りをしたらAutoMLに仕事を奪われた件 - Qiita
                                                • Organizing a Go module - The Go Programming Language

                                                  A common question developers new to Go have is “How do I organize my Go project?”, in terms of the layout of files and folders. The goal of this document is to provide some guidelines that will help answer this question. To make the most of this document, make sure you’re familiar with the basics of Go modules by reading the tutorial and managing module source. Go projects can include packages, co

                                                    Organizing a Go module - The Go Programming Language
                                                  • 大阪都構想の投票結果を区ごとに分析してみた - Qiita

                                                    はじめに 私は現在大阪市に住んでおり、一昨日の都構想投票はテレビにかじりつきながら見ていました。 経過を見ていて思ったのが、区ごとの結果の差が顕著に出ており、分析対象として適したデータが得られそうだと感じたため、詳しく分析してみました。 ※下図はおおさか維新の会HP掲載の、都構想における新旧区分け GitHubに、使用したスクリプトやクレンジング後のデータをアップロードしています Qiitaのガイドラインにあるように、あくまで技術記事としての領分を超えないよう、政治的な深い考察は避け、得られた事実のみを列挙していこうと思います。 また、私は因果推論のような高度な分析のスキルは持ち合わせていないので、「さらに深い知見を得るためにはこうしたらいい」 というような手法に関するアドバイスがございましたら、コメント頂けると大変ありがたいです! 結論 結論に至るまでの手順は次章以降で述べますが、以下の

                                                      大阪都構想の投票結果を区ごとに分析してみた - Qiita
                                                    • Apache Iceberg とは何か - 流沙河鎮

                                                      はじめに 概要 Apache Iceberg(アイスバーグ)とは [重要] Icebergの本質はTable Specである Table Spec バージョン Icebergハンズオン Icebergの特徴 同時書き込み時の整合性担保 読み取り一貫性、Time Travelクエリ、Rollback Schema Evolution Hidden Partitioning Hidden Partitioningの種類 時間 truncate[W] bucket[N] Partition Evolution Sort Order Evolution クエリ性能の最適化 ユースケース Icebergのアーキテクチャ Iceberg Catalog Iceberg Catalogの選択肢 metadata layer metadata files manifest lists manifest f

                                                        Apache Iceberg とは何か - 流沙河鎮
                                                      • 正教会とビザンツ帝国とロシア正教 – 指数を動かす米議会

                                                        ロシア正教のトップであるキリル総主教は、ロシアがウクライナに侵攻した2月の数日後、「祖国防衛の日」として発表した。キリル総主教は、プーチン大統領の「ロシア国民への奉仕」を祝福し、兵役を賞賛している(注1)。ウクライナで続く戦争については、正義と悪の「黙示録的戦い」に他ならないとさえ語ってもいる。キリル総主教にとって、この戦争の結末は「神のご加護を受けられるか否かという人類の行方」を決めることになるようだ(注2) ロシア正教会が国家の軍事に口をだすというのは、今にはじまったことではない。シリア内戦にロシアが介入した時はもっとはっきりと「キリスト教徒を解放する聖戦」とキリル総主教は発言している(注3) このように教会人が軍事行動を祝福するのは、ビザンツ帝国(東ローマ帝国)の文化を色濃く受け継いだものと思われる(注4)。ビザンツ帝国時代は、皇帝と総主教を中心とする独特の信仰体系で権威が作り上げら

                                                        • Cloudflare Zero Trustで自宅PCにアクセスする

                                                          イントロダクション 最近自宅のネットワークが極端に遅かったため、IPv4 PPPoEからIPv6 IPoEに構成変更しました。 IPv4時代は固定グローバルIPを購入して外出先から自宅にVPNを張れるようにしていましたが、IPv6では残念ながらL2TP/IPSecが使えない。 (参考:https://zenn.dev/apple_nktn/articles/80acf34cf0634b) そもそもVPNで拠点接続するという構成自体が最近のトレンドではないよね、ということもありZTNA(Zero Trust Network Access)サービスであるCloudflare Zero Trustを試してみることにしました。 ゼロトラストネットワークとは(個人的な理解) ネットワーク上のあらゆるアクセスを信頼せず全て検査するという概念。 従来のDMZを用いた境界型防御は境界の内側は「暗黙的に信頼

                                                            Cloudflare Zero Trustで自宅PCにアクセスする
                                                          • Goで書くテスタブルなCLIツールの作り方 | gihyo.jp

                                                            CLIツールをテストする難しさ ターミナルなどで動作するCLI(コマンドラインインタフェース)ツールは、パッケージを公開して利用してもらうライブラリと比べてテストがしにくいと感じる読者も多いでしょう。 CLIツールは、ファイル/標準入力からの入力や、ファイル/標準出力/標準エラー出力への出力があることが多いです。また、コマンドライン引数やオプション(フラグ)によって変わる挙動のパターンが多いため、網羅的なテストが大変です。 入出力についても単一のファイルを読み書きするだけではなく、ディレクトリごと作成したり、特定のディレクトリ以下を再帰的に読み込むような処理もよくあります。 main関数にすべての処理をすべて書くような作りのCLIツールだと、実際にビルドしてテストスクリプトなどから動かしてテストするしかありません。しかし、せっかくCLIツールをGoで書いているのであれば、テストもGoで書き

                                                              Goで書くテスタブルなCLIツールの作り方 | gihyo.jp
                                                            • アーキテクチャ 【まとめ】 -マイクロサービス、ミニサービス、モジュラーモノリス、モノリシックアーキテクチャを並べて比べてみました- - RAKUS Developers Blog | ラクス エンジニアブログ

                                                              こんにちは。 株式会社ラクスで先行技術検証をしたり、ビジネス部門向けに技術情報を提供する取り組みを行っている「技術推進課」という部署に所属している鈴木(@moomooya)です。 ラクスでは有り難いことにサービスが順調に成長しています。今後の成長に対応できるようにするために、継続的な検討課題としてより拡大可能なアーキテクチャの検討を行っています。 拡大成長可能なウェブアプリケーション(のバックエンド)アーキテクチャとしてすぐに挙がるのが「マイクロサービスアーキテクチャ」だと思いますが、マイクロサービスアーキテクチャが一般的に議論されるようになったのが2015年頃からだったと思います。それ以来いろいろと考え続け、従来のモノリシックアーキテクチャ群との間にあるアーキテクチャとイメージがつながってきたのでまとめてみたいと思います。 この記事でそれぞれのバックエンドアーキテクチャを俯瞰的に比較する

                                                                アーキテクチャ 【まとめ】 -マイクロサービス、ミニサービス、モジュラーモノリス、モノリシックアーキテクチャを並べて比べてみました- - RAKUS Developers Blog | ラクス エンジニアブログ
                                                              • Time on Unix

                                                                Sections What is time Representing time Where do we usually find time on Unix System time, hardware time, internal timers Syncing time with external sources What depends on time Human perception of time What is time Time is relative Measuring time and standards Coordinating time Time zones DST Time, a word that is entangled in everything in our lives, something we’re intimately familiar with. Keep

                                                                  Time on Unix
                                                                • 俺が考える最強の「麻雀点数申告練習アプリケーション」を作ってみる ~ Pythonによる麻雀点数計算問題の自動生成と音声による点数申告 ~ - エムスリーテックブログ

                                                                  こちらはエムスリー Advent Calendar 2023 1日目の記事です。 Overview エムスリーエンジニアリンググループ AI・機械学習チームでソフトウェアエンジニアをしている中村(po3rin) です。趣味は麻雀でフリー雀荘で毎年200半荘以上打ちます。好きな麻雀プロは園田賢さんです。 麻雀を始めるときに一番の障壁になるのは点数計算ではないでしょうか? 特に符計算が初心者の関門のようです。一方私のような初中級者でも突然のレアな点数申告にまごつくことがあります。 そこで、今回はその人に合った麻雀の点数計算問題(主に符計算が焦点となる問題)を生成して、自分で点数計算&点数申告の練習をする方法を探求したのでその紹介をします。麻雀用語が少しだけ登場するので、対象読者は麻雀を少しでもかじったことのあるエンジニアの方です。 Overview 麻雀の点数計算の難しさ 現状の点数計算の練習

                                                                    俺が考える最強の「麻雀点数申告練習アプリケーション」を作ってみる ~ Pythonによる麻雀点数計算問題の自動生成と音声による点数申告 ~ - エムスリーテックブログ
                                                                  • macOSの暗号化zipの話の続き - NFLabs. エンジニアブログ

                                                                    はじめに こんにちは。事業推進部でOffensive Teamを担当する永井です。 今回はアドベントカレンダーの11日目として、前回投稿した「macOSの暗号化zipファイルはパスワードなしで解凍できる」という記事に寄せられたコメントのうち、特筆すべきものをピックアップして回答していきます。 前回の記事を読んでいない方や、もう覚えてないという方は是非前回の記事を見てから続きを読んでいただければと思います。 Q. 正解するまでbkcrackを回さなくてもzip内のCRC32値と比較すれば良いのでは? はい、その通りです。 筆者が前回の記事を書いている時には完全に失念していましたが、zip内にはファイル破損を検出するためにCRC32形式のハッシュ値が含まれています。そのため、bkcrackを正解パターンを引くまで都度回さなくても簡単に正解の.DS_Storeを見つけ出すことができます。 実際に

                                                                      macOSの暗号化zipの話の続き - NFLabs. エンジニアブログ
                                                                    • POSIXコマンドは「どの環境にもあるコマンド」ではないよという話 - Qiita

                                                                      はじめに POSIX コマンドはどの環境にもある(追加インストールの必要がない)コマンドだと思われがちですがこれは間違いです。POSIX コマンドにどの環境にもあるという性質は有りません。POSIX コマンドの中でどの環境にもあるコマンドは実際には半分程度しかありません。 関連記事 POSIX準拠 とは本当はどういうことなのか?「POSIXで規定されたものだけを使う」ではありません 補足 Linux は POSIX に準拠してないからだという意見もあるかとは思いますが、現実に使われている環境を無視して「どの環境にもある」と主張しても意味はありません。 本当にどの環境にもあるコマンドとは? 全 POSIX コマンドは 160 個 POSIX コマンドは全部で 160 個あります。そのうち 22 個はシェルにビルトインされているコマンドなのでどの環境にもあると言えます。残りは 138 個のコマ

                                                                        POSIXコマンドは「どの環境にもあるコマンド」ではないよという話 - Qiita
                                                                      • Pythonがグローバルインタプリタロックの解消へ、マルチスレッド処理の高速化実現

                                                                        Python Software Foundationのステアリングカウンシル(Steering Council)は、Pythonのグローバルインタプリタロック(Global Interpreter Lock)を解消する方向で開発を進めていくことを明らかにしました。 グローバルインタプリタロックとは? グローバルインタプリタロックとは、その名前が示すとおりインタープリタ全体で1つのロックを持つことです。 これによりシングルスレッドのプログラムにおいては細かなロック制御が不要となって速度の向上がはかれる一方、マルチスレッドの平行性は制限されるという欠点があります。 また、スレッドセーフではないC言語などによるライブラリとの結合が容易となっています。 Pythonの標準実装であるCPythonでは、以前からグローバルインタプリタロックが採用されていました。 グローバルインタプリタロックを解消する

                                                                          Pythonがグローバルインタプリタロックの解消へ、マルチスレッド処理の高速化実現
                                                                        • ビオンテックとファイザーのSARS-CoV-2ワクチンのソースコードのリバースエンジニアリング • Articles

                                                                          BNT162b2 mRNAワクチンの中核となるのは、このデジタルなコードです。 これは4284文字で、したがって一連のツイートに収まるほどの長さしかありません。 ワクチン製造過程の一番最初は、このコードをDNAプリンター(!)にアップロードし、このバイト列を実際のDNAの分子に変換することです。 DNAプリンタの出力は少量のDNAで、その後に多くの生物的・化学的な処理を経ることでワクチンのアンプルに収まっているRNAになります(RNAについては後で詳しく説明します)。 30マイクログラムの用量には実際に30マイクログラムのRNAが含まれています。 さらに、このmRNAを我々の細胞の中に運ぶためには、脂質による巧妙なパッケージングが用いられています。 RNAは、揮発性の「作業メモリー」版のDNAです。 DNAは生物学におけるフラッシュメモリのようなもので、永続性と内部的な冗長性があり、またと

                                                                            ビオンテックとファイザーのSARS-CoV-2ワクチンのソースコードのリバースエンジニアリング • Articles
                                                                          • マルチバイト文字とURL | 技術者ブログ | 三井物産セキュアディレクション株式会社

                                                                            MBSDでWebアプリケーションスキャナの開発をしている寺田です。 前記事では正規表現でのURLのチェックについて書きました。今回はその続きでマルチバイト文字を使った攻撃について書きたいと思います。 前提条件 本記事で想定するのは、ブラウザからパラメータとして渡されて来るURLを、リダイレクトやリンク等のURLとして使うケースです。その中でも、以下のようにサブドメイン部分(★の部分)を可変にする状況を主に想定します。 https://★.example.jp/… 攻撃の目標は、異なるドメイン(evil)のURLを与えてチェックをすり抜けることです。前回の記事にも書きましたが、この状況は(半角英数等のサブドメインしか受け入れないような場合を除き)「/」「?」「#」「\」のいずれかをサブドメインに入れることで攻略できることが大半です。 今回はこれらの記号が全て使用できないように対策されているこ

                                                                              マルチバイト文字とURL | 技術者ブログ | 三井物産セキュアディレクション株式会社
                                                                            • Kinesis Advantage360 Ergonomic Keyboard

                                                                              Adjustable Split Separate and rotate modules independently to keep wrists straight and reduce ulnar deviation. 3-Way Adjustable Tenting Tenting elevates the thumb side of the hand to reduce forearm pronation caused by flat keyboards. Integrated Palm Support Palm supports and cushioned palm pads* promote neutral typing position to reduce wrist extension. *Sold separately Compact Layout Thanks to it

                                                                                Kinesis Advantage360 Ergonomic Keyboard
                                                                              • vimrc の分割管理を上手くやる 2020年版

                                                                                筆者の環境について Vim にはプラグインマネージャも沢山あります。その中で僕は vim-plug を使っています。Software Design という雑誌で「Vim の細道」という連載をやっている事もあり、皆さんに一番リーチしやすいプラグインマネージャを選んでいるという事もありますが、基本は「トラブルが発生しづらい」という理由で使っているのもあります。 vimrc の分割管理 ところで最近は Vim プラグインが沢山あり、個々に設定が必要な場合もあります。全て vimrc の中に書いてしまうのも良いのですが、そうするとどこからどこまでが、どのプラグインの設定か分からないといった問題が起きてしまいます。僕は vimrc をプラグイン毎に分割して管理しています。 Big Sky :: ぼくがかんがえたさいきょうの Vim のこうせい 2019年 年末版 " Vim 本体の機能のデフォルト値

                                                                                  vimrc の分割管理を上手くやる 2020年版
                                                                                • 画像生成AIで動作含めアニメの中割り画像を作る方法を発見したので、その方法を実行するWebサービスを作りましたわ(ゆいもっぷ動画付き)(皆様にもお使い頂けますわ) - Qiita

                                                                                  画像生成AIで動作含めアニメの中割り画像を作る方法を発見したので、その方法を実行するWebサービスを作りましたわ(ゆいもっぷ動画付き)(皆様にもお使い頂けますわ) (2023/01/01 01:17:NovelAIの使用モデルについて追記しました) (2023/02/10 09:59: 次回作ができました!(9fps化) https://ao-love-yuimop.hatenablog.com/entry/2023/02/10/094800 ) (2023/04/09: さらに次回作ができました。(ゆいもっぷ/ユメヲカケル アニメPV)) 画像生成AIのNovelAIやSmoothGraphic等を使って ゆいもっぷ ちゃん(20)の激カワな歌にアニメPVをつけました(ファンアニメ)🏖 SmoothGraphic Copyright(C)2013-2017 チラ裏エリア Full: h

                                                                                    画像生成AIで動作含めアニメの中割り画像を作る方法を発見したので、その方法を実行するWebサービスを作りましたわ(ゆいもっぷ動画付き)(皆様にもお使い頂けますわ) - Qiita