Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
自分が書いたプログラムのメモリ使用量を測定したいことがある。プログラムがOOM Killerによってお亡くなりになった場合や、ページフォルトをなくして高速化したい場合などだ。定常的に起動するサーバーのプログラムなら、sarや meminfo など(今なら Datadog とかだろうか)を使ってじーっと見つめるわけだ。もっとモダンにやるなら perf や DTrace を使ってもよいかもしれない。しかしこれらのツールは基本的にプロセスIDを渡してサンプリングして外から覗く方法だ。 わたしのユースケースはデーモンプロセスではなく、 main から入って必要な計算をして、それが終わったら main を抜けるバッチジョブ(単にコンソールから実行して終わるまで待つ、いわゆる "Hello world!" 的なやつ)だ。これだと、プログラムが起動して終わるまでそこそこの時間で終わってしまって、外部プロ
シェルスクリプトではselectという構文が用意されている。 while文とメニュー表示機能が組み合わさったような機能で、シェルスクリプトらしい機能だ。 このページではサンプルプログラムをご紹介しつつ、selectの使い方をまとめてみた。参考にしていただければと思う。 シェルスクリプトのselectとは? 「select」文をつかうと簡易的な対話メニューが簡単に作成できるので便利だ。 丁度while文にメニュー表示機能がまざったような処理をする。メニューを表示しループ処理に入り、変数と分岐処理をつかって制御することが多い。 実際while文と分岐処理を使用し、作り込むと同じようなことができる。しかし若干大がかりになるので素直にselect文を使おう。 これまで解説してきた制御文は「必須の処理」が殆どだったが、今回は「より便利な処理」を実現するため制御文といえる。 なお「select」はba
OSC Enterprise.2015での講演資料です。 JobSchedulerの概要・特長の紹介です。
Red Hat系のOS、CentOSやFedraではRPMというパッケージ管理システムを使う。 このページではRPMについて基本や便利なオプションなど含めて一通り解説した。参考にしていただければと思う。 パッケージ管理の概要について知りたいという方は下記を参考にしてほしい。 RPMとは? RPMはパッケージ管理システムのひとつだ。 「Red Hat Package Manager」の略だったのだが現代では「RPM Package Manager」の略で再帰的頭字語となっている。 主にRHELを始めCentOSやFedoraなどの「RedHat系列」なディストリビューションに採用されていることが多いパッケージ形式だ。 実際はこの上でパッケージを統合管理する「パッケージマネージャフロントエンド」が機能しパッケージを処理するため、単体で触れる機会は少なくなっている。 RMPのパッケージ RPMの
あなたにとって重要なトピックや同僚の最新情報を入手しましょう最新の洞察とトレンドに関する最新情報を即座に受け取りましょう。 継続的な学習のために、無料のリソースに手軽にアクセスしましょうミニブック、トランスクリプト付き動画、およびトレーニング教材。 記事を保存して、いつでも読むことができます記事をブックマークして、準備ができたらいつでも読めます。
Tips for Productive Debugging with GDBの抄訳。 Tips 1: GDB Dashboardを使おう GDB Dashboardは単一の.gdbinitファイルで、ブレークポイントで止まるたびに下図のようなクールな画面を表示してくれる。 https://github.com/cyrus-and/gdb-dashboard gdbには標準でTUIモード(cursesベースのUI)が搭載されているが、そちらは画面の乱れが頻繁に起こる。GDB Dashboardはcursesを使っていないので乱れが起きない。 スクショではOutput/messages, Source, Assembly, Threadsなど多数のモジュールを全部入りで表示しているためゴチャゴチャしているが、設定で自分に必要なモジュールだけを表示するようにできる。 訳者もしばらく使っているが、
はじめに vimdiffが使える場合はこの記事は読む必要がありません。 また、はじめには読み飛ばして下さって構いません。 エンジニアにとって、2つのファイルの比較を行うことはよくあることだと思います。 ですが最近仕事で2つのファイルの差分を__誰でも__すぐに読み解ける方法を考え出す必要が出てきました。なお、補足をするとそのプロジェクトではgitを導入できる段階ではありませんでした。 全員がvimを使えるならvimdiffで良いと思います。 ここでは主に__diffコマンドに関することでの視覚的なこと__についてメモしたいと思います。 パッチ等他の形式については Linuxエンジニアらしいパッチのつくりかた がよくまとまっていると思いますので、そちらをご覧ください。 diffコマンド 一般的に差分を取るときは普通はdiffコマンドが思いつきます。diffコマンドの差分の判定についてのオプシ
Unixの世界には readdir_r()というAPIがある。readdir()のthread safe バージョンとしばしば紹介されている。 それぞれの関数宣言は以下 http://man7.org/linux/man-pages/man3/readdir_r.3.html struct dirent *readdir(DIR *dirp); int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result); struct dirent { ino_t d_ino; /* inode number */ off_t d_off; /* not an offset; see NOTES */ unsigned short d_reclen; /* length of this record */ unsigned
Googleが新OS「Fuchsia」の開発プロジェクトを開始したようだ。LinuxやAndroidではなくLKをベースにしており、RTOSとしての完成を意図しているようだ。 Googleが新OSの開発プロジェクトを開始したようだ。 「Fuchsia」と名付けられたプロジェクトはGitHubにリポジトリが設けられているものの、LinuxやAndroidなどとの関係を含めた位置付けは明らかにされておらず、「Pink + Purple == Fuchsia (a new Operating System)」とだけ説明されている。 GitHubのドキュメントによれば、マイクロカーネル「Magenta」を核とする構成とされている。MagentaはLK(LK embedded kernel)をベースとしており、これはFreeRTOSやThreadXなど組み込み機器向けOSのなかでも高い即時性などを要
B! 15 0 0 0 Windowsで使われているシェルのPowerShellがオープンソース化し、 さらにMacやLinuxへもインストールして使える様になりました。 PowerShell for every system! Macで使ってみる アンインストール Macのデフォルトシェルにしてみる PowerShellスクリプトをBash等から使う 初期設定ファイル まとめ PowerShell for every system! GitHubでPowerShellのソースが公開されています。 PowerShell is open sourced and is available on Linux 同時に、ここからMac用やLinux用のインストールイメージもダウンロードできるようになっています。 Package installation instructions: https://g
読み終わった。たった100Pにプログラム言語を作るための基礎(字句解析、構文解析、ランタイム、インタプリタ、仮想マシン、ネイティブコンパイルまで!)が一通り学べ、さらに本書で作った実際に動くプログラミング言語がついてくる。 $39.99 とちょっと高いがプログラム言語を作る勉強代だと考えれば最も安くそして早く(ドラゴンブックは1090P)学べるのではないだろうか。洋書なのが難点だが半分くらいはソースコードなので苦労しながらなんとかなりました。(日本語訳出てほしいなぁ) 書籍内で作る言語は2種類で Awesome Rubyの構文にPythonのインデントブロックを混ぜ合わせたようなオブジェクト型 Mio Ioを参考にしたメッセージ型 言語自体はどちらもRubyで書かれているが紹介される概念は特に言語の制約を受けないものが多い。 よかったところ yaccやbison, JVM系の構文解析ツール
cdは作業するディレクトリを移動するlinuxコマンドだ。 今回は様々なディレクトリの指定方法を解説しながら、基本的なcdコマンドの使用方法を説明する。 cdコマンドはLinuxを使う上で一番はじめに出会うコマンドだろう。Windowsで言うフォルダにあたるディレクトリに関しても簡単にご紹介する。 ディレクトリの種類 ディレクトリはWindowsでいうフォルダに当たるものだ。Linuxは階層構造を基本としていて、ディレクトリを移動して作業をしていく。 ディレクトリで覚えておきたいのは次の用語だ。 カレントディレクトリ 今、作業しているディレクトリを指す。 ルートディレクトリ ディスクの一番上の階層のディレクトリだ。根本のディレクトリという意味だ。重要なフォルダかそうでないかの見分けははじめはつかないと思うので、慣れるまではここで作業はしないほうがいい。 ホームディレクトリ ユーザーが自由に
新しい環境が与えられたときなど、LinuxのOSやバージョンを確認することは結構あるはずだ。 しかし、頻繁に打たないコマンドなので、とっさに出て来ないという方が多いのではないだろうか? このページではLinuxのOSやバージョンを確認する方法を解説する。 LinuxのOSとバージョンの確認方法 ディスプレイマネージャが起動している場合 「Control + Alt +F2」 などでコンソールログイン画面に移動、一番上の部分にディストリビューション名とバージョンが確認できる。 unameでマシンのバージョン情報がある程度、把握できるが、上記のとおり、ディストリビューションの名前に関して明記されないことがほとんどだ。 /etc/issue ログインするまえに、コンソール上にディストリビューション名が表示されていることがある。この表示内容は「/etc/issue」で確認できる。 $ cat /e
この記事の監修者 レバテックキャリア編集部 レバテックキャリアは、IT/Web業界のエンジニア・クリエイター向けに特化した転職エージェントです。当メディアでは、エンジニア・クリエイターの転職に役立つノウハウから、日々のスキルアップや業務に活かせる情報まで、幅広いコンテンツを発信しています。 Dockerの使い方の参考になるサイト・記事 隔離の技術Dockerの考え方と使い方の基本 / TECHSCORE BLOG http://www.techscore.com/blog/2014/08/05/introduction-to-docker/ Dockerの概要、よく出てくる用語、基本的な操作を解説している記事です。 本記事の筆者が「最初に知っておきたかったこと」をまとめてあり、Docker初心者なら最初に読んでおくことをおすすめします。 Dockerドキュメント日本語化プロジェクト htt
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く