真夜中に奔る

<< May 2012 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 >>
Googleでの検索テク あ〜そうなんだ編
0
    あ〜そうなんだ編とか書いてますが、一回こっきりです。

    例によっては、カレーライスを検索してみます


    「カレーライス」で検索すると沢山出てくるので、絞り込む為に

    「カレーライス インド人」みたいに検索しますよね?


    その結果、

    ・本場カレーライス
    ・おいしいカレーライスの作り方
    ・インド旅行記
    ・インドの名所
    ・名所の回り方
    ・旧跡名所

    という結果表示がされたとする。
    カレーライスを検索したい私からすると、インド〜はいらないので除外したい
    そこで登場するのが、「-」マイナス演算子

    「カレーライス インド人 -名所」

    とすると不要なキーワードを除外してくれます


    スンゴイ昔に誰かに教わった気がするけど、すっかり忘れてました。



    他、スペース区切りだと AND検索になるので OR検索したい場合は

    「|」(パイプ)を使います。
    エンターキーのすぐ上にあるやつ。たぶん、¥と同じになってるはずなので、Shift + ¥
    と打てばOK


    「ドライカレー|緑」という具合ですね


    では!




    独り言 | permalink | comments(0) | trackbacks(0) | - | ログピに投稿する |
    Googleでの検索テク あ〜そうなんだ編
    0
      あ〜そうなんだ編とか書いてますが、一回こっきりです。

      例によっては、カレーライスを検索してみます


      「カレーライス」で検索すると沢山出てくるので、絞り込む為に

      「カレーライス インド人」みたいに検索しますよね?


      その結果、

      ・本場カレーライス
      ・おいしいカレーライスの作り方
      ・インド旅行記
      ・インドの名所
      ・名所の回り方
      ・旧跡名所

      という結果表示がされたとする。
      カレーライスを検索したい私からすると、インド〜はいらないので除外したい
      そこで登場するのが、「-」マイナス演算子

      「カレーライス インド人 -名所」

      とすると不要なキーワードを除外してくれます


      スンゴイ昔に誰かに教わった気がするけど、すっかり忘れてました。



      他、スペース区切りだと AND検索になるので OR検索したい場合は

      「|」(パイプ)を使います。
      エンターキーのすぐ上にあるやつ。たぶん、¥と同じになってるはずなので、Shift + ¥
      と打てばOK


      「ドライカレー|緑」という具合ですね


      では!




      独り言 | permalink | comments(0) | trackbacks(0) | - | ログピに投稿する |
      HTMLファイル名を作る時やコンテンツを作る時に配慮したい事
      0
         URL内に表示されるURLの内、「-」ハイフンと「_」アンダースコア(もしくはアンダーバー)に違いはあるのか?

        Googleのマットカッツさん(検索アルゴリズム考えてる人)が言うには、ハイフンとアンダースコアは違うよって話らしい。※2007年くらいは、同じ扱いしているといっていた

        アンダースコアでつないだ場合は、一語で認識し
        ハイフンでつないだ場合は、スペースと同じ役割をするとの事

        たとえば、同ページ内にカレーライスの事を書いていたとする
        翻訳すると 「Curry and rice」 なわけだが、ファイル名を

        curryrice.html
        curry_rice.html
        curry-rice.html

        のいずれかから選ぶ事になるだろう。
        現在(2012.05.16)の検索アルゴリズム上では、

        curry-rice.html

        とするのが、正解らしい。
        なぜなら


        curry と rice とで認識してくれるので、ロングテールSEO的には有利に働くからだと
        そんな風に言われてる


        ただ、それがすべてではないという話で、独自に解釈すると

        curryrice.html

        だと、なんだか見にくいファイル名だから、変更したいけど複合キーワードっぽく検索エンジンにとらえてほしくない場合は、

        curry_rice.html

        とすればいい。
        使い分けですね



        プログラムの作り手側としては、ファイル名内にハイフンが混入してたり、混入させたりするのは、ほんとはちょっといやなんですよね。「-」ハイフンは演算子でもあるので、適当な構造のプログラムだと誤認する場合があったりするし。

        たとえば、リリースしたての頃はjQuery mobileでは、ファイル名に「-」が入っていると障害を引き起こしてたりするんですよね。現在はそんなことはありませんよ!ちなみに


        細かい話なんで、多くの人には関係ないかもだけど
        Web制作技術 | permalink | comments(0) | trackbacks(0) | - | ログピに投稿する |
        企画書+要求定義からの要求仕様書のすゝめ
        0
          現場の要求は大枠把握しているからといって、企画書や要求定義書をさぼると、イクナイよ!

          システム完成する頃にはブレブレのガタガタ。
          検証も曖昧になる事請け合いです。


          企画書は経営者に見せるため
          要求定義書は現場に見せるため
          要求仕様書は現場上長並びに、委託先に見せるため
          システム仕様書は、委託先から発注元へ
          検証仕様書は納品後のテスト
          ※要求定義書がないと話にならん


          とまぁ、全体の流れはそんなもん
          備忘録 | permalink | comments(0) | trackbacks(0) | - | ログピに投稿する |
          Androidアプリ 開発環境:必要なソフト
          0

            初めに……

            開発環境を整えるのに、おおよそ2時間〜3時間が必要です。
            また、メモリを非常に喰いますので、マシンスペックに自信がない人はそもそも開発に参加出来ないと思ってもあながち間違いではありません。

            あと、途中で挫折しかけるかもしれませんが、「諦めません、得るまでは!」の言葉を胸にしかと刻んで取りかかりましょうw


            Javaの開発・実行環境 JDK(Java Development Kit)をインスコ

            http://www.oracle.com/

            パンクズ的には、
            Oracle Technology Network Java Java SE Downloads

            バージョンによって階層構造が変わるみたいで、私は購入した書籍を見ながら調べたのですが、書籍と全然ちがったので、困りましたw

            JDKダウンロード→次のページで
             Accept License Agreement のラジオボタンにチェック→
            Windows x86 (32-bit) をDLして、インスコすればOK

            自分の端末が何bitかわからない人は
            コンパネのシステムにシステムの種類が記載されているので、そちらでチェック
            よっぽどのことがない限りは32bitが普通

            ※インスコには時間かかりますよ



            Eclipseをインスコ

            http://mergedoc.sourceforge.jp/
            このページでは、最新版のEclipseをクリックします。
            私は Eclipse 3.7 Indigo をクリックしました。

            次のページでは

            Full All in One (JRE あり)  の JAVA をクリック
            DLしてインスコします。

            インストール後、 c:¥pleiades¥eclipse¥eclipse.exe のショートカットを
            デスクトップに貼り付けておきましょう

            ※インスコには時間がかかりますw


            Android SDKのインスコ

            http://developer.android.com/sdk/index.html
            Windowsのinstaller_r18-windows.exe (Recommended)
            これをDL

            インストール後、Android SDK Manager が起動し、ちょっと間をおいて
            必要なツールをリストアップしてくれます。

            勝手にチェックが入るので、チェックが入っているやつだけ全てインストールします。



            ADTのインスコ

            EclipseとAndroid SDK連携プラグインです。
            デスクトップに作っておいたEclipseのショートカットからEclipseを起動

            新規ソフトウェアのインストールを選択し、追加を選択
            名前:Android ADT
            ロケーション:https://dl-ssl.google.com/android/eclipse/

            で開発ツールがピックアップされるので、インストールします。




            さー、ここまででインスコは終わりです。


            あとは、環境変数の設定をやって完了です。、


            コンパネ→システム→システムの詳細設定→詳細設定タブ→環境変数
            新規で、
            変数名 Path
            変数値 c:¥program files¥android¥android-sdk¥platform-tool;

            最後に「;」セミコロンが入るのがミソですね

            結局、adb.exeを見に行くことになっているので、androidフォルダが見つからない人は
            adb.exeを検索すれば、パスはわかるはずなので、頑張って!


            Dosプロンプト起動して、adbと入力して、ガガーと文字が何ページ分か吐き出されてれば成功です。

            パスが間違っていると、'adb'は内部コマンド〜云々〜認識されていません。

            とでます。



            ここ、結構ハマったので注意ですね













            Android | permalink | comments(0) | trackbacks(0) | - | ログピに投稿する |
            Perl カレンダーを簡単に導入
            0
              #!/usr/bin/perl

              use Calendar::Simple;
              use Calendar::Japanese::Holiday;

              # 日付取得
              ($sec,$min,$hour,$day,$month,$year,$wday) = gmtime(time + 9 * 3600);$month++;$year += 1900;
              $date_stamp = sprintf("%04d%02d%02d",$year,$month,$day);
              @week = ('Sun','Mon','Tue','Wed','Thu','Fri','Sat');

              # ページ遷移などで値引き渡す時に適当に調整
              # 年代入
              $this_year = $year;
              # 月代入
              $this_month = $month;


              # 当月カレンダー読み込み
              my $cal = calendar;

              # カレンダーの生成
              foreach my $week ( @$cal ) {
                $html .=<<"  EOD";
              <table>
                <tr>
                EOD
                
                for (my $i = 0; $i < 7; $i++) {
                  # 日付の代入
                  my $mday = $week->[$i];
                  # Class名の代入
                  my $wday = $wdays[$i];
                  # 休日の取得
                  if($mday){
                    # 休日の取得
                    $holidaycomment = isHoliday( $this_year, $this_month, $mday );
                    if($holidaycomment){
                      $wday = 'holiday';
                    }
                    # 存在する時
                    $html .=<<"      EOD";
                  <td>
                    <p class="$wday">$mday <span class="public_holiday">$holidaycomment</span></p>
                  </td>
                    EOD
                  } else {
                    # 存在しない時
                    $html .=<<"      EOD";
                    <td></td>
                    EOD
                  }
                }
                
                $html .=<<"  EOD";
               </tr>
              </table>





              で当月カレンダーが生成されます。
              ページネーションをカレンダー上部につけて、前月・翌月みたいな感じで
              それをformタグのpost送信にして、hiddenに年と月を仕込んでやれば
              万年カレンダーの出来上がりです。

              クラスも割り振っておけば、自由にサイズつくれますしね

              あとはよしなに
              Perl | permalink | comments(0) | trackbacks(0) | - | ログピに投稿する |
              CPANのモジュールの階層を上って記述
              0
                 ルートディレクトリにJcodeモジュール等を置いたときに、仮想で呼び出そうとすると階層を上る必要がありますよね、解説が少ないので、備忘録がてら残します。

                hogehoge.cgi
                ------------------------------
                #!/usr/bin/perl

                use Jcode

                ------------------------------

                としている場合、hogehoge.cgi と Jcode.pmが同じ階層にあれば実行できます。
                もし、

                hogehoge.cgi
                ------------------------------
                #!/usr/bin/perl

                use Jcode::Jcode

                ------------------------------

                となっていたら、./Jcode/Jcode.pm って事になります。(Jcodeモジュールの場合は普通そうじゃないけど)


                ルートに Jcode.pm に置いている場合、 ./hogehoge/hogehoge.cgi を設置すると、Jcode呼び出しの為に、階層を上る必要があります。



                ./hogehoge/hogehoge.cgi
                ------------------------------
                #!/usr/bin/perl

                use lib qw(../);
                use Jcode;

                ------------------------------

                とします。

                use lib qw(../);

                以降のモジュール呼び出しが全て階層をあがっちゃうので、注意してね

                Perl | permalink | comments(0) | trackbacks(0) | - | ログピに投稿する |
                Perl CPANにあるモジュールをサーバーにインストールせずに使う方法
                0
                  Perlで開発を行う場合、自由度の高さから完全オリジナルで組み上げるとリソースを大量に使ってしまいます。
                  便利なモジュールを効率よく使って、精度の高いWebアプリを作りましょうってんで以下紹介

                   CPAN http://www.cpan.org/

                  解説サイトでは、サーバーにインストールするための紹介がよく載っていますが、レンタルサーバー使ってて、サーバーにモジュールなんてインストールできないよって人はFTPソフトつかって、プログラムの一部として利用する方法をお勧めします。
                  正直、こっちの方が簡単ですよ。
                  ただし、利用するモジュールによってはファイル数が増えてしまいますが、特に気にすることではないかもしれませんね、今のサーバーは大容量だし

                  1 Googleなどの検索エンジンで、「CPAN カレンダー」など複合キーワードで検索
                  2 CPANでDL出来るモジュール名の紹介があるので、コピー(今回は、Calendar::Simpleで)


                  CPAN


                  3 上図の緑枠をクリックして、下図のDownloadを行います。

                  ダウンロード


                  ダウンロードしたファイルは、圧縮ファイルなので解凍するわけですが、基本的にはサーバーにインストールするためのファイル軍なので、FTPソフトを使ってUPするファイルはごく一部で済みます。

                  今回のケースだと

                  ファイル構成


                  lib の中にある Calendar フォルダ以下全てが必要になります。

                  必要なファイルが何か?を判別するには
                  モジュールを利用する時のperlの記述の仕方を見ればわかります。


                  自分で作るPerlファイル内への記述方式として

                  hogehoge.cgi(自前のファイルね)
                  ------------------------------------
                  #!/usr/bin/perl

                  use Calendar::Simple;

                  #以下、自分のプログラム
                  ------------------------------------
                  赤字がモジュール宣言部分になるのですが、

                  ::」で区切っているところが、ディレクトが下がっている事を示しています。
                  最後の文字が、そのままモジュール名となるルールため
                  Simple.pm
                  を見に行くことになるのですが、HTML風に書くとすると

                  ./Calendar/Simple.pm

                  と同義です。
                  いや、なんて親切な説明なんだろうか……

                  宣言部分では、そのように設定されているので、必要なディレクトリは
                  Calendar フォルダなんですよね。
                  設置する階層にも気を付けてくださいね。

                  設置階層を自分で変更することもできますが、往々にしてモジュール内で
                  別モジュールを呼び出していたりするので、階層変更はお勧めしません。


                  で、実際の自前プログラム内での利用方法については、上図の赤枠をクリックするとEXAMPLEと称して、解説してくれているので、そちらを参考にするか、「CPAN Calendar::Simple」でググるかすれば、設置解説してくれているサイトがあるので、そちらを参考にすると早いですね





                  Perl | permalink | comments(0) | trackbacks(0) | - | ログピに投稿する |
                  HTMLファイルにPerlを埋め込む方法
                  0

                    HTMLにPerlを埋め込むには、いくつか手法がある

                    1 Perl内でHTML記述を施す
                    2 HTMLファイルをテンプレートにしてPerl内で呼び出す

                    などの方法が主流だが、専門の知識が必要になるし、汎用的なプログラムにしようと思うと、あまりいただけない

                    例えば、Perlで万年カレンダーを作っても、いざ組み込もうとおもったら、ページ全体をPerlに取り込まないといけない

                    つまりはURLが変わってしまう。
                    こうなるとナビあたりにあるパスも変えないといけないし、いろいろ面倒だ

                    今回はそんな悩みに答えるべく、Perlを読み込んでるんだけど、HTMLファイルのまま使える手法を紹介したい

                    HTML側では、外部JSを呼び出すようにPerlファイルを参照させる

                    --------------------------------------------------------------
                    <body>
                    <script type="text/javascript" src="hoge.cgi"></script>
                    </body>
                    --------------------------------------------------------------

                    HTMLの細かい記述は割愛しますが、要はたったの一行記述するだけでいいのだ。

                    読み込ませるPerlファイルはパーミッション設定は必要です。
                    755もしくは705です。
                    サーバーによって違うので、それは自力で調べてね

                    さて、問題は、ここで言うところの hoge.cgi になる。

                    基本的にはPerlの記述ルールに従って構築すればいいのだけど、画面出力する際に、

                    --------------------------------------------------------------
                    print "Content-type: text/html ¥n¥n";
                    print "<p>こんにちは</p>";
                    --------------------------------------------------------------

                    とか、hereドキュメントを用いて

                    --------------------------------------------------------------
                    print "Content-type: text/html ¥n¥n";
                    print <<EOD;
                    <p>こんにちは</p>
                    EOD
                    --------------------------------------------------------------

                    としたり、汎用性をもたせる為に

                    --------------------------------------------------------------
                    print "Content-type: text/html ¥n¥n";
                    $html =<<EOD;
                    <p>こんにちは</p>
                    EOD

                    print $html;
                    --------------------------------------------------------------

                    こんな風に記述しますよね?
                    でも、これでは単純にHTML形式なんですよ
                    つまり……、ここてJS記述してやればいいわけです。

                    --------------------------------------------------------------
                    print "Content-type: text/html ¥n¥n";
                    $html =<<EOD;
                    <p>こんにちは</p>
                    <p>こんばんは</p>
                    EOD

                    $html =~ s/¥r//g;
                    $html =~ s/¥n//g;

                    print <<EOD;
                    <!--
                      document.write('$html');
                    //-->
                    EOD
                    --------------------------------------------------------------

                    JS出力直前で改行コードを削除(空に置換)してるのは、JS表示用に$htmlをよみこましてるのですが、展開時に改行がそのまま反映してしまいJSエラーを引き起こしてしまう為、回避措置をとってます。

                    部分的にパーツ発行するイメージですね。理解できれば、何の事はない簡単な話です。

                    ※EOD……End of dataの略。EOF(End of file)もTipsには見かけますよね。Terapadなどのエディタでは終端に[EOF]って入ってます

                    Perl | permalink | comments(0) | trackbacks(0) | - | ログピに投稿する |
                    Webのセキュリティを考える
                    0
                      [ 備忘録 ]
                      公開しているWebサーバー内で第三者に見られたくない情報を見えなくする方法はいくつかある。

                      htaccessを利用した
                       Basic認証
                       IP制限
                       ファイルなどの閲覧制限
                      http://www.htaccesseditor.com/#a_extension
                      で簡単に生成できる

                      Webアプリケーションを利用した
                       パスワード制限
                      ※会員ユーザログイン画面とか、そういうやつ

                      利用者限定されている状態(固定IPで利用者数もごく少数)であればIP制限をかける事で
                      かなりセキュアになる。
                      これにより、Web公開用の80番ポートについては、防げる。

                      ただし、FTP情報が漏れた場合は、その限りではない。

                      なので、通信自体をセキュアにする必要がある。
                      VeriSignやGlobalSignやCrossTrustなどで提供されているSSL通信を導入すればいい。

                      SSL通信をしていない場合、HTML側でinput要素のtype属性でpasswordを設定していようが、平文(非暗号)で通信することになるので、盗聴された場合はお手上げだ。

                      Webアプリケーションのパスワードが盗聴されたとしても、80番ポートを使ったアクセスなので、IP制限がされていれば、限定された関係者以外はアクセスできない。
                      だからって、漏れていいわけじゃないけどw

                      怖いのは、Webアプリケーションを使って、FTP情報が乗っかった状態で通信した場合。
                      これは、SSLしてない限り盗聴が可能なので、OUTだと思った方がいい。


                      Webをやり始めた95年ごろはこんなこと微塵も考えたことなかったけど、気をつけないと……
                      Web制作技術 | permalink | comments(0) | trackbacks(0) | - | ログピに投稿する |
                       1 >>
                      PR
                      CATEGORIES
                      SELECTED ENTRIES
                      ARCHIVES
                      RECENT COMMENTS
                      MOBILE
                      qrcode
                      LINKS
                      PROFILE
                      OTHERS