PHPカンファレンス2023の登壇資料です。 https://fortee.jp/phpcon-2023/proposal/10143d00-ca44-4db1-aeb6-b618c423b646
![良いテストとは何か:持続可能で保守性の高いテストを書く](https://cdn-ak-scissors.b.st-hatena.com/image/square/980e3b887937f3c69c8b1cfb1253d0d373306bb5/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2Fe8983a59804540f6a2cae3ed4f8715f6%2Fslide_0.jpg%3F27319231)
はじめに 開発部の ikasat です。 皆さんは git, ssh, rsync のような外部コマンドを呼び出すスクリプトを書きたくなったことはありますか? 個人的にこの類のスクリプトは最初はシェルスクリプトとして書くのですが、改修を重ねるうちに肥大化して処理も複雑になり、 後から Python のような汎用プログラミング言語で書き直すことがよくあります。 外部コマンド呼び出しを書き直す際に、Git 操作のために pygit2、 SSH 接続のために paramiko のようなライブラリをわざわざ使うのは大がかりだったり、 rsync に相当するようなこなれたライブラリが存在しなかったりする場合があります。 そのような時は標準ライブラリの subprocess モジュールを利用し、Python から外部コマンドを呼び出すことになるでしょう。 しかしながら、Python のチュートリアルペ
特によく使われる上二つのサービスでは”Webアプリケーションのテスト環境"を提供しており、インターネットに公開されたWebアプリケーション、開発中のローカルのWebアプリケーションのテスト環境が揃っています。 テスト環境 = テスト用アプリケーションがデプロイされ、ホストされている環境 テスト実行環境 = 上記テスト環境にアクセスし、テストを実施するためのデバイス・ブラウザ・OSを含む環境 BrowserStackはクラウド上で後者の「テスト実行環境」を提供しています。 BrowserStack Live (手動テスト) BrowserStackにホストされている様々なデバイスを利用し、マニュアルテストすることが可能です。画像ではiPhone13のデバイスを立ち上げ、Webのダッシュボード上で操作を行っている様子です。シミュレータではなく、実機デバイスをブラウザ上から操作できます。 Bro
はじめに FastAPIはPythonのWEBフレームワークで、同じ分類のフレームワークとしてFlaskやDjangoなどが挙げられます。FlaskとDjangoはよく比較され、Flaskが最小限のコードで書き始められるシンプルなマイクロフレームワークと呼ばれるのに対し、Djangoはログイン機能、データベース管理などが初めから備わっておりフルスタックフレームワークと呼ばれています。 FastAPIはFlaskと似ているマイクロフレームワークで公式ドキュメントでは次のように紹介されいます。FastAPI は、Pythonの標準である型ヒントに基づいてPython 3.6 以降でAPI を構築するためのモダンで高速(高パフォーマンス)な、Web フレームワークです。[1] 本記事では、以下の内容を扱います。 特徴である型ヒントとそれにより実現できるAPIドキュメントの自動生成 SQLAlch
最初に作ったのがCIAnalyzerです。なるべくツール自体の運用の手間がかからないように常駐サーバー無し、データの保存先と可視化はマネージドサービスを使う前提で設計しました。具体的にはデータの保存先をBigQueryとすることによって自前でDBを管理する必要をなくし、webhookを受けるのではなくcronで定期的にAPIを叩くことで常駐サーバーを不要にし、データの可視化はBigQueryと簡単に連携できてマネージドサービスであるLooker Studioを使用する前提としました。 CIAnalyzerのアーキテクチャ CIAnalyzerを作ったきっかけはAzure Pipelineの分析機能に感銘を受けたことで、それと同等の分析を当時自分が業務とプライベートで使用していたJenkins, CircleCI, Bitrise, GitHub Actionsでも可能にしたいと思って開発を
はじめに コードエディタ界の王様VisualStudioCode。開発の際に使っている方も多いのではないでしょうか。 本記事では、VSCode(VisualStudioCode)の定番機能を紹介していきます。 この記事を読んで、VSCodeマスターになりましょう! 弊社Nucoでは、他にも様々なお役立ち記事を公開しています。よかったら、Organizationのページも覗いてみてください。 また、Nucoでは一緒に働く仲間も募集しています!興味をお持ちいただける方は、こちらまで。 そもそもVSCodeって? VSCode(VisualStudioCode)はMicrosoft社が提供する無償のコードエディタです。2015年リリースですが、着々とユーザーを増やしており、2023年現在、世界で最もポピュラーなコードエディタの1つとなっています。 コードエディタって? 字や記号などのテキストで構
久しぶりの投稿です。 はじめに 昨今、様々なサイトがどんどんパスキーに対応しはじめてきました。 まだまだパスキーがデフォルトになっていくには時間が掛かりそうですが、どのような仕組みでパスキーを実装するのか、早めにキャッチアップしておくのも悪くないと思い、パスキーについて色々と調べてみました。 パスキーとは? パスワードの代わりに、自分の持つデバイスによる生体認証やパターンを用いて認証を行う方法のことです。 次世代認証技術であるFIDO(Fast IDentity Onlineの略で、「ファイド」と呼びます)を使った認証方式(詳細は後述)で、Apple、Google、MicrosoftがFIDOを普及させるために命名したブランド名になります。 FIDOとは? 脆弱なパスワードは安全ではありません。 2段階・2要素認証を採用してもそれを有効にするユーザーは少なく、昨今では2段階認証を突破する攻
はじめに しまねソフト研究開発センター(略称 ITOC)にいます、東です。 教育用ワンボードマイコンとして販売されている Raspberry Pi (以下ラズパイ)は、教育用のみならず実験用、産業用とさまざまな分野で使われつつあります。一方、マイクロSDカードをメインストレージに使用している事や、OSがクライアントPCよりの設定にしてある事などから、長期安定運用には向かない面も存在します。 このレポートでは、OSや稼働させるソフトウェアの設定など、できるだけ簡易に再現可能な方法により、可能な限りラズパイを安定して長期運用させることを狙います。また、その題材として、デジタルサイネージ(*)を作ってみます。 私は、2000年ごろからフラッシュメモリを使ったFA機器の開発を皮切りに、10年ほど前からは民生用フラッシュメモリ(CF,SD,USBメモリ)を起動デバイスとした機器を開発・運用していまし
おそらく、読者の皆さんも多くのパスワードを使っているはずだ。 パスワードマネージャーの助けを借りたとしても、パスワードはほとんどの人にとって、ますます大きな負担になっている。 p455w0rd123のようなばかげたパスワードを設定して、使い回すことのできた時代は、とっくに終わっている。現在では、すべてのオンラインアカウントを、複雑で一意のパスワードによって保護する必要がある。 さらに、多数のパスワードの1つが侵害された場合に備えて、常に警戒しておかなければならない。 もっと良い解決策が必要だ。実は、パスワードよりも優れた解決策が存在する。 それはパスキーだ。 パスキーとはどんなものなのか パスキーは、ウェブサイトとアプリの認証手段である。Appleが2022年6月に「iOS」と「macOS」でパスキー(同社の独自規格ではなく、普通名詞である)のサポートを追加したことで、広く知られるようにな
はじめに この記事はAPIの基本的な実装方法を丁寧に解説します。基礎を学びたい方、今更聞けないような知識の振り返りを求める方の役に立つことを願っています。もう十分理解できている!という方は、目次から実装にとんでみてください。 具体的にはHTTPと呼ばれる通信方法を利用した、シンプルな本の貸し出しシステムの土台を考えます。要件の各ステップで、設計の基本原則やベストプラクティスについても触れながら、より実践的な知見を共有できればいいなと思います。 弊社Nucoでは、他にも様々なお役立ち記事を公開しています。よかったら、Organizationのページも覗いてみてください。 また、Nucoでは一緒に働く仲間も募集しています!興味をお持ちいただける方は、こちらまで。 基本用語 Webに関する基礎知識の解説記事はQiitaに豊富にあったので、要点を抑えつつリンクをまとめました。 WebAPI Web
こんにちは、越川です。 皆さんは構成図を描く機会ありますか? 僕の場合、内部のメンバーやお客様との議論の場で、構成図を描いて図解ベースで説明することが多いです。実際に描いてみると色々と考慮すべき点が多く、今回は自分なりに普段意識している点を言語化してみようと思います。 なぜ構成図を描くのか 構成図を描く際に意識している3つのこと 1. 導線 2. 引き算思考 1. 主役を決める 2. 読者を想定する 3. 高さや大きさを揃える さいごに なぜ構成図を描くのか 構成図のメリットは相手に伝えたいことをシンプルに伝えられる点だと思います。文章で書くと沢山書かなければいけないことが構成図を使うとスムーズに相手に伝わります。例えば、以下の文章を読んでみて下さい。 ユーザーはDNS登録されたFQDNへHTTPSアクセスする CloudFrontはBehaviorに指定されたALBにHTTPSリクエスト
はじめに find コマンドの使い方は、ざっくり調べただけではよくわからんとなりますが、見逃しがちなルールを知れば簡単に理解できます。find コマンドに限りませんが使い方を調べるのが面倒だからと曖昧な理解で使うと逆にもっと分からなくなって時間がかかります。急がば回れ、理解して正しく使ったほうがシンプルで楽で簡単です。この記事では find コマンドの使い方を理解するために必要なルールと使い方の実践的な知識をまとめました。 Q&A(?): -type や -perm の説明はしないの? ⇒ それらはドキュメントを読むか検索すればすぐにわかることで難しいポイントではありません。重要なのは基本のルールを理解することです。 関連記事 POSIX 準拠のシェルスクリプトでは find | xargs よりも find -exec {} + を使うべき! 移植性の話はこちら ⇒ findコマンドのオ
WSL 2.0.0以降で試験的に提供されているネットワークミラーモードは非常に魅力的でが、まだ試験的ということでいくつか課題があるのも事実です。ここではDockerでの課題と回避策を交えつつミラーモードの深淵を覗いてみたいと思います。 [2023.12.6]Docker Desktopでのポート重複は 4.26.0 で対応となったようです。 Added support for WSL mirrored mode networking (requires WSL v2.0.4 and up). リリースノートより [2023.10.25] ミラーモードはじめいくつかの新機能はWindows11 22H2通常版に機能開放されました。最新のWindowsUpdate適用の上、ストア版WSLをアップデートすることにより以下のオプションが.wslconfigで使えるようになります。 Dockerつか
こんにちは、つくぼし(tsukuboshi0755)です! 最近ChatGPTがGPT-4Vを発表し、AI業界がさらに盛り上がりを見せてますね。 GPT-4Vを用いる事で、ChatGPTがユーザ側から入力された画像を読み取った上で、応答を返してくれるようになります。 GPT-4V(ision) system card この機能追加により、なんと以下のようにAWSの構成図を読み取って、IaCコードを生成できる事が話題になっていました。 本日をもって引退します pic.twitter.com/fygAQDQ5kj — 電気ひつじ(onoteru) (@teru0x1) October 13, 2023 これを見て私もGPT-4Vを試してみたくなったので、今回はChatGPTを使って、様々なAWSの構成図を入力し、どこまで正確にIaCコードを生成できるか確認してみます! GPT-4Vを利用する際
インフラチームの西川です。 当社ではGitHubを利用しています。いろいろ便利な機能があるのですが社内でコマテクを募集してみたところ意外と知らないものがあったので共有してみます。 行動の見える化 特定コミットのリンク取得 通知 行動規範 ガイドライン .github リポジトリ テンプレートリポジトリ タグをたくさんプッシュさせない ドラフトプルリクエスト チケットの自動リンク化 ベースブランチの更新を取り込む まだレビューが終わってないプルリクエストの一覧化 レビュアーの自動割り当て コードの所有者 ファイル単位でレビュー済みをチェックする レビュー中のファイルを全部閉じる 具体的な修正を提案する レビューコメントをラベル化 デプロイ管理 リリースノートを自動作成 行動の見える化 以下の設定をすることで、GitHub上の行動を見える化することができます。 docs.github.com
トンテキカツ美 @Katsumi_Tonteki CMで観たシーチキンお味噌汁があまりにも美味しそうだからやってみたら、あまりにも美味しかったお話。 まず、だしいらずなのがいい。もう、マジでいらない。シーチキンの油って、あれほどまでのコクとうまみを秘めていたのかと驚愕した。 シーチキンの油で野菜を炒め、私はきのこや豆腐などの好きな具材をもりもり入れて煮込んじゃいます。 豚汁系のこってりお味噌汁になるから、こってりが苦手な方は普通に油を切って具材としてシーチキンを加えてみても美味しいと思います。 はごろもさんのシーチキンLがいまのところのマイベスト。フレークでも美味しかったけど、かたまりがある方が私は好きだった。 もっと早くに知りたかった!温かい汁物が嬉しい季節、食べたことのない方はぜひ😋 2023-10-18 10:16:30 トンテキカツ美 @Katsumi_Tonteki 皆さんにも
テックタッチという会社・サービス テックタッチの SRE チーム 何をやっているの インフラエンジニアというよりもソフトウェアエンジニア 課題感 SREチームの活動 - 大きなサイクル・小さなサイクル コミュニケーション 技術スタック・ツール 終わりに こんにちは。SRE の roki です。暑い日はまだあるものの、朝はすっかり秋を感じるようになり子どもたちが登校しやすくなってホッとしている今日このごろです。 この記事では、テックタッチという会社・サービスに触れつつ、SRE チームの働く環境や課題感を共有しながらチームの紹介をしていきます。興味を持っていただけたらぜひお声がけください。カジュアルに話し合う場を設けさせてもらっており、採用情報ページにて受け付けています。 テックタッチという会社・サービス テックタッチでは、社名と同じ「テックタッチ」という名前のサービスを運営しています。どのよ
全国銀行協会(以下、全銀)は10月18日、銀行間の送金を行う「全国銀行データ通信システム」(全銀ネット)で10日から11日にかけて発生した障害について会見を行い、現状を説明した。未だに根本的な原因は特定できず、暫定的な“代替対応”のまま運用しているという。 不具合はシステムのリプレース直後に発生した。全銀は7~9日の3連休を利用し、加盟14銀行の中継コンピュータを「23シリーズ」と呼ぶ新機種に更新した。それまでの「17シリーズ」は各機関に設置していたが、今回は全銀センターに集約して運用する形にした。 9日までに製品単体試験から相互運転試験までいくつもの試験を行っていたが、不具合は見られなかったという。 しかし10日午前8時30分。システムが通信を始めると、10行の中継コンピュータで電文の送受信ができなくなった。りそな銀行や三菱UFJ銀行などで他行宛の振込取引ができない状態になった。 バック
こんにちは、以前 FlightBooksというサービスを立ち上げていたのですが、2年ほどメンテしていなかったため、ローカル動作するOSS版として公開することにしました。 OSS版を作るにあたり、エディタ部分はVSCodeなりお好きなエディタを使ってもらうとして、 MarkdownからHTMLを生成する部分 HTMLからPDFを生成する部分 を切り出して公開しました。 ほかのサービスや技術と何が違うの? 技術書をマークアップテキストで書くプラットフォームとしては、Re:VIEW、Vivliostyleなどがありますが、FlightBooksは「出版やDTPに関する知識がなくても印刷所にだしたい」というエンジニア諸氏のために開発されました。 「商業印刷」にどこまで向き合うか ご家庭のプリンタに印刷を指示すると、ファイルの情報がプリンタドライバに送信され、そこでインクの出し方を制御するためのデー
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く