タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

Programmingとlinuxとprogrammingに関するclavierのブックマーク (54)

  • process-book

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

  • softwaretechnique.jp

    This domain may be for sale!

    softwaretechnique.jp
  • カーネルモジュールを作ってみる - はわわーっ

    まず簡単なところから。 #include <linux/init.h> #include <linux/module.h> MODULE_LICENSE("GPL"); static int __init hello_init(void) { printk(KERN_ALERT "hello, world\n"); return 0; } static void __exit hello_exit(void) { printk(KERN_ALERT "bye\n"); } module_init(hello_init); module_exit(hello_exit); Makefileはこんな感じ。ROOTDIR にはカーネルのソースがあるディレクトリを設定する。 obj-m := hello.o ROOTDIR := /home/yomi/kernel/linux-3.11 defau

    カーネルモジュールを作ってみる - はわわーっ
  • sudo をつけると SIgnal.trap がおかしくなる件 : sonots:blog

    sudo をつけると SIgnal.trap がおかしくなる件 : sonots:blog
  • CentOS 7の基礎

    CentOS 7連載の第1回では、CentOS 7が選定される背景、採用されるサーバー基盤、アーキテクチャなどの基礎的な内容をご紹介します。 CentOS 7を利用する背景 2014年6月に発表されたRHEL 7の互換OSとして、CentOS 7が2014年7月にリリースされました。CentOS 7は無償提供されているサーバーシステム用のLinux OSです。CentOS 7は、CentOSのコミュニティのメンバーやRed Hat社の技術者達が開発に関わっています。レッドハット社は、Red Hat Enterprise Linux(通称RHEL)を構成するオープンソースソフトウェアのソースコードを公開しています。このソースコードを用いて、Red Hat社の商標や商用ソフトウェアを取り除いた形で1つのLinuxディストリビューションとしてまとめたものを「RHEL互換OS」といい、その一つにC

    CentOS 7の基礎
  • 就職面接でプログラムの解読を求められた! | POSTD

    長文ですが、よかったら読んでください。 就職面接でプログラムの解読を求められました。そして、就職が決まりました。 皆さん、こんにちは。新しいブログを開設したので、私は今とても張り切っています。週に何度か記事を投稿するつもりです。 タイトルを見れば大体の話の内容は分かると思いますが、これから書くのは、トルコのアンカラで受けた就職面接の話です。 私が応募した職は「ソフトウェアセキュリティエンジニア」でした。面接中、面接官たちは非常に専門性が低い質問をしてきましたが、分かることもあれば分からないこともありました。 その後、その企業からメールが届き、保護および暗号化されたバイナリファイルが添付されていました(「解読してみろ」ということでしょう)。 帰宅後にファイルをダウンロードすると、ファイルを開くために聞かれたのはパスワードだけでした。面接官が私に課した課題は、そのパスワードを探すことでした。

    就職面接でプログラムの解読を求められた! | POSTD
  • Linuxのmmap()を通して、アドレス空間の扱いを垣間見る - Qiita

    近況 飲んで帰ってきて、気づいたらこんなの書いていました。 ちょっと具体性に乏しいので、もう少し後でパッチを書きます。 (でも、明日は会社の歓迎会で飲んでくるのだ) 前回のあらましと今回見るところ 前回、仮想アドレスと物理アドレスの紐付けをする処理とそのデータ構造のページテーブルを見ました。 そして、今回はユーザ空間へのアドレス空間マップを行うmmap()を見ることで、仮想アドレス空間の扱いの一端をかいま見てみましょう。 mmapの実装 mmapは以下の実装である。 (厳密に言うと、システムコールのベクタではないので「システムコールの開始地点」ではない) asmlinkage long sys32_mmap(struct mmap_arg_struct32 __user *arg) { struct mmap_arg_struct32 a; if (copy_from_user(&a, a

    Linuxのmmap()を通して、アドレス空間の扱いを垣間見る - Qiita
  • コマンドラインツールを作るときに参考にしている資料 | SOTA

    コマンドラインツールについて語るときに僕の語ること - YAPC::Asia Tokyo 2014 コマンドラインツールが好きで昔からつくってきた. 今年のYAPCで,そのコマンドラインツールをつくるときにどういうことを意識して作っているのか?どのような流れで開発しているのか?といったことを語る機会をもらえた. 具体的な内容については,是非トークを聴きに来てもらうとして, スライドをつくるにあったって過去に読んだ資料や,よく参考にしている記事を集め直したので,その一部を参考資料としてまとめておく. UNIXという考え方 UNIXという考え方 Mike GancarzによるUNIXの思想や哲学をまとめた.古いが全然色あせてない. コマンドラインツールの作り方を書いたではないが,これらの思想の上で動くツールはこの思想に準拠して作られるべきだと思う.何度も読んで考え方を染み付かせた. 小さい

  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • 第25回 cron周りのベストプラクティス(2) | gihyo.jp

    前回の(1)はこちらから。 プロジェクトcronを利用する 筆者は普段ゲーム開発のサーバサイドを担当していますが、プロジェクトによってはバッチサーバのcrontabが100行を超えることもあります。イベント、ランキング処理、監視、集計、バックアップ、リカバリ処理などをしっかりやろうとすると、どうしてもそれくらいになってしまいます。 100行とはいかなくても、プロジェクトで使うcrontabの行数が膨らんでくると、サーバで直接crontabを編集することは管理上現実的ではありません。 crontabの記述とリポジトリ管理 では実際のプロジェクトcrontabをどのように管理していけばよいのでしょうか。筆者は次の方針を立てています。 crontabの記述にゆるやかな規約を設け、リポジトリ管理する crontabの自動テストを行う crontabの反映方法をなるべく自動化する crontab

    第25回 cron周りのベストプラクティス(2) | gihyo.jp
  • Linuxカーネルハックに興味があるけど特にネタが無いんだよな〜って人向けの小ネタ - φ(・・*)ゞ ウーン カーネルとか弄ったりのメモ

    Linuxカーネルに興味があるんだけど特に作りたいものってないんだよなーなんて割とあると思う訳です。俺とか。。。 まあ、kernelnewbiesのメーリングリストでもよく見る話題かと思います。この辺なんかもそうですね。 で、そんな時にオススメできるのがkmemleak。カーネルに組み込まれたメモリーリーク検出ツールです。 使い方は至って簡単でカーネルのコンフィグレーションにあるKernel memory leak detectorを有効にしたカーネルを普通に使えばOK。カーネルはメインラインのrcでもtipでもlinux-nextでも何でも良いと思います。 設定の場所はKernel Hacking -> Memory Debugging -> Kernel memory leak detectorにチェックをするのと、 その下のMaximum kmemleak early log ent

    Linuxカーネルハックに興味があるけど特にネタが無いんだよな〜って人向けの小ネタ - φ(・・*)ゞ ウーン カーネルとか弄ったりのメモ
  • Linuxでaio - (ひ)メモ

    実装が2つある。以下、あくまで今の時点でのLinuxの場合の状況/実装のおはなし。 POSIX aio aio_read(3) とか aio_write(3), aio_error(3), aio_return(3) とか。 インターフェースはPOSIXで定義されているのと同じ。 システムコールじゃなくてライブラリ関数(librt) 裏でpthreadつくってがんばってるげ。 libaio http://lse.sourceforge.net/io/aio.html http://ftp.jaist.ac.jp/pub/Linux/Fedora/development/source/SRPMS/libaio-0.3.106-3.2.src.rpm とか io_prep_pread(2), io_prep_pwrite(2), io_submit(2), io_queue_init(2),

    Linuxでaio - (ひ)メモ
  • シェルスクリプトを書くときはset -euしておく - Qiita

    を書いておく。以下解説。 set -e エラーがあったらシェルスクリプトをそこで打ち止めにしてくれる(exit 0以外が返るものがあったら止まるようになる)。「あっあれここでうまくいってないからデータ準備できてないのにあれあれっもうやめて!」ってなるのを防げる。 set -u 未定義の変数を使おうとしたときに打ち止めにしてくれる。Perlでいうuse strict 'vars';的なもの。 って気軽な気持ちで書いてしまって、「ん、やたら時間かかると思ったらスペルミスうわなにをするやめ」ってなるのを防げる。 一部だけ例外にしたい はてなブックマークのコメントより -e は command1 || command2 みたいなことが出来なくなるの使うことないな。-uは付けといて良いが。 確かにおっしゃるとおりですね。コマンドの失敗を考慮して書いている部分については(もしくはやたらexit 0以外

    シェルスクリプトを書くときはset -euしておく - Qiita
  • Jenkinsをインストールして使ってみよう[Mac/Linux/Windows]

    継続的インテグレーションツール「Jenkins」の使い方を基礎から解説する連載がスタート。初回は、Jenkinsの概要とインストール手順、簡単なジョブの登録方法を説明する。 連載 INDEX 次回 → Jenkinsとは何か? 「Jenkins」というツールをご存じだろうか? 情報に敏感な読者であれば「継続的インテグレーション(CI)」という言葉とともにネット上で一度や二度は見たことがあるかもしれない。しかしながら「継続的インテグレーション」という言葉の難解さや「Javaで作成されている」という点で、敷居が高く感じられ、導入を見送っているプログラマーの方もいるのではないだろうか。 そんな方々にとって、連載がJenkinsを使うきっかけになれば幸いだ。連載では、Jenkinsの使い方を基礎から説明する。その説明用のプログラミング環境としてはRubyを採用しているが、他の環境の方にも参考と

    Jenkinsをインストールして使ってみよう[Mac/Linux/Windows]
  • mmapのほうがreadより速いという迷信について - kazuhoのメモ置き場

    @ITに以下のような記事が出て、 今回からしばらくの間は、まったく逆の例、つまり使うとプログラムの処理性能が上がるというシステムコールを紹介していく。システムコールを呼ぶ回数は少ない方が処理性能は高くなるという原則は変わらないが、呼び出しておくと処理性能が向上するシステムコールというものが存在するのだ。こうしたシステムコールを使わないでいることは、とてももったいない。 今回紹介するシステムコールは「mmap(2)」だ。ここでは詳しく仕組みを解説しないが、mmap(2)は、プログラムの処理性能に必ず良い影響を与える。 やはりあった? 高速化に効くシステムコール (1/2):知ってトクするシステムコール(3) - @IT それを真に受けたのか、「Go言語でmmapシステムコールを使ったファイル読み込みの高速化検討とC言語のコンパイラの話 - ryochack.blog」のようなブログエントリも

    mmapのほうがreadより速いという迷信について - kazuhoのメモ置き場
  • libusbについて - Linux工作室

    広告 「libusb」は簡単にUSB機器にアクセスできるように作られたC言語用ライブラリ。 カーネルの変更や専用のドライバを必要としないので開発は楽。 Windows版も存在する --目次-- 準備 「libusb」がインストールされていなかったらインストールする。 さまざまなディストリビューションにパッケージが用意されているので、インストールは簡単。 アクセスするUSB機器のベンダーIDとプロダクトIDを調べる。機器の説明書や仕様書に載っている。 分からなかったらつなげてみて「lsusb」コマンドを実行。(Debianではusbutilsパッケージに含まれる) Bus 001 Device 001: ID 0123:4567 というように表示され、IDの後に続く最初の4桁(この場合0123)がベンダーID、後の4桁がプロダクトID(この場合4567)になる。 rootでないとデバイスにア

  • bash 超プログラム術

    bash の解説なんて、ネット上には結構あったりするのだが、これをわざわざ公開しようというのは、次の理由による。 某ソフトハウスでのUNIX講座用に書いてしまったから。 ネット上にある bash 解説だと、表面的な構文解説程度であり、きっちりスクリプト言語として使い倒すレベルの解説はあまりない。まあ、プログラミング言語として凝ったサンプルもやってみようじゃないの、というノリで割とディープに解説する。 アクセスを増やすための人気取り(苦笑)。 まあ、そんな不純な目的による bash 解説である。とはいえ、日常的に使い慣れている bash であっても、「え、こんな使い方があったの!?」という発見もあることであろう。苦笑しながらでも読んでくれたまえ。だから、初歩的なリダイレクションなんかは解説しないからそのつもりで。 ちなみに参考書としたのはオライリー・ジャパン刊「入門 bash 第2版」である

  • 初めてシェルスクリプトを書くときに知っておきたいこと - Unix的なアレ

    他の言語をを書き慣れてから、シェルスクリプトを書こうとするとしょうもない部分でハマったりすることがあります。「簡単な処理だからシェルスクリプトで書くか」と思っても無駄に時間がかかってしまっては仕方ないですよね。 今回は初めてシェルスクリプトを書くときに、ハマりそうな点について説明をしたいと思います。 実行権限をつける 単純にファイルを生成しても下記の用に実行しようとしても実行はできません。 # touch test # ./test sh: ./test: Permission denied # touch foo # ./foo sh: ./foo: Permission denied これはファイルに実行権限がついていないため、起きる現象です。 chmodコマンドを使って実行権限をつけてやりましょう。 # chmod +x test # ./test # chmod +x foo #

    初めてシェルスクリプトを書くときに知っておきたいこと - Unix的なアレ
  • Unixstickers - Sticker Mule

    Welcome to the original Unixstickers store! Since 2008, we’ve offered high-quality laptop stickers of iconic Unix, Linux, and open-source logos. Show off your passion for coding and tech culture!

    Unixstickers - Sticker Mule
  • デーモンプロセスの実像にせまる!デーモンプロセスのヒ・ミ・ツ

    一般にデーモンプロセスとは,一般的にはインタラクティブに処理を行わず, 時間やある一定のトリガーによって動作する常駐プロセスのことを指す. そもそもデーモン(daemon)注1とは,ギリシャ神話に登場する「神々と人間の間に介在する 二次的な神」や「守護神」のことで,コンピューターの中で,人知れず動作する 「縁の下の力持ち」の常駐プロセスには,ふさわしい愛称と言えるだろう. さて,デーモンプロセスは,一般的なコマンドとして動作するアプリケーションと比較 してもそれほど複雑ではない.しかし,作り方によっては守護神にも悪魔に もなってしまう可能性を秘めている. デーモンプロセスを「守護神」にするか「悪魔」にしてしまうかは, プログラムの作者が正しい知識を持っているかどうかにかかっているといっても 過言ではない. 注1 デーモンといえば demon も日語読みでは同じ発音になるが, demonの