並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 2793件

新着順 人気順

X86-64の検索結果1 - 40 件 / 2793件

  • 牧歌的 Cookie の終焉 | blog.jxck.io

    Intro Cookie は、ブラウザに一度保存すれば、次からその値を自動的に送ってくるという、非常に都合の良い仕様から始まった。 State Less が基本だった Web にセッションの概念をもたらし、今ではこれが無ければ実現できないユースケースの方が多い。 冷静に考えればふざけてるとして思えないヘッダ名からもわかるように、当初はこのヘッダがこんなに重宝され、 Web のあり方を変えるかもしれないくらい重要な議論を巻き起こすことになるとは、最初の実装者も思ってなかっただろう。 そんな Cookie が今どう使われ、 3rd Party Cookie (3rdPC) の何が問題になっているのかを踏まえ、これからどうなっていくのかについて考える。 Cookie のユースケース Web にある API の中でも Cookie はいくつかの点で特異な挙動をする 一度保存すれば、次から自動で送る

      牧歌的 Cookie の終焉 | blog.jxck.io
    • 図解 X.509 証明書 - Qiita

      はじめに X.509 証明書について解説します。(English version is here → "Illustrated X.509 Certificate") ※ この記事は 2020 年 7 月 1 日にオンラインで開催された Authlete 社主催の『OAuth/OIDC 勉強会【クライアント認証編】』の一部を文書化したものです。勉強会の動画は公開しており、X.509 証明書については『#4 X.509 証明書(1)』と『#5 X.509 証明書(2)』で解説しているので、動画解説のほうがお好みであればそちらをご参照ください。 1. デジタル署名(前提知識) この記事を読んでいただくにあたり、デジタル署名に関する知識が必要となります。つまり、「秘密鍵を用いて生成された署名を公開鍵で検証することにより」、「対象データが改竄されていないこと」や「秘密鍵の保持者が確かに署名したこと

        図解 X.509 証明書 - Qiita
      • 『ゼロからのOS自作入門』に込めた思い - uchan note

        2021 年 3 月 22 日に『ゼロからの OS 自作入門』を出版する予定です。 本書は OS を手作りする本で、現代のパソコンでちゃんと起動する点が特長です。 15 年前の 2006 年に出版された『30 日でできる!OS 自作入門』を読んで育った私(uchan)が その後継となるだろう本を書いたということで、執筆の裏話を記してみたいなと思います。 書籍の概要 タイトル:ゼロからの OS 自作入門 著者:内田公太(uchan) 出版予定日:2021 年 3 月 22 日 ページ数:768(最大。実際はもっと少なくなる予想) ISBN:978-4-8399-7586-9 出版社の書籍ページ:ゼロからのOS自作入門 | マイナビブックス 本書は OS 作りに関する知識がないところから始め、オリジナルの OS「MikanOS」を作る一通りの過程を説明します。 パソコンの電源を入れ、他の OS

          『ゼロからのOS自作入門』に込めた思い - uchan note
        • VSCodeの拡張機能、なに使ってますか? はてなエンジニア世論調査 #2 - Hatena Developer Blog

          こんにちは、Webアプリケーションエンジニアのid:hogashiです。 半年ほど前に公開した「開発環境のフォントなに使ってますか?」に続く、はてなエンジニア世論調査の第2回「VSCodeの拡張機能、なに使ってますか?」です。 ソースコードエディタであるVisual Studio Code(以下、VSCode)は多くのエンジニアに利用されています。VSCodeにはソースコードのシンタックスハイライトやデバッグなど、さまざまな拡張機能をインストールして使うことができますが、公開されている拡張機能は膨大にあります。 その中から、はてなのエンジニアはどんな拡張機能をインストールして、日頃の開発に使っているのでしょうか? 前回と同様にアンケート調査してみました。 アンケート方法 アンケート結果から見える人気の機能拡張 6割の拡張機能は1人だけが使用 人によってかなり異なるインストール数 興味深いコ

            VSCodeの拡張機能、なに使ってますか? はてなエンジニア世論調査 #2 - Hatena Developer Blog
          • CPU律速なRuby/Pythonコードはデフォルト設定のdocker上で遅くなる - まめめも

            English version 要約 dockerはデフォルトでセキュリティ機構(Spectre脆弱性の対策)を有効にします。この影響で、RubyやPythonのようなインタプリタは速度が劣化します。特にCPU律速なプログラムで顕著に遅くなります(実行時間が倍くらいになることがあります)。 現象 Rubyで1億回ループするコードを、直接ホスト上で実行する場合と、docker上で実行する場合で実行時間を比較してみます。 直接ホスト上で実行した場合: $ ruby -ve 't = Time.now; i=0;while i<100_000_000;i+=1;end; puts "#{ Time.now - t } sec"' ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-linux] 1.321703922 sec docker

              CPU律速なRuby/Pythonコードはデフォルト設定のdocker上で遅くなる - まめめも
            • MacOS ユーザが WSL では無い Windows のコンソール環境を整える - 2nd life (移転しました)

              先日、メインの開発環境を MacOS から Windows 10 Professional へと移しました。理由としては主に2点で、現在仕事を自宅の固定席で行っており PC を持ち運びする必要がなくなったため Mac より高速で安価な Windows デスクトップ機を使いたいこと(Ryzen 9使いたい!)、WSL2 が正式版となり使ってみた感じ問題なく WSL2 で仕事の開発ができそうだったことが挙げられます。 WSL2 はふつうに Linux なので問題なく開発環境の構築が行なえ、Windows からも VSCode Remote のおかげでで違和感なくWSL2上のコードを編集、実行ができ快適な開発が行えています。(なお、WSL2 についての記事は山程溢れているので、ここでは殆ど触れません。) しかしながら、WSL2 ではないふつうの Windows 上で開発する機会が出てきたので、M

                MacOS ユーザが WSL では無い Windows のコンソール環境を整える - 2nd life (移転しました)
              • Linux ファイルシステムを理解したい - Qiita

                ]# cat /etc/redhat-release CentOS Linux release 7.7.1908 (Core) ]# uname -a Linux localhost.localdomain 3.10.0-1062.1.2.el7.x86_64 #1 SMP Mon Sep 30 14:19:46 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux ファイルシステムとは何か? データを管理/操作するための仕組み。 ファイルとディレクトリで構成されていて、/ を基点とした木構造になっている。 # ls -l / 合計 56 lrwxrwxrwx. 1 root root 7 8月 25 01:17 bin -> usr/bin dr-xr-xr-x. 6 root root 4096 9月 29 15:51 boot drwxr-xr-x. 19

                  Linux ファイルシステムを理解したい - Qiita
                • Linux システムコール 徹底入門

                  Linux システムコールについて調べたことをまとめる。システムコールの仕組みを理解すると、 OS とアプリケーションがどのように連携して動いているのかを理解できるようになります。 システムコールは CPU に依存する処理が多いため、 x86_64 に絞ります。 検証環境]# cat /etc/redhat-release CentOS Linux release 8.0.1905 (Core) ]# uname -a Linux localhost.localdomain 4.18.0-80.11.2.el8_0.x86_64 #1 SMP Tue Sep 24 11:32:19 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux ]# cat /proc/cpuinfo | head processor : 0 vendor_id : GenuineInte

                    Linux システムコール 徹底入門
                  • Linuxメモ : あると便利かもしれないRust製コマンドラインツール - もた日記

                    インストール方法 bat ripgrep, ripgrep-all fd, fselect starship exa, lsd, nat nushell navi, tealdeer delta hyperfine xsv, csview py-spy bandwhich, gping, ht, dog hexyl, bingrep broot tokei genact, globe, glitchcat monolith shellharden fnm, volta pastel gitui, onefetch, git-interactive-rebase-tool skim watchexec dust, diskonaut, dua-cli, dutree zoxide ytop, bottom, zenith mcfly sd, desed topgrade pueue proc

                      Linuxメモ : あると便利かもしれないRust製コマンドラインツール - もた日記
                    • とほほのKubernetes入門 - とほほのWWW入門

                      Kubernetesとは インストール クラスタ(Cluster) デプロイメント(Deployment) ポッド(Pod) サービス(Service) ローリングアップデート ロールバック その他いろいろ Minikubeのメモリを増やす Kubernetes APIにアクセスする イメージの一覧を表示する Minikubeのログを表示する Podのログを表示する Podにシェル接続する Podにラベルをつける minikubeコマンド kubectlコマンド リンク Kubernetesとは Google が開発したコンテナ管理システムです。 「クバネティス」「クバネテス」「クーべネティス」などと読まれます。 ギリシャ語で「船長」の意味を持ちます。 Kubernetes のスペルが K と s の間に8文字あることから k8s と表記されることがあります。 Kubernetes を簡略

                      • コンパイラが作ったバイナリをつなぎ合わせるプログラム 「lld」の作者が語る、リンカの仕組み

                        Kernel/VM探検隊はカーネルや仮想マシンなどを代表とした、低レイヤーな話題でワイワイ盛り上がるマニアックな勉強会です。植山氏は、制作中のリンカである「mold」について発表しました。全2回。前半は、リンカの概要について話しました。 LLVMのリンカ「lld」オリジナルの作者 植山類氏:植山類です。今僕が作っているmoldというリンカについて発表します。 今回の発表の概要です。リンカが何かを知っている人はそんなにたくさんいないと思うので、まず説明します。次に、「mold」のポイントは速いことなのですが、速いと何がうれしいのかを説明します。そのあと、どれくらい速いのかを説明した上で、どう実現されているのか、概要を紹介します。詳細になると何時間あっても終わらないので、かなりハイレベルな話をします。 自己紹介のスライドを入れていませんが、僕はリンカを何度か作ったことがあって、LLVMのlld

                          コンパイラが作ったバイナリをつなぎ合わせるプログラム 「lld」の作者が語る、リンカの仕組み
                        • 話題のStable Diffusionがオープンソース化されたのでローカルで動かしてみる

                          話題のStableDiffusionがオープンソースで8/23に公開されたので、手元のマシンで動かすまで試したいと思います🖼 (下記に記載していますが、自分の環境だとVRAMが不足しているエラーが出てしまったのでイレギュラーな対応をしています🙏) ※ ↑追記 コメント欄にて、 @kn1chtさんが紹介してくださっているように、マシンのVRAMが10GB未満の環境では半精度(float16)のモデルがオススメされています。 本記事では、別の最適化されたものを紹介していますが、こちらの利用も検討してみると良さそうです👉 https://zenn.dev/link/comments/7a470dc767d8c8 StableDiffusionがどんなものかは、深津さんの記事が参考になります。 1. 環境 Razer Blade (RTX 2070, VRAM 8GB) CUDA Toolk

                            話題のStable Diffusionがオープンソース化されたのでローカルで動かしてみる
                          • Web版VSCodeがDockerコンテナをWASM環境で起動、Webブラウザ内ローカルマシンとして利用可能に。拡張機能「vscode-container-wasm」登場

                            Web版VSCodeがDockerコンテナをWASM環境で起動、Webブラウザ内ローカルマシンとして利用可能に。拡張機能「vscode-container-wasm」登場 WindowsやMacなどのデスクトップPCでVisual Studio Code(以下VSCode)を利用して開発をする場合、同じローカルマシン上でDockerコンテナのLinux環境を起動し、VSCodeのターミナルで接続して操作することは、開発環境としてよくあることだと思います。 これと同じことをWebブラウザ版のVSCodeでも実現する、すなわちWeb版VSCodeが同一Webブラウザ上にWebAssembly化したDockerコンテナを起動し、Web版VSCodeからローカルマシンとして接続し利用できる、実験的実装を実現したVSCodeの拡張機能「vscode-container-wasm」が登場しました。 V

                              Web版VSCodeがDockerコンテナをWASM環境で起動、Webブラウザ内ローカルマシンとして利用可能に。拡張機能「vscode-container-wasm」登場
                            • Amazon EC2 を Arm に切り替えたら幸せなことしかありませんでした | CyberAgent Developers Blog

                              技術本部 サービスリライアビリティグループ(SRG)の長谷川 @rarirureluis です👳 #SRG(Service Reliability Group)は、主に弊社メディアサービスのインフラ周りを横断的にサポートしており、既存サービスの改善や新規立ち上げ、OSS貢献などを行っているグループです。 はじめに Apple M1 で Arm という単語をよく耳にし、そしてその性能に驚いた方も多いと思います。Apple M1 が搭載された Mac のベンチマークはこちら そして Amazon EC2(以下:EC2)にも Arm が搭載されたインスタンスがあります。 https://aws.amazon.com/jp/ec2/graviton/ 今回はとあるサービスの全開発環境の EC2 インスタンスを m5.large から t4g.medium へ移行したら幸せになれたので、この記事を

                                Amazon EC2 を Arm に切り替えたら幸せなことしかありませんでした | CyberAgent Developers Blog
                              • Nand2Tetris(コンピュータシステムの理論と実装)でCPUからOSまで一気通貫で作るのが最高に楽しかった話 - ( ꒪⌓꒪) ゆるよろ日記

                                どうも、しいたけです。 去年あたりからローレイヤー周りの知識を充実させようと思い、 低レイヤを知りたい人のためのCコンパイラ作成入門 を読んでCコンパイラを書いてみたりx86_64の勉強をしたりしていました。 今年に入ってから、よりローなレイヤー、具体的にはハードウェアやOSについてもう少し知りたいと思い始め、手頃な書籍を探していました。 CPUなどのハードウェア周りについては概要しか知らなくて手を動かしたことがないので、実際に何か作りながら学べるものとして、 O'Reilly Japan - コンピュータシステムの理論と実装 に挑戦することにしました。 O'Reilly Japan - コンピュータシステムの理論と実装 成果物は以下のリポジトリに置いてあります。 yuroyoro/nand2tetris 結論から言うと、やってみて大変楽しめました! 特にハードウェア周りは今まで挑戦したこ

                                  Nand2Tetris(コンピュータシステムの理論と実装)でCPUからOSまで一気通貫で作るのが最高に楽しかった話 - ( ꒪⌓꒪) ゆるよろ日記
                                • Rustでゲームボーイアドバンスエミュレーターを書いた

                                  一通りちゃんと実装したので、大抵はちゃんと動いてくれるはずです。動かなかったり、画面がおかしかったり、音がおかしかったりしたらバグなので、ご報告いただけるとうれしいです。 エミュレーションコアが2つになったので、せっかくなのでエミュレーションコアのインターフェースを抽象化して、マルチエミュレーターにしました。 リリースページ からコンパイル済みバイナリをダウンロードできます。 マルチエミュレーター エミュレーターを作るうえで割と面倒でバカにならないのがフロントエンドUIの作成です。GUIアプリを作るのはそもそも結構大変で、ましてや昨今のアプリケーションはPCだけでなくスマホやWebといったタイプの異なる複数のプラットフォームで動かしたいというモチベーションがあります。特定プラットフォームにべったりで何となく動くように書けばいいやというのと比べると、取れる選択肢も限られてかなり面倒になってき

                                    Rustでゲームボーイアドバンスエミュレーターを書いた
                                  • x86-64機械語入門

                                    この記事はx86-64の機械語を書けるようになるためのガイドとなることを目指します。読者はアセンブリー言語について既にある程度知っていることを想定します。 情報源 x86-64の機械語のオフィシャルなガイドはIntelのSoftware Developer ManualまたはAMDのAMD64 Architecture Programmer's Manualです。 Intel SDM: Intel® 64 and IA-32 Architectures Software Developer Manuals AMD64 Architecture Programmer's Manual, Volumes 1-5 このほか、Cから呼び出される関数を定義したり、Cの関数を呼び出すためには、呼び出し規約の知識も必要です。使用される呼び出し規約はOSに依存し、Unix系では主にSystem V ABI

                                      x86-64機械語入門
                                    • macOSのM1とx86-64におけるベンチマーク比較の考察

                                      世間ではAppleの新しい製品に使われるARM64 CPUであるM1の話題でもちきりだ。ただし、日本語を話す記者というのは極めて非科学的かつ無能であり、M1の現物を手にしても、末端のソフトウェアを動かして、体感で早いだの遅いだのと語るだけだ。そういう感想は居酒屋で酒を片手に漏らすべきであって、報道と呼ぶべきシロモノではない。 と思っていたら、Phoronixがやってくれた。M1とi7で動くmacOSでベンチマークをしている。 これを考察すると、M1のMac Miniは、一世代前のi7のMac Miniに比べて、メモリ性能とI/O性能が高く、演算性能は低いようだ。このことを考えると、M1の性能特性としては、動画のエンコードやソフトウェアレイトレーシングをするには不向きだが、その他の作業は遜色ないだろう。 問題は、仮想化とRosettaを組み合わせることができないという点だ。x86-64のユー

                                      • 混沌を極めるWindowsのssh-agent事情 - Qiita

                                        どうしてこうなった。 何の話? WindowsでのSSH-AGENTとSSHの話です。 この記事での用語: SSHとssh, SSH-AGENTとssh-agent この記事では、SSH-AGENTと書いたときにはカテゴリとしてのSSHエージェントを意味します。 ssh-agentと書いたときには、実行プログラムとしてのssh-agentコマンドを意味します。 同様に、SSHと書いたときにはカテゴリとしてのSSHクライアントを意味します。 sshと書いたときには、実行プログラムとしてのsshコマンドを意味します。 SSH-AGENTって? SSH-AGENTは、秘密鍵での署名を代行1してくれるツールです。 SSH-AGENT に秘密鍵をロードしてしまえば、あとはパスワード(パスフレーズ)入力なしでSSH認証できる agent forward機能を使うことで、SSHした先でさらにSSHすると

                                          混沌を極めるWindowsのssh-agent事情 - Qiita
                                        • 貧弱なインターネット回線をたくさん束ねて強くできる「OpenMPTCProuter」レビュー

                                          光ファイバー回線が普及したことで、一般の家庭でも1Gbpsや10Gbpsで当たり前にインターネットが利用できるようになりました。しかし、賃貸住宅では100MbpsのVDSL回線しか利用できないケースも数多く存在します。無料のオープンソースソフトウェア「OpenMPTCProuter」を使うと、複数の回線を同時に利用して高速なインターネットを楽しむことができます。 OpenMPTCProuter - Internet connection bonding - Home https://www.openmptcprouter.com/ OpenMPTCProuterが使っているMultiPath TCP(MPTCP)とは、複数のインターフェースを利用してTCPコネクションを確立し、通信のスループットや冗長性を向上させる技術です。OpenMPTCProuterでは、PCやタブレット端末といったク

                                            貧弱なインターネット回線をたくさん束ねて強くできる「OpenMPTCProuter」レビュー
                                          • 「強いメモリモデル」と「弱いメモリモデル」 - yamasaのネタ帳

                                            Apple M1についての面白い記事を見かけて、久しぶりにメモリモデル屋(?)の血が騒いだのでブログを書く。 note.com 強いメモリモデル 現代のCPUアーキテクチャでは、x86(64bit, 32bitどちらも)が「強いメモリモデル」を採用しており、それ以外のメジャーなCPUが「弱いメモリモデル」を採用している。この「強いメモリモデル」「弱いメモリモデル」について、まずおさらいしておこう。 以下のように、2つの変数a, bに対して異なるCPUコアが同時にアクセスしたとする。 int a = 0; int b = 0; CPU1: a = 1; b = 1; CPU2: int r1 = b; int r2 = a; (上記はC言語に似た疑似コードを用いているが、実際は機械語命令になっていると考えてほしい。つまり、CPU1は変数a, bの示すメモリアドレスに対するストア命令を実行して

                                              「強いメモリモデル」と「弱いメモリモデル」 - yamasaのネタ帳
                                            • Docker Desktop for Mac代替のOrbStackがすごい - IK.AM

                                              🗃 {Dev/Infrastructure/Docker/OrbStack} 🏷 Docker 🏷 OrbStack 🏷 kind 🏷 MetalLB 🗓 Updated at 2023-06-18T23:45:47Z  🗓 Created at 2023-06-16T04:09:56Z   🌎 English Page OrbStackは軽量・高速を謳うDocker Desktop for Macの代替です。 drop-in replacementであり、Docker Desktop for Macと同じくdockerコマンドが使えます。 https://orbstack.dev/ リソース消費が少ない & 起動が速い DockerだけでなくLinux Machineも使える Macのホストからコンテナ/Linux Machineに直接アクセスできる(!) 自分はDock

                                                Docker Desktop for Mac代替のOrbStackがすごい - IK.AM
                                              • MySQLに初めてINSERTするとアクセスが発生するファイルは何かという質問をどう調べるのか - oranie's blog

                                                yokuo825さんのカッコいいインタビュー記事を t.co 読んで、この部分ですね ──例えばどのような話をしましたか? 「インストールされたばかりのMySQLがあるとして、特定テーブルに1件のレコードを最初にINSERTした場合、アクセスが発生するファイルとその理由をすべて教えてください」と質問されたのを覚えています。 具体的にどのような理由でどのファイルにアクセスするか、一連の流れを片っ端から答えていくと、彼らがすごく楽しそうにしてくれて。「そうか、LINEの環境だと○○の設定が最初から○○になっているので、そのファイルへのアクセスは考えていなかったです。確かにそれもありますね」などと答えてくれました。 でこんなツイートしたんですが 全国のDBAは「特定テーブルに1件のレコードを最初にINSERTした場合、アクセスが発生するファイルとその理由をすべて教えてください」これ明日から職場で

                                                  MySQLに初めてINSERTするとアクセスが発生するファイルは何かという質問をどう調べるのか - oranie's blog
                                                • リンカ

                                                  ついに、リンカの説明をするときが来た。 ここに至るまでに、何度「リンカのところで説明する」と書いただろうか? ここまで読んできた人ならば、 リンカというものが、なにやら色々やっているんだな、というのはわかってきたのではないかと思う。 筆者が常々思っていることのひとつに、「C言語に関する書籍は、リンカの説明をおざなりにしすぎだ」というのがある。 多くのC言語の書籍は、 コンパイラがソースコードをアセンブリコードに変換します アセンブラがアセンブリコードを機械語に変換します リンカが機械語をリンクして実行ファイルが作られます と、いう解説がなされがちである。この説明を見たら、多くの人が、「え、リンクってなんですか?」と、思うに違いない。 アセンブラには、「人間が読めるニーモニックを、機械が読める機械語に変換する」みたいな、最低限の説明が付くものの、 リンカの説明は「リンクをします」のひとことだ

                                                  • マネジメントの極意は「自分のことは棚にあげる」こと, MacBook Pro M1 Max を 1 週間使ってみての感想 - HsbtDiary(2022-02-04)

                                                    ■ マネジメントの極意は「自分のことは棚にあげる」こと タイトルは https://qiita.com/jnchito/items/0a0b46106681f41f2f0e のインスパイアです。 昔エンジニアなどをやっていた時に、マネージャや上司から何かコメントを受けると「とは言っても、このコードも書けないのにさあ」というような気持ちになった経験から、自分が実際にマネジメントをする立場になると、「は〜、React とかあまりわからんので方針とか出しにくいなあ」となって止まってしまうことがあります。 昨今のソフトウェアエンジニアリングは幅も深さも異次元のレベルまで広がっているので、全てのことをマネジメントが実践できるというのは正直無理な話です。自分ができることしかマネジメントできないなら、ソフトウェア開発の世界では何もできないのに等しいです。 そこで必要なことは「自分のことは棚にあげる」です

                                                    • 「ARM」という単語の意味を啓蒙する記事 - Zopfcode Essay

                                                      同じARMだからといってポン付けでは動かんぞ定期 / 他6件のコメント https://t.co/ZW4ffdQP88 “「M1搭載MacでArm版Windows 10は動作可能。すべてマイクロソフト次第」アップル幹部が語る - Engadget 日本版” (23 users) https://t.co/aia65JYL5V— Takumi Sueda (@puhitaku) 2020年11月21日 追記: いろいろあって面白かったので、頂いたコメントの返信を末尾に追記しました 追記2: Engadget 日本版が閉鎖するため、上記記事「M1搭載MacでArm版Windows 10は動作可能。すべてマイクロソフト次第」アップル幹部が語るの魚拓を貼っておきます megalodon.jp 昨今の買収劇に始まり、というかそれ以前から、ARM (Arm) という固有名詞はコンピューターを語る上では

                                                        「ARM」という単語の意味を啓蒙する記事 - Zopfcode Essay
                                                      • Fedora/CentOS Stream/CentOS/RHELの関係性 - 赤帽エンジニアブログ

                                                        (注) 本記事は、Software Design 2020年6月号に掲載された「月刊Fedora Journal」初出の記事に修正を加えたものです。 Red Hat ソリューションアーキテクトの小島です。 Fedora系列の主要なLinux Distributionとしてよく名前が挙げられる、Fedora, CentOS, RHELに加えて、2019年9月に発表された新しいDistributionであるCentOS Streamの特徴や関係性をご紹介します。 Fedora系列の主要なLinux Distribution Fedora CentOS Stream CentOS Red Hat Enterprise Linux (RHEL) Red Hat Insights Red Hat Developer Program Red Hat Universal Base Images (UBI

                                                          Fedora/CentOS Stream/CentOS/RHELの関係性 - 赤帽エンジニアブログ
                                                        • Linux procfs 徹底入門

                                                          これは Linux Advent Calendar 2019の 15 日目の記事です。procfs について勉強したことをまとめます。 検証環境CentOS 8 を利用する。 ]# cat /etc/redhat-release CentOS Linux release 8.0.1905 (Core) ]# uname -a Linux localhost.localdomain 4.18.0-80.el8.x86_64 #1 SMP Tue Jun 4 09:19:46 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux procfs とは疑似ファイルシステムのひとつ。 ディスク上に実体は存在せず、メモリから情報を取得する。 カーネルだけが知っている情報 (例えばシステム全体のロードアベレージ/CPU負荷/メモリ利用状況や、プロセスごとの情報)が取得できる。

                                                            Linux procfs 徹底入門
                                                          • ptrace より 100 倍速いシステムコールフック作った - かーねるさんとか

                                                            新しい高性能で汎用的なシステムコールフックの仕組みを作ってみました。 モチベーションとして、システムコールをフックしてユーザー空間でエミュレートしたくなったのですが、現状、性能と汎用性を両立する仕組みがなさそうだったので、新しい方法を考えました。 今回のシステムコールフックの仕組みは以下のような特徴があります。 ptrace より 100 倍以上高速 LD_PRELOAD や既存のバイナリ書き換えツールより確実 カーネルへの変更なし、かつカーネルモジュールを使わない プログラムのソースコード、プログラムの再コンパイル不要 eBPF でトレーシングをしているけれど、できれば制約が少ないユーザー空間でトレーシングツールを作りたい。もしくは、gVisor のようなサンドボックスを作りたいけれど、ptrace による性能劣化が大きいので、他の高速なシステムコールフックの仕組みが使いたい、というよう

                                                              ptrace より 100 倍速いシステムコールフック作った - かーねるさんとか
                                                            • めくるめくLinuxカーネルじゃないLinux実装の世界 - Qiita

                                                              EDIT^7: blink と box86、FEX。 EDIT^6: Unikraft 。 EDIT^5: Tilck 。 EDIT^4: コメント。gVisor はすっかり忘れていました!Linuxを拡張するためにLinuxを実装した良い例だと思います。LINE有りましたね。。 SF.netのCVSはもう死んでしまったので除外にしました。。 OSvのバイナリ互換 はPIEであることが要求なので。。といっても世間的にはもうLinux = Debian/Ubuntu で良いですかね。。表現を調整しました。 EDIT^3: Noah忘れてた! EDIT^2: Cygwinは 下書き段階で削ってしまった 。。 qemuを移植したとき に互換性がイマイチだったので。。特殊fdやprocfsの充実ぶりとかを考えると "かなりLinux" と言って良いとは思うけど、 mmap 等でLinuxとWind

                                                                めくるめくLinuxカーネルじゃないLinux実装の世界 - Qiita
                                                              • Dockerfile自信持って書けてますか?おすすめlintツール 「hadolint」について紹介 - Qiita

                                                                はじめに Dockerfile、サッと書こうと思ったのに、書き始めたら意外と時間かかったりしますよね。 突き詰めるとすごく奥が深いなと思います。 公式のドキュメントでも、Dockerfileのベスト・プラクティスという形で公開してくれていますが、 これを毎回意識するのは大変です。 また、意識できていたとしても、複数人で管理していると、各個人のスキルレベルによって差が出てしまいます。 そんなときにおすすめのツールを見つけたので紹介します。 hadolintというツールです。 Haskell Dockerfile Linterの略だそうで、Dockerfileの静的解析を行ってくれるlintツールです。 hadolintを使うとこんな利点があります。 build前にシンタックスエラーなどに気付ける (地味にトライアンドエラーしてると時間食うんですよね...) 自然とベストプラクティスに則ったD

                                                                  Dockerfile自信持って書けてますか?おすすめlintツール 「hadolint」について紹介 - Qiita
                                                                • M1 Macの開発環境 - Qiita

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

                                                                    M1 Macの開発環境 - Qiita
                                                                  • パイプライン指向JSON処理プログラミング言語 jq - 檜山正幸のキマイラ飼育記 (はてなBlog)

                                                                    jq(https://stedolan.github.io/jq/)の紹介では、「JSON処理のワンライナー〈一行野郎〉としてめちゃくちゃ便利!」とアピールするのが定番です。もちろんそれは本当で、「めちゃくちゃ便利!」です。が、実は jq は、ワンライナー記述にとどまらない、かなり本格的なプログラミング言語です。 JSON処理のためのDSL〈Domain Specific Language | 領域特化言語〉なので、汎用言語ではありません。しかし、汎用言語が備えている言語機能の一部(関数定義、モジュールシステムなど)を jq も持っています。また jq は、独特で楽しいプログラミング・パラダイム -- “パイプライン指向”に基づいて設計されています。 この記事では、ワンライナーを超えた jq の使い方と、プログラミング言語としての jq の特徴を紹介します。長い記事になってしまったので、一

                                                                      パイプライン指向JSON処理プログラミング言語 jq - 檜山正幸のキマイラ飼育記 (はてなBlog)
                                                                    • Gitは最初1244行しかなかった

                                                                      概要 Junio C Hamanoさんに興味を持って調べていると、Linusさんが書いたGitの初版は1244行ということが分かりました。Gitの初版について、軽く行数の確認とビルドチャレンジをして、あまり調べずに動かしながら機能を推測してみました。 はじめに Highlights from Git 2.39 の冒頭で登場するcommit数が一番多い方「Junio C Hamano」さんを知らなかったので調べてみました。 gihyoのインタビュー記事が面白かったです。Junio C HamanoさんはGitのメンテナで、LinusさんからGitのメンテナを引き継いだすごい方だということを知りました。 このgihyoのインタビュー記事の中で「MLで流れてきたGitのコード行数は1244行だった」というところが気になりました。調べてみると、2020年にTwitterでRui Ueyamaさんへ

                                                                        Gitは最初1244行しかなかった
                                                                      • 11種類のオペレーティング・システムについてまとめてみた - Qiita

                                                                        TL;DR 「オペレーティングシステム?知ってるよ。WindowsとかMacのことだよね」というぐらいの知識だった私が、二週間ほどひたすらWikipediaでインプットしまくったクソ浅い情報を共有します。 最初の動機 「Go言語が対応しているアーキテクチャってなんだろ?」 Go言語には環境変数をコンパイラに渡すことで、出力されるバイナリの対応するOSとアーキテクチャを変えることができます。 GOOS がオペレーティングシステム(OS)、 GOARCH がアーキテクチャです。 こんな感じにビルドすると、 linux というオペレーティングシステムで、 ppc64 というアーキテクチャに対応したバイナリが出力されます。 なるほど。 じゃあ、 Go言語が対応しているOSとアーキテクチャって何があるの? と疑問が湧いてきますね。 その疑問に応えるコマンドが go tool dist list です

                                                                          11種類のオペレーティング・システムについてまとめてみた - Qiita
                                                                        • JSON をプレビューしながら jq のフィルタを書くことができる「jnv」を試してみる

                                                                          ちなみに jq がインストールされている必要はありません。 jnv does not require users to install jq on their system, because it utilizes j9 Rust bindings. https://github.com/ynqa/jnv#installation JSON navigator and interactive filter leveraging jq Usage: jnv [OPTIONS] [INPUT] Examples: - Read from a file: jnv data.json - Read from standard input: cat data.json | jnv Arguments: [INPUT] Optional path to a JSON file. If not prov

                                                                            JSON をプレビューしながら jq のフィルタを書くことができる「jnv」を試してみる
                                                                          • Pythonが速度改善に本気出すと聞いたので恒例のたらい回しベンチをとってみたら、RubyがYJITですごく速くなっていて驚いた話 - Smalltalkのtは小文字です

                                                                            2022-09-09改訂: gcc バージョンが古すぎたのと、C が内部計測でなかった点を改め計測しなおしました。結果、Rust は C より速くはなくなりました。紛らわしいことで、ごめんなさい。また、gcc のバージョンアップに伴い、Python および Ruby についてはビルドと計測をしなおしたので、これらも少し速い値に変わっています。この点もどうぞあしからず。 2022-09-10追記:ご要望のあった Python numba.njit 使用時と Go の結果を追加しました。PHP は JIT 有効化が面倒だったので断念しました^^; 2022-09-10追記2:C の計測で clock() を使うのはフェアではないという指摘がありましたので、念のため clock_gettime() を使用したコードに差し替えました。結果に大きな差はありません。 2022-09-10追記3:PHP

                                                                              Pythonが速度改善に本気出すと聞いたので恒例のたらい回しベンチをとってみたら、RubyがYJITですごく速くなっていて驚いた話 - Smalltalkのtは小文字です
                                                                            • Amazon Linux 2 のインスタンスを作成する時に必ずやっておきたい事 | DevelopersIO

                                                                              はじめに こんばんは、菅野です。 Amazon Linux 2 への移行は終わりましたか? Amazon Linux 2 へ移行するには新しいインスタンスを作成する必要がありますが、その時におすすめしたい設定があります。 ※2020-07-08に「注意点 その2」を追記しました。 おすすめの設定 セッションマネージャーを利用できるようにすること メモリ使用率とディスク使用率を CloudWatch で見れるようにすること これらを設定しておくと、今後の運用が楽になります。 セッションマネージャーを使うメリット メリットとしては、SSH 接続をしなくても EC2 のコマンドが実行できるようになりますので、セキュリティグループで SSH を解放する必要が無くなりセキュリティの向上につながります。 この画像はマネジメントコンソールから EC2 にログインした時のものですが、AWS Systems

                                                                                Amazon Linux 2 のインスタンスを作成する時に必ずやっておきたい事 | DevelopersIO
                                                                              • 【2020年】CTF Web問題の攻撃手法まとめ - こんとろーるしーこんとろーるぶい

                                                                                はじめに 対象イベント 読み方、使い方 Remote Code Execution(RCE) 親ディレクトリ指定によるopen_basedirのバイパス PHP-FPMのTCPソケット接続によるopen_basedirとdisable_functionsのバイパス JavaのRuntime.execでシェルを実行 Cross-Site Scripting(XSS) nginx環境でHTTPステータスコードが操作できる場合にCSPヘッダーを無効化 GoogleのClosureLibraryサニタイザーのXSS脆弱性 WebのProxy機能を介したService Workerの登録 括弧を使わないXSS /記号を使用せずに遷移先URLを指定 SOME(Same Origin Method Execution)を利用してdocument.writeを順次実行 SQL Injection MySQ

                                                                                  【2020年】CTF Web問題の攻撃手法まとめ - こんとろーるしーこんとろーるぶい
                                                                                • DockerコンテナイメージをWebAssemblyに変換、Webブラウザ上での実行も可能にする「container2wasm」バージョン0.3が登場

                                                                                  DockerコンテナイメージをWebAssemblyに変換、Webブラウザ上での実行も可能にする「container2wasm」バージョン0.3が登場 DockerコンテナイメージをWebAssemblyに変換し、WebAssemblyランタイム上で実行可能にするツール「container2wasm」のバージョン0.3がリリースされました。 開発者はNTTの徳永航平氏。container2wasmは実験的なツールとしてオープンソースで公開されています。 バージョン0.3では、RISC-Vアーキテクチャに加えてx86_64アーキテクチャのDockerコンテナイメージにも対応したことが大きな変更点です。 実際にDockerコンテナイメージをWebAssemblyに変換したものをWebブラウザ上で実行できるデモページも用意されました。 下記はインテルの64ビットプロセッサを搭載したWindows

                                                                                    DockerコンテナイメージをWebAssemblyに変換、Webブラウザ上での実行も可能にする「container2wasm」バージョン0.3が登場