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.
xargs の -P オプションを使うとプロセスを複数起動して処理を並列に行なうことが出来る。 例 例えば、 1 万枚の JPEG 画像を全て 800x800 に収まるように効率良くリサイズしたい。 まず私はこのようなコマンドを考えた。 convert --geometry 800x800 *.jpg しかし zsh に怒られた。 zsh: argument list too long: convert 引数が全て展開されるためこのような事が起きる。 私は xargs を使って処理することを思い付いた。 ls | xargs -I{} convert --geometry 800x800 {} c_{} 処理は行なわれるが非常に遅い。 しかも CPU を全く使っていないことが分かり、私は処理を並列的に行なう事を考えた。 そこで xargs の -P オプションの出番である。 P の後に並列
Effective AWK Programming A User's Guide for GNU Awk Edition 1.0.4 April, 1999 Arnold D. Robbins はじめに awkとgawkの歴史 The GNU Project and This Book Acknowledgements Introduction Using This Book Dark Corners Typographical Conventions 例で使用するデータファイル Getting Started with awk A Rose By Any Other Name awkプログラムの実行の仕方 使い捨ての一発awkプログラム 入力ファイルなしのawkの実行 長いプログラムを実行する 実行可能なawkプログラム awkプログラム中のコメント 非常に単純な例 二つのルールを持つ例
今回から、OS付属のシェルスクリプトを読んでいく。多くの人が使っているスクリプトを読むことで、シェルスクリプトならではの書き方、テクニックを身に付けることができるはずだ(編集部) 他人の技術を盗まなければ進歩はない 外国語をマスターするにも、楽器の演奏を覚えるにも、上達するにはただ練習するだけではダメだ。素晴らしいお手本を見つけて、よく観察し、何度もまねることが必要だ。お手本から技術を「盗む」ことが大切だということだ。 プログラミングでも同じことが言えると思う。文法を覚えて、ただひたすらプログラムを書くだけではなかなか上手にならない。スキルのある人のコードを見て、技術を盗もう。開発チームのメンバーそれぞれが書いたコードを持ち寄って、お互いに批評し合う「コードレビュー」に参加している、あるいはリーダーとして主催しているという人は多いと思う。このコードレビューも、人から技術を盗む良い機会と言え
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
はじめに 恐怖のエディタ、Vim。 僕はこの間までずっとサクラエディタを愛用していましたが、最近Vimを使うようになりました。 ええ、Vimです。あのVimです。Viでもいいけど。 Vim・・・使いこなしている人はそれだけで玄人っぽく見られる伝説のエディタ。 実際にVimを使えばすさまじいスピードのコーディングが可能になる。(らしい) しかしそんな憧れだけで手を出しても大半の技術者は全く手に負えず、すぐに尻尾を巻いて元のエディタに舞い戻ってしまう恐怖のエディタ。 それがVimである。 ・・・はい、僕の中でVimやViのイメージはそんな感じでした。 実際、Unix/Linuxマシンのターミナル上で何度か(いやいや)使ったことがありましたが、まあ扱いにくいのなんのって。 「カーソルは十字キーで動くけど、どうやって入力するの? 」 「えっ? "i"を押せ? 」 「入力が終わったらESC? なんで
Windows/Mac/Linux:『Komodo Edit』は、多種多様のスクリプト言語に対応し、パワフルなカスタマイズオプションやアドオンオプションも用意されている無料のクロスプラットフォームテキストエディターです。まだ試したことのないコーダーの方は、是非チェックしてみてください。 ある程度コーディングを行なっている方ならば、お気に入りのテキストエディターの一つや二つあるかと思います。米Lifehacker編集部的にはWindows用なら『Notepad++』、Mac OS X用なら『TextMate』がオススメですが、直感的操作が可能なインターフェースを持ち、WindowからMac、Linuxなどへジャンプできるエディターをお探しであれば、Komodo Editがオススメです。 また、JavascriptやPHPだけでなくRubyやPythonも使うことがあり、将来的にはPerl、T
Linux においての「コマンド」とは、シェルによって実行ファイルが実行されていることを意味します。 たとえば ls コマンドをユーザが入力した際、その入力はシェルにとっての入力でしかありません。シェルはユーザから入力された ls という文字列を「ls という実行ファイルを実行する」と解釈し、カーネルに伝えます。 ls という実行ファイルを実行した結果がシェルによってユーザに伝えられ、あたかもユーザは ls という実行ファイルを直接実行したように感じることができます。 このように「実行したように」というのがユーザインタフェースとしてのシェルの役目です。 しかし、今回はスクリプト言語としての bash をメインに扱うので、この章は軽く流していただいて結構です。 ご存じのように bash はプログラミング言語(シェルスクリプト)のひとつとして動作します。 プログラミング言語として、最低限備わっ
OMakeすごい。OMakeはマジですごい。 OMakeはGNU makeの代替品みたいなものなんだけど、正直なところこのツールの強力さはGNU makeと比べると失礼なくらいすごい。これのおかげで、「コード修正→ビルド→デバッグ→コード修正→・・・」のループの、ビルドにあたる作業がほぼ消え去った。 ファイルの依存関係の解析がとにかくすごい。よくあるユースケースなんかの場合、最小限の手間でほぼ完璧に依存関係を網羅して、よしなにビルドしてくれる。 とりあえず、はやみずが実際に使ってみたケースを例にとってそのすごさの一端を紹介しようと思う。 case study 論より証拠ということで、自分が OMake を試しにつかってみたケースを紹介する。C言語でスタティックライブラリを作っていて、それに加えて簡単なテストプログラムを書いている。 /include/ 以下にヘッダファイルが全部ある /sr
世界のテキストエディターから メモ帳の代替えエディター「Notepad2」LinuxテキストエディターのWindows版「Gedit」 コンピューターの歩みはテキストエディターのそれと同じです。テキストファイルの作成や編集に欠かせないテキストエディターは、現行のOSであるWindows 7のメモ帳やMac OS XのTextEditのように標準搭載されていることからも、その重要性を理解できるでしょう。「世界のテキストエディターから」では、Windows OS上で動作する世界各国のテキストエディターを不定期に紹介していきます。今回は日本語文書作成からプログラミングにも使い勝手の良い「Notepad++」を紹介します。 文書+プログラム=「Notepad++」 そもそもテキストエディターとは、文字どおり大量の文字入力を編集するためのアプリケーションです。プログラムの元となるソースコードの入力や
世界のテキストエディターから メモ帳の代替えエディター「Notepad2」 コンピューターの歩みはテキストエディターのそれと同じです。テキストファイルの作成や編集に欠かせないテキストエディターは、現行のOSであるWindows 7のメモ帳やMac OS XのTextEditのように標準搭載されていることからも、その重要性を理解できるでしょう。「世界のテキストエディターから」では、Windows OS上で動作する世界各国のテキストエディターを不定期に紹介していきます。 注意:本稿では、ソフトウェアのインストールを行っていますが、ソフトウェアの利用は使用者の責任で行ってください。 Windows OSでGeditを使う 最近では一方のコンピューターでWindows OSを使い、別のコンピューターではUbuntuなどのLinuxディストリビューションを導入して、複数のOS環境を使用する方が増えて
お知らせ Ricty および Ricty Diminished は、2010 年代前半には欧文・和文合成プログラミング用フォントとして先駆的でしたが、現在は前時代的な存在となっています。不具合もいくつか確認されています。良質なプログラミング用フォントが数多く登場していますので、それらの利用をおすすめします。 序文 Ricty(リクティ)は Linux 環境での研究・開発を想定したプログラミング用フォントです。テキストエディタやターミナルエミュレータ、プログラミング言語やマークアップ言語に対する使用に適しています。Inconsolata と Migu 1M の合成、および、プログラミング用フォントとしてのいくつかのチューニングを行う生成スクリプトを配布しています。Inconsolata 作者の Raph Levien 氏、Migu 1M 作者の itouhiro 氏、M+ M Type-1
UNIXの基本的なコマンドの1つであるdiff。 これに実装されているアルゴリズムは実に興味深い世界が広がっています。 本稿では、筆者が開発した独自ライブラリ「dtl」をもとに「diffのしくみ」を解説します。 はじめに diffは2つのファイルやディレクトリの差分を取るのに使用するプログラムです。 ソフトウェア開発を行っている方であれば、SubversionやGitなどのバージョン管理システムを通して利用していることが多いかと思います。本稿ではそのdiffの動作原理について解説します。 差分の計算の際に重要な3つの要素 差分を計算するというのは次の3つを計算することに帰結します。 編集距離 2つの要素列の違いを数値化したもの LCS(Longest Common Subsequence) 2つの要素列の最長共通部分列 SES(Shortest Edit Script) ある要素列を別の要
はじめに node.jsが熱いですね。 これからnode.jsを勉強したり、node.jsで何かアプリケーション作ってみたいという人のために、node.jsの環境構築(インストール)系のエントリを集めてみました。 サーバサイドJavaScript Node.js入門posted with amazlet at 14.02.16清水俊博 大津繁樹 Jxck 小林秀和 佐々木庸平 篠崎祐輔 高木敦也 西山雄也 アスキー・メディアワークス 売り上げランキング: 247,116 Amazon.co.jpで詳細を見る プラットフォーム別に分けてみましたので、お好きな環境でnode.jsに触れてみてください。ざっと眺めてみた感じ、Macでやるのが一番簡単みたいです。 Windows + cygwin Windowsでもcygwinを入れてあげてればnode.jsは動きます。 node.jsをWindo
2011-08-13追記 最近のvim pluginの管理にはvundleがおすすめ。 http://vim-users.jp/2011/04/hack215/ .vimrcなどのdotfiles自体の管理には以下の方法が有用だと思います。 この記事でできるようになること - Windows, Linux環境間, または家, 会社間などでvim設定の共有が可能になります。 - 転職や,新しいPCを買ったときなどのvim環境設定があっという間に終わります。 (vim installは含まなければ5分程度?) この記事の主題は - pathogen.vim - githubとgit(git submodule) です。 - pathogen.vimの機能によって、.vim以下を綺麗にする - githubとgit submoduleを使って置いておくことで.vim以下をweb上で管理する の二
emacs23が標準提供になっていたので、emacs22から23へ移行する。emacs 23からはTrueTypeフォントが使えるらしいので、そちらを使う。 % sudo aptitude install emacs23まずは、emacs 22では、.Xresourcesでフォントの設定をしていたのでそれをコメントアウトする。 % cp -p .Xreasorces .Xresources.orgそして、以下を追加する。 Emacs.FontBackend: xft差分は以下のとおり。 % diff .Xresources.org .Xresources 5,12c5,12 < Emacs.Fontset-0: -*-fixed-medium-r-normal--14-*-*-*-*-*-fontset-14 < Emacs.Fontset-1: -*-fixed-medium-r-nor
最近ではコンピューター、ウェブ、モバイルでゲームを楽しめるようになりました。これらのゲームプログラミングについて学びましょう。 ゲームプログラミングの特徴 ゲームプログラミングは比較的新しいジャンルです。 ゲーム開発に使用される言語は、C#、C++、JavaScript、Swift、Rubyです。ゲームでは通常のアプリケーションと異なり複雑なビジュアルを操作するパフォーマンスと速度が要求されますので、プログラム言語もそれに特化している言語がおすすめです。 ゲームプログラミングは今後も人気の職種です。習得してステップアップを目指しましょう。 Oracle PLのプログラミング言語について学びましょう。 Oracle PLの特徴 SQL、T-SQLと同様にOracle PLもデータベースを処理するための言語です。違いとしてはOracle PLは世界最大のデータベースのひとつであるOracleデ
一般的に ImageMagick のサムネイル画像生成は遅いとされており、パフォーマンスが求められるシーンでは Imlib2 などのより高速な画像処理ライブラリが使われることが多いです。 Imlib2 の高速さについては、以前「Imlib2でImageMagickより3倍高速かつ美しいサムネイル画像の生成 - 床のトルストイ、ゲイとするとのこと」という記事で紹介しました。この記事のベンチマークにおいて、Imlib2 によるサムネイル画像の生成は、 ImageMagick の3倍程高速でした。 しかし、 ImageMagick は Imlib2 より画質がよく、高機能で使いやすく、今も頻繁にメンテナンスされており、とてもよく出来ています。その点 Imlib2 は、2004年からメンテナンスされておらず、セキュリティホールが見つかっても、各Linuxディストリビューションがそれぞれパッチを当て
移転しました http://please-sleep.cou929.nu/20101230.html
日経LinuxとITproは、総計約700項目のHTML/スクリプト言語リファレンスを公開しました。「HTML」(295項目)、「CSS」(73項目)、「Dynamic HTML」(98項目)、「JavaScript」(295項目)、「Perl」(125項目)あわせて698項目。各項目にサンプルコードを掲載しており、コピーし貼り付けてすぐにお使いいただけます。JavaScriptは「この用例を実行する」という文字をクリックすれば、その場でサンプルコードを実行してみることもできます。 ファンレンスを使いこなすための記事や、「JavaScript入門」「Perlの使い方入門」「CSSの基本」「Linuxコマンド道場」「シェル・スクリプト工房」といった入門記事もご用意しました。 これらのリファレンスはここ2~3年かけて作成してきたものです。そのため一部に内容の古いものもありますが、順次更新してい
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く