You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
Google独自言語使いとしてもう一つのGoogle言語であるGo言語を紹介します。 コンパイル型言語のめんどくささがツライと思って敬遠してたけど、 触ってみたらびっくりするほどシンプルでLLっぽく使えるし、 静的型言語の恩恵にも預かれちゃうなかなか楽しい処理系だと思いました。 サイト: http://golang.org ツアー: http://go-tour-jp.appspot.com/#1 ネイティブコードにコンパイルして動く go処理系はすでにかなりのプラットフォームをサポート x86/amd64/ARM、Win/OS-X/Linux/Android/BSDなどなど コンパイルがDelphiを連想させるほどばかっ早い どのプラットフォームでも「go run ソース」ってすればさっくり動く 使用感はスクリプトを実行しているのとあまり違わない ビルドすると不要なコードはすべて取り除か
小飼弾(@dankogai) まずはMOONGIFTさん、10周年おめでとうございます。今調べたら、404 Blog Not Foundも今年の11月が開設で、今年は個人的にも社会的にも節目の年なのかも知れません。 節目といえば、 "Open Source"という言葉も今年の2月3日に0x10歳の誕生日を迎えます。オープンソースのこれまでの沿革を振り返り、これからのことに思いをはせるには絶好のタイミングとも言えます。これまた偶然にも、その8ヶ月後に私は一児の父となりました。私にとって、オープンソースが育っていた月日は娘たちが育っていた日々と重なっています。 ただし同い年の長女とオープンソースには違いが一つあります。「オープンソース的」なものはすでに長らく存在していて、なかったのはオープンソースという名前だけだったのです。 俺のサーバーがこんなに売れないわけがない いわゆるLAMPを構成する
exp で 1文字を対象にしたいのであれば ?([a-f]) のようにクラスを併用することも可能。必ずしも `|' を使わなければならないわけではない。また、正規表現は ?(bash@(ref)) のように入れ子にすることもできる。 Bashで正規表現(2) ([[ =~ ]]オペレータ) 二重の `[[' を使い比較演算子に `=~' を使うと、右辺は拡張正規表現とみなされる。前項とは異なりこちらは本物の正規表現だ。面白いのは、マッチ部分が BASH_REMATCH という配列にアサインされるという点。 VAR=$(LANG=C date +'%c') # VAR='Wed Dec 22 22:51:41 2010' DAYOFWEEK=Wed PATTERN='^'$DAYOFWEEK' ([[:alpha:]]{3}) [[:digit:]]{2} ([0-9:]+)' [[ $VA
プログラム中でテンポラリファイルを作ったときには、最後に削除します。シェルスクリプトだとこんな感じです。 tmpfile=$(mktemp /tmp/tmp.XXXXXXXXXX) # ここに処理いろいろ rm "$tmpfile" が、この方法には、「正常終了以外ではテンポラリファイルが削除されない」「シェルスクリプトの終了ステータスが、処理本体のものでなく、rm -fのものになる」という2つの弱点があります。 で、シグナル処理とかいろいろなパターンがあるんですが、いまどきだとtrapコマンドで疑似シグナルのEXIT(シグナル0)に後始末処理を入れるのが、正常系でも異常系でも処理できて簡単かと思います。 trap 'rm -f "$tmpfile"' EXIT tmpfile=$(mktemp /tmp/tmp.XXXXXXXXXX) # ここに処理いろいろ 正常終了での終了ステータスは
前回に引き続き、今回もOS付属のシェルスクリプトを読んでいく。「本当にこれでいいのか?」と思うような読みにくい記述も見つかるが、よく読むとシェルスクリプトならではの流儀を学ぶことができる(編集部) 他人のシェルスクリプトを読んでスキルを上げる 他人の書いたシェルスクリプトを読むことで、これまでまったく知らなかった書き方を知ることができたり、なぜそうした書き方をしているのかに思案を巡らすことができる。シェルスクリプトはガッチリしたプログラミング言語とは性格が異なっている。現場での実際の書き方を知ることが、スキルアップにおいて大切な要素となる。 これまでに引き続き、今回もシェルスクリプトで開発されたFreeBSDのコマンドを読み解いていく。順番に従い、今回は/sbin/resolvconfから参考になる書き方を取り上げて紹介する。 resolvconf(8)は/etc/resolv.confを
たとえば SSH や PGP の鍵対を生成するときには、本当の乱数が必要になる。疑似乱数ではダメだ。Unix 上で乱数を生成してくれるデバイスとしては、/dev/ramdom がある。/dev/ramdom には、真性乱数が蓄えられていて、read システムコールで必要なバイト数だけ読み込むことができる。 /dev/ramdom が真性乱数を生成する方法は、実に単純だ。ハードウェア割り込みの間隔を測るのである。今の間隔が直前の間隔よりも短ければ 1 を、長ければ 0 を真性乱数として蓄える(0 と 1 の割り当ては逆かもしれない)。つまり割り込みが、時刻 t1、t2、t3 に起こったとすると、t2 - t1 と t3 - t2 を比較するということだ。 /dev/ramdom は、ブロックデバイスなので、必要な量の真性乱数がなければ、read システムコールはブロックする。このブロックをで
username と password は、接続先の Windows ドメインのアカウントと同一にする。 #!/bin/sh test -n "$1" && IP_ADDRESS=$1 test -n "$1" || IP_ADDRESS=172.16.xx.xx test -d ~/mnt/win || mkdir -p ~/mnt/win if [ `df -T | grep 'mnt/win' | wc -l` = 0 ]; then smb.rb -m ~/mnt/win -s C$ -i $IP_ADDRESS -u username -p password fi 引数に Windows ホストの IP アドレスを指定して実行すると、対象ホストの NTFS ファイルシステムを GNU/Linux のファイルシステムの一部として扱うことができるようになる。もちろん Windows
Section: User Commands (1) Updated: Aug 2003 Index JM Home Page roff page 名前 screen - VT100/ANSI 端末エミュレーション機能を持つ画面管理ソフトウェア 書式 screen [ -options ] [ cmd [ args ] ] screen -r [[pid.]tty[.host]] screen -r sessionowner/[[pid.]tty[.host]] 書式 screen は、ひとつの物理的な端末を複数のプロセス (特に対話シェル) で共有化できるようにする、フルスクリーンウィンドウ管理ソフトウェアである。 各仮想端末は DEC VT100 端末の機能に加え、ANSI X3.64 (ISO 6429) や ISO 2022 規格に含まれる制御機能 (例えば行の挿入/削除や複数の文
MySQLのrootユーザーのパスワードが必要なスクリプトを書く場合、 #!/bin/bash mysqladmin -uroot -ptiger ping のようにスクリプト自体にパスワードを書くのではなく、rootのHOMEディレクトリの.my.cnf(/root/.my.cnf)の中にパスワードを書き、rootユーザにしか読めないように600にしておく。 # cat > /root/.my.cnf [client] user = root password = tiger [mysqladmin] user = root password = tiger # chown root:root /root/.my.cnf # chmod 600 /root/.my.cnf と、ここまではいいのだが、テストとして、 $ sudo mysqladmin ping mysqladmin: co
write はページに dirty フラグを立てるだけなので決してユーザープロセスを待たせない って、本当にそうなんでしょうか?(否定しているわけではなく、純粋な疑問です。) と質問をもらったので、最近追ったことをここでまとめます。かなり長文です、すいません。また、まだまだ不勉強なので間違っているところもあるかもしれません。ツッコミ大歓迎です。 まず、オライリーのカーネル本の 15章 ページキャッシュ 15.3 汚れたページのディスクへの書き込み から引用。 ご存知のように、カーネルは、ブロック型デバイスのデータを含むページをページキャッシュに蓄えています。プロセスが何らかのデータを更新した場合は、必ず対応するページに汚れている印をつけます。すなわち、PG_dirty フラグを設定します。 UNIX システムでは、汚れたページのブロック型デバイスへの書き込みを遅延することができます。この方
ディレクトリの中にある大量のファイルを高速に読み込む方法が知りたかったので、実験してみた。想定しているシチュエーションは、一つ一つのファイルは数KB程度だが数が多い、という場合である。適当な順番でアクセスすると、ランダムアクセスになってしまいとても時間がかかる。個々のファイルを読み込む順番はどうでも良く、すべてのファイルを処理することさえできればいいので、原理的にはシーケンシャルアクセスで処理できてしかるべきである。 まず、ファイルシステムについて。HDDやSSDなどのハードウェアにアクセスする際には、ファイル名などという概念はもちろん存在しない。ファイル名と実際のディスク上の対応を管理するのがファイルシステムの主な役割である。ファイルシステムは、ファイル名からそのファイルに対応するブロック番号(メモリアドレスみたいなもんだな)を調べて、そのブロック番号を指定してHDDやSSDにアクセスす
strace システムコールをトレース。カーネルと何を話しているか。 strace -p PID でプロセスにアタッチ。実行中のプロセスをトレース。 straceを使ったデバッグ - SourceForge.JP Magazine : オープンソースの話題満載 Linuxカーネルの作り出す世界 − @IT自分戦略研究所 - ふつうのLinuxプログラミング 青木峰郎 システムコールとライブラリ関数 − @IT自分戦略研究所 システムコール・ライブラリルーチン - UNIX の部屋 ltrace 共有ライブラリの呼び出しをトレース。*.soと何を話しているか。 ltrace -p PID でプロセスにアタッチ。実行中のプロセスをトレース。 ltrace で共有ライブラリの関数呼び出しをトレースする - bkブログ 404 - エラー: 404 - Linux JF ƒ‰ƒCƒuƒ‰ƒŠ‚ÌŠ
ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、Yahoo!ショッピング担当の吉野です。 今回はタイトルの通り、headコマンドとtailコマンドのソースコードを読んでいきたいと思います。 ■はじめに 皆さんご存じの通り、headコマンドはファイルの先頭からn行(バイト)を出力し、 tailコマンドはファイルの末尾からn行(バイト)を出力するコマンドです。 ほかにもパイプの入力に使ったり、[tail -f]でログファイルの出力監視に使ったりと、 UNIXを使う上では欠かせないコマンドと言えるでしょう。 headとtailは見た目の動作は似ているようですが、ソースコードの中は結構違います。 さっそく見ていきましょう。 <headのソースコード> http://www.
UNIXやLinuxのエキスパートになるのに避けて通れないのが、Bashに代表されるコマンドラインシェルによる操作だ。そこで本記事では、「Bashのカスタマイズ」「シェルスクリプトの高等テクニック」「Bash以外の高機能シェル」の3つについて、SourceForge.JP Magazineで過去に掲載された解説記事を紹介する。 Bashをカスタマイズして使いこなす Bashは非常にカスタマイズの幅が広く、またちょっとした改良や簡単なシェルスクリプトの利用により、大きく作業効率が改善する。ここでは、Bashのカスタマイズテクニックを解説する記事を紹介する。 コマンドラインでシェルのエイリアスと関数を使って作業を効率化する GNU/Linuxシステムを最大限に活用するには、やはりコマンドプロンプトとシェルスクリプトへの習熟が欠かせない。とはいえ、そうした処理はなるべく手早く済ませたいものだ。本
ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、オペレーション統括本部(Yahooショッピング担当)の吉野です。 前回お話しさせていただいたlsコマンドをハックしてみようの公開後、多くの方からご意見をいただきました。 その中で目に付いたのは、「ソースコードリーディングはしてみたいがなかなか(時間|機会)がない」というご意見でした。 そこで、今回はソースコードリーディングとして、FreeBSDで動くkillコマンドのソースコードを読んでみたいと思います。 killコマンドとは、ご存じの通りプロセスにシグナルを送るコマンドです。 trussコマンドでトレースしてみても、killシステムコールしか使っていません。 $ truss /bin/kill 12345 kill(
APIRAJA88 hadir sebagai situs slot online terpercaya 2025 yang siap memanjakan pecinta slot gacor hari ini dengan ratusan game slot88 dan RTP tinggi serta peluang maxwin setiap hari. Temukan permainan populer slot terpercaya seperti Sweet Bonanza, Gates of Olympus, dan Mahjong Ways dari provider ternama seperti Pragmatic Play dan PG Soft.
Webサーバを3分で自作する。 ローカルPC内の HTMLなどの固定ファイル PHP, Rubyなど動的ページ を,どちらもブラウザ越しでアクセスできるよう,インターネットに公開する。 以下を流し読みしながら,ソースコードをコピペすると,およそ3分でWebサーバが動く。 とりあえずGETのみ・テキストデータのみ・SJISのみ。 実用版ではないので,起動中のセキュリティリスクは自己責任で。 (1)窓口を作ろう まずは,「リクエストを受け付けて,レスポンスを返す」という窓口の部分。 下記コードを javac Sv.java でコンパイル。Sv.class ができる。 Sv.java import java.io.*; import java.net.*; public class Sv implements Runnable { // ユーザの窓口となるソケット private Socket
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く