タグ

Linuxに関するzetamattaのブックマーク (270)

  • 俺のlsが遅すぎる - Qiita

    なぜ? 必要に迫られてオレオレなlsを書いたのだがなぜか遅い。大したことしていないのに遅い。 コード 特に変なところはないと思うのだけど... #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/stat.h> #include <dirent.h> #include <pwd.h> int main(int argc, char** argv) { char fpath[PATH_MAX]; DIR* dir; struct dirent* dp; struct stat st; struct passwd *pw; char *dpath; dpath = (argc != 2) ? "." : argv[1]; dir = opendir(dpath); while ((dp = readd

    俺のlsが遅すぎる - Qiita
    zetamatta
    zetamatta 2019/01/15
    分析手法が参考になる良記事。記事では「getpwuid()を呼び出すたびに/etc/passwdをみている」という問題点を見出している。
  • PHPExcelでエクセル出力入門 - Qiita

    PHPExcelの後継PhpSpreadsheetを使おう PHPExcelは非推奨となったため、これからExcel出力を始める場合はPHPExcelの後継であるPHPOffice/PhpSpreadsheetを導入することを推奨する。 PHPExcelでエクセルを出力する方法を紹介していきます。なお、ここで紹介するPHPコードはGitHubのsuin/phpexcel-playground: PHPExcelの遊び場で公開しています。 PHPExcelとは? PHPExcelとは、Excel95、Excel2007等のエクセルファイルを読み書きすることができるピュアPHPのライブラリです。WindowsExcelが必要ないため、Linux環境だけで完結するのが特徴です。 PHPExcelのインストール Composerでインストールする date_default_timezone_se

    PHPExcelでエクセル出力入門 - Qiita
    zetamatta
    zetamatta 2018/04/05
    無茶しやがって>「PHPExcelとは、Excel95、Excel2007等のエクセルファイルを読み書きすることができるピュアPHPのライブラリです。WindowsやExcelが必要ないため、Linux環境だけで完結するのが特徴です」
  • /tmpと/var/tmpの仁義無き戦い - Qiita

    課題 /tmpと/var/tmpどっちも大体一緒だからいいんじゃないかと思って/tmpにファイルをつくろうとしたら、プログラムが使用するものは/var/tmpにと叱られた。確かに、基幹系システムのディストリビューションだと何故か/var/tmp派の人が多かった気がする。じゃあ、linux系特有の宗派の問題なのか?と思い調べてみた。 何が他のディレクトリと違うか 通常のディレクトリは、基的にはファイルは削除しない限り消えない。 /tmpに関しては再起動するとファイルが綺麗さっぱり無くなる。 /var/tmpは再起動しても消えないがいつの間にかファイルが消えることがある。 うーん、やはり使用してきたディストリビューションのルールか、業務の慣例的なルールなのかなぁ。 やはり/tmpと/var/tmpは宗教論争なの? そういうわけではないらしい。FHS(Filesystem Hierarchy

    /tmpと/var/tmpの仁義無き戦い - Qiita
    zetamatta
    zetamatta 2017/12/05
    /tmpは再起動するとファイルは消える、/var/tmp は再起動してもファイルは消えない。/tmpより長い期間保持されるが定期的に削除される
  • KING JIM ポメラDM200でEmacs、Vim、Ruby、Pythonが動くなんて素敵すぎる!

    来、DM200には印刷できないワープロのような機能しかないのですが、これによってかなりの自由度を獲得できたことになります。 ※Caps Lockはポメラ側でもLinux側でもCtrlに変更できます 上記のページの通りにインストールを済ませると、SDカード上のDebian Linuxが起動できるようになります。Linuxの動作の安定感は実験レベルを超えて実用的です。 ※Caps Lockはポメラ側でもLinux側でもCtrlに変更できます SDカード上のDebian Linuxが起動できても依然標準のポメラの機能の素晴らしさは際立っているため、両者を連携して使う感じになる(同時に使えるのでなく、両者を起動し分ける)のですが、それが何とも楽しい。 工夫の余地のある文具が欲しいという人の目には、このDebian Linux on DM200は魅力的に映るかもしれません。 今回は、そんなDebi

    KING JIM ポメラDM200でEmacs、Vim、Ruby、Pythonが動くなんて素敵すぎる!
  • GitHub - yoh2/yes-mod: A linux kernel module that implements a character device file providing fixed string repatedly like "yes" command.

    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

    GitHub - yoh2/yes-mod: A linux kernel module that implements a character device file providing fixed string repatedly like "yes" command.
    zetamatta
    zetamatta 2017/06/17
    yes のデバイス版。なぜ作ったし
  • install(1)コマンドが便利だった件

    はじめに install(1)という、cpとmkdirとchmodを同時に行うような便利コマンドがあることを知りました。 (忘れちゃいましたが、何かのMakefileを見ているときに存在に気付きました) これを使うと、プロビジョニングなどのスクリプトが簡潔に書けるようになりそうです。 ……というわけで使い方のメモがてらまとめてみます。 manの内容まとめ installはBSD版とGNU版があるようですが、ここではGNU版について書きます。 BSD版ではいくつかのオプションが使用できません。(-D はなかったと思う) ちなみにmacの場合は標準でBSD版のinstallが入っており、Coreutilsを入れるとGNU版のinstallが使えるようになります。 4種類の使い方 install [OPTION]... [-T] SOURCE DEST SOURCEをDESTにコピーする。-Tを

  • bashの組込みコマンド自作によるスクリプトの高速化 - Qiita

    はじめに bashには次の2つの理由によって、組み込みコマンド(builtin command)というものが存在します。 スクリプトの高速化のため。組み込みコマンドであれば通常のコマンドを実行する場合に比べてプロセスの生成コスト(fork()/exec())が削減できる bash自身の状態を変更させるため。例えばcdコマンドを/bin/cdとして用意してbashから当該コマンドを実行しても、当該コマンドのpwdが変更されるだけで、bashのそれは変更されないため、意味がない 今回は前者に焦点を合わせて、その効果と、組み込みコマンドの自作方法について述べます。 予備知識: 組込みコマンドによるスクリプト高速化の効果 組込みコマンドそのものの存在、及びその存在意義について既にご存知のかたは、この節を飛ばしてもらって構いません。 例えば皆さんがbashスクリプトからechoコマンドを実行した場合

    bashの組込みコマンド自作によるスクリプトの高速化 - Qiita
    zetamatta
    zetamatta 2017/01/18
    へー。共有ライブラリを使うのか
  • https://www.kernel.org/doc/Documentation/process/coding-style.rst

    zetamatta
    zetamatta 2017/01/03
    Linux Kernel のインデントは8桁、タブも8桁と規定する文書
  • golangで書いたアプリケーションのstatic link化 - okzkメモ

    goで書いたアプリケーションは実行ファイルひとつコピーするだけでいいのでインスコ超ラクチン」なんて思ってたんですが、 go1.4からnetパッケージを使っているアプリケーションは、フツーにビルドするとdynamic linkになるようになってました。 $ cd /path/to/your_app $ go build $ file your_app your_app: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), not stripped そんなわけで別環境にバイナリコピーしても動かないケースが発生して超絶アタマを悩ませることになるのですが、 そんなときは以下のようにbuildすればstatic linkになってくれるようです。 $ go build

    golangで書いたアプリケーションのstatic link化 - okzkメモ
    zetamatta
    zetamatta 2016/08/14
    Linux だけかな。1.4 移行で "net" パッケージを使ってると dynamic linkになるらしい
  • Red Hat Enterprise Linux運用自動化のキモ

    Red Hat Enterprise Linux運用自動化のキモ 1. Red Hat Enteprise Linux運用自動化のキモ Kazuo Moriwaka Solution Architect, Red Hat K.K. 4 November 2015 2. ● 構築運用自動化の理想 – 自動化がうまくいくとどうなる? – なぜ自動化が必要? ● 自動化したい「キモ」と関係するOSS – 自動化したいものは……? ● Red Hat Satellite 6でどこまでできる? Agenda 3. 構築運用自動化の理想 4. 運用管理を改善したい ● IT予算のかなりの割合は運用維持 ● 人が手間暇をかけるところを減らしたい →各種の作業を自動化し、社内標準を作っていく – 人間にはパッチをあてられないけど、 スクリプトならテストして修正できる – 同じ作業を何回も繰り返すのはコンピ

    Red Hat Enterprise Linux運用自動化のキモ
  • No-Cost RHEL Developer Subscription now available | Red Hat Developer

    Try Red Hat products and technologies without setup or configuration fees for 30 days with this shared Openshift and Kubernetes cluster.

    No-Cost RHEL Developer Subscription now available | Red Hat Developer
    zetamatta
    zetamatta 2016/05/25
    開発者むけ無償RHELサブスクリプションらしいけど…
  • 宁波逼拘旅行社

    宁波逼拘旅行社
    zetamatta
    zetamatta 2015/02/11
    『大量のファイルを作成する方法→急がずに sleep しながらやってください』 『調整の鬼になって停止メンテナンス権を獲得し、豪快にファイルを操作したい人生だった』
  • エンジニア・光成 滋生の「バグを突き止める技術」 | サイボウズ式

    サイボウズ・ラボの西尾 泰和さんが「エンジニアの学び方」について探求していく連載の第18回(これまでの連載一覧)。サイボウズ・ラボの光成 滋生さんにお話を伺うシリーズ(1)です。 連載は、「WEB+DB PRESS Vol.80」(2014年4月24日発売)に掲載された「エンジニアの学び方──効率的に知識を得て,成果に結び付ける」の続編です。(編集部) 文:西尾 泰和 イラスト:歌工房 この連載では「エンジニアの学び方」をテーマにインタビューを行い、どういう「学び方」をしているのか探求していきたいと思っています。第2弾は、サイボウズ・ラボのエンジニアとして、楕円曲線などの難しい数学を使った暗号の論文を読んで実装したり、サイボウズが遭遇した問題の原因を掘り下げていって最終的にLinuxのバグを修正したり、と幅広い活動をされている光成滋生さんです。 光成さんが、どういうプロセスで問題の原因を

    エンジニア・光成 滋生の「バグを突き止める技術」 | サイボウズ式
    zetamatta
    zetamatta 2014/12/25
    よく調べられたもんだ。俺なら諦める>事の発端はLinuxマシンのディスク容量拡張後にページキャッシュが約15分おきに破棄されるという未知の現象が発生したこと
  • Linuxのハードウェア情報を取得するコマンド15選 | 俺的備忘録 〜なんかいろいろ〜

    Linuxの管理をしていると、OSが搭載されているハードウェア情報を取得する事がある。 今回は、そんなときに使えるハードウェア情報を取得するコマンドを紹介する。 1.lscpu CPUに関する情報を取得するコマンド。コア数やスレッド数、仮想に対応しているか否か等の情報を取得出来る。 以下に実行例を記載する。 $ lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 4 On-line CPU(s) list: 0-3 コアあたりのスレッド数:1 ソケットあたりのコア数:4 Socket(s): 1 NUMAノード: 1 ベンダーID: GenuineIntel CPUファミリー: 6 モデル: 23 ステッピング: 10 CPU MHz: 2833.596 Bo

  • OpenSMTPd、OpenBSDでデフォルトのMTAへ

    The OpenBSD project produces a FREE, multi-platform 4.4BSD-based UNIX-like operating system. OpenBSD Journalの記事「OpenSMTPd Now the Default MTA in OpenBSD」が、OpenBSDにおけるデフォルトのメールサーバ(MTA)がsendmailからOpenSMTPdに変更されたことを伝えた。今後リリースされるバージョンからはデフォルトの状態でOpenSMTPdが動作するようになる。 OpenSMTPDはSMTPプロトコルの実装系。RFC5321の大半を実装しており、メールサーバとして活用できる。対応しているオペレーティングシステムはOpenBSD、NetBSD、FreeBSD、DragonFly BSD、Mac OS X、Linuxなど。今回OpenB

    OpenSMTPd、OpenBSDでデフォルトのMTAへ
    zetamatta
    zetamatta 2014/05/04
    sendmail って、設定が難しいから嫌われてるよね!
  • http://osslife.co/oss-ch/2013120500013/

    http://osslife.co/oss-ch/2013120500013/
    zetamatta
    zetamatta 2014/05/04
    「LibreOfficeの差し込み印刷」を使うんだって!
  • bashのプロセス置換機能を活用して、シェル作業やスクリプト書きを効率化する - 双六工場日誌

    @hirose31 さんが「シェルスクリプトでハマった件→【募】ステキな回避方法」でお題を出されていて、それに回答してみました。 その内容はリンク先を見てもらうとして、回答の中で使ったbashのプロセス置換について書かれた記事をあまり見ないので、回答で使ったプロセス置換のことをエントリにしてみたいと思います。 最初に注意点ですが、プロセス置換の機能は、bashやzsh*1の機能でPOSIX互換の機能ではありません。そのため、使用時には、対応していないシェルでは使えませんし、bashで使う場合も /bin/sh ではなく /bin/bash を明示的に指定する必要があります。たとえば、プロセス置換を使ったスクリプト「script.sh」に対して"$ bash script.sh" というコマンドは成功しますが、"$ sh script.sh" というコマンドは失敗します。この辺りの違いは「/

    bashのプロセス置換機能を活用して、シェル作業やスクリプト書きを効率化する - 双六工場日誌
  • Just another Ruby porter, 2014-2-c

    ■ cygwin: ~/.ssh/configでControlPathを指定するとエラー cygwinでもsshで多重接続してみたらなぜかエラーになるので調べたら、 なんかいろいろと未実装ということらしい。 Corinna Vinschen - Re: Can not make port forwarding from Cygwin when ControlMaster/ControlP 残念。 ■ AmazonのURLを単純に 今までは javascript:location.href='http://www.amazon.co.jp/dp/'+document.getElementById("ASIN").value; というbookmarkletを使っていたが、どうも最近これだと変換されないときがあって調べてみると、 確かにid="ASIN"がない場合があった。ないときはname="

    zetamatta
    zetamatta 2014/03/15
    GNU grep はそろそろ爆発していいんじゃないかな!
  • Just another Ruby porter, 2014-3-a

    ■ コード美人 これって anarchy golf - A005836なんだよねえ。 zshの解は これをちょっと変更して % repeat 100 a=$[[#2]++i]&&echo $[${a/2/3}] となる。変数を使わないなら % repeat 100 echo $[${${:-$[[#2]++i]}/2/3}] と書けるが、奇しくもサイズは同じだ。 ■ bashの1文字オプションと長いオプション まあ、bashなんてオプションつけて手で動かすことはほとんどないと思うが、 なぜか必要に迫られたりする。 sshでログイン先もzshなんだけど、ちょっとbashを使いたいななんてときに % ssh host bash とするとbashはインタラクティブだと思ってくれないのでプロンプトが出ない。 そこで-iをつけて実行してみると % ssh host bash -i bash: 端末プ

    zetamatta
    zetamatta 2014/03/15
    ほほう>「date +'%Y-%m-%d' -d "-1day month `date +'%Y%m01'`"」
  • test と [ と [[ コマンドの違い - 拡張 POSIX シェルスクリプト Advent Calendar 2013 - ダメ出し Blog

    test と [ と [[ コマンドの違い - 拡張 POSIX シェルスクリプト Advent Calendar 2013 - ダメ出し Blog 拡張 POSIX シェルスクリプト Advent Calendar 2013、15日目の記事です。 書くのが遅れ、ネタは尽きかけ、 マニアックさやニッチさが足りなくなってきているような気がします。 ふつうの内容ですみません。 今日は test, [, [[ コマンドの違いについてざっくり紹介します。 [[ がある bash, ksh, zsh ならば test と [ の使用は避け、 [[ を使用すべきです。 [ は慎重に使わないと様々な罠にかかるため危険です。 (翌日のネタも併わせてどうぞ) test と [ の違い どちらもシェルの組込みコマンドです。名前が違うのと [ は最後の引数を ] にしなければいけない縛りがある以外、 動作まった

    zetamatta
    zetamatta 2014/01/21
    「[[」コマンドを使うべきらしいですよ