タグ

programmingに関するatsuizoのブックマーク (48)

  • Doxygenで関数コールツリーを出力する - .logbook

    以前の記事でC言語のソースコードを解析するためのVim環境を構築した。 C言語のソースコードを解析するため、Vimにプラグインを追加する - .logbook しかし、大規模なS/Wともなるとエディタだけでは解析に限界がある。そこで今回、ソースコードからドキュメントをリバース・エンジニアリングするためのツール「Doxygen」をインストールすることにした。 Windows版のDoygenであればGUIで設定ができるが、今回はあえてUbuntu上に環境を構築し、コンソールベースで設定することとした。 Doxygenのインストール 毎度お馴染み、apt-getでさくっとインストールする。 $ sudo apt-get install doxygen 今回はC言語のソースコードから関数のコールツリーを出力させたい。そこで、ドキュメント情報をコールツリー等の図表に変換するため、もう一つツールをイン

    Doxygenで関数コールツリーを出力する - .logbook
  • Global・インストール

    ダウンロード ftp.gnu.org/pub/gnu/global/からソースをダウンロードします。 # wget ftp://ftp.gnu.org/pub/gnu/global/global-6.2.tar.gz 解凍 # tar zxvf global-6.2.tar.gz global-6.2/ global-6.2/m4/ global-6.2/m4/check_djgpp.m4 global-6.2/m4/check_curses.m4 ・・・ configure # cd global-6.2 # ./configure checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thr

  • 215116

    唐突に、各言語での整数型の最大値と最小値をまとめてみようと思ったメモ。 環境 手元にあるものということで、環境は以下のものに限定する。なお、32ビット環境は、このために急きょ作った。 CentOS 6 (32ビット) Java (openjdk version "1.8.0_151") C (gcc (GCC) 4.4.7) -std=gnu99でコンパイル C++ (g++ (GCC) 4.4.7) -std=gnu++0xでコンパイル PHP (PHP 5.3.3 (cli)) Python 2 (Python 2.6.6) Python 3 (Python 3.6.3) ソースからビルドしたもの Ruby (ruby 1.8.7 (2013-06-27 patchlevel 374)) Perl (v5.10.1) Go (go version go1.7.6 linux/386)

    215116
  • フローチャートは制御構造を書く以外の用途に適さないのでは - Life is Really Short, Have Your Life!!

    アラフィフのおじ様方がすごく好きなのよね・・・これ。 フローチャートって、制御構造をイメージして表現するために作られたものなんじゃないかなぁ。制御構造って逐次、分岐、繰り返しの3つしかないから、それらのイメージを可視化するために使う。ま、それならわかる。でも、例外/オブジェクト/同期 or 非同期/スレッド/ジェネレーターやデコレータといった現代ではふつーのプログラミングになると全く表現できないですよね、これ。 プログラミングをイメージで可視化するための記法って、21世紀向けに再発明されていいんじゃないかな。え?UML?(∩ ゚д゚)アーアーきこえなーい

    フローチャートは制御構造を書く以外の用途に適さないのでは - Life is Really Short, Have Your Life!!
    atsuizo
    atsuizo 2017/06/28
    実際シーケンス図で同期・非同期、スレッド、オブジェクトの生成破棄くらいは表現できるからなあ。なぜか現場で見かけないけど。
  • コマンド一発でソースコード検索&表示できる「peco」改が凄い!

    lestrratさんがやってくれました。 ずいぶん前から、ソースコードを検索して読みやすいコマンドはないかなーと思っていました。個人的にはackで検索して見つかったファイルをlessで開いて再びキーワードを入れて当該行までジャンプしていたのですが、毎回毎回めんどくさい感じでした。コマンド一発でインクリメンタル検索してキーワード周辺のソースコードを読めるツールが欲しいなぁって思ってたんです。 とあるslackでお昼時に、mattnさんと「ほしいですよねー」という話から始まって、vimにあるgrepとかも物色しながら「いいのないねー」とか言ってたらkanさんが「@lestrrat 案件だ」って言い出して牧さんが召喚されてついさっきpecoに必要な機能が追加されてました。速いw ためしにpicotlsの開発ディレクトリでpecoの一行ラッパーperoを起動し、「EVP_Digest」を検索してみ

    コマンド一発でソースコード検索&表示できる「peco」改が凄い!
  • GNU GLOBALとvimで巨大なコードでも快適にコードリーディング

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 これまでも、多くの記事にされていて、恐らくKernelや巨大なコードを読んでいる人にとっては当たり前なのかもしれませんが、あまりに快適だったのとこれをきちんとやれてなかった事に自戒をこめて記事にしようと思います。grepとかscreenを駆使していた時間を返してほしい! 対象者 僕がLinux大好きなので、Linux上での動作を前提にしています。対象者はLinux KernelやApache HTTP Server等、数万から数十万、さらには数百万行のコードをじっくり読んでいきたいと考えている人におすすめしたいと思います。巨大なコードを何のツールも使わずに読むのはかなりきついはずです。しかし、今回はGNU GLOBALと呼ばれるソースコードタ

  • GNU Global・gtags(HTML表示)

    htagsコマンドでソースコードをHTMLにして、ブラウザで見るようにすることができます。 HTML形式はデフォルトではフレーム無しですが、オプションで指定すればフレーム有りや行番号表示などが可能です。 コマンドの実行は、gtagsコマンドを実行したディレクトリで、htagsコマンドを実行します。 すると、HTMLというディレクトリができ、その中のindex.htmlがトップページになります。 CakePHP 2.2.8のソースでgtags、htagsコマンドを実行すると以下のようになります。 $ ls -l 合計 2936 -rw-r--r-- 1 mikan pub 229376 5月 1 19:55 2013 GPATH -rw-r--r-- 1 mikan pub 2097152 5月 1 19:55 2013 GRTAGS -rw-r--r-- 1 mikan pub 63078

  • Go, Ruby, PythonでGNU GLOBAL(gtags)+α - Qiita

    今回はgtags.confを修正する必要がありませんが、pygments-parser.laのパスが異なる場合には適宜修正してください。 GNU GLOBALの設定をユーザごとに指定したい場合はgtags.confを$HOME/.globalrcに配置することで設定を上書き可能です。 Pythonのインストール Linuxの場合はほとんどのディストリビューションで予めインストールされていると思います。 インストールされていない場合は各ディストリビューションのパッケージマネージャからPythonをインストールしてください。 私はPython 2.6.6で動作確認をしています。 pipのインストール pipはPythonで書かれたパッケージソフトウェアをインストール・管理するためのパッケージ管理システムです。

    Go, Ruby, PythonでGNU GLOBAL(gtags)+α - Qiita
  • GNU GLOBALをCentOS6にインストール&簡単な使い方メモ - kmkのメモ帳

    GNU GLOBALについて 単純なvimとかでプログラムのソースを見ている場合、コード量が膨大だとコードが読み難いです。 なんか良いの無いかなと探してみたところ、GNU GLOBALのプラグインをvimに導入すれば、指定した関数の記述箇所に飛んだりできるそうです。便利そうなのでインストールしてとりあえず使ってみました。 https://www.gnu.org/software/global/ GNU GLOBALインストール(CentOS6.5で実施) 下記の通り実施インストールしていきます。 # wget http://tamacom.com/global/global-6.5.4.tar.gz # tar xzf global-6.5.4.tar.gz # cd global-6.5.4 ;pwd # ./configure # make # make install 無事インストー

    GNU GLOBALをCentOS6にインストール&簡単な使い方メモ - kmkのメモ帳
  • GNU GLOBAL(gtags)

    GNU GLOBAL source code tag system 多摩通信社 GNU GLOBAL ソースコードタグシステム いわゆるタグジャンプ。他にctags,etags等があるが、これらより強力な機能を持っている。効率的にプログラミングを行う為には必須といってよい。 下記のような特徴がある。 ソースツリーのトップでインデックスを作成しておくことで、関数やその他のシンボルを自在に参照することができる タグ情報から、HTMLを生成することもできる(htags) プログラム自体は、コマンドライン(シェル)から実行するものであり、様々なアプリケーションで利用することが可能であるが、 ここでは、Windowsにおけるemacsで利用することを前提として解説する。

  • http://www.machu.jp/posts/20090307/p01/

    http://www.machu.jp/posts/20090307/p01/
  • ソースコードを読むための技術

    $Id: readingcode.html,v 1.13 2003/12/06 00:01:08 aamine Exp $ 2006-05-02 gonzui 追加。thanks: 冨山さん 2003-12-03 ltrace と sotrace を追加 2003-12-03 ツールのところに DDD を追加。thanks: 和田さん 2003-05-27 VCG, SXT などについて追加。thanks: 梅沢さん 2003-05-27 これもすっかり忘れていた strace, ktrace, truss, etags などについて追加 2002-08-30 すっかり忘れていた ctags を追加 2002-07-07 匿名希望さんからメールでいただいた情報を追加 (動的コールグラフ) 2002-06-13 日記経由でいただいた意見をもとに文章を追加。thanks: 柳川さん、まつもとさ

  • GNU GLOBAL(gtags)ソースコードタグシステムの使い方

    GNU GLOBAL(gtags)は、ソースコードのタグジャンプです。簡単に複数のソース中から関数や、変数の定義元/参照元を見つけ、その箇所に移動することができます。 ctags、etags(cygwin や Linux に大抵標準で含まれています)と同じ働きをしますが、gtags はさらに強力な機能を持っています。大量の他人の書いたソースを読むプログラマには、必須だと思います。 GNU GLOBAL(gtags) の特徴 gtags は、次のような特徴を持っています。 C、 C++、 Yacc、 JavaPHP4 のソースコードに対応しています。 ※ Pygments 等を入れれば Python等のコードにも対応します 関数の呼び出し元を参照できます。 複数の候補が存在する場合は、一覧で表示してくれます。 タグ情報より、HTMLを生成できます。 コマンドラインや、vi、emacs な

    GNU GLOBAL(gtags)ソースコードタグシステムの使い方
  • ズンドコキヨシまとめ - Qiita

    概要 いま、ズンドコブームが来てます。 Javaの講義、試験が「自作関数を作り記述しなさい」って問題だったから 「ズン」「ドコ」のいずれかをランダムで出力し続けて「ズン」「ズン」「ズン」「ズン」「ドコ」の配列が出たら「キ・ヨ・シ!」って出力した後終了って関数作ったら満点で単位貰ってた — てくも (@kumiromilk) March 9, 2016 非常にセンスが良いですね! 巷では「ズンドコキヨシ」「キヨシチェック」「ズンドコチェック」などと呼ばれているようです。 さまざまなズンドコキヨシ プログラミング言語系 ズンドコキヨシ with Ruby by @yancya 無限に'ズン'と'ドコ'をランダムに返すEnumeratorを使ってるのがいいですね ワンライナーズンドコキヨシ with Ruby by @from_kyushu 毎回 'ズン'と'ドコ'のランダムな5つの組み合わせを

    ズンドコキヨシまとめ - Qiita
  • Railsを使うことはプログラミングではないのか?という記事について思ったこと | F's Garage

    昼休み的な時間にガーッと書く。TechAcademyのピッチの審査員をやった立場としては、こないだのピッチで聞いてくれればよかったのに!という質問に他ならない話。 Ruby on Railsはプログラミングではない! | それでも人は夢を見る 「Railsはプログラミングなんかじゃないよ。Railsだけ勉強していても、当の意味での開発はできるようにならない」って 思ったことは3つ その1.難しいことを簡単に、それこそがコンピュータシステムの歴史だと思う。 Railsは、誰かがプログラミングして作ったフレームワークであり、簡単にWebサービスを作れるツールであることは間違いない。 だから、その人達の成果物に乗ると、簡単にWebサービスが作れる。でも、ただキットになぞって人の成果物を眺めてる感しか感じなかったという気持ちはわかる。 でも、それを素早く学んで、その先にある自分のやりたいことをや

    Railsを使うことはプログラミングではないのか?という記事について思ったこと | F's Garage
    atsuizo
    atsuizo 2015/11/05
    「人の想いの実現にコミットする」こういうモチベーションでやっている人もたくさんいるし、自分もコッチ寄り。受託より社内の方がいいと思いつつまた受託やってられるのも、根幹にこの考え方があるから。
  • プログラミングスタイルガイドのスタイルガイド - Qiita

    文書は、プログラミング言語向けのスタイルガイドに向けたスタイルガイドである。 文書へのフィードバックはQiita上のコメントにて受け付ける。 構造 対象を明確にする そのスタイルガイドがどのような状況のどのような対象に向けたスタイルガイドであるか規定すること。 状況や対象は広すぎてはならない。 理由: 対象はスタイルガイド記述者には自明かもしれないが、似て非なる言語に誤用されたり、特定分野のアプリケーション向けスタイルガイドが他分野のアプリケーションを理不尽に拘束したりすることがある。これを防ぐべきである。 良い例: 「文書はRuby on Railsアプリケーション向けのスタイルガイドである」 「スタイルガイドはX社におけるRubyプロジェクトに適用すべきスタイルを規定する」 悪い例: (何も書かない) 「文書はX社におけるすべての開発に適用される ... 述語メソッドや述語関

    プログラミングスタイルガイドのスタイルガイド - Qiita
  • オブジェクト指向できていますか?

    3. 自己紹介 1992年~1997年 某ゲーム会社 プログラマ SFC,GB,PS1,N64のゲーム開発経験 1998年~現在 日工学院八王子専門学校 @mozmoz1972 専任講師 プログラミング教育を中心に担当 twitterもfacebookも実名です。よかったらフォローしてください。

    オブジェクト指向できていますか?
  • オブジェクト指向エクササイズのススメ

    3. ThoughtWorksアンソロジー ThoughtWorks社コンサルタント ● の 骨太なエッセイ集 様々な ジャンルを収録 ● DSL、プログラミング、設計、 マネジメント、ビルド、デプロイ、テス ト... オライリーさんブースで ● 絶賛販売中! 3

    オブジェクト指向エクササイズのススメ
  • IDEA * IDEA

    ドットインストール代表のライフハックブログ

    IDEA * IDEA
    atsuizo
    atsuizo 2014/11/12
    「読みやすい」って、主観だし、習熟度によっても感じ方がことなるから、面白い方向に展開するかもね。
  • Sphinx-Users.jp

    Sphinx-Users.jp¶ Sphinx-Users.jp(略称#sphinxjp)は、美しいドキュメントを簡単に生成することができるドキュメンテーションツール、 Sphinx (スフィンクス)の普及を主眼としたコミュニティです。SphinxはPythonの公式ドキュメントだけでなく、このSphinx-Users.jpのサイトも含め多くのマニュアルやサイトで使用されており、詳細を Sphinxの歴史で紹介しています。 Sphinx-Users.jp は日の Sphinx コミュニティです。 Sphinx-Users.jp では、日で散らばっているSphinx関連情報を集めて、Webサイト、イベントを通じてSphinx情報を発信します。 slack のコミュニケーションや勉強会の開催などを通じて、ドキュメントをパワーアップしたい人、ドキュメントや翻訳で苦労している人、Sphinxの

    Sphinx-Users.jp