<?xml version="1.0" encoding="UTF-8" ?>
<rss version="0.91">
  <channel>
    <title>BFS備忘録</title>
    <description>BFSの覚え書きなどをまとめたもの</description>
    <link>https://bfs.atgj.net/</link>
    <language>ja</language>
    <copyright>Copyright (C) NINJATOOLS ALL RIGHTS RESERVED.</copyright>

    <item>
      <title>mysqlのSQL実行結果をCSVファイルとして取得</title>
      <description>前提&lt;br /&gt;
WindowsのTeraTermでDBが存在するlinuxサーバーへアクセスする。&lt;br /&gt;
結果のCSVファイルを、操作元のWindows機にて取得する。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://bfs.atgj.net/%E6%97%A5%E5%B8%B8/mysql%E3%81%AEsql%E5%AE%9F%E8%A1%8C%E7%B5%90%E6%9E%9C%E3%82%92csv%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%A8%E3%81%97%E3%81%A6%E5%8F%96%E5%BE%97&quot; target=&quot;_blank&quot;&gt;つづき&lt;/a&gt;</description> 
      <link>https://bfs.atgj.net/%E6%97%A5%E5%B8%B8/mysql%E3%81%AEsql%E5%AE%9F%E8%A1%8C%E7%B5%90%E6%9E%9C%E3%82%92csv%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%A8%E3%81%97%E3%81%A6%E5%8F%96%E5%BE%97</link> 
    </item>
    <item>
      <title>日本測地系から世界測地系に変換</title>
      <description>cs2cs -v +init=epsg:4301 +to +init=epsg:4326 -f &quot;%.6f&quot; [input] &amp;gt; [output]&lt;br /&gt;
&lt;br /&gt;
inputは、&lt;br /&gt;
・ヘッダ行無し&lt;br /&gt;
・1行1点でlon,latの順に記述、スペース区切り&lt;br /&gt;
&lt;br /&gt;
別の測地系を使うならepsgの部分を変える。</description> 
      <link>https://bfs.atgj.net/%E4%BB%95%E4%BA%8B%E3%80%81%E6%8A%80%E8%A1%93/%E6%97%A5%E6%9C%AC%E6%B8%AC%E5%9C%B0%E7%B3%BB%E3%81%8B%E3%82%89%E4%B8%96%E7%95%8C%E6%B8%AC%E5%9C%B0%E7%B3%BB%E3%81%AB%E5%A4%89%E6%8F%9B</link> 
    </item>
    <item>
      <title>平面図形の三角形分割（条件付き）</title>
      <description>問題&lt;br /&gt;
平面上に3つ以上の点が存在する。（ただし、全ての点が一直線に並んでいるような場合は考えない）&lt;br /&gt;
以下の条件を満たす三角形の集合を考える。&lt;br /&gt;
条件１：全ての三角形は、与えられた点のうち3つを頂点とする。&lt;br /&gt;
条件２：全ての点は、必ず1つ以上の三角形の頂点となる。&lt;br /&gt;
条件３：三角形全体の和は与えられた点の凸包に等しく、互いに辺や頂点以外では重ならない。&lt;br /&gt;
条件４：全ての三角形の外接円は、頂点となる3点以外の点を含まない。&lt;br /&gt;
&lt;br /&gt;
条件を満たす三角形の集合は必ず存在するか？&lt;br /&gt;
存在する場合、それは一意な集合か？&lt;br /&gt;
その三角形の集合を求める具体的な手続きは存在するか？&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
この問題、とあるツールの一部機能として実装されていて、&lt;br /&gt;
つまりツールの製作者が言うには&lt;br /&gt;
「具体的な手続きが存在する、それに従えば三角形の集合は必ず見つかる」&lt;br /&gt;
ということになるんだろうなぁと。&lt;br /&gt;
ただその処理が入力の点の数の4乗オーダーの処理がかかっていて&lt;br /&gt;
結構重いんですよそのツールｗ&lt;br /&gt;
&lt;br /&gt;
某所でそんな話題になったので、具体的な手続きはともかく&lt;br /&gt;
三角形の集合の存在について証明でも書こうかと。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://bfs.atgj.net/%E4%BB%95%E4%BA%8B%E3%80%81%E6%8A%80%E8%A1%93/%E5%B9%B3%E9%9D%A2%E5%9B%B3%E5%BD%A2%E3%81%AE%E4%B8%89%E8%A7%92%E5%BD%A2%E5%88%86%E5%89%B2%EF%BC%88%E6%9D%A1%E4%BB%B6%E4%BB%98%E3%81%8D%EF%BC%89&quot; target=&quot;_blank&quot;&gt;つづき&lt;/a&gt;</description> 
      <link>https://bfs.atgj.net/%E4%BB%95%E4%BA%8B%E3%80%81%E6%8A%80%E8%A1%93/%E5%B9%B3%E9%9D%A2%E5%9B%B3%E5%BD%A2%E3%81%AE%E4%B8%89%E8%A7%92%E5%BD%A2%E5%88%86%E5%89%B2%EF%BC%88%E6%9D%A1%E4%BB%B6%E4%BB%98%E3%81%8D%EF%BC%89</link> 
    </item>
    <item>
      <title>Excel 配列関数</title>
      <description>Excelで、関数に配列を渡すことができる。

例
=SUM(A1:A3*B1:B3)
これでA1*B1 + A2*B2 + A3*B3が計算できる。

=STDEV(IF(A1:A100=&amp;amp;quot;A&amp;amp;quot;,B1:B100))
これでA列に&amp;amp;quot;A&amp;amp;quot;と入っている行のB列値の標準偏差が計算できる。


式の入力後、単純にEnterや別セルクリックなどで確定するのではなく、
Ctrl+Shift+Enterで確定すること。
そうしないと配列関数として計算されない様子。</description> 
      <link>https://bfs.atgj.net/%E4%BB%95%E4%BA%8B%E3%80%81%E6%8A%80%E8%A1%93/excel%20%E9%85%8D%E5%88%97%E9%96%A2%E6%95%B0</link> 
    </item>
    <item>
      <title>AA</title>
      <description>&lt;p&gt;見て面白いと思ったAA&lt;br /&gt;
&lt;br /&gt;
＿/乙(､ﾝ､)＿&lt;/p&gt;</description> 
      <link>https://bfs.atgj.net/%E6%97%A5%E5%B8%B8/aa</link> 
    </item>
    <item>
      <title>クロスキーボード</title>
      <description>&lt;p&gt;クロスブラウザって良く聞くけど、&lt;br /&gt;
クロスキーボードって無いのかね。&lt;br /&gt;
&lt;br /&gt;
キー配列によって別の文字に同じキーコードが設定されてるとか困る&lt;/p&gt;</description> 
      <link>https://bfs.atgj.net/%E6%97%A5%E5%B8%B8/%E3%82%AF%E3%83%AD%E3%82%B9%E3%82%AD%E3%83%BC%E3%83%9C%E3%83%BC%E3%83%89</link> 
    </item>
    <item>
      <title>Railsでログインページ</title>
      <description>&lt;p&gt;セッションは、sessionというローカル変数を使用する。&lt;br /&gt;
ハッシュなので、session[:key]、session[:key]=...という形式&lt;br /&gt;
消すときはsession.delete(:key)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;ログイン機能など&lt;br /&gt;
　　　　before_filter :メソッド名, :except =&amp;gt; [ログイン無しで使用できるメソッドの配列]&lt;br /&gt;
　　を記述。&lt;br /&gt;
　　ログイン認証成功時に、セッションにデータを書き込む。&lt;br /&gt;
　　上で書いたフィルタメソッドで&lt;br /&gt;
　　　　ローカル変数 = session[キー]&lt;br /&gt;
　　　　if ローカル変数&lt;br /&gt;
　　　　　　return ローカル変数&lt;br /&gt;
　　　　else&lt;br /&gt;
　　　　　　redirect_to ログインページURL&lt;br /&gt;
　　　　end&lt;br /&gt;
　　等のように書く。&lt;br /&gt;
　　これによって、認証が必要な処理へ未認証状態で飛んだ場合にログインページが表示される。&lt;br /&gt;
　　ログインページからの認証終了時に元の処理に戻るには他の手法が必要&lt;br /&gt;
　　フィルタからログインページへ情報を渡す必要がある場合は方法を考えないといけない。&lt;br /&gt;
　　&lt;br /&gt;
　　ローカル変数には、認証成功時にセッションに書いたデータが取得できるので、&lt;br /&gt;
　　必要に応じて処理を行えばいい。&lt;/p&gt;
&lt;p&gt;　　あと、たくさんのコントローラーでログイン処理を共通で行うのであれば、&lt;br /&gt;
　　フィルタをクラス化する方が良いかもしれない。&lt;br /&gt;
　　クラスを使う場合は&lt;br /&gt;
　　　　around_filter フィルタインスタンス, :except =&amp;gt; [ログイン無しで使用できるメソッドの配列]&lt;br /&gt;
　　フィルタはbefore、afterと2つのメソッドを作成する。&lt;br /&gt;
　　コントローラが渡されるので、そのための仮引数を用意。&lt;br /&gt;
　　beforeはコントローラ動作開始前、afterは動作完了後。&lt;br /&gt;
　　&lt;br /&gt;
　　ログアウト時に、セッションの情報を消すなど。&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
ページ表示時にはログイン情報があることをこの機能で保証して、&lt;br /&gt;
レイアウト上にログイン情報を表示するとか。&lt;br /&gt;
&amp;nbsp;&lt;/p&gt;</description> 
      <link>https://bfs.atgj.net/%E4%BB%95%E4%BA%8B%E3%80%81%E6%8A%80%E8%A1%93/rails%E3%81%A7%E3%83%AD%E3%82%B0%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8</link> 
    </item>
    <item>
      <title>rails3でlink_to_remoteが使えない</title>
      <description>rails2では、Ajaxを使うためにlink_to_remoteなどのメソッドを使っていたが、&lt;br /&gt;
rails3ではそれが廃止された。&lt;br /&gt;
&lt;br /&gt;
対応方法2つ&lt;br /&gt;
・link_to_remoteを、link_toへ置き換える。&lt;br /&gt;
　その際に、:remote=&amp;gt;trueを引数に追加する。&lt;br /&gt;
・prototype_legacy_helper というプラグインを入れる。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://curiosity-drives.me/programming/rails/rails3-prototype-legacy-helper/&quot;&gt;http://curiosity-drives.me/programming/rails/rails3-prototype-legacy-helper/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
追記（12/9 13:22）&lt;br /&gt;
prototype_logacy_helperはgitで管理されているので、&lt;br /&gt;
インストールにgitが必須？現在gitのDL中</description> 
      <link>https://bfs.atgj.net/%E4%BB%95%E4%BA%8B%E3%80%81%E6%8A%80%E8%A1%93/rails3%E3%81%A7link_to_remote%E3%81%8C%E4%BD%BF%E3%81%88%E3%81%AA%E3%81%84</link> 
    </item>
    <item>
      <title>[ruby]インストール</title>
      <description>&lt;p&gt;ruby on railsのインストール。&lt;br /&gt;
&lt;a href=&quot;http://www.rubylife.jp/rails/&quot;&gt;http://www.rubylife.jp/rails/&lt;/a&gt;&lt;/p&gt;</description> 
      <link>https://bfs.atgj.net/%E4%BB%95%E4%BA%8B%E3%80%81%E6%8A%80%E8%A1%93/-ruby-%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB</link> 
    </item>
    <item>
      <title>[.net]画面遷移方法</title>
      <description>画面を遷移させる方法はいくつかある。&lt;br /&gt;
&lt;a href=&quot;http://msdn.microsoft.com/ja-jp/events/dd282859.aspx&quot;&gt;&lt;br /&gt;
http://msdn.microsoft.com/ja-jp/events/dd282859.aspx&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a&amp;gt;タグ、HyperLinkコントロール&lt;br /&gt;
○一番単純。&lt;br /&gt;
　これで十分であれば、他の手段をわざわざ使わずとも。&lt;br /&gt;
&amp;times;遷移前のPageを参照できない&lt;br /&gt;
&amp;times;Validateなどを行えない（必ず遷移が起こる）&lt;br /&gt;
&lt;br /&gt;
Request.Redirect&lt;br /&gt;
○ポストバックのメソッド内で実行するため、実際に遷移するか決められる&lt;br /&gt;
&amp;times;遷移前のPageを参照できない&lt;br /&gt;
&lt;br /&gt;
Server.Transfer&lt;br /&gt;
○遷移前のPageを参照できる&lt;br /&gt;
○ポストバックのメソッド内で実行するため、実際に遷移するか決められる&lt;br /&gt;
&amp;times;アドレス表示が、遷移前のまま変わらない&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
クロスページポスティング（PostbackUrl属性に遷移先URLを指定）&lt;br /&gt;
○遷移前のPageを参照できる&lt;br /&gt;
&amp;times;Validateなどを行えない（必ず遷移が起こる）&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
目的によってどれを使うか選ぶ必要がある。</description> 
      <link>https://bfs.atgj.net/%E4%BB%95%E4%BA%8B%E3%80%81%E6%8A%80%E8%A1%93/-.net-%E7%94%BB%E9%9D%A2%E9%81%B7%E7%A7%BB%E6%96%B9%E6%B3%95</link> 
    </item>

  </channel>
</rss>