タグ

ブックマーク / qiita.com (133)

  • 歴史で振り返るWebRTC - Qiita

    概要 すでにいろんなブラウザに実装されて、商用(?)サービスなども登場しているWebRTCですが、この記事では「なぜWebRTCが登場したのか?」「どうしてこんな仕組みになっているのか?」を振り返ることで、VoIPからWebRTC、そしてORTCへの変遷を振り返りたいと思います。 Before WebRTC: VoIP WebRTCが登場するまでは、インターネット上/IP上でリアルタイム通信を実現する技術としてVoIPがありました。中でも、今までで最も成功したVoIPのフレームワークとしてはSIPが挙げられるでしょう。WebRTCで初めてリアルタイム通信に関わった方でも名前くらいは聞くことがあるのではないでしょうか。WebRTCで利用されているSDPやRTPも、SIPとセットで仕様が作られました。 SIPはWebRTCでも必要なシグナリング機能を提供するための使われるのですが、なぜSIPが

    歴史で振り返るWebRTC - Qiita
  • ソフトウェアテストの実行を効率化するPredictive Test Selectionの衝撃 - Qiita

    12月10日の2022ソフトウェアテストアドベントカレンダーです。 Launchable社でエンジニアとして働いているcvuskと申します。機械学習界隈では機械学習を実用化するためのシステム開発のを書いてたります。もし良かったら読んでみてください。 『機械学習システムデザインパターン』 『機械学習システム構築実践ガイド』 ブログでは機械学習を用いてテスト実行を効率化する手法として、Predictive Test Selectionについて説明します。テスト実行時間やコストで課題を抱えているエンジニアに役に立つと幸いです。 昨今の開発におけるテスト事情 2002年に『テスト駆動開発』が世に出て、ソフトウェア開発でテストを書くことが常識になって早20年が経っています。その間にクラウドの登場やDevOpsの普及により、テストをCI/CDパイプラインで自動実行し、コードとプロダクト品質を維持す

    ソフトウェアテストの実行を効率化するPredictive Test Selectionの衝撃 - Qiita
    seckie
    seckie 2022/12/22
  • VSCodeでPython書いてる人はとりあえずこれやっとけ〜 - Qiita

    はじめに Pythonはコードが汚くなりがち(個人的にそう思う) そんなPythonくんを快適に書くための設定を紹介します。 拡張機能編 ここでは Pythonを書きやすくするため の拡張機能を紹介していきます。 1. Error Lens before 「コード書いたけど、なんか波線出てるよ💦」 記述に問題があった場合、デフォルトでは波線が表示されるだけ。。。 after Error Lensくんを入れることによって 波線だけでなくエディタに直接表示される。 はい、有能〜 2. indent-rainbow before Pythonくんは インデントでスコープを認識している。 for の f から下に線が伸びてるけど、ちょっと見にくいなぁ after 色が付いてちょっと見やすくなった! 3. Trailing Space before 一見、普通に見えるコード after 末尾にある

    VSCodeでPython書いてる人はとりあえずこれやっとけ〜 - Qiita
  • 新卒のセキュリティ研修用に使用したアプリケーションを公開します!【2020年度】 - Qiita

    普段はWeb系の会社でアプリケーションの開発をしている @oliver_diary です。 2020年度も始まり、新卒研修が各場所で行われていると思います。 私の所属する会社では、リモート上での研修が始まり、初めての環境で慣れないながらも、みんなで知恵を絞って協力しています。 私は、2020年4月から情報処理安全確保支援士になったこともあり、今回社内のセキュリティ新卒研修を担当しました。 そこで、今回使用した研修内容が参考になればと思い、実際に使用した自作のCTFみたいなアプリケーションを公開しようと思います。 自作アプリケーションについて 今回使用したアプリケーションは少し手を加えていますが、下記にて公開しています。是非みなさんも解いてみてください。 https://sec-kensyu-2020.web.app/ 問題は8問あり、Firebaseをメインの題材にしています。 SQLイン

    新卒のセキュリティ研修用に使用したアプリケーションを公開します!【2020年度】 - Qiita
  • Autify for Web の GitHub Actions を作って Marketplace にリリースしました - Qiita

    *Autify アドベントカレンダー2021 の25日目の記事です。 今回は Autify for Web 上のテストプランを簡単に実行することができる GitHub Actions を作り Marketplace に公開したので利用方法、利用例についてご紹介します。 使用方法 前提条件 Autify for Web アカウント パーソナルアクセストークン (発行方法) テストプラン ID Autify for Web Run Test Plan を使う まず Autify for Web のテストプランを実行したい GitHub Actions のワークフローを持つレポジトリを選択してください。レポジトリの Settings > Secrets に AUTIFY_FOR_WEB_API_TOKEN という名前でパーソナルアクセストークンを保存してください。 そしたらテストプランを実行した

    Autify for Web の GitHub Actions を作って Marketplace にリリースしました - Qiita
  • Datadogつかいかた備忘録 - Qiita

    一人運用を卒業するために社内に向けてデモりながら解説したときのメモを大した内容でもないですが投下しておきます。 ・とは 監視ツールです。 Integrationという設定をすることで色々手軽に監視できて便利です。 特徴としてはタグや変数を用いた柔軟な設定管理、グラフのドリルダウンなどが可能で オートスケールに対応するための動的な監視の設定も割と手軽に可能なので今時の流行りが詰まっておりお金はかかるが楽なので人気です ここ最近私の中ではコンテナ監視のデファクトスタンダードの一つのような扱いになっています インテグレーション設定でクラウド毎にクレデンシャルやクロスアカウントスイッチロールなどの設定をすることで 丸っと軽く見れたりしますが、細かいのがみたければエージェント入れる必要があります クラウドだけではなくミドルウェアのレベルのIntegration設定も色々あります メニューのかいせつ

    Datadogつかいかた備忘録 - Qiita
  • 図解で、Datadogエージェントの設定手順 - Qiita

    ゴール設定 クラウドとオンプレミスの両方にあるインフラをDatadogで監視したい。 ▼ 対象システムはこれ ▼ ここを監視したい ここにメモする監視手順の対象は2つ、一つ目はインターネットVPNの通信正常性、二つ目はオンプレミスにあるアプリサーバーのHTTPレスポンスの正常性。Zabbixでやれば、と言われそうだがZabbix監視サーバー自体の面倒は見たくないので運用付の監視SaaSを使う。インターネットからWEBサイトへのURL監視はdatadogのSynthetics機能を使う(ここでは省略)。 以下、(A)(B)を対象に監視手順をメモします。 (A) [http_check] インターネットVPNの通信正常性 (B) [ping] 監視対象デバイスpingの応答正常性 Datadog設定手順(概要) エージェントのインストール Checkスクリプト追加(エージェントに含まれている場

    図解で、Datadogエージェントの設定手順 - Qiita
  • SharedWorkerを使ってWebSocketやSSEの接続を軽減するサンプル - Qiita

    参考 Scaling WebSocket Connections using Shared Workers | Ayush Gupta ※この投稿は、↑のページを理解したくて、私が勉強してみたことをまとめた内容になります やりたいこと WebSocketを使うとサーバーとクライアントで双方向にデータを送信できます。 クライアントはサーバーとの接続を開きっぱなしにします。 なので例えばAさんが、WebSocketと通信するページを10タブ開いた場合は、Aさんだけでサーバーと10接続することになります。 そこでSharedWorkerからWebSocketと接続することで、Aさんが10タブ開いたとしてもサーバーとの接続は1つだけにすることができます。 今回私が最終的に作成したコードはこちらです SharedWorkerとは SharedWorker - Web APIs | MDN Share

    SharedWorkerを使ってWebSocketやSSEの接続を軽減するサンプル - Qiita
  • OpenID Connect 全フロー解説 - Qiita

    はじめに OpenID Connect は OAuth 2.0 を拡張する形で策定されました。 OAuth 2.0 はアクセストークン発行手順に関する仕様で、RFC 6749(The OAuth 2.0 Authorization Framework)で定義されています(参考:一番分かりやすい OAuth の説明)。 一方、OpenID Connect は ID トークン発行手順に関する仕様で、主要部分は OpenID Connect Core 1.0 で定義されています(参考:一番分かりやすい OpenID Connect の説明)。 RFC 6749 は認可エンドポイントという Web API を定義しています。 この API は必須のリクエストパラメーターとして response_type を要求します。 OpenID Connect は、この response_type の仕様を拡

    OpenID Connect 全フロー解説 - Qiita
  • Terraform職人再入門2020 - Qiita

    data "aws_caller_identity" "current" {} output "account_id" { value = data.aws_caller_identity.current.account_id } 若干補足しておくと、 "${}" 自体が廃止されたわけではなく、今でも文字列の中に変数を埋め込む場合には必要ですが、式が変数の参照しか含まない場合は不要で、v0.13.4以降は冗長な書き方は警告が出ます。ちなみにv0.14のfmtはもう一歩踏み込んで、この書き方を自動で修正するようになりました。古いサンプルコードを雑にコピペできるようになってべんり。 Terraformではなく汎用的なHCLそのものの仕様を調べたいときは、 hashicorp/hcl にありますが、稿執筆時点ではデフォルトのmasterブランチはまだHCL1であることに注意して下さい。 HCL

    Terraform職人再入門2020 - Qiita
  • Charlesで帯域を調節するときのそれぞれのパラメータが何を指しているかのメモ - Qiita

    CharlesでThrottleを設定するとき、どういう事ができるのかのメモ。 Bandwidth(帯域) 単位時間あたりに転送可能なデータの最大量 Utilisation(使用率) 使用可能な帯域の使用率 Latency(レイテンシ) クライアントとサーバー間のリクエストの遅延時間 MTU 1回のパケットで送信できるデータの最大値 Reliability(信頼性) コネクションが完全に失敗する比率。信頼性の低いネットワークをシミュレートするときに使う。パケットのロストが発生してもアプリケーションが正しく動作するか確認するのに使える。 Stability(安定性) ネットワーク品質を低下させる比率。定期的に品質が悪くなるようなネットワークをシミュレートするのに使う。ジッタを再現させてパケットの順番が入れ替わったりしてもアプリケーションが正しく動作するか確認するのに使える。 Unstable

    Charlesで帯域を調節するときのそれぞれのパラメータが何を指しているかのメモ - Qiita
  • M1 Macの開発環境 - Qiita

    MacBook Pro (M1)でのメモです。インストールできるかどうか状況確認メモです。 自分がよく使うものを中心に。なるべくARMネイティブになるように。もしプライマリーで提供されているインストール手段(.dmg利用など)でARM対応が済んでいればそれを紹介しますが、もしそれで対応していない場合にはMacPortsやソースビルドなどの結果も合わせて紹介します。 PowerPC->x86->x86_64とユニバーサルバイナリを挟んで対応してきたMacPortsはこういう過渡期に強いです。 なお、ここで紹介するバージョンは最新版から古い可能性がありますが、「M1サポートが追加された前後のバージョン」を明記するのを目標にしていますので、これより新しければ問題ないと見てもらえればと思います。 編集リクエストウェルカムです。 現在の状況 IDE/エディタ Eclipseはあまりきちんと試していま

    M1 Macの開発環境 - Qiita
    seckie
    seckie 2021/01/03
  • もしあなたが急にAndroidアプリを業務で作るはめになった場合の選択肢(2021年初頭版) - Qiita

    記事はAndroid Advent Calendar 2020の2020/12/01分です。 初っ端ということなので、2020年末と2021年頭でのAndroidエンジニアとして初めて業務でやる場合に抑えておいたほうが良い最低限の部分を書いていこうと思います。(ツッコミ待ちです) 対象 2021年3月ぐらいまでに !!業務!! でAndroidアプリを作らされる事になった可愛そうな人が居たとします この人は手続き型言語でオブジェクト指向プログラミングができる知識があり、Androidアプリもなんとなく趣味で作ったこともあるぐらいのレベル感です(なので上長からいきなりお前Android担当なと言われた) 最低限のAndroidアプリの作成の知識はあるものとします(画面の表示にはActivityがいるよとかは書かない) ゲームは対象外です 業務でAndroidアプリを作ることを想定しています

    もしあなたが急にAndroidアプリを業務で作るはめになった場合の選択肢(2021年初頭版) - Qiita
  • 個人開発・スタートアップで採用すべき最強のアーキテクチャを考えた - Qiita

    結論 「アジリティ」「コスト最適化」「スモールな構成」「開発スピード」という観点でWebアプリケーションのアーキテクチャを考えてみました。 ServerlessFrameworkを使い倒す フロントエンドはS3 hosting + CloudFrontで。SSRもLambda@Edgeでできます データベースはRDSは使わずにDynamoDBAPIは基的にGraphQL。必要に応じてRESTも簡単に追加できるよ。 補足(2022/04/12) 最近個人開発しているこちらのWebサービスはこのアーキテクチャに沿って作られています。 このアーキテクチャでどんなものができるのよ、という視点で見ていただくと面白いかもしれません。 ↓ 背景 アーキテクチャに絶対の正解はない アーキテクチャには絶対の正解はありません。 なぜなら、プロダクトやフェーズによって求められる要件が異なり、それに適したア

    個人開発・スタートアップで採用すべき最強のアーキテクチャを考えた - Qiita
  • Python初学者のためのPandas100本ノック - Qiita

    Information 2024/1/8: pandas , Polars など18を超えるライブラリを統一記法で扱える統合データ処理ライブラリ Ibis の100 ノックを作成しました。長期目線でとてもメリットのあるライブラリです。こちらも興味があればご覧下さい。 Ibis 100 ノック https://qiita.com/kunishou/items/e0244aa2194af8a1fee9 2023/2/12: 大規模データを高速に処理可能なデータ処理ライブラリ Polars の 100 ノックを作成しました。こちらも興味があればご覧下さい。 Polars 100 ノック https://qiita.com/kunishou/items/1386d14a136f585e504e はじめに この度、PythonライブラリであるPandasを効率的に学ぶためのコンテンツとして

    Python初学者のためのPandas100本ノック - Qiita
  • S3の特定バケットへのアクセスを特定のCloudFrontからのみ許可する。 - Qiita

    はじめに S3内のコンテンツをCloudFrontを使って配信する際に、直接外部からS3へアクセスすることは制限しつつ、CloudFrontを通してはアクセスができるという設定をしてみました。 今回は拡張子が「.png」のアクセスがあった場合にS3へ振り分ける設定を入れ、さらにCloudFrontからのみしかそのバケットへはアクセスできないようにします。 設定 1.S3の設定 1-1.バケットを作成しコンテンツをアップロードします。 今回はバケット名を「from-cloudfront-to-s3-test」とし、コンテンツには「test.png 」を利用します。 1-2.アップロードしたコンテンツへブラウザからアクセスし、閲覧できないことを確認します。 それでは設定をしてみます。 2.サービス画面の表示 2-1.コントロールパネルの「Services」から「CloudFront」を選択しま

    S3の特定バケットへのアクセスを特定のCloudFrontからのみ許可する。 - Qiita
  • Github Actions 入門編 (ざっくり系) - Qiita

    qiita に記事があまりなかったので掲載しました。 github action の概念は知っているものの、コードかけない、めんどくさい、怖いと言う方が中にはいらっしゃるのではと思います。ここではそんな人達向けに記事を書きました。あくまできっかけづくりです。 サンプルコードがあった方がわかりやすいと思うので、ここではサンプルコードと合わせて解説します。 相当手抜きで解説しますが、ご了承願います。 Github Actionとは 一応一言で言うと github が提供する CICD のサービスです。 制約について公式ドキュメントだったり、色々な人の記事を読んでいただければと思います。 格納先 基的に GitHub Actions は全て .github/workflow の配下におきます。yml 形式です。 つまり、my_repostiory というレポジトリがあったら、my_reposi

    Github Actions 入門編 (ざっくり系) - Qiita
  • 【JS/ Python両方OK!】「データ可視化」が歴史から実装まで体系的に学べるStanford講座の独習ノート - Qiita

    【JS/ Python両方OK!】「データ可視化」が歴史から実装まで体系的に学べるStanford講座の独習ノートJavaScriptd3.jsデータ分析データサイエンスcolaboratory CS 448B Visualization (2020 Winter)は、Maneesh Agrawala氏による、Stanford大で行われた、データの可視化に関する体系的な講義です。 スタンフォード大の"CS 448B Visualization (2020 Winter)" がすごい。 データ可視化の体系的講義。どう図表に変換するかの理論、探索的データ分析、ネットワーク分析等の実践と盛り沢山。 スライドに加え、Observable(JavaScript), Colab(Python)どちらでも例を試せる。https://t.co/lGyPElrihg pic.twitter.com/mWZn

    【JS/ Python両方OK!】「データ可視化」が歴史から実装まで体系的に学べるStanford講座の独習ノート - Qiita
  • React Component な npm のパッケージを作って TypeScript のプロジェクトで使う - Qiita

    はじめに TypeScriptプロジェクトでいい感じのテキストフィールドをatomsディレクトリの下に用意して作っていましたが、機能が多くなったり、コンポーネントが分かれてくるとmoleculesに移動させたりと、めんどくさいので、npmのパッケージ化してしまえと思ったことが始まりです。 今回は create-react-app で作成したプロジェクトに取り込ませて、実際に私が行った、npmのパッケージ開発方法、手順を紹介します。 パッケージを取り込む用のプロジェクトを作る とりあえず create-react-app でベースのプロジェクトを作成します。 ベースのプロジェクトが存在する方は不要です。

    React Component な npm のパッケージを作って TypeScript のプロジェクトで使う - Qiita
  • 安全に React Hooks を使用する - Qiita

    React Hooks はとても便利で、Custom Hooks を上手く実装することで、再利用性の高いコードを、簡潔に実装することができます。 しかし、Hooksを不用意に使用してしまうと 意図しない無限ループに陥ったり、正しくStateが反映されなかったりすることがあります。 useCallback を使い無限ループを避ける 例えば以下のようなDivの大きさを取得するuseRectというCustom Hooksについて考えてみます。 const useRect = () => { const [rect, setRect] = useState<ClientRect | DOMRect>(); const ref = useRef<HTMLDivElement | null>(null); useEffect(() => { const target = ref.current; if

    安全に React Hooks を使用する - Qiita