タグ

programmingとlinuxに関するhogemのブックマーク (13)

  • lsコマンドをハックしてみよう

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、ショッピング事業部開発部の吉野です。 Yahoo!ショッピング開発部では新人エンジニア向けにコマンドのソースコードを読むことを奨励しています。 その初期の題材として、lsコマンドがよく挙げられます。 今回は「lsコマンドをハックしてみよう」と題し、lsコマンドについてお話しさせていただきます。 突然ですがエンジニアの皆さん、lsコマンドのソースコードを読んだことはありますか? 読んだことのない方はぜひ一度、目を通しておくことをおすすめします。 意外と知られていませんが、lsはcd,pwdなどのコマンドと違いシェルの組み込みコマンドではありません。 一口にlsと言っても、複数のソースコードが存在します。 代表的なのはGN

    lsコマンドをハックしてみよう
    hogem
    hogem 2009/03/24
    "lsはcd,pwdなどのコマンドと違いシェルの組み込みコマンドではありません。" => アイヤー組み込みコマンドだと思ってたアルヨ / "lsはソースコードの量も少ないので、新人エンジニアの勉強にはちょうどいいと思います。"
  • Redirect...

  • Unix Programming Frequently Asked Questions 日本語訳 - Table of Contents

    このFAQについて 1 プロセス制御 1.1 新しいプロセスの生成: fork() 1.1.1 fork()は何をするのですか? 1.1.2 fork()とvfork()の違いは何ですか? 1.1.3 forkによる子プロセスを終了するときにexitよりも_exitを使うのはなぜですか? 1.2 環境変数 1.2.1 どうすればプログラム内で環境変数の値を取得・設定できますか? 1.2.2 どうすれば全ての環境変数を調べられますか? 1.3 どうすれば一秒未満のsleepができますか? 1.4 粒度の細かいalarm()はどうすれば得られますか? 1.5 どうすれば親プロセスと子プロセスの間で通信できますか? 1.6 どうすればゾンビプロセスができることを防ぐことができますか? 1.6.1 ゾンビプロセスってなんですか? 1.6.2 どうすればゾンビプロセスになることを防げますか? 1.7

  • 彼女がオープンソース化されそうです:アルファルファモザイク

    彼女にドングルを取り付けろ。 ここで重要なのは、リモコンで遠隔操作可能なドングルを取り付ける事だ。 彼女が心配になったらリモコンでドングルを遠隔操作しろ。

    hogem
    hogem 2007/08/01
    それにしてもこの男たち、ノリノリである
  • inetd の仕組みを見てみる - naoyaのはてなダイアリー

    inetd や xinetd (以下 inetd) はインターネットサービスをデーモン化するのに共通している処理を担い、ほとんどの時間をアイドル状態で過ごすその手のサービスに必要なリソースを節約する役割を果たします。 inetd のひとつ面白いところは、inetd でサービス化したいプログラムの標準入力/標準出力がクライアントソケットの入出力に接続されるところです。例えば daytime 相当のサービスを自分で作ろうと思った場合 #!/usr/local/bin/perl # daytime.pl use strict; use warnings; use DateTime; use IO::Handle; STDOUT->autoflush(1); STDOUT->printf( "%s\n", DateTime->now(time_zone => 'Asia/Tokyo') ); と標

    inetd の仕組みを見てみる - naoyaのはてなダイアリー
  • シェルスクリプト(Bash)

    シェルスクリプトとはコマンドやシェルの組み込みコマンドなどをファイルに記述し、実行できるようにしたものである。 またプログラムの制御構造なども使用でき、柔軟な処理が可能であり、/etc/rc.d/initd/ディレクトリ内の起動スクリプトなどはシェルスクリプトである。 シェルスクリプトを実行するには実行権限および読み込み権限が必要です。 またシェルスクリプトファイルの1行目にはシェルスクリプトを実行するシェルのパスを記述します。 スクリプトファイル内でも、シェル変数を定義することができる。またその変数を参照する場合は変数名の前に" $ "を 付けることで参照できる。変数名に使用できる文字は英数字および" _ "(アンダーバー)であり先頭は英字を使用しなくてはならない。

  • Makefile は簡潔に書きましょう - pyopyopyo - Linuxとかプログラミングの覚え書き -

    仕組みが判ってしまえば Makefile は簡潔に書けます.$(CC) とか $@ とか $< なんて変数は使ったら負けです. 基(その1) ソースコード hoge.c から 実行形式のバイナリ hoge を生成するMakefileは,以下のように書きましょう all: hogeこれだけです.これで $ make all とすると hoge が生成されます 重要な点は,間違っても all: hoge hoge: hoge.c $(CC) hoge.c -o hogeのようなMakefileを書かないことです.このようなMakefileでは #!/bin/sh CC=gcc $CC hoge.c -o hoge というようなシェルスクリプトと同程度の使い勝手しかありません. 基(その2) ここで例えば-O3 を付けてコンパイルしたい場合や,-lm を付けてリンクしたい場合は以下のようにし

    Makefile は簡潔に書きましょう - pyopyopyo - Linuxとかプログラミングの覚え書き -
    hogem
    hogem 2007/05/08
    makeの解説
  • ぴょぴょぴょ? - Linuxとかプログラミングの覚え書き - - make の仕組みを理解する

    前述*1のように Makefile は非常に簡潔に記述できます.ただし,簡潔なMakefileを記述するためには make の仕組みを理解する必要があります. 結論から言うと, make は 簡潔な生成ルールのみを記述したMakefileから, 実際に必要となる詳細な生成ルールを自動的に生成します. 自動的に生成されたルールを確認するには $ make -p と "-p" オプションを付けて make を実行します. 以下, hoge.c から hoge を生成する場合 hoge.c と fuga.c から hoge を生成する場合 の二つの具体例を挙げて,説明します. 前準備 Makefile と hoge.c を用意します. Makefile all: hoge hoge.c int main() { return 0; } make -p の実行 $ make -p > log 大量

    ぴょぴょぴょ? - Linuxとかプログラミングの覚え書き - - make の仕組みを理解する
  • ウノウラボ Unoh Labs: ウェブアプリ開発を助けるGETコマンドを使ってハックしてみよう!!

    2GBのSDカード買って意気揚々と歓迎会に突撃したらカメラごと持って帰るのを忘れて生きていくのがつらくなったjokagiです. ガジェットには名前と連絡先をお忘れなく. さてウェブアプリケーションの開発をしていると当然ですがブラウザーで画面の確認をしたりしますが,ブラウザーで確認をしているとキャッシュに悩んだり面倒くさいことが少なくありません. 普通そういう時はtelnetなどで直接HTTPプロトコルでウェブサーバーと会話するわけですが面倒くさいですよね. $ telnet www.yahoo.co.jp 80 Trying 203.216.231.160... Connected to www.yahoo.co.jp. Escape character is '^]'. GET / HTTP/1.1 Host: www.yahoo.co.jp HTTP/1.1 200 OK Date:

  • Subversion

    バージョン管理ツールSubversionの基礎練習です。 Windows XPのコマンドプロンプトでSubversionの基的なコマンドを動かしていきます。 Subversionを学び始めるきっかけにどうぞ。 目次 はじめに ダウンロードとインストール リポジトリ用のディレクトリを作ります リポジトリを初期化します 新しいモジュールを作ってインポートします チェックアウトして作業開始 新しいファイルを追加します 新しいディレクトリを追加します 普段の作業はこんな風に進みます ファイル名を変更してみよう この文書に書かなかったこと 関連リンク 更新履歴 ぜひ、感想をお送りください はじめに Windows XPのコマンドプロンプトで、 バージョン管理ツールSubversionの基的なコマンドを動かしてみましょう。 この文書の通りに実行すると、 基的なSubversionのコマンドをひと

  • Bourne shell プログラミング入門

    小越大志 著 <hiroshi@ogoshi.org> 0.0.11版 2002年02月11日 この文書は、 Bourneシェルでスクリプトを開発するために必要な基事項について述べられている。 この文書を読むことで、Bourneシェルのスクリプトの概念、基仕様、 およびスクリプト記述技法について学ぶことが可能である。 目次 第1章 Bourne shellプログラミング概要 1.1 Bourne shellとは何か 1.2 Hello, World! 1.3 スクリプト作成概念 第2章 変数 2.1 変数とは 2.2 プログラム変数 2.3 特別変数 2.4 環境変数 第3章 制御構造 3.1 制御構造とは 3.2 式の評価 3.3 分岐制御 3.4 反復制御 第4章 入出力 4.1 標準入出力 4.2 リダイレクション 4.3 パイプ 第5章 メタキャラクタ 5.1 メタキャラクタと

  • シェルスクリプト実践テクニック〜bash編 くわむら じゅん

    This Site moved! You are accessing to "Powered by Open Sources" site. The site has been moved to "http://kuwamura.jp/./bash-script.html". Your access will be redirected to the new site in couple of seconds. Thank you.

  • http://www.netfort.gr.jp/~tomokuni/lms/shell/text/shell.txt

  • 1