タグ

ブックマーク / gihyo.jp (33)

  • 3大クラウド×日米両リージョンでハニーポットを動かしてみる【前編】 | gihyo.jp

    はじめに 近年、顧客情報漏洩やランサムウェア被害などのセキュリティ関連ニュースが頻繁に報道されています。 情報システムを侵害する行為は「クラッキング⁠」⁠、加害者は「クラッカー」と呼ばれます。 さて、AWS、Azure、Google Cloudは、3大クラウドサービスとして広く利用されていますが、これらのサービスはリージョンごとに利用可能なIPアドレスを公開していることをご存知でしょうか? AWS:https://ip-ranges.amazonaws.com/ip-ranges.json Azure:https://www.microsoft.com/en-us/download/details.aspx?id=56519 Google Cloud:https://www.gstatic.com/ipranges/cloud.json 上記のように、リージョンごとのIPアドレスが公開され

    3大クラウド×日米両リージョンでハニーポットを動かしてみる【前編】 | gihyo.jp
    toenobu
    toenobu 2024/07/13
  • ネクストブレイク分散型SNSの大本命、Blueskyを先取り! | gihyo.jp

    今、分散型SNSへの注目が高まっています。4月に入り、日での盛り上がりの兆しを見せ、ネクストブレイクの大命と見られているのがBlueskyです。記事では、Bluesky登場の背景から分散型SNSの特徴、そして、今後について紹介します。 招待コード無限祭りで注目を集めたBluesky 先日、2023年4月5日にBlueskyの「招待コード無限祭り」がありました。 Blueskyとは、次世代のTwitterになるのでは、と目されている大命の分散型SNSのこと。 この分散型SNSに参加するには、2023年4月10日現在、招待コードが必要となります。 Blueskyリリース以降、招待コードはサーバ管理者のみ発行可能でした。しかし、先日のアップデートによって、Blueskyにアカウントを持つユーザは、回数限定(最大5回)で招待コードを発行できるようになったのです。 話はここで終わりません。今

    ネクストブレイク分散型SNSの大本命、Blueskyを先取り! | gihyo.jp
    toenobu
    toenobu 2024/02/13
  • 開発視点から見る、新しい分散型SNS「Bluesky」とAT Protocolの可能性 | gihyo.jp

    開発視点から見る⁠⁠、新しい分散型SNSBluesky」とAT Protocolの可能性 2023年4月初旬、日で盛り上がりの兆しを見せ始めた分散型SNSBluesky⁠」⁠。記事では、Blueskyのクライアント開発を行う筆者が、開発視点から見たBluesky、そのコア技術であるAT Protocolについて解説します。 なお、Bluesky誕生の背景や基機能などについては、syui氏の記事「ネクストブレイク分散型SNSの大命、Blueskyを先取り!」を併せてご覧ください。 Bluesky をコマンドラインから扱う Blueskyクライアント開発のきっかけ Blueskyにはすでにクライアントが存在します。BlueskyのオフィシャルからはiOSアプリが、また Android向けにはkamakuraさんが開発している青雲というアプリが提供されています。 通常はこれらのクライ

    開発視点から見る、新しい分散型SNS「Bluesky」とAT Protocolの可能性 | gihyo.jp
    toenobu
    toenobu 2024/02/13
  • AWS CloudWatchのログをpandasで解析し、エラーの状況を可視化する | gihyo.jp

    IAMのポリシー設定画面 IAMユーザの作成方法の詳細は、IAM公式ドキュメント、または他の参考資料をご確認ください。 IAMユーザを作成する時に、「⁠アクセスキー」と「シークレットアクセスキー」が作成時のみ画面に表示されます。これらのキーは後ほどログを取得する際に利用しますので、大切に保管してください。 AWSプロファイルを手元のPCに設定する方法もありますが、今回はプロファイルを生成せずに環境変数でコードに渡す方法で説明します。AWSプロファイルの設定を行いたい場合は、AWS公式ドキュメント(Configure the AWS CLI) を確認してください。 環境変数への登録と確認 「アクセスキー」と「シークレットアクセスキー」を環境変数に設定します。 $ export AWS_ACCESS_KEY=****************JUMP # 作成したアクセスキー $ export

    AWS CloudWatchのログをpandasで解析し、エラーの状況を可視化する | gihyo.jp
    toenobu
    toenobu 2023/12/28
  • CUEによるスキーマやバリデーションのポータビリティ | gihyo.jp

    この記事は、連載「つきなみGo」の2回目の記事です。 CUEはデータの表現やスキーマ定義やバリデーションなどを行うことができる言語です。元々Google社内で、Borg(現在のKubernetesの前身となったGoogleの社内システム)の設定に使用するために開発された言語が前身となっており、現在はオープンソースとして開発が進んでいる言語です[1]。 CUEは現在まだv0.4.3とマイナーバージョンではありますが、すでにistioにおいてProtobufからOpenAPIを生成する部分で使用されていたり、CI/CDの構築に使用するDaggerというツールの設定ファイルとして採用されています。 弊社(メルカリ)でもCUEをKubernetesなどを含むインフラの抽象化に使用しています(紹介記事①、紹介記事②⁠)⁠。 また、CUEはGoと親和性が高く、GoからCUEへの変換や、CUEの定義をG

    CUEによるスキーマやバリデーションのポータビリティ | gihyo.jp
    toenobu
    toenobu 2022/12/17
  • 軽量RustフレームワークTauriでデスクトップアプリ開発をはじめよう | gihyo.jp

    TauriはRustで書かれた軽量なGUIフレームワークで、WindowsmacOSLinux向けのデスクトップアプリを開発できます。2022年6月に最初の安定版であるバージョン1.0がリリースされました。 Tauriでは、メインプロセスはRustで記述しますが、UI(User Interface)にはWeb技術を利用します。ReactVue.jsのようなJavaScriptフレームワークがそのまま使えるので、インタラクティブで見栄えの良いUIを簡単に構築できます。同種のフレームワークにElectronがありますが、後発であるTauriにはインストーラのサイズを小さくできるなどの強みがあります。 Tauriのロゴは、おうし座の二重星であるシータタウリ(θ Tauri)をモチーフ[1]にしており、Webとネイティブアプリの相互作用を意味しています。 図1 Tauriロゴ 稿では、Ta

    軽量RustフレームワークTauriでデスクトップアプリ開発をはじめよう | gihyo.jp
    toenobu
    toenobu 2022/10/21
  • gihyo.jp編集部におけるMarkdown記法 | gihyo.jp

    稿では、gihyo.jp編集部で利用しているMarkdownファイルの記述方法を主に解説します。 注意:gihyo.jp編集部内でのみ採用しているMarkdownの書き方をまとめた文書を、記事の体裁を取って公開したものです。なお、記事公開後に記述方法を追加・変更する可能性もあります。 Markdownとは? はじめに、筆者の把握している範囲でMarkdownについて概説しておきます。 近年は一般向けのウェブサービスやテキストエディタでも利用されてきているMarkdown。端的に言えば、テキストファイル上で文書を書くための構文です。文書の読みやすさに焦点を当てており、Markdown形式のテキストファイル(=Markdownファイル)をそのまま見れば文書とその構造が理解できるように、Markdown特有の編集記号や字下げを用いて表現します。また、MarkdownファイルをHTMLファイルに

    gihyo.jp編集部におけるMarkdown記法 | gihyo.jp
    toenobu
    toenobu 2022/08/04
  • 第3章 詳解HTTP/3 ~ いかにしてQUICを活用し、いかにして高速化を実現したか | gihyo.jp

    動的テーブル ─⁠─ 変わる辞書データ 動的テーブルは、1つの通信中に更新されていくテーブルです。静的テーブルにないフィールドを個々にエントリとして追加していきます。動的テーブルのエントリは追加と削除のみが行え、既存のエントリが更新されることはありません。動的テーブルはHTTP/3通信ごとに管理されます。通信が違えば状態は異なりますし、通信が切断されれば状態は失われます。 動的テーブルの更新手順 項では、動的テーブルがどのように更新されるかを解説します。 動的テーブルは、RequestストリームでやりとりするHEADERSフレームを送信する側と受信する側で状態が一致している必要があります。HEADERSフレームで参照するエントリがずれると、フィールドを正しく解釈できません。HPACKではHEADERSフレームの中で動的テーブルを更新しますが、QPACKではHEADERSフレームとは独立し

    第3章 詳解HTTP/3 ~ いかにしてQUICを活用し、いかにして高速化を実現したか | gihyo.jp
    toenobu
    toenobu 2022/07/14
  • 第167回 M1搭載MacのDockerでMySQLを動かしてみる | gihyo.jp

    2020年11月に発表されたMacBook Airから搭載されているM1チップというCPUがあります。こちらは従来のMacに搭載されていたCPUがx86/64の命令セットとは異なり、ARMアーキテクチャを採用しているという違いがあります。発売から1年以上たち、インテル製のCPUを搭載したMacがラインナップから無くなったので、次もしMacを購入するとなるとM1チップ搭載のMacを購入することになります。 今回は、その際に問題が起こりがちなDockerでの開発環境の構築について、紹介していきたいと思います。 DockerMySQLを動かしてみる まずは、dockerコマンドでMySQLを指定して動かしてみようと思います。 % docker run -p 3307:3306 -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:latest Unable

    第167回 M1搭載MacのDockerでMySQLを動かしてみる | gihyo.jp
    toenobu
    toenobu 2022/05/30
  • 2022年のブラウザとウェブ標準 | gihyo.jp

    2022年になりました。矢倉眞隆(@myakura)と申します。昨年に引き続き、新春特別企画のブラウザとウェブ標準を担当させていただきます。 なお、取り上げるトピックの数やインパクトの大きさもあり、CSSについては別記事となりました。あわせて読んでいただければ幸いです。 ChromeとFirefoxがバージョン100に到達 昨年の新春企画でもすこし触れましたが、今年はChromeとFirefoxのバージョンが100になります。 Chrome 100は、今年の3月29日にリリース予定です。もともとはもう少し先だったのですが、Chrome 94からリリースサイクルが4週間に短縮されたため、Chrome 100のリリースが早まりました。 Chromeよりも早く4週間のリリースサイクルに移行していたFirefoxも、5月3日にFirefox 100がリリース予定です。 バージョンが3桁になることで

    2022年のブラウザとウェブ標準 | gihyo.jp
    toenobu
    toenobu 2022/01/04
  • 最終回 今生きるプログラマーが、この仕事をあこがれのものにする | gihyo.jp

    ご好評いただいた連載も今回で最終回。いつもとは趣向とは変え、竹馬氏がこれまでのインタビューを振り返りながら、未来への展望を綴ります。 一皮むけば高度なコンピュータサイエンスが 今まではインタビュアーとして抑えた感じでやってきましたが、今回は自分のブログ「mizchi's blog」の読者はご存じのような、いつもの感じで行きます。 この連載インタビュー企画の依頼を受けたときの個人的な狙いとして、技術評論社の名前を使って、いつもは会いづらい人に会いに行く口実を作ろう、ということを考えていました。その目的はほぼ達成できたので、関係者諸氏には、とても感謝しています。 ……という個人的なテーマとは別に、僕自身が連載を通して一貫して表明したい課題感があり、それは「高度なコンピュータサイエンス/プログラミングスキルの現場適用の難しさ」というものです。 僕自身、大学でコンピュータサイエンスを修めたわけ

    最終回 今生きるプログラマーが、この仕事をあこがれのものにする | gihyo.jp
    toenobu
    toenobu 2019/10/22
  • 第17回 Webアプリケーションのパフォーマンス改善(1) | gihyo.jp

    大きな効果を上げるために チューニンガソン#1~#3の改善率を見ると、アプリケーションや全体のアーキテクチャに手を入れないで改善できるのは最大でも10倍以下です。もちろん数倍速度が違えばサーバ台数を大きく減らせるので有意義なのは間違いないのですが、ISUCONやチューニンガソン#4のような飛躍的な高速化は望めないことがわかります。 つまりチューニングでは、単にパラメータ設定を変更するのみではなく、ボトルネックになっているコードやクエリ、アーキテクチャに的確に手を入れていくことで大きな効果を上げることができるのです。 ボトルネックの発見と解消が大事 システム全体の処理時間についてパレートの法則(経験則)を適用すると、「⁠全体の処理時間の80%は20%の部分で発生している」ということになります。実際にシステム全体で一番ボトルネックになっている部分を解消しないことには、ほかの部分に手を入れても大

    第17回 Webアプリケーションのパフォーマンス改善(1) | gihyo.jp
    toenobu
    toenobu 2017/05/28
  • [入門]関数プログラミング―質の高いコードをすばやく直感的に書ける! 記事一覧 | gihyo.jp

    運営元のロゴ Copyright © 2007-2024 All Rights Reserved by Gijutsu-Hyoron Co., Ltd. ページ内容の全部あるいは一部を無断で利用することを禁止します⁠。個別にライセンスが設定されている記事等はそのライセンスに従います。

    [入門]関数プログラミング―質の高いコードをすばやく直感的に書ける! 記事一覧 | gihyo.jp
    toenobu
    toenobu 2015/03/03
    関数
  • 隔週連載groonga 記事一覧 | gihyo.jp

    第10回[実録] MySQL向け全文検索エンジン「Tritonn」から「mroonga」への移行ガイド(3) 吉田健太郎 2013-09-03 第9回mroongaを広く使ってもらうために大事なこと - mroongaのパッケージング動向の紹介 HAYASHI Kentaro (kenhys) 2013-08-20

    隔週連載groonga 記事一覧 | gihyo.jp
  • Javaはどのように動くのか~図解でわかるJVMの仕組み 記事一覧 | gihyo.jp

    運営元のロゴ Copyright © 2007-2024 All Rights Reserved by Gijutsu-Hyoron Co., Ltd. ページ内容の全部あるいは一部を無断で利用することを禁止します⁠。個別にライセンスが設定されている記事等はそのライセンスに従います。

    Javaはどのように動くのか~図解でわかるJVMの仕組み 記事一覧 | gihyo.jp
    toenobu
    toenobu 2013/05/11
  • 第127回 ターミナルマルチプレクサ tmuxを使ってみよう | gihyo.jp

    端末で作業をするなら、特にsshなどでネットワーク後しに作業を行うなら、仮想端末管理ソフトウェアであるGNU Screenは必須といってよいでしょう。Ubuntu 10.04であれば、GNU Screenをさらに便利に使うためのアプリケーション「byobu」が最初から導入されているので、こちらを使っているユーザも多いと思います(byobuについては連載72回参照、注1⁠)⁠。 今週のレシピは、GNU Screenと同じ仮想端末管理ソフトウェアである「tmux」ターミナルマルチプレクサを紹介します。 GNU Screenの利点とは GNU Screenの利点を簡単におさらいしておきましょう。GNU Screenには多くの機能がありますが、筆者が主に使っているのは以下のような機能です。 GUIのタブ機能のように、複数の端末を起動して切り替えられる 端末を画面分割して使うことができる 端末上で

    第127回 ターミナルマルチプレクサ tmuxを使ってみよう | gihyo.jp
    toenobu
    toenobu 2012/07/01
  • タグ一覧zsh

    アフターコロナにおけるエンジニアチームの作り方,グローバルな視点でのエンジニア獲得と開発とコミュニケーションの在り方について取り上げます。 LINE テクノロジーエンジニアリング大全 「LINE DEVELOPER DAY 2020」より,注目すべきテクノロジーエンジニアリングをピックアップし,詳説インタビューを実施しました。 プロダクト思考で開発が進む「みてね」の今とこれから~みてねの生みの親笠原健治氏,開発マネージャ酒井篤氏が考える,プロダクトとエンジニアリングの素敵な関係

    タグ一覧zsh
    toenobu
    toenobu 2012/05/02
  • 第2回 abcモジュールによる抽象基底クラスの作成 | gihyo.jp

    抽象クラスとインターフェース C++には、抽象クラスという仕組みがあります。 抽象クラスとは、インターフェースのみを定義した純粋仮想関数というメンバ関数をもつクラスです。抽象クラスはそのままでは定義が完全ではないため、継承して純粋仮想関数をすべてオーバライドしなければインスタンスを作れません。 このような抽象クラスを用いることは、クラスのインターフェースを定義し、継承時にオーバライドしてほしいメンバ関数を明示する、という意味があります。 Python においては、そのようなインターフェースのみを定義するという機能が存在しません。そのため、クラスを継承する際にオーバライドするべきメソッドを明示し、オーバライドされていなければインスタンスを作れなくする、というような挙動をさせることは通常できません。 似たような挙動をさせるには、 未実装であることの印としてNotImplementedオブジェク

    第2回 abcモジュールによる抽象基底クラスの作成 | gihyo.jp
  • 第17回 「Software Quality Environment」による静的解析でソースコードの品質を向上させる | gihyo.jp

    格派エンジニアの工具箱 第17回「Software Quality Environment」による静的解析でソースコードの品質を向上させる パッケージの依存関係を可視化する「Dependency Finder」 前回に引き続き、NetBeans向けの静的コード解析ツールである「Software Quality Environment」(⁠以下、SQE)を紹介します。 SQEに付属する4つのツールのうちのひとつ、「⁠Dependency Finder」は、コンパイル済みのJavaコードからパッケージの依存関係を解析して可視化するツールです。もともとのツールは依存関係をXML形式やHTML形式またはテキスト形式で出力するものですが、SQEに含まれるNetBeansプラグインではグラフ状のマップとして出力する機能が提供されます。 Dependency Finderによる解析は、プロジェクト名を

    第17回 「Software Quality Environment」による静的解析でソースコードの品質を向上させる | gihyo.jp
    toenobu
    toenobu 2012/02/15
  • 2012年のJavaScript~PCからモバイルの時代へ | gihyo.jp

    あけましておめでとうございます。一昨年、昨年に引き続き、今年も昨年のJavaScriptを振り返りつつ、JavaScriptの近い未来についてちょっとだけお話させて頂きます。 それでは早速、昨年の予想を振り返りつつ、最近までのJavaScript界隈の動きを振り返ってみましょう。 2011年のJavaScript界隈でのニュース 昨年の記事で私は2011年はウェブアプリの普及に向けて、JavaScriptの開発環境とテスト環境がキーになると書きました。まずはこの2つの視点から見てみましょう。 JavaScriptの開発環境 2011年のJavaScriptの開発環境に関する大きなニュースといえば、Ruby on Railsの3.1にCoffeeScriptがデフォルトで採用されたという一件があります。Railsは非常に人気の高いウェブアプリケーションフレームワークで、多くのフレームワークに

    2012年のJavaScript~PCからモバイルの時代へ | gihyo.jp