タグ

linuxに関するiga_kのブックマーク (66)

  • Docker一強の終焉にあたり、押さえるべきContainer事情

    章立て はじめに Docker・Container型仮想化とは Docker一強時代終焉の兆し Container技術関連史 様々なContainer Runtime おわりに 1. はじめに Containerを使うならDocker、という常識が崩れつつある。軽量な仮想環境であるContainerは、開発からリリース後もすでに欠かせないツールであるため、エンジニアは避けて通れない。Container実行ツール(Container Runtime)として挙げられるのがほぼDocker一択であり、それで十分と思われていたのだが、Dockerの脆弱性や消費リソースなどの問題、Kubernetes(K8s)の登場による影響、containerdやcri-o等の他のContainer Runtimeの登場により状況が劇的に変化している。記事では、これからContainerを利用したい人や再度情報

    Docker一強の終焉にあたり、押さえるべきContainer事情
  • malloc ライブラリのメモリ管理構造 | 技術文書 | 技術情報 | VA Linux Systems Japan株式会社

    Linux プログラミング言語 malloc(3)のメモリ管理構造 2007/11/30 技術部 クラウド基盤エキスパート  角馬 文彦 malloc()といえばC言語ではお馴染みのライブラリで、最も良く使用されるライブラリの一つです。しかしその分だけ何らかの不具合を経験した人も多いのではないでしょうか。書ではmalloc()、free()で確保、解放されるメモリリソースが内部的にどのように管理されているかを説明していきます。mallocライブラリの仕様を理解する事で、ライブラリ使用時に何らかの不具合が発生した際の手助けになればと思います。 ここではLinuxディストリビューションで標準的に使用されているglibcのmallocライブラリを扱います。今回の調査では次の環境を使用しています。 ディストリビューション :Debian sarge パッケージバージョン :glibc-2.3.

    malloc ライブラリのメモリ管理構造 | 技術文書 | 技術情報 | VA Linux Systems Japan株式会社
    iga_k
    iga_k 2023/02/03
    malloc
  • Linuxカーネル内にWebAssemblyランタイムを実装し、ネイティブバイナリよりも高速に実行可能にする「Kernel-WASM」登場

    Linuxカーネル内にWebAssemblyランタイムを実装し、ネイティブバイナリよりも高速に実行可能にする「Kernel-WASM」登場 代表的なWebAssemblyランタイムの1つであるWasmerを開発しているWasmer社は、Linuxカーネル内にWebAssemblyランタイムを実装することで、安全かつ通常のLinuxバイナリよりも高速にWebAssemblyバイナリを実行可能にするオープンソースソフトウェア「Kernel-WASM」を公開しています。 (2023/2/13追記 このKernel-WASMの開発は2020年で止まっておりましたことを見落としていました。最近になって海外で話題になっており、新しい話題だと勘違いしたことが原因です。古い情報であることを基にした記事となっておりますことをお詫びいたします) Linuxカーネル内のWASMランタイムは第二のOS 同社はLi

    Linuxカーネル内にWebAssemblyランタイムを実装し、ネイティブバイナリよりも高速に実行可能にする「Kernel-WASM」登場
    iga_k
    iga_k 2023/01/25
    夢がある!
  • perfでCRubyのプロファイリングができる環境を作る - Eggshell

    みなさん、こんにちは。ima1zumi です。 これは Ruby Advent Calendar 2022 6日目の記事です。 日は macOS で perf が動く仮想環境を作って CRuby のプロファイリングできる環境構築をしていきます。 目次 macOS で perf は使えない Virtualbox & Vagrant で Ubuntu が動く環境を作る Virtualbox をインストール Vagrant をインストール Box ファイルを入手 Vagrantfile を作成 Vagrant を起動 Vagrant に接続 perf をインストール Ruby をビルドする 依存ライブラリのインストール Ruby をビルド perf を実行する 参考 macOS で perf は使えない 私は普段 macOS で開発しているのですが、perf は Linux 用の計測ツールなの

    perfでCRubyのプロファイリングができる環境を作る - Eggshell
    iga_k
    iga_k 2022/12/07
    いまいずみさんのRubyビルド環境作り方 & パフォーマンス測定方法 2022最新版
  • ESM アジャイル事業部が購入している書籍たち (2022 秋) - ESM アジャイル事業部 開発者ブログ

    読書の秋ですね。書棚を見ればその人がわかるといいますが、永和システムマネジメント アジャイル事業部でも運用している書籍購入支援制度で購入されている書籍をリストアップします。 この制度自体が運用し始めて長くなってきているため、直近の一年くらいに絞った内容です。メンバーたちがどのような書籍を購入しているか、読書の秋の参考にどうぞ。 Ruby JavaScript / TypeScript Rust Web データベース クラウド ソフトウェア設計 Linux 運用 その他 最も購入されていた書籍 (ESM Bookshelf of the Year 2022) 🥇 ★は複数人が購入。★★はその中でも購入が多かったタイトルです。 Ruby @kakutani フェローが絶賛翻訳中の『研鑽Rubyプログラミング β版』がよく購入されており、特に昨年の Kaigi on Rails での @kak

    ESM アジャイル事業部が購入している書籍たち (2022 秋) - ESM アジャイル事業部 開発者ブログ
    iga_k
    iga_k 2022/11/18
    永和さんで買われている書籍
  • tree コマンドが無い環境で tree コマンドを実現 - Qiita

    tree コマンドは便利 Linux における tree コマンドは便利ですね。しかし標準コマンドではないため初めて操作するサーバや手軽に tree をインストール出来ない環境だとディレクトリ構造を奇麗にツリー上に表示することが出来ません。 その場合は find や sed を使って tree コマンドを代替しましょう。 find と sed で代替 pwd;find . | sort | sed '1d;s/^\.//;s/\/\([^/]*\)$/|--\1/;s/\/[^/|]*/| /g'

    tree コマンドが無い環境で tree コマンドを実現 - Qiita
    iga_k
    iga_k 2022/10/08
    treeのshell実装
  • socatコマンドを利用した お手軽TCPリレー | DevelopersIO

    こんにちは!DA(データアナリティクス)事業部 インテグレーション部の大高です。 AWS環境下でプライベートサブネットからの接続しか許可していないRDSなどに接続する場合、パブリックサブネット上のEC2インスタンスを経由してアクセスするケースがあるかと思います。 <このようなイメージです> やり方は色々あると思いますが、今回はsocatコマンドを利用した接続を試してみたので書いていきたいと思います! socatコマンドとは? socatは「Multipurpose relay (SOcket CAT)」の頭文字を取ったコマンドで、ざっくりと説明すると「様々なソケット通信をリレーしてくれるユーティリティ」です。 man コマンドで見てみると以下のように説明されていました。 Socat is a command line based utility that establishes two

    socatコマンドを利用した お手軽TCPリレー | DevelopersIO
    iga_k
    iga_k 2022/09/18
    tcpのポートをリレーしていくツール
  • ubuntuでsnapベースのrubyをインストールしてはまった

    TL;DR ubuntuでsnapベースのrubyをインストールしたけど、スクリプトの実行すらできない状況だった。 他経由(aptなど)でインストールしたrubyが悪さしてる可能性があるので、消すなりしましょう。 起きた現象 snapベースでインストールしたrubyでスクリプトを実行しようとすると下記のようなエラーが出て起動できなかった。 /snap/ruby/260/lib/ruby/3.1.0/rubygems.rb:1334:in `rescue in <top (required)>': undefined method `rubyforge_project=' for class `Gem::Specification' (NameError) Loading the rubygems/defaults/operating_system.rb file caused an err

    ubuntuでsnapベースのrubyをインストールしてはまった
  • WebAssembly製のx86仮想マシン「WebVM」が登場、Webブラウザ上でLinuxや各種コマンド、アプリがそのまま実行可能

    WebAssembly製のx86仮想マシン「WebVM」が登場、Webブラウザ上でLinuxや各種コマンド、アプリがそのまま実行可能 Leaning Technologiesは、Webブラウザ上でx86バイナリをそのまま実行できるWebAsesmbly製の仮想マシン「WebVM」を発表しました(同社による紹介記事「WebVM: server-less x86 virtual machines in the browser」)。 Google ChromeMicrosoft Edge、Firefox、Safariなどのモダンブラウザであれば、上記のURLにアクセスすることで誰でもWebブラウザ上にx86仮想マシンを走らせることが出来ます。 WebVMではx86仮想マシンの上でLinux OSのDebianがバイナリが変更なしにそのまま稼働し、さまざまなコマンドも実行可能。 Linuxアプリ

    WebAssembly製のx86仮想マシン「WebVM」が登場、Webブラウザ上でLinuxや各種コマンド、アプリがそのまま実行可能
  • フィヨルドブートキャンプでLinux(Ubuntu)を使うときの実情 - konagaのブログ

    この記事は フィヨルドブートキャンプ Part 1 Advent Calendar 2021 の16日目の記事です。 Part2 もあります。 昨日の記事はperoさんの 英語とプログラミングと世界の話 でした。 フィヨルドブートキャンプはMac/Windows/Linuxのうち好きなものでプラクティスを進めることが可能です。 ですが、公式でおすすめされているのはMacであり、実際に受講生のほとんどがMacを利用していると思います。 それ以外のOS、特にLinuxは、扱いが難しいことが示唆されています。 FAQ | FJORD BOOT CAMP(フィヨルドブートキャンプ) Linuxで学習をしたいのですが可能ですか? Linuxでも可能ですが条件があります。用意しているカリキュラムは Mac を想定して作られています。そのため、Linux でカリキュラムを行う場合は自分自身でMac用のカ

    フィヨルドブートキャンプでLinux(Ubuntu)を使うときの実情 - konagaのブログ
    iga_k
    iga_k 2021/12/16
    安いマシンでがんばれるのとDocker速いのはメリット
  • 第18回 Linuxカーネルのコンテナ機能 [7] ─ overlayfs | gihyo.jp

    今回からはLXCがコンテナイメージを置く領域に使えるいろいろなストレージバックエンドを利用し、LXCを便利に使う方法を紹介していきます。 LXCでいろいろなストレージバックエンドを利用する方法を紹介する前に、今後コンテナでの利用が増えそうな、3.18カーネルで新たに追加されたoverlayfsについて紹介しておきましょう。 タイトルは「Linuxカーネルのコンテナ機能」としていますが、これまでの機能と同様にoverlayfsもコンテナ専用として使う機能ではありません。名前空間やCgroup以上にコンテナ以外でさまざまなシーンで使えそうですね。 overlayfsとは overlayfsはunion filesystemの実装の1つで、ディレクトリを重ね合わせて1つのディレクトリツリーが構成できます。 話題のDockerが持つ特長として、よくコンテナイメージの差分管理ができることが挙げられま

    第18回 Linuxカーネルのコンテナ機能 [7] ─ overlayfs | gihyo.jp
    iga_k
    iga_k 2021/11/25
    コンテナのレイヤーで使われる、重ねることができるファイルシステム
  • SECKUN 2021/ProSec-IT 2021 コンテナ演習資料(公開版)

    SECKUN 2021 pub.md SECKUN 2021/ProSec-IT 2021 コンテナ演習資料(公開版) この資料について 九州大学のSECKUN 2021/ProSec-IT(enPiT-Pro) 2021の共通カリキュラムにおいて、近藤 @udzura が担当したコンテナ概要の授業にて使用した教材です。 https://cs.kyushu-u.ac.jp/seckun/about/ https://cs.kyushu-u.ac.jp/enpit-pro/ 今回、公益性を鑑み、授業固有の連絡事項などを削除した状態で公開します。 ライセンスは Creative Commons Attribution 4.0 International Public License (CC BY 4.0) ref とします。 個人の自学、社内研修、スクールでの授業などでお使いいただけますが、内

    SECKUN 2021/ProSec-IT 2021 コンテナ演習資料(公開版)
    iga_k
    iga_k 2021/11/13
    うづらさんのDocker入門
  • process-book

    この文書はなんですか? この文書は*nix系のシステムにおけるプロセスやシグナルなどについて説明することを目的に書かれました。「プロセスとかよくわかってないからちゃんと知りたいな」みたいなひとたちが想定読者です。 書いているあいだは gist で管理されていたのですが、ボリュームが大きくなったので github で管理するように変えました。 目次 導入 プロセスの生成 プロセスとファイル入出力 ファイルディスクリプタ preforkサーバーを作ってみよう ゾンビプロセスと孤児プロセス シグナルとkill プロセスグループとフォアグランドプロセス epub と pdf epub化したもの、pdf化したものが release ディレクトリに入っています。thanks to mitukiii & moznion! ライセンス この 作品 は クリエイティブ・コモンズ 表示 - 継承 3.0 非移

    iga_k
    iga_k 2021/11/08
    しんぺいさんのプロセス入門
  • Vagrant+VirtualBoxでUbuntu環境構築 - Qiita

    インストーラを利用する場合 https://www.virtualbox.org/wiki/Downloads 上記から自分の端末にあったパッケージをダウンロード&インストールする。 2. Vagrantのインストール Homebrewを利用する場合(Macユーザにおすすめ) インストーラを利用する場合 https://www.vagrantup.com/downloads.html 上記から自分の端末にあったパッケージをダウンロード&インストールする。 3. Boxの選択 https://app.vagrantup.com/boxes/search 上記からインストールするOSを探す。 ※ProviderがVirtualBoxであるものを選択すること。 今回は、bento/ubuntu-18.04を選択する。 4. インスタンスの作成 インスタンスの内容はVagrantfileに定義しま

    Vagrant+VirtualBoxでUbuntu環境構築 - Qiita
  • 【Ruby】LinuxとRubyとCoW - 地方エンジニアの学習日記

    hiboma.hatenadiary.jp こちらのアンサー記事を書いてみますw なぜ CoW の話が出てきたのか なぜCoWを気にしたのかを話すとまず社内で動かしているAPIサーバがメモリ利用過多となってアラートがなったのが話のスタートでした。サービス自体はUnicornを使って動いています。 メモリ利用過多となったときに調べる手法は言語ごとに様々ですが私はRubyの経験がほぼなくプロファイラなども使ったことがありません。この状況でできることは/procを見るくらいしかなかったので/proc/$pid/smapsを見始めました。そこで始めたのがメモリ共有率の計算でした。 以下のツールを書いてUnicornの親子プロセスのメモリ共有率を確認するとなんと40~60%程度となっていて「え!?」ってなったのが始まりでした。プロセスの生存期間が長いのかと思ったのですが起動時間も出すと数分前に起動し

    【Ruby】LinuxとRubyとCoW - 地方エンジニアの学習日記
    iga_k
    iga_k 2021/09/17
    勉強になる
  • 3 state-of-the-art technologies in Linux and future of the containers #SECKUN

    2021.02.21 「新しいセキュリティビジネスキャリア」シンポジウム

    3 state-of-the-art technologies in Linux and future of the containers #SECKUN
    iga_k
    iga_k 2021/02/21
    うづらさんの講演資料
  • 『Webで使えるmrubyシステムプログラミング入門』は、現場で経験値の高い先輩から指導を受けている錯覚を起こさせる一冊だった!! - Magnolia Tech

    Webで使えるmrubyシステムプログラミング入門 作者:近藤宇智朗発売日: 2020/11/25メディア: Kindle版 この手のミドルウェア・プログラミング言語の入門・解説書、ひたすら語り口を優しくしているだけだったり、単にリファレンスをなぞっているかのどちらかで、教科書的な硬さとかが鼻につくんだけど、この『Webで使えるmrubyシステムプログラミング入門』は全然違う。次元が違う。 明らかに、”現場で経験値の高い先輩から指導を受けている”ような錯覚を感じさせる内容、流れになっている。 今後、この手の入門書は全部こんな感じでお願いします(あとは公式リファレンス読むんで!)と言いたくなるくらいの良書。マジで良い。 環境がmacOSを使いつつ実際のプロセスはVirtualBox上のLinuxで進む(ちゃんと両方使う前提になっている) 冒頭でmrubyのビルドの解説をする際に、さらっと「デ

    『Webで使えるmrubyシステムプログラミング入門』は、現場で経験値の高い先輩から指導を受けている錯覚を起こさせる一冊だった!! - Magnolia Tech
  • 1万円台で始めるプログラミング学習 - komagataのブログ

    このエントリーはフィヨルドブートキャンプ Part 2 Advent Calendar 2020の9日目の記事です。 プログラミングを始めるにはパソコンが必要ですがMacとかを用意するにはいきなり10万円以上のお金がかかってしまい敷居が高いです。そこで中古のパソコンとLinuxを使って1万円代で環境を用意しようというお話です。WebプログラマーLinux知識が必須なのでこれを使えばLinux力養成(強制)ギプスとしても働くのでとてもいいです。 パソコン選び おすすめはThinkPadの中古専門店 Be-Stockで中古のThinkPad X230を買うことです。 大体14,000円ぐらいで売ってます。 Linuxをインストールするパソコンは安ければなんでもいいんですが、ThinkPadは中古市場に出物が多く安定して流通していること、Linuxをインストールして使う人が多いため情報が豊富な

    iga_k
    iga_k 2020/12/09
    ThinkPadの中古ってこんなに安く買えるのかー!安く良い開発環境作れる技めっちゃよさ。
  • CodeZine(コードジン)

    UNIX基礎講座 UNIXとは | UNIXの基構造 | ファイルシステム | ファイルシステムの構造 | 絶対パスと相対パス | マウント | シェル機能 | ヒストリ機能 | ワイルドカード | リダイレクション | パイプ | エイリアス | 環境設定 | シェル変数と環境変数 | カスタマイズ | コマンドリファレンスの形式とmanコマンド | リファレンスの形式 | マニュアルページの活用 ファイルとディレクトリの操作 cd | chgrp | chmod | chown | cp | dd | df | du | ln | ls | mkdir | mv | pwd | rm | rmdir | split | find | od | touch テキスト処理 cat | comm | cut | diff | diff3 | echo | expand | fold | g

    CodeZine(コードジン)
    iga_k
    iga_k 2020/08/04
    Unix入門
  • curl は何をしているか #システムコール編 - Qiita

    はじめに curl は Web サーバや REST API の動作確認でよく利用されているコマンドです curl が実際にどんな処理を行っているのか、strace コマンドを使用してシステムコールレベルで観察してみたいと思います 説明に間違いがありましたらごめんなさい 調査環境 Web サーバ 1 台とクライアントマシン 1 台を LAN ケーブルで直結し、OS は Linux をインストール、Web サーバは nginx を使用します 各マシンの IP アドレスは以下の通りです マシン IP アドレス

    curl は何をしているか #システムコール編 - Qiita
    iga_k
    iga_k 2020/06/12
    straceを使ってcurlコマンドがどのシステムコールを読んでどんなデータを入出力しているかの記事。とても勉強になった。