タグ

Programmingとtipsに関するgigi-netのブックマーク (32)

  • cdの引数を絶対パスにしてコマンドヒストリに残す - ももいろテクノロジー

    cdの引数が相対パスのままコマンドヒストリに残って便利な例が思いつかないので、絶対パスでコマンドヒストリに残すようにする。 具体的には、以下のシェル関数を.bashrcに書く。 if [[ -n "$PS1" ]]; then cd() { command cd "$@" local s=$? if [[ ($s -eq 0) && (${#FUNCNAME[*]} -eq 1) ]]; then history -s cd $(printf "%q" "$PWD") fi return $s } fi いくつかの重要なポイントを以下に記す。 cdの定義を上書きしているが、このような場合中で普通にcdを呼ぶと再帰してしまうためcommand組み込みコマンドを使う。 "$@"の代わりに"$1"を使うことはできない。cdを引数なしで呼んだときホームディレクトリに移動しなくなってしまう。 cdの

    cdの引数を絶対パスにしてコマンドヒストリに残す - ももいろテクノロジー
    gigi-net
    gigi-net 2014/12/11
    これは良い!けど、絶対パスでの移動にはautojump使ってるし、慣れないと誤爆しそうだ
  • http://kwatch.houkagoteatime.net/blog/2014/08/24/python-pitfalls/

    gigi-net
    gigi-net 2014/08/25
    3使うといくつか解決されるけど辛い
  • Python 2.7.x と 3.x の決定的な違いを例とともに | POSTD

    Pythonを始めたばかりのユーザーの多くが、どちらのバージョンを使えばいいのか迷っています。私の答えは、「気に入ったチュートリアルに書かれているバージョンにしましょう。そして、あとで違いを調べてください」という言葉につきます。 それでは、新しいプロジェクトを始めるときにはどちらを選べばいいのでしょうか? 使おうとしているライブラリを全てサポートしているなら、2.7.x系と3.x系のどちらを使ってもよいでしょう。そうはいっても、この2つのメジャーバージョンについて大きな違いを見ておくのは良いでしょう。どちらかのみでコードを書いたり、プロジェクトに使おうとしている時によくある落とし穴を避けられるからです。 __future__ モジュール Python 3.x で導入されていて Python 2 で使えないキーワードについては、 __furute__ モジュールをインポートすることで Pyt

    Python 2.7.x と 3.x の決定的な違いを例とともに | POSTD
    gigi-net
    gigi-net 2014/08/15
    よいまとめだ
  • とうとう Git 2.0 が現実のものに。便利な機能満載 | Atlassian Japan 公式ブログ | アトラシアン株式会社

    長い間待たれてきた git のメジャーバージョンアップがリリースされました。Changelog に目を通し、素晴らしい機能を見つけられることに興奮しています。過去の git リリースの情報をおさらいしたい場合は、バージョンアップのたびにその情報を特集してきた私の過去記事をご覧ください: 1.8.2、1.8.3、1.8.4、1.8.5、1.9。 このブログ記事では、今回のバージョンアップの一部しか取り扱うことしかできません。変更とバグ修正の完全リストをご希望の場合は、Changelog の完全版をご覧ください。 デフォルト設定一部変更: ユーザビリティの改善と混乱を解消 まず最初に、互換性に影響する変更を見ていきましょう。複数の変更がありますが、これらのアップデートは、初心者にとどまらず多くの人々を悩ませてきた誤解を解決するもので歓迎できると思います。これらの変更は、.gitconfig を

    とうとう Git 2.0 が現実のものに。便利な機能満載 | Atlassian Japan 公式ブログ | アトラシアン株式会社
    gigi-net
    gigi-net 2014/06/10
    細かいところが便利になってる
  • Vimの生産性を一撃で高めるシンプルなテクニック | RickyNews

    Vim Advent Calendar 2013の168日目の記事です。 Vimプラグインの組み込みなど、日々Vimによる開発速度の向上を研究されている方も 多いかと思います。そんな開発効率を一撃で高められるテクニックがあるので紹介。 それはズバリ、OSのキーリピート速度を高めるです。 非常にシンプルですが、破壊力がすごいです。 普段のwebhjklがこの通り。パラグラフ単位移動コマンド{ }でやるとすごい速度。 単語単位でも超高速で移動できます。 もちろん通常のvimに限らず、tmuxのvisual mode(vi互換)であってもBashのカーソル移動であってもリモート接続先のVimであっても全てが高速になります。なぜならボタンを押し続ける動作はほぼキーリピートによるコマンド送出だからです。 Bashの場合は単語移動では以前はEsc + fを利用しておりましたが、すっかり使わなくなりまし

    Vimの生産性を一撃で高めるシンプルなテクニック | RickyNews
    gigi-net
    gigi-net 2014/05/17
    はやい
  • Objective-C が好きになる Tips & Hack

    ヤフー vs クラスメソッド「iOS 炎の7番勝負」にて発表 http://dev.classmethod.jp/news/yxcm/Read less

    Objective-C が好きになる Tips & Hack
  • 現代的なPerlの記述方法一覧 - Perl入門ゼミ

    Perl › here Perl5.8以降における標準的なPerlの書き方を解説します。 インターネットで検索するとPerl4のころの古い記述がたくさんあります。また書籍などの多くもPerl4の記法で書かれています。Perl4の記法は複雑になりやすく間違いを生みやすいのでこれからPerlを書く人はPerl5の現代的な記法で記述することを強くお勧めします。 strictプラグマとwarningsプラグマ (必須) strictプラグマとwarningsプラグマを有効にします。 use strict; use warnings; use strict;とuse warnings;の2行はスクリプトの最初に必ず記述してください。これらはPerlの文法チェックを厳しくするためのものです。面倒だという軽い気持ちでこれを記述しないと後々当に面倒なことになります。 use strict;とuse wa

    現代的なPerlの記述方法一覧 - Perl入門ゼミ
  • NSArrayにNSValueでC構造体を格納する - stoikheia’s blog

    NSArrayに格納するにはNSObjectのサブクラスである必要があるので CGPointといったCの構造体はそのまま格納できない。 (追記)iPhoneではUIKit.framework/Headers/UIGeometry.hにCoreGraphic系の型を格納するNSValueのNSValueUIGeometryExtensionsカテゴリとして宣言してありました。 tonnkotsuさんありがとうございます。 まあ以下は独自型の格納の参考にしてください プリミティブなintなどの型はNSNumberに格納してオブジェクト化するのと同様に、 NSValueを使ってこうオブジェクト化できると便利ですね。 CGPoint point = {0.0f, 1.0f}; //NSValue化 NSValue val = [NSValue valueWithCGPoint:point]; //

    NSArrayにNSValueでC構造体を格納する - stoikheia’s blog
  • Cocoaの日々: Xcode の #pragma mark とは ソースコードに #pragma mark を書くとその内容が Function Menu に表示される

    他の人のコードや Xcodeが生成するテンプレートコードで見かけるようになって前から気になっていたことに "#pragma mark" がある。Xcode のヘルプで探してみたところ記述があった。Mac Dev Center: Xcode Workspace Guide: The Text Editor Function Menu とは Xcode のエディタに表示されるプルダウンメニューのこと。ソースコードに #pragma mark を書くとその内容が Function Menu に表示されるということらしい。

    Cocoaの日々: Xcode の #pragma mark とは ソースコードに #pragma mark を書くとその内容が Function Menu に表示される
  • 2枚の画像のdiff(差分)を超簡単に調べる方法 - 昼メシ物語

    Githubで画像の差分を見られるモードが話題を呼びましたが、このように2枚の画像の差分を調べたいときって時々ありますよね。 そんなときImageMagickのコマンドラインツールを使えば、たった1行で実現できます。 $ composite -compose difference A.jpg B.jpg diff.jpg とすれば、A.jpg と B.jpg の差分画像 diff.jpg が作られます。この差分画像は以下のようになります。 さらにこの差分画像(diff.jpg)が「真っ黒な画像」かどうかも、コマンドラインで調べることができます。 # 差分がなかった場合(=diff.jpgは黒一色の画像) $ identify -format "%[mean]" diff.jpg 0 # 差分があった場合 $ identify -format "%[mean]" diff.jpg 960.8

    2枚の画像のdiff(差分)を超簡単に調べる方法 - 昼メシ物語
  • ドラゴンボールで学ぶオブジェクト指向

    オブジェクト指向の基亀仙流やつ鶴仙流など、世の中にはいくつかの流派(=クラス)があり、それぞれの流派にかめはめ波やどどん波、舞空術などの技(メソッド)がいくつかあります。 実際に流派にある技を使う場合、技を覚えているZ戦士(インスタンス)が必要になります。 例)亀仙流を覚えた孫悟空を使ってかめはめ波を放って敵を倒す goku = new KamesenRyu("goku"); goku.shootKamehameha(teki); Z戦士によっては複数の流派の技が使えたり、自分の技を人に教えることが出来ます(継承)。 また悟空とクリリンのように同じ流派でも同じ技で違う性能を持っていたり、オリジナルの技を持っているなどの違いがあります。 クラスはセルを作るためのZ戦士達の遺伝子情報と言っても良いかもしれません。 例)セルを作りましょう。 class Cell extends Goku,Ve

    ドラゴンボールで学ぶオブジェクト指向
  • Google Objective-Cスタイルガイド 日本語訳

    Text Drop 翻訳、プログラミング、写真、カメラなどについて書いてます。スタイルガイド/コーディング規約やチートシートなど、ちょっと便利なものを翻訳しています。 TEXTdropでは、C++プログラマーも利用できるパワフルな機能を搭載。C++のコードを書く際に行う手順や避けておきたい工程などを詳しく説明しています。コードスタイルラインの日語版では、日語訳やJ P Yへの換金もサポート。話題性があるオンラインカジノ 日円変換や入金の際のバグにも対応しています。統一性のあるコードを書くためのポイントや規約の種類を参考にする事ができます。

  • メモリ管理 - かみやんの技術者ブログ

    iPhone開発で、メモリ管理の基礎を社員に伝えることが増えてきたので、エントリとして書こう。 Objective-C基礎 メモリ管理の前にObjCの基礎として、メソッド呼び出しの話。 クラスのインスタンスaがmethodAをコールするときは、 [a methodA] と書く。このとき、aがnilだったときは、エラーではなく、コールされない。methodAに戻り値があるときは、それは、0やnilやNOが返る。ObjCでは、 void dealloc { if(a!=nil){ [a release]; } [super dealloc]; } は、気持ち悪いので、nilチェックはやめましょう。 なお、ObjCでは、動的にメソッドを差し替えることができ、コールの度にメソッドが存在しているかも確認しています。そのため、LL言語(ライトウェイト言語、スクリプト)のように柔軟な記述が可能です。そし

    メモリ管理 - かみやんの技術者ブログ
  • プログラミング/Pygame - トモえもんの押し入れ

    入門用サイト † Pygame入門 - 各モジュールの使い方を一通りサンプルコードとともに紹介.画像の表示,文字の描画,音楽の再生などpygameで何ができるか,どうやるのかをいっぺんに把握できます. FrontPage - Pythonゲーム作りますが何か? - 実際にpygameでRPGやインベーダー,ブロック崩しなどのゲームを作りながら勉強することができます.姉妹サイト:FrontPage - Javaゲーム作りますが何か? Pygame 関連文書 - pygame公式サイトのチュートリアル文書の和訳.特にこの文書を最初に読んでおくことをお勧めします.初心者のための pygame ガイド Pygame Documentation - pygame公式のドキュメントです.説明が足りない部分は自分で動かしたり下のサイトを見て動作を把握しましょう. SDLドキュメント和訳 - pyga

  • livedoor Techブログ : Eclipse初心者がAndroid開発する際に押さえるべきこと

    こんにちは! iPhone/Androidエンジニアのgaoohです! 好きなExceptionはUnsupportedOperationExceptionです! みなさん、Android開発ではエディタは何をつかってますか? やっぱJavaといえばEclipseですよね! 個人的にはEclipseが大好きっ子です。好きすぎてEclipseでPerlを書いてたらまわりから変な目でみられたけど、それにもめげずに今日もワークスペースを開きます。 そんなEclipse好きなので、Androidで開発するときに抑えておくべきことをまとめてYo! とリーダーにいわれたので、まとめてみました。 これだけはいれとけ! 必須plugin ADT 当たり前ですが、これをいれないと話になりません。 http://developer.android.com/sdk/eclipse-adt.html EGit G

  • はてな

    自動的に移動しない場合はをクリックしてください。

    gigi-net
    gigi-net 2011/01/11
    眉唾ものだな。規約的にヤバそう
  • まだ使っていない人にこれだけは伝えたいgitの便利機能 - (゚∀゚)o彡 sasata299's blog

    2010年12月26日11:03 Git まだ使っていない人にこれだけは伝えたいgitの便利機能 ということで、今更ですけど git は便利ですね〜。もう subversion には戻れません。気が向いたので、個人的に気に入っていることをちょっと書いてみます。 1) 直前のコミットに対して、コミットし忘れたものを追加できる よくありがちなパターンですね。一通りコミットしたあとに「あっ!○○をコミットし忘れた!」とか、「××を一カ所修正し忘れていた」みたいなことってあると思います。subversion だとそういうのでコミットが増えて履歴が汚くなってしまうものですが、git だと簡単に直前のコミットに忘れてたものを追加して隠蔽(笑)することが可能です。 例えば hoge というファイルをコミットし忘れた場合を考えてみます。 $ touch hoge fuga foo $ git add fu

  • 矢沢久雄の早わかりGoFデザインパターン(1) | 日経 xTECH(クロステック)

    今回は、パターンを1つだけ紹介します。「Mediatorパターン」です。GoFでは、それぞれのパターンの「目的]「背景」「効果」などが明示されています。私も、ちょっと真似をしてみましょう。複数のオブジェクトを組み合わせてプログラムの機能を実現するという目的において、オブジェクト間の関連がゴチャゴチャになってしまうという背景(問題)があり、Mediatorパターンの採用によって関連をキレイに整理できるという効果があります。説明だけでは、何のことだかわからないと思いますので、具体例をお見せしましょう。 図1[拡大表示](1)をご覧ください。これは、UML(Unified Modeling Language、ユーエムエル)と呼ばれる表記法で記述されたプログラムの設計図です。UMLでは、四角形の中に下線付きで名前を書いてオブジェクトを表し、関連のあるオブジェクトを矢印で結んで示します。ここで関連

    矢沢久雄の早わかりGoFデザインパターン(1) | 日経 xTECH(クロステック)
  • ループをたくさん回す処理を高速化する初歩の初歩。 - このブログは証明できない。

    テキスト処理を中心にやっていましたが、画像処理に興味が出てきて、さっそくアプリを作りました。もともと下の記事のあたりでユーザーとして画像処理に興味を持って、当然の流れながら、自分でもつくってみようと。 Color Splash + TiltShift Generator + Instagramの写真加工が面白い。 - このブログは証明できない。 で、何かを間違えて、普通の画像処理ではなく、カメラの映像をリアルタイムに加工しはじめました。そうすると、パフォーマンスがかなりシビアなんですね。 iPhoneでカメラの映像をリアルタイム画像処理してみる。 - このブログは証明できない。 全ピクセルを操作しなければなりませんから、ループをたくさん回す必要があります。なんとか高速化できないかと考えてみたところ、あっさり高速化に成功しました。私が気づくぐらいですから、初歩の初歩なんだと思います。 追記:

    gigi-net
    gigi-net 2010/10/31
    この程度でそんなに差がでるんだろうか?
  • Python初心者によるPythonのいいところ、はまりどころのまとめ - Webtech Walker

    Python勉強し始めて一ヶ月くらいたったんで一度復習を兼ねてまとめてみようと思います。僕が今までPHPとかPerlとかJavaScriptを使っていて、Pythonはこうやるのかーとか、これは便利だなーと思ったところ、開発していてはまったところなどピックアップしてみました。 初めてのPythonを読んで初心者向け勉強会に参加した程度の知識です。とりあえず初めてのPythonがかなりいいのでこれ読むだけで大体基礎は習得できた気がします。基的な文法の説明だけでなく、大事なことは何回も繰り返し書いてあったり、Pythonの思想などにも触れているのでなぜこういう実装になっているかということも理解できます。これオススメ。 尚、このエントリーではPythonのバージョンは2.5をベースにしてます(主にGoogleAppEngineで使ってるので)。間違えなどあったらツッコミお待ちしてます。 文法、

    Python初心者によるPythonのいいところ、はまりどころのまとめ - Webtech Walker
    gigi-net
    gigi-net 2010/10/14
    始めて間もないけど、ここに書いてあることはわかるから初心者は脱却したのかなぁ?