タグ

developmentとtipsに関するAmaiSaetaのブックマーク (71)

  • リポジトリごとに user.name や user.email の設定を強制する - Qiita

    社内やオープンソースのプロジェクトに並行して参加していると、gitconfig の user.name や user.email をリポジトリごとに切り替えたくなることがある。リポジトリを作るたびに git config user.name "My Name" すればいいのだが、 user.name が存在しないか空文字列だと環境変数 NAME の値を暗黙的に使う仕様になっているため、設定をうっかり忘れてしまうとなかなか気づけない。名前やメールアドレスを間違えたまま何度もコミットしてしまうと修正が厄介である。 Git 2.8以上 最近の Git で設定忘れを未然に防ぐには git config --global user.useConfigOnly true を実行する。これを設定するとユーザー情報について環境変数を暗黙に参照することがなくなる。グローバルな gitconfig で use

    リポジトリごとに user.name や user.email の設定を強制する - Qiita
  • git bisect で問題箇所を特定する - Qiita

    以前は問題なく動いていたはずの機能が、最新版では動かなくなっている・・・。こんなときは、「どのコミットが問題を混入させてしまったのだろうか?」を知りたくなるでしょう。 これを手助けするのが git bisect コマンドです。git bisect コマンドは、二分探索によって問題箇所を特定します。 事前準備 最初に大事なことがひとつあります。それは、「問題がない(good)状態と問題がある(bad)状態を、確実に判定できるようにする」 ことです。 当然のことではありますが、ここがあやふやだと、二分探索をしても問題箇所をうまく特定できません。 可能なら、「テストスクリプトを1つ実行するだけで判定」できるようにしたほうが良いです。このとき、テストスクリプトは、git リポジトリからチェックアウトした作業ツリーに対して実行できるようにします(例えばソースからのビルド処理もテストスクリプトに含めま

    git bisect で問題箇所を特定する - Qiita
    AmaiSaeta
    AmaiSaeta 2015/05/19
    自動実行なんて出来るのか。 | bisect、今日初めて使ってチョット感動した。
  • CSSで出来るレスポンシブ対応を考えた table レイアウト | ウェブ戦略・コンサルティング UNIONNET Inc.

    2014.08.18 ▼2021年最新版 【コピペOK】制作会社が実際に使っている、レスポンシブ対応のtableレイアウト スマホ対応・レスポンシブが当たり前になってきてるこの時代、コーダーさんにとって table がなかなかやっかいものになってきてますね… 会社概要くらいならまだ良いんですが、情報量が多い table はそのままでは 320px で閲覧した際、なかなか悲惨な事に… 対応方法としては『responsive-table.js』を代表に、様々なやり方がありますが、今回はCSSで出来る事を紹介したいと思います。 目次 2セルの場合の使用した例 横に長い場合 overflow-x と inline-block を使用した例 リスト風にした場合 list-item を使用した例 最後に 2セルの場合の使用した例 2セルでよく作られてる、会社概要やフォームなどで使えるかと思います。 『

    CSSで出来るレスポンシブ対応を考えた table レイアウト | ウェブ戦略・コンサルティング UNIONNET Inc.
    AmaiSaeta
    AmaiSaeta 2014/08/19
    おおう、テーブルの行と列入れ替えられるというのは知らなかった(というか出来るか考えた事もなかった)……
  • ◆パイプライン中の処理かどうかを判定する

    -- 前回調査してからちょっと間が空いたのと、前回なんとなく紆余曲折していたのでもう一度確認。 結局のところ「$myinvocation.ExpectingInput」を使うのがベスト? function test { [CmdletBinding(DefaultParameterSetName='NonPipeline')] param( [Parameter(ValueFromPipeline=$true)] $Data ) begin { $myinvocation.ExpectingInput } process {$myinvocation.ExpectingInput} end { $myinvocation.ExpectingInput } } "パイプライン" 1,2 | test "ダイレクト" test 1,2

    ◆パイプライン中の処理かどうかを判定する
    AmaiSaeta
    AmaiSaeta 2014/01/22
    $myinvocation.ExpectingInput
  • zsh で source して使うプラグインを作るのは止めにしよう - Qiita

    特に、cd や bindkey など、今動いているシェル上で副作用のある処理を行いたいときは source を使わないとうまくいかないだろう。 一方、source にはこんなデメリットがある。 .zshrc でいっぱい source するとzsh の起動が遅くなる 現在動いているシェルの alias 設定の影響を受ける 特に2つめが厄介だ。例えば grep とかしたときに、alias grep='grep -E' なんか設定してあったら正規表現の意味が変わってしまう。一応 command grep とすれば alias を設定していない元の grep を実行できるけど、いちいちそう書くのも手間だ。 そんなときは autoload を使う形に書き換えるとうまくいく。 autoload というのは「関数体の読み込みを実行する時まで遅らせる」という zsh の機能のこと。これで ~/.zshr

    zsh で source して使うプラグインを作るのは止めにしよう - Qiita
    AmaiSaeta
    AmaiSaeta 2013/12/14
    autoloadについて
  • シェルスクリプトを書くときはset -euしておく - Qiita

    を書いておく。以下解説。 set -e エラーがあったらシェルスクリプトをそこで打ち止めにしてくれる(exit 0以外が返るものがあったら止まるようになる)。「あっあれここでうまくいってないからデータ準備できてないのにあれあれっもうやめて!」ってなるのを防げる。 set -u 未定義の変数を使おうとしたときに打ち止めにしてくれる。Perlでいうuse strict 'vars';的なもの。 って気軽な気持ちで書いてしまって、「ん、やたら時間かかると思ったらスペルミスうわなにをするやめ」ってなるのを防げる。 一部だけ例外にしたい はてなブックマークのコメントより -e は command1 || command2 みたいなことが出来なくなるの使うことないな。-uは付けといて良いが。 確かにおっしゃるとおりですね。コマンドの失敗を考慮して書いている部分については(もしくはやたらexit 0以外

    シェルスクリプトを書くときはset -euしておく - Qiita
  • Vim script で文字列を比較する場合の注意 - C++でゲームプログラミング

    2回ぐらい Lingr に話題になったネタなんですがいつも忘れているので覚書。 Vim script で文字列を比較する場合、==# を使用する事が多いと思います。 let s:homu = "homu" echo s:homu ==# "mado" " => 0 echo s:homu ==# "homu" " => 1 上記の場合だと問題はないのですが、文字列以外の場合と比較する場合に問題になります。 " 数値を設定する let s:homu = 0 echo s:homu ==# "" " => 1 echo s:homu ==# "homu" " => 1 このように両方とも 1 が返ってきます。 [回避方法] is#、isnot# を使用します。 let s:homu = "homu" echo s:homu is# "mado" " => 0 echo s:homu is# "

    Vim script で文字列を比較する場合の注意 - C++でゲームプログラミング
  • DOM操作の最適化によるJavaScriptチューニング(後編)

    連載「Webサイト・アプリ高速化テクニック徹底解説」の第5回は、前回の「DOM操作の最適化によるJavaScriptチューニング(前編)」に続く後編です。後編では、createElement()などのDOM操作メソッドを使ったさまざまなテクニックや、パフォーマンスを劣化させるよくあるパターンについて詳しく解説します。 CodeIQとの連動企画! この記事で学べるJavaScriptチューニングのテクニックを、実際にCodeIQの問題で試すことができます。もう既に自信がある方は腕試しに、もしくは理解度チェックのための復習として是非ご活用ください!こちらから問題にチャレンジ! 前回は、DOM操作が遅い原因と仕組みについて簡単に説明し、チューニングのサンプルをいくつか解説しました。その中で、innerHTMLを利用したコードをサンプルにあげていますが、innerHTMLを利用する場合、いくつかの

    DOM操作の最適化によるJavaScriptチューニング(後編)
  • blockとtable-cellの組み合わせ

    displayプロパティーの値のひとつであるtable-cellは、通常tableやinline-tableと組み合わせて使う。リストに使うと空白を作らずに各項目を並べられ、かつfloatプロパティーを使うより色々面倒くさくない。その場合にtableやinline-tableではなくblockと組み合わせると、table-cellの幅の自動調整が行われなかったり、他にもマークアップ上での制約や組み合わせ必須なプロパティーなどがないという特徴があり、スタイリングの自由度が上がる。 ul { margin: 0 auto; padding: 0; display: table; width: 80%; } li { display: table-cell; } tableと組み合わせる場合、幅の自動調整によりリスト項目の内容により幅がまちまちになってしまうので、widthプロパティーを使うのが

    blockとtable-cellの組み合わせ
  • My profile.ps1(2) - PowerShell Memo

    System.Windows.Formsアセンブリを読み込む 後述のNew-WindowsControlで利用します。 ############################################################# # 関数名 Load-WindowsForms # 概要 System.Windows.Formsアセンブリを読み込む # 内容 # # エイリアス lwf ############################################################# function Load-WindowsForms { $ret = Get-Assemblies | ?{$_.ManifestModule.Name -eq "System.Windows.Forms.dll"} if($ret -eq $null) { [Void]

    My profile.ps1(2) - PowerShell Memo
    AmaiSaeta
    AmaiSaeta 2013/07/14
    "System.Windows.Formsアセンブリを読み込む" "Windowsコントロールを生成する"
  • border-radiusとアンカー領域

    アンカーをborder-radiusプロパティーを使って丸くするというのは良くやる。丸くと言っても微妙な角丸から完全な真円まで様々だけど、多かれ少なかれアンカーの確保する領域と丸くなった枠線の間に空白ができる。じゃぁその空白の部分はアンカーなのかという疑問への回答は実装依存だったというメモ。 Demo: Radial Anchor デモではアンカーの確保する領域がわかりやすいようにoutlineプロパティーで線を引いておいた。そこに書いてあるようにInternet Explorer 10とFirefox 22ではアンカーにならずクリックできない。対してChrome 27とOpera 12はアンカーになっていてクリックできる。挙動としてはIEとFxのアンカーにならない方が素直な気がするし、らしきことがちょっと書いてある。 As ‘border-radius’ reduces the inte

    border-radiusとアンカー領域
  • Sassの--precisionオプション

    3.2以降のSassでは計算結果が少数になる場合、小数点以下5桁まで出すようになっている(それまでは3桁)。そこで--precisionオプションで小数部分の桁を制限してやることにより、ここくらいのコンパクトなCSSファイルでも0.5KB程度は節約できる。 0.5KBと言われるとやるだけ無駄感があるけど、規模が大きくなれば節約できるサイズはそれなりに増えるし、デメリットはあまりないのでやらないよりはやった方が良いような気がする。 3桁に制限したい場合は--precisionオプションで3を指定する。 $ sass --watch style.scss:style.css --precision 3 最後の桁は四捨五入される。3桁より下にもできるけど、3桁残すことにするとem単位でも1/100の詳細度が四捨五入されても正確になるので、最低でも3桁は残した方が無難。 ブラウザーごとに小数点の丸

    Sassの--precisionオプション
  • シェルスクリプトの[[と[の違い

    Yoshiaki Kawazu🐸ずん @kawaz シェルスクリプトのテストコマンド [ と [[ の違い。 [[はbashの組み込みコマンドで、[は単にtestという外部コマンドの別名。なので必然[[の方が速い。 [[では比較演算子の<と>がエスケープなしで使える。[では¥<や¥>とする必要がある。 (続く… 2013-02-12 14:05:41 Yoshiaki Kawazu🐸ずん @kawaz (続き) [[では比較演算子の<と>がロケールに応じた辞書順比較になる。[ではASCII辞書順。 [[では=~で正規表現マッチングが使える。bashバージョン3以降の機能。 [[では演算子を"-f"のようにクオートするとエラーになる。]では問題ない。 こんなところかな。 2013-02-12 14:07:56

    シェルスクリプトの[[と[の違い
  • 10秒で理解するWindowsのバイナリがx86かx64なのかを確認する方法 - みちしるべ

    dumpbin /headers で machine の値を確認すればよい。 exe、dll、lib、objに対して確認することができる。 (dumpbinはVisual Studioに付属している。) x64の例 exeの場合 D:\JDK\JDK1.6.0_13_x64>dumpbin /headers bin\java.exe|findstr machine 8664 machine (x64) dllの場合 D:\JDK\JDK1.6.0_13_x64>dumpbin /headers jre\bin\java.dll |findstr machine 8664 machine (x64) libの場合 D:\JDK\JDK1.6.0_13_x64>dumpbin /headers lib\jvm.lib|findstr machine 8664 machine (x64) 866

    10秒で理解するWindowsのバイナリがx86かx64なのかを確認する方法 - みちしるべ
  • C++11 Idioms - とくにあぶなくないRiSKのブログ

    問題 こんなデータメンバを持つクラスのコンストラクタをどう書くでしょうか? #include<string> #include<vector> #include<cstddef> class Book { std::string title; std::vector<std::string> authors; std::string pub; std::size_t pub_year; }; C++03では? もう誰も使っていない古のC++03では、以下のようなコンストラクタになると思います。T ではなく、T const & でコピーのオーバーヘッドを極力減らします。 class Book { std::string title; std::vector<std::string> authors; std::string pub; std::size_t pub_year; public:

    C++11 Idioms - とくにあぶなくないRiSKのブログ
    AmaiSaeta
    AmaiSaeta 2012/12/30
    "よさげな解法は T つまり値で受け取るコンストラクタを定義することです。C++03 では効率が悪いとされていた値渡しがムーブと組み合わせることで化けます。"
  • Heroku にある Git リポジトリを楽に remote に設定する - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    Heroku にある Git リポジトリを楽に remote に設定する - Qiita
  • Vimperatorプラグインを書いてみたい人のためのtips - おいら屋ファクトリー

    Vimperator Advent Calendar 2012 4日目のebithです。 今日はVimperatorプラグインを書いてみたい、もしくは書こうとは思ったけど良くわからなかった人向けの情報などを紹介します。 だいたいは僕がプラグインを作り始めた時に困ったりハマったりしたことですが、お役に立てれば幸いです。 そもそもどう書けば良いの サンプル用のプラグインにプラグインには欠かせないコマンドやマッピングなどの定義例が書いてあります。 また、vimpr/vimperator-pluginsには200近いプラグインがあるので参考になるはずです。 プラグイン作るときに便利なやつ ライブラリ Vimperator組込みのutilや_libly.jsがあります。 コマンド :jsや:echoを使えば手軽にJavaScriptを実行できます。例) :echo util :sourceがプラグイ

    AmaiSaeta
    AmaiSaeta 2012/12/05
    $U.around知らなかった。後で調べる。
  • 【Vim Advent Calendar 2012】Vim プラグインを github で公開するまで【1日目】 - C++でゲームプログラミング

    Vim Advent Calendar 2012 1日目の記事になります。 [宣伝] 毎週土曜日 23時から vimrc 読書会を開催しています。 次回は 12月1日(今日!!)の 23時から行います。 内容はだいぶ緩い感じなので、気になる方は覗いてみるといいと思います。 Vim で分からないことを質問するいい機会でもあるので( thinca さんが答えてくれる!)お待ちしていますー!! 概要 さて、今回はわたしが実際にプラグインを作成するときの注意点や流れなんかを簡単にまとめてみたいと思います。 『github で公開』と書いてありますが、git 成分は少なめです。 予め用意しておくといいもの git github のアカウント neobundle neocomplcache neosnippet git は最低限 push commit が操作出来れば問題ないかと思います。 neobu

    【Vim Advent Calendar 2012】Vim プラグインを github で公開するまで【1日目】 - C++でゲームプログラミング
    AmaiSaeta
    AmaiSaeta 2012/12/01
    "また plugin/*.vim にはなるべくコードは書かないほうがよいです。((略))基本的には autoload に処理を記述して、それを plugin から呼び出すような形がベターかと思います。"
  • Webパフォーマンス ベストプラクティス - Make the Web Faster

    Webパフォーマンス ベストプラクティス Last updated: 02 October 2012 翻訳:@t32k WebページをPage Speedで調べるとルールに準拠していないものが提示される。このルールというのは、一般的にあなたが開発段階において取り入れるべきフロントエンドのベストプラクティスだ。あなたがPage Speedを使用しようとしまいと、私たちはこの各ルールについてのドキュメントを提供する(たぶんちょうど新しいサイトを開発中でテストする準備が整ってないだろう)。もちろん、これらのページはいつでも参照することができる。私たちはあなたの開発プロセスに取り入れてもらうために、このベストプラクティスを実装するための明確なティップスと提案を提供する。 パフォーマンス ベストプラクティスについて Page Speedはクライアント側からの観点でパフォーマンスを評価し、一般的にペー

  • GitHubのissueを使いこなす! | Firegoby

    GitHubにはissueっていう、tracでいうticketと同じような懸案リストを登録し管理する機能があります。 今回は、このissueとファイル修正時のコミットを関連付けして、さらにハイレベルなタスク管理として利用しちゃうためのテクニックを紹介します。 issueとコミットをリンクさせる issueには以下のような感じでプロジェクトごとに固有のidが表示されています。 このIDを覚えておいて、gitでコミットする際にコミットメッセージにIDを含めてあげましょう。 $ git commi -m "#3 fixed" #3の部分がissueのIDです。#をわすれないこと。 コミットが完了すると該当するissueに以下のように自動的にコメントが追加されます。 コメントには、修正内容の差分を表示するページへのリンクも自動的に貼ってくれます。 修正内容のページでは差分を色分け表示してくれるので

    GitHubのissueを使いこなす! | Firegoby