並び順

ブックマーク数

期間指定

  • から
  • まで

201 - 240 件 / 4587件

新着順 人気順

TCPの検索結果201 - 240 件 / 4587件

  • 最近知ったCloudflareで実はこんなこともできる集

    Argo Tunnel Client(cloudflared)をngrokの代替として使う cloudflaredというArgo Tunnelクライアントを使えば、ngrokのようにローカルサーバを外部に公開することができる。 # localhost:8080 を公開する。実行後に表示されるURLを使ってどこからでもアクセスできる。 cloudflared tunnel --url http://localhost:8080 これだけならばわざわざ乗り換える理由にはならないが、ngrokでは有料でしか使えない機能も無料プランで使える。 カスタムドメインの割り当て SSOによる認証 TCPのプロキシ セキュアでDDNSのいらないVPNの構築 例えば個人で自宅にVPNの環境を作る場合、ルーターのVPN機能を使うか、VPNサーバを立ててDDNSでドメインを自宅のグローバルIPに紐付けるといったや

      最近知ったCloudflareで実はこんなこともできる集
    • Linux カーネルをバイパスして TCP 通信を 10 倍速くする | IIJ Engineers Blog

      【IIJ 2023 TECHアドベントカレンダー 12/16の記事です】 この記事について 背景:TCP はコンピュータネットワークの通信において広く利用されているプロトコル・標準化された通信規格です。コンピュータは TCP/IP スタックと呼ばれるようなソフトウェアを実行することで、定められた規格に則って通信を行います。汎用 OS 環境では、TCP/IP スタックは多くの場合、カーネル空間に OS 機能の一部として実装されています。 課題:通信に関するソフトウェアの研究コミュニティでは、そのようなカーネル空間に実装されている TCP/IP スタックは、近年の高速な NIC の性能を十分に引き出すことが難しいという課題が指摘されてきました。 テクニックの紹介:当記事では、近年の研究コミュニティにおいて比較的一般的な高速化テクニックとされている「カーネルをバイパス(迂回)して TCP 通信を

        Linux カーネルをバイパスして TCP 通信を 10 倍速くする | IIJ Engineers Blog
      • インターネットが生まれるまで - デマこい!

        徒歩よりも遅かった ローマ帝国時代後期、ローマ支配下のエジプトの法的文書には、暦日と在位中の皇帝の名前が記載されていました。当時はローマで新しい皇帝が即位しても、それがエジプトに伝わって法的文書に反映されるまでにタイムラグがありました。このタイムラグを調べると、古代における情報伝達の速さを推測できます。また、近世に入った1500年頃の情報伝達の速さは、ヴェネチアの商人たちの日記から推測できます[1]。 その結果を見ると、平均時速はほとんど変わらず時速1・5キロメートルほどだったようです。産業革命以前の世界では、情報伝達は人間の歩行速度よりも遅かったのです。 出典:グレゴリー・クラーク『10万年の世界経済史』下巻p177 出典:グレゴリー・クラーク『10万年の世界経済史』下巻p178 近代の情報伝達の速さは、ロンドンの新聞から推測できます。世界中で起きた事件がロンドンで報道されるまでのタイム

          インターネットが生まれるまで - デマこい!
        • Linux eBPFトレーシング技術の概論とツール実装 - ゆううきブログ

          eBPF(extended Berkley Packet Filter)という用語を著者が初めてみかけたのは、2015年ごろだった。最初は、eBPFをその字面のとおり、パケットキャプチャやパケットフィルタリングを担うだけの、Linuxの新しいサブシステムであろうと認識していた。しかし、実際にはそうではなかった。 システム性能の分析のための方法論をまとめた書籍Systems Performance 1 の著者で有名なBrendan Greggが、Linuxのネットワークサブシステムとは特に関係ない文脈で、古典的なシステム性能計測ツールでは計測できないことを計測するツールを作っていた。その計測ツールがeBPFという技術によって実装されていることを知ったときに、eBPFに興味をもったのだった。また、eBPFは、システム性能を調べる用途以外にXDP(eXpress Data Path)と呼ばれるプ

            Linux eBPFトレーシング技術の概論とツール実装 - ゆううきブログ
          • 詳解 システム・パフォーマンス 第2版

            本書は、エンタープライズとクラウド環境を対象としたオペレーティングシステムとアプリケーションのパフォーマンス分析と向上について解説します。 主にLinuxベースのオペレーティングシステムに含まれるツールとその使用例を通じてシステムパフォーマンスを引き出す手法を説明します。システム評価のためのベンチマーク、キャパシティプランニング、ボトルネックの解消について解説しスケーラビリティを制限する要因を発見、分析し、解決する方法を学びます。 第2版では、perf、Ftrace、BPFの解説が加わり、Linuxとクラウドコンピューティングについての説明が充実しました。 システムのパフォーマンスを向上させ、コストを削減し、レイテンシの外れ値を減らすための方法を学ぶ本書はエンジニア必携の一冊です。 まえがき 1章 イントロダクション 1.1 システムパフォーマンス 1.2 職種 1.3 作業 1.4 分析

              詳解 システム・パフォーマンス 第2版
            • 2023年4月においてクリックジャッキング未対策のサイトはどの条件で被害を受けるか

              サマリ CookieやlocalStorage等でセッション管理しているウェブサイトがクリックジャッキング対策していない場合、どの条件で被害を受けるかを説明する。SameSite属性のないCookieでセッション管理しているウェブサイトは、主要ブラウザのデフォルト設定ではクリックジャッキングの影響を受けない。一方、loaclStorageにトークン類を格納するウェブサイトでは、Google Chrome等のブラウザでクリックジャッキングの影響がある。また、ブラウザの設定を変更した場合の影響についても説明する。 クリックジャッキングとは クリックジャッキングとは、一言で説明すると「ウェブサイト利用者に意図しないクリック(タップ)をさせる」攻撃です。ウェブサイト上で意図しないクリックを勝手にさせられると、重大な結果になる場合があります。例えば、このURLを閲覧すると、以下のようにTwitter

                2023年4月においてクリックジャッキング未対策のサイトはどの条件で被害を受けるか
              • QUICの実装はTCP並みの効率を実現できるか? Fastly奥氏らがベンチマークを紹介

                現在標準化が進められている次世代HTTPの「HTTP/3」は、トランスポートプロトコルとして「QUIC」と呼ばれる新しいプロトコルを採用します。 現時点のHTTPはトランスポートプロトコルとして「TCP」が採用されています。その上で、可能な限り高速な通信が行えるようにさまざまな工夫や最適化が進められてきました。そしてもうこれ以上高速にしようとすると、TCPそのものを改善していくべきだろう、というところまできたのです。 それがHTTP/3で「QUIC」が採用される大きな理由といわれています。 TCPは内部で輻輳制御や再送などを自動的に行うことで通信が確実に行われることを保証してくれる便利なプロトコルですが、それゆえに、確実に通信が行われるまで待つ必要があるために通信環境によっては遅くなりがち、などの側面があります。 そこでQUICは、TCPのような通信の保証がない代わりにリアルタイム性の高い

                  QUICの実装はTCP並みの効率を実現できるか? Fastly奥氏らがベンチマークを紹介
                • MusicFMを潰したい高校生の話。〜動的解析でわかったこと〜 - Qiita

                  あらすじ クラスでこんな会話をよく耳にします。 「〇〇の新曲リリースされたらしいよ」 「まじ?MusicFMにあるかな」 「通信制限やばいからwifiつないでダウンロードしとこ」 MusicFMやmangabankなどの海賊版サービスは、もはや中高生の生活に必要不可欠です。ネット上ではここまで著作物がルーズなのかと高校生ながら危機感を感じました。僕が大好きなMr.childrenやスピッツの楽曲もダダ漏れ。 よし、MusicFMを潰そう。 動作環境 iPhone8 ios12.1 App名: Music HD デベロッパ: Xu Yingqi Ubuntu 18.04.3 iPhoneの通信をパケットキャプチャ iPhoneの通信をPCでキャプチャするには、iPhoneネットワークデバイスを仮想ネットワークインターフェースとしてPCに設定します。 rvictlコマンドをlinuxで実装して

                    MusicFMを潰したい高校生の話。〜動的解析でわかったこと〜 - Qiita
                  • 「ピアリング戦記 - 日本のインターネットを繋ぐ技術者たち」を書きました!:Geekなぺーじ

                    書名:ピアリング戦記 日本のインターネットを繋ぐ技術者たち 著者:小川晃通 著 発行:2022年7月13日 ISBN:978-4-908686-14-6 A5判、152ページ 紙本体2000円 電子本体1800円 インターネットを構成する「技術」は世界共通です。 その仕様であるTCP/IPは万人に対して公開されており、解説書も数多くあります。 仕様や解説書は体系的に記述されているので、一見するとインターネットは実に合理的に技術的な要請に基づいて構成された形をしているように思えるかもしれません。 しかし、インターネットは人間が作り運営しているものです。 そのため、インターネットの形には「人間の営み」が少なからず影響しています。 そもそもインターネットを物理的に構築するためにはどうしても各所でお金が必要です。 回線代、場所代、電気代、運用者の人件費など、維持にはさらにお金がかかります。 お金が

                    • LambdaからRDS/RDBを利用する際に意識したいポイント5選 | DevelopersIO

                      こちらの記事はRDS ProxyがGAされる前に執筆した記事です。現在はLambdaからRDSを利用する場合、間にRDS Proxyを挟むという選択肢が増えているので、まずはRDS Proxyを使う/使わないの検討をお願いします。以後で紹介しているトピックの一部はRDS Proxy利用時は考え方が変わってきます。 CX事業本部@大阪の岩田です。私が現在関わっているプロジェクトではLambda × RDSというアーキテクチャを採用して開発を進めています。開発を進める中でLambda × RDS(RDB)という構成についてある程度ノウハウが貯まってきたので、注意したいポイントやオススメの設定をTIPS的に紹介していきます。 環境 以後の説明では以下の環境の一部もしくは組み合わせを利用しています。具体的なコードやSQLの例はプログラミング言語やDBエンジンに依存しますが、根底の考え方はどの言語、

                        LambdaからRDS/RDBを利用する際に意識したいポイント5選 | DevelopersIO
                      • Web3は本当に日本に必要な技術なのか、あるネット騒動が広げた波紋

                        最近、Web3について解説したある入門書が「間違いだらけ」とネットで話題になっていた。他社の出版物なので書名を挙げるのは控えるが、検索すればすぐに見つかるはずだ。怪しい出版社の書籍ではなく、インターネット関連の書籍には定評のある技術系出版社が出版したものだ。 ネットでは、この書籍内でイーサリアムをOSと呼んでいたり、TCP/IPやHTTPといったプロトコルを米Googleや米Amazon.comが独占していると書いたりしている点が問題視されていた。これを見て私は当初、「よくある自転車置き場の議論ではないか」と思った。 自転車置き場の議論とは、知識が足りない人は本質的な議論ができず、自分が理解できる範囲のどうでもいい議論しかできないことを指す。この書籍に関していうと「Web3の仕組みを理解できないから、自分に理解できる範囲で揚げ足取りをしているだけではないか」と思ったのだ。 確かにイーサリア

                          Web3は本当に日本に必要な技術なのか、あるネット騒動が広げた波紋
                        • ネットワーク パフォーマンスの解読: TCP と UDP のバルクフローのベンチマーク | Google Cloud 公式ブログ

                          Gemini 1.5 モデル をお試しください。Vertex AI からアクセスできる、Google のもっとも先進的なマルチモーダル モデルです。 試す ※この投稿は米国時間 2024 年 6 月 22 日に、Google Cloud blog に投稿されたものの抄訳です。 Google Cloud ネットワーキング チームは長年にわたり、お客様のネットワークの構築、修正、強化の支援に深く携わってきました。その間に、ネットワークのパフォーマンスと効率を最大限に高める重要なパターンやベスト プラクティスを発見しました。この豊富な知見は、ただの理論的なリソースではありません。Google Cloud、クロスクラウド、オンプレミス、その他のクラウド プロバイダなどデプロイ先を問わず、お客様のビジネス目標達成を支援するよう設計された実用的なツールキットです。Google はこの専門知識を共有する

                            ネットワーク パフォーマンスの解読: TCP と UDP のバルクフローのベンチマーク | Google Cloud 公式ブログ
                          • 【終了】IT・プログラミングKindle技術書大規模セール開催中:50%OFF1000冊以上対象(1/9まで)│しねんたい

                            年末にスタートしたKindle技術書スペシャルセールが1/9(木)で終了。公式では40%OFF以上となっているが大体50%以上OFF。 セール対象には、Pythonなどプログラミング全般、技術者教養、技術系読み物、AI、CSS&HTML、Googleサービス、マーケティング、デザイン系まで初心者向け入門書からベテランの需要を満たす高額技術書まで1000冊以上が対象。 購入したKindle電子書籍は無料アプリで自分のタブレット・PC・スマホで読めます。Amazon専用端末がなくてもOK。 Kindle技術書おすすめピックアップ パケットキャプチャの教科書 みやた ひろし (著) 本書では、これからパケット解析を始める人を対象に、パケットキャプチャツールのデファクトスタンダード「Wireshark」の使い方や、実際に現場で見かけるパケットを理解するうえで必要な知識を、じっくり丁寧に解説します。

                              【終了】IT・プログラミングKindle技術書大規模セール開催中:50%OFF1000冊以上対象(1/9まで)│しねんたい
                            • eBPFに3日で入門した話 - CADDi Tech Blog

                              はじめに eBPF とはなにか ざっくり概要 「Packet Filter」なのに「Virtual Machine」? eBPFでなにができるか? カーネルイベントのフック ユーザーランドアプリケーションとのやりとり eBPFの主な用途 eBPFが注目される背景 eBPFの仕組み アーキテクチャと処理フロー カーネルモジュールとeBPFの違い eBPFプログラムの作り方 eBPFプログラムを作ってみる 環境の準備 Hello world もう少し複雑なサンプル その他のサンプル HTTPリクエストのダンプ TCP接続先の調査 tcplife dirtop filetop oomkill まとめ eBPFはなにに使えるか 参考サイト はじめに こんにちは、Platformチームの小森です。 eBPF (extended Berkley Packet Filter) について、2022年8月2

                                eBPFに3日で入門した話 - CADDi Tech Blog
                              • HTTP/3の基盤となる「QUICプロトコル」の標準化プロセスが完了、IETFの「RFC 9000」として

                                HTTP/3の基盤となる「QUICプロトコル」の標準化プロセスが完了、IETFの「RFC 9000」として 現在標準化が進められている新たなHTTPである「HTTP/3」のトランスポート層プロトコルとなる予定の新しい通信プロトコル「QUIC」が、インターネットで用いられる通信プロトコルなどの標準化を行う団体のIETF(Internete Engineering Task Force)により「RFC 9000」として策定を完了、新たなインターネット標準になったことが明らかになりました。 QUIC is now RFC 9000 | Fastly QUIC is RFC 9000 | daniel.haxx.se QUICはもともとHTTPをより高速化するためにGoogleが開発し、その後IETFで標準化が進められてきました。 QUICはまずは次世代のHTTPであるHTTP/3のトランスポート

                                  HTTP/3の基盤となる「QUICプロトコル」の標準化プロセスが完了、IETFの「RFC 9000」として
                                • とりうみ@はんこと印鑑は違うもの on Twitter: "少なくとも、これら説明できない奴、エンジニアとして、マジでやばいので自覚した方がいいぞ。 ・NIC、MACアドレス ・ARP ・ブロードキャスト ・サブネット ・ルーティング ・IPアドレス ・TCP"

                                  少なくとも、これら説明できない奴、エンジニアとして、マジでやばいので自覚した方がいいぞ。 ・NIC、MACアドレス ・ARP ・ブロードキャスト ・サブネット ・ルーティング ・IPアドレス ・TCP

                                    とりうみ@はんこと印鑑は違うもの on Twitter: "少なくとも、これら説明できない奴、エンジニアとして、マジでやばいので自覚した方がいいぞ。 ・NIC、MACアドレス ・ARP ・ブロードキャスト ・サブネット ・ルーティング ・IPアドレス ・TCP"
                                  • カンファレンスイベントで会場回線を過信してはいけない - notokenの覚書

                                    前段 PHP Conference Japan 2023が 10/08 に大田区産業プラザPiOで行われたわけですが、開会直後に提供している無線LANがいきなり不安定になってしまい、そのまま一部の部屋以外で提供できない状態になってしまった。 この記事では、なぜそのようなことが発生してしまったか?という点に関して解説しようと思う。 結論 会場側設備として入っているNAPT-BOXが YAMAHA RTX1200 という 15年前*1に発売されたルータで、来場者を捌けるだけのNAPTセッションテーブル*2が備わっておらず、NAPTテーブル溢れ*3を起こしてしまった。 事前知識 NAPT Network Address Port Translation 1つのグローバルIPアドレスを複数のホストで共有するための仕組み。この機能により1つのグローバルIPアドレスを複数のクライアント(コンピュータや

                                      カンファレンスイベントで会場回線を過信してはいけない - notokenの覚書
                                    • AWSにおけるALB&NLBのBlue/Greenデプロイメント設計 - How elegant the tech world is...!

                                      はじめに どうも、iselegant です。 前回、執筆した商業誌について本ブログで紹介させていただいたところ、大変多くの反響がありました。 コメントをくれた方、書籍に関心を持っていただいた方、本当にありがとうございます🙇 AWSコンテナ設計・構築[本格]入門 | 株式会社野村総合研究所, 新井雅也, 馬勝淳史, NRIネットコム株式会社, 佐々木拓郎 |本 | 通販 | Amazon 本日から少しの間、分量調整と締め切りの都合上、商業誌では執筆しきれなかった AWS 設計に関するサイドトピックについて、本ブログ上でご紹介したいと思います。 今日はALB (Application Load Balancer) と NLB (Network Load Balancer) の Blue/Green デプロイメントに関する設計がテーマです。 AWS で Web アプリケーションの可用性とパフォ

                                        AWSにおけるALB&NLBのBlue/Greenデプロイメント設計 - How elegant the tech world is...!
                                      • WSL2で開発中のWebアプリを同じLANのスマホで動作確認する方法

                                        WSL2で開発中のWebアプリをスマホで即座に動作確認したい スマホとPCが同一のWifiに接続している状態でスマホのブラウザから http://<PCのIPアドレス>:<Webアプリのポート> にアクセスして動作確認出来ることがよく知られています。 私は普段PC向けの業務システムやライブラリを作っているのでこの方法を使う機会がほとんどないのですが、久しぶりにスマホでの確認が必要になりました。 開発環境がWSL2の場合に固有処理が必要だったのでメモ代わりに公開しておきます。 WSL2固有処理だけ知りたい人のための結論 PowerShellを管理者権限で開いてください。 以下を1行ずつ入力してもいいし、ps1ファイルに書いて実行でもいいはずです。 私はPowerShellに慣れてないので1行ずつ打ち込んでます。 開始 $ports = @(3000, 8000) # Webアプリで使うポート

                                          WSL2で開発中のWebアプリを同じLANのスマホで動作確認する方法
                                        • 「世界一流エンジニアの思考法」の内容を実践してみた | DevelopersIO

                                          生産性を爆上げしたい おのやんです。 みなさん、生産性を爆上げしたいと思ったことはありませんか?私は毎日の業務に取り組む上で、どうすれば生産性を上げられるか日々考えています。 そんな中出会ったのが、こちらの「世界一流エンジニアの思考法」です。 本書を読んだ際には、「なるほど、こういう取り組み方をすれば生産性を向上させられるのか」とものすごく腹落ちしました。 その後、本書に書かれている内容を私なりに解釈・適用して実践してみました。その結果、目に見えて生産性やアウトプットに変化が見られました。ということで、今回は実際にやってみた取り組みとその変化について、本記事で紹介したいと思います。 本書について 本書を書かれた牛尾さんは、アメリカのマイクロソフトで現役のソフトウェアエンジニアでいらっしゃいます。マイクロソフトで働く同僚の生産性の高さを観察し、彼らが実践していることなどを紹介する内容となって

                                            「世界一流エンジニアの思考法」の内容を実践してみた | DevelopersIO
                                          • Linux Performance

                                            static, benchmarking, tuning: sar, perf-tools, bcc/BPF: bpftrace, BPF book: Images license: creative commons Attribution-ShareAlike 4.0. This page links to various Linux performance material I've created, including the tools maps on the right. These use a large font size to suit slide decks. You can also print them out for your office wall. They show: Linux observability tools, Linux static perfor

                                            • プルリクを起点に検証環境が自動で構築されるようにしたら すぐにレビューできるようになったのでみんなハッピーになれた話

                                              こんにちは。CacooチームのYAMLエンジニアの木村(@cohhei)です。「readiness」は「ready」の名詞形で「レディネス」と読むことをわりと最近知りました。今回はプルリクエスト向けに検証環境が構築される仕組みを作ったので紹介します。 忙しい人のためのざっくりとした説明 プルリクエストが作られたら自動で検証環境が構築される仕組みをつくりました。 環境まるごと作るわけではなく、フロントエンドJavaScript配信用のPodだけに対応しています。 レビュアーやテスターはクエリパラメーターが追加されたURLにアクセスするだけでその検証環境にアクセスできます。 プルリクエストをマージする前にそのバージョンを非エンジニアでも試すことができます。 プルリクエストごとに環境が作られるので、複数の開発プロジェクトが同時に走っているときに便利です。 コミットしてプルリクエストを作るだけです

                                                プルリクを起点に検証環境が自動で構築されるようにしたら すぐにレビューできるようになったのでみんなハッピーになれた話
                                              • Go の sql.DB がコネクションプールを管理する仕組み

                                                Go の database/sql パッケージ の DB 構造体 は、データベースへのコネクションプールを管理し、かつスレッドセーフ (goroutine セーフと言ったほうが良いのだろうか…?) にそれらの接続を使用できることを保証している。 ドキュメント にも次のように書かれている。 DB is a database handle representing a pool of zero or more underlying connections. It’s safe for concurrent use by multiple goroutines. こちらの基本的な実装内容と、動作を制御するパラメータについて調べてみた。 基礎知識のおさらい database/sql パッケージはデータストアの実装によらない一般的な SQL のインタフェースを提供している。具体的なデータストアへの接

                                                  Go の sql.DB がコネクションプールを管理する仕組み
                                                • Linuxカーネルパラメータのチューニング&設計 - Qiita

                                                  Linuxカーネルパラメータのチューニング&設計 0.目的 【カーネルパラメータのチューニング】を修得する目的は、サーバの特性を理解し、それぞれに合ったカーネルパラメータのチューニングすることでリソースの有効活用をできるようになることを目的とし、私個人の経験を元にした見解を以下の記事に掲載します。 1.最初に サーバには、それぞれ必要なリソース特性があり、それに合わせたカーネルパラメータのチューニングが必要となります。 世の中の流れはオンプレよりクラウドに移行してはいるので、カーネルパラメータのチューニングよりスケールアップなりスケールアウトするなりの対応をすべきなのでしょう。 ですが、カーネルパラメータのチューニングを知らないとどちらを選択すべきかも理解しずらいと思いますので軽率には出来きません。(待ち行列理論もしらないといけませんが) また、最近のLinuxはデフォルト値が大きくなって

                                                    Linuxカーネルパラメータのチューニング&設計 - Qiita
                                                  • ChatGPTをぬるぬるにする🐌Server-Sent Eventsの基礎知識

                                                    単方向通信であるということと、HTTP/1.1上で動作しているのが大きな特徴です。 また、HTTP上で動作することから、通信の互換性が高く、セキュリティモデルも使いまわせるので安心です。 どんな用途と相性がいいの? 双方向通信がしたいわけでなければ、相性の幅がとても広いです。 今回の ChatGPT のような、GPT がトークンを生成するごとに送るケースはもちろん、通知の未読件数バッジの更新、ニュース速報の表示など、サーバからイベントを送りたい時ならなんでも使えます。 HTTP/1.1で動くカラクリ SSEはHTTPのレスポンスヘッダにContent-Type: text/event-streamを指定した上で動作します。 SSEが動く流れ クライアントがサーバーに HTTP/1.1 リクエストを送信し、イベントストリームに接続します。 サーバーは、Keep-Alive 接続を使用して、T

                                                      ChatGPTをぬるぬるにする🐌Server-Sent Eventsの基礎知識
                                                    • 『Joel on Software』を読んだ - 30歳からのプログラミング

                                                      Microsoft での勤務経験を持ち Stack Overflow の創業者でもある Joel Spolsky によるエッセイ集。 Joel は自身が運営するウェブサイト Joel on Software で多数の記事を公開しており、その一部を掲載したのが本書。 ひとつひとつの章がかなり短い(長いものでも 20 ページくらい、短いものだと 4 ページほど)ので気軽に読めるし、各章は独立しているので興味のある部分だけ読むこともできる。 技術そのものについて解説している技術書ではなく、ソフトウェア開発やソフトウェア産業についての著者の考えが書かれており、 Paul Graham の『ハッカーと画家』にテイストが近いかもしれない。 無料で公開されているエッセイ集をまとめたもの、というのも『ハッカーと画家』に似ている。 本書に収録されているのは 2000 年から 2004 年に書かれた記事なので

                                                        『Joel on Software』を読んだ - 30歳からのプログラミング
                                                      • Rustで古典的なDisk-Oriented DBMSを実装した話 - Write and Run

                                                        KOBA789 です。みなさん DBMS は好きですか。私は好きです。 最近、自作 DBMS をずっと作っていて、ようやく最低限の機能ができたので公開をしました。 (とはいえコードを書いていたのは正味2日ほど。設計と勉強に2週間かかった) github.com この記事ではこれを作った目的と、そのちょっとした詳細についてご紹介します。 目的 Disk-Oriented DBMS の学習に適している Rust で書かれた実装が欲しかった、というのが理由です。 DBMS の勉強に適している実装というのは意外と多くありません。 MySQL や PostgreSQL といった有名な実装は実用的である一方でコード量は非常に多く、また細かな最適化によって教科書的なアルゴリズムと実際のコードの差が大きくなっているため、初学者にとっては構造を把握しづらくなっています。 教科書的な実装の Disk-Orie

                                                          Rustで古典的なDisk-Oriented DBMSを実装した話 - Write and Run
                                                        • Kubernetes入門 - 自作のDockerイメージをminikubeで動かす方法 - ANDPAD Tech Blog

                                                          こんにちは!アンドパッド開発部のyokohamaです。 ITコンサル、WEBサービス会社を経て昨年5月にアンドパッドにジョインしました。 突然ですがアンドパッドでは社内で様々な勉強会を開催しています。 Vue, Flutter,マイクロサービスなどいろんなテーマの勉強会が開催されていて、所属に関わらず各々好きな勉強会に参加することができます。 自分はKubernetes/マイクロサービス勉強会と機械学習勉強会に参加しています。 勉強会に参加する目的は人それぞれだと思いますが、自分は怠け者なので学習をさぼらないようにペースメーカーとして勉強会に参加し続けています。 機械学習勉強会についてもいつか記事にできればと思っていますが、今日はKubernetes(k8s)に関しての記事なります。 k8sは入社前は全く触ったことがありませんでしたが、この勉強会のおかげで少しずつ触れるようになってきました

                                                            Kubernetes入門 - 自作のDockerイメージをminikubeで動かす方法 - ANDPAD Tech Blog
                                                          • インフラ未経験の私が内定から入社までに読んだ技術書11冊 | DevelopersIO

                                                            大阪オフィスのYuiです。 ジョインブログでも書いた通り、今までは主にアプリケーションプログラマとして仕事してきました。 インフラ周りの知識は趣味でAWSを触ったりする程度だったので、クラスメソッドから内定が出てから、「とりあえず勉強しないと!」ということで技術書を読み漁りました。その期間で読んだ11冊をインフラ初心者の目線で紹介したいと思います。 インフラエンジニアの教科書 インフラエンジニアの教科書2 絵で見てわかるITインフラの仕組み 絵で見てわかるOS/ストレージ/ネットワーク インフラ設計のセオリー ネットワークはなぜつながるのか マスタリングTCP/IP 入門編 第5版 図解まるわかり セキュリティの仕組み 入門監視 Infrastructure as Code Raspberry Pi で学ぶコンピュータアーキテクチャ インフラ全般 インフラエンジニアの教科書 概要 インフラ

                                                              インフラ未経験の私が内定から入社までに読んだ技術書11冊 | DevelopersIO
                                                            • Python初心者から2年間で読んだ中でオススメの技術書35冊を読むべき順番に並べた - 仮想サーファーの日常

                                                              Pythonの学習を始めて3年間でたくさんの技術書を読んできましたが、自分の技術力のレベルによって読みたい本が変わってしまうので、どの技術書を読めばいいのかがわからなくて本選びに相当な時間をかけたと思います。 今回は、これからプログラミング言語Pythonを学習しようとしている方、Pythonの基礎は勉強したけどもっと踏み込んで学びたい方向けに、ぼくが読んだPythonの技術書の中でこれは読んでよかった!という本を読みたい順番に紹介していきます。 この記事の対象読者 未経験からPythonを学習しようとしていて、どの技術書で学習を進めるべきか悩んでいる方 Pythonは少し学習したことあるけど、実践的なWebアプリケーションを開発するときに参考になる技術書を知りたい方 Pythonを活用したWebアプリケーションエンジニアになるために必要な知識やスキルを知りたい方 Pythonエンジニアと

                                                                Python初心者から2年間で読んだ中でオススメの技術書35冊を読むべき順番に並べた - 仮想サーファーの日常
                                                              • ゼロからのOS自作入門をRustで実装した

                                                                概要 OSを座学・書籍で学ぶだけでなく実際に作ってみたくて、またRustでなにかを作りたくて、 ゼロからのOS自作入門(以下みかん本)で作るMikanOSをRustで実装しました[1]。 先駆者はいくつか見かけましたが、最後まで実装されている方は見つけられず、 もしRustで実装しようとしてハマっている人や途中で諦めてしまった方がいれば参考になるかと思い、記事を書きました。 実装者のレベル 一応、私のレベル感を書いておきます。 OSの開発経験はなく、低レイヤーっぽい開発経験もひとつだけ Nand2tetris Rustは以下のように多少の経験はあるが業務で利用したことはなし the book はほぼ読んで写経した Rustで始めるTCP自作入門 はやった Programming Rust, 2nd Edition は気になるところを読んだ というような感じで、OS開発もRustも経験が浅い

                                                                  ゼロからのOS自作入門をRustで実装した
                                                                • Gormにおける「仕様通り」なSQLインジェクションの恐れのある実装についての注意喚起 - ANDPAD Tech Blog

                                                                  ANDPADボードチームの原田(tomtwinkle)です。 Node.jsの mysqljs/mysql の仕様に起因するSQLインジェクションが話題に上がっていたので、それGolangのORMであるGormでも同じような「仕様」があるよ! という注意喚起の意味も込めて筆を執りました。 ※ 2022/02/21追記 コードレビューを自動化して指摘してもらう記事を公開しました! tech.andpad.co.jp Node.jsのMySQLパッケージにおけるエスケープ処理だけでは防げない「隠れた」SQLインジェクション | 株式会社Flatt Security TL;DR GormのQuery Conditions関数に関する危険な仕様 対策 締め TL;DR GormのConditions関数(Find, First, Delete...)を使用する際、第2引数の値にStringを引き渡

                                                                    Gormにおける「仕様通り」なSQLインジェクションの恐れのある実装についての注意喚起 - ANDPAD Tech Blog
                                                                  • DNS検索コマンドdugの紹介 | IIJ Engineers Blog

                                                                    Haskellコミュニティでは、ネットワーク関連を担当。 4児の父であり、家庭では子供たちと、ジョギング、サッカー、スキー、釣り、クワガタ採集をして過ごす。 技術研究所開発室の山本(和)です。私は、同僚の日比野と一緒にDNSのフルリゾルバ(キャッシュサーバ)の実装を進めています。このフルリゾルバの名前は bowline と言います。結びの王様である「もやい結び」から名付けました。 サーバの bowline に加えて、検索コマンドである dug も実装しています。DNSに詳しい方なら分かると思いますが、 dig コマンドに似せた名前を選びました。(もちろん、DIGDUGという名作を意識しています。) 今回は、 DNS検索コマンド dug の使い方について説明します。dugコマンドをインストールする一番簡単な方法は、githubからバイナリをダウンロードすることです。Intel Linux 用

                                                                      DNS検索コマンドdugの紹介 | IIJ Engineers Blog
                                                                    • 「Linuxで動かしながら学ぶTCP/IPネットワーク入門」という本を書きました - CUBE SUGAR CONTAINER

                                                                      表題のとおり TCP/IP に関する本を書きました。 今回は、そのご紹介です! Linuxで動かしながら学ぶTCP/IPネットワーク入門 作者:もみじあめAmazon どんな本なの? Linux を使って実際にネットワークを組んで動かしながら TCP/IP について学べる本です。 実際に手を動かすことで、より実践的で風化しにくい知識と技術を身につけることが本の目的です。 こんな人にオススメ 次のいずれかに当てはまるような方には、この本が参考になると思います。 ネットワークが専門ではない IT エンジニア、またはそれを志す学生さん 他の TCP/IP に関する本を読んだことはあるけど、身についている実感が少ない インターネットやインフラの技術についてよく知らないけど興味はある ネットワークを気軽に組んで実験できる環境の作り方に興味がある そして、この本を読んで試した後には、次のような効果が見

                                                                        「Linuxで動かしながら学ぶTCP/IPネットワーク入門」という本を書きました - CUBE SUGAR CONTAINER
                                                                      • WebContainer API is here.

                                                                        In 2021 we announced WebContainers, a novel WebAssembly-based operating system which enables Node.js to run entirely inside the browser. Over the last two years, millions of developers have used WebContainers each month as it powers, among others, the StackBlitz editor. Today we are thrilled to release the WebContainer API for public use and we invite the entire JavaScript and Node.js community to

                                                                          WebContainer API is here.
                                                                        • ServerlessDays Tokyo 2023が最高すぎた! - Qiita

                                                                          はじめに 4年ぶりの開催となるServerlessDays Tokyoに参加してきました https://tokyo.serverlessdays.io/ 「もっとうまくやりたい、誰よりも上手にやりたい」 というメッセージとともに開催されたServerlessDays Tokyo 2023ですが、超豪華なスピーカー陣を国内外から集め、ここ数年のServerlessの成熟と未来をしっかりと味わえる濃いイベントです。 1日目がセッション、2日目がワークショップということで、熱力の高いうちに激熱なサービスを素早く学べる構成になっていて、とても充実した内容でした。 所感 4年前のServerless LambdaをはじめとするFaaSをいかに簡単にデプロイ、運用していくかというツール系の話と S3やSQS,SNSなどのFaaS以外のServerlessなサービスの組み合わせでLowOpsな仕組みを

                                                                            ServerlessDays Tokyo 2023が最高すぎた! - Qiita
                                                                          • golangで作るTCPIPプロトコル

                                                                            はじめに とりあえずIT業界に入ったら読んでおけという名著はいろいろありますが、その中の1冊がマスタリングTCP/IP入門編でしょう。 僕も買ってはいたものの読むのを途中で挫折していたので、今回しっかり読んでTCP/IPを再勉強してみたいと思います。 マスタリングTCP/IPを読みながらその他わからんことはググりつつ、golangでTCPIPプロトコルそのものを自作してみます。 方針は以下のようにします。 ethernetから作る データのやり取りにnetパッケージは一切使わない (訂正、PCのIPやMacアドレスを取るのにだけ使用しますた) データのやり取りに使うのはsyscallのsendtoとrecvfromだけ socketはRAW_SOCKETを使う golangやネットワークについても初心者の駆け出しですので間違えや実装ミス、変なコードがあるかもですが、生暖かい目でよろしゅうお

                                                                              golangで作るTCPIPプロトコル
                                                                            • HTTP/3とQUICはなぜ必要になり、どのように標準化されてきたのか? 現代のプロトコル設計とインターネットの課題|ハイクラス転職・求人情報サイト AMBI(アンビ)

                                                                              ハイクラス求人TOPIT記事一覧HTTP/3とQUICはなぜ必要になり、どのように標準化されてきたのか? 現代のプロトコル設計とインターネットの課題 HTTP/3とQUICはなぜ必要になり、どのように標準化されてきたのか? 現代のプロトコル設計とインターネットの課題 IETFで標準化が進められているWebの新しい通信プロトコルQUICとHTTP/3について、現在のインターネットが抱える課題やプロトコル設計での議論を中心に、ASnoKaze blogの後藤ゆき(@flano_yuki)さんに執筆いただきました。 2021年、Webに新しい通信プロトコルが登場しました。RFC 9000として標準化されたQUICと、その上で動作するHTTP/3です。HTTP/3はまだドラフト版ですが出版準備段階となっており、すでに実際のWeb通信でも広く使われています この2つのプロトコルは、現在のWebやイン

                                                                                HTTP/3とQUICはなぜ必要になり、どのように標準化されてきたのか? 現代のプロトコル設計とインターネットの課題|ハイクラス転職・求人情報サイト AMBI(アンビ)
                                                                              • あなたの知らないKubernetesのServiceの仕組み | IIJ Engineers Blog

                                                                                Kubernetesの主要なリソースの一つにServiceリソースがあります。ServiceリソースとはKubernetes上のPodへクラスタの外からアクセスするために使うもの、という理解をしている人が多いかもしれません。確かにそのような役割を担っているのですが、実際にはクラスタ内部に閉じた通信にも利用されていますし、実はもっといろいろな機能を持っています。 端的に説明すれば、Serviceとは「ロードバランサとDNSサーバを設定するためのリソース」です。意外に聞こえますか? もし意外に思えたなら、ぜひこのまま読み進めてみてください。 インターナルなロードバランサを制御する Kubernetesにはクラスタ内部に閉じた通信を制御するロードバランサが内蔵されています。Kubernetesを利用するということは、ほぼ例外なくこのロードバランサを利用しているのですが、あまり意識せずに利用されて

                                                                                  あなたの知らないKubernetesのServiceの仕組み | IIJ Engineers Blog
                                                                                • 【2024年最新】エンジニア向けおすすめ書籍 - Qiita

                                                                                  はじめに 今回はエンジニア初心者から中級者が読むべき書籍を10冊厳選して紹介します。 1年目の自分に読んでもらいたい書籍としてまとめました。 リーダブルコード エンジニアの必読書 他の人が理解しやすいコードの書き方が学べる 我流からの脱却 豊富なコードが掲載されているので実践しやすい 「美しいコードを見ると感動する。優れたコードは見た瞬間に何をしているかが伝わってくる。そういうコードは使うのが楽しいし、 自分のコードもそうあるべきだと思わせてくれる。本書の目的は、君のコードを良くすることだ」(本書「はじめに」より)。 コードは理解しやすくなければならない。本書はこの原則を日々のコーディングの様々な場面に当てはめる方法を紹介します。 名前の付け方、コメントの書き方など表面上の改善について。コードを動かすための制御フロー、論理式、変数などループとロジックについて。 またコードを再構成するための

                                                                                    【2024年最新】エンジニア向けおすすめ書籍 - Qiita