読者です 読者をやめる 読者になる 読者になる

さくらVPSでサーバー立ち上げ No2

本日、やっと、さくらVPSにWebページをアップしてブラウザら見ることができる様になった。Helllo Worldの表示だけだが苦労しただけに嬉しかった。

途中、ターミナルからのログインができなくなって、3回ほどCentOSをインストールし直すことになった。結局、ファイアーウォールの設定をちゃんとやっていないことが原因の様だった。途中でやめたりするとよくわからなくなるので、一気に設定してしまうのがお進めと言える。

さくらVPSのサイトのマニュアルは、Windows向けとなっていたので私の場合、Macで説明している「ドットインストール」学習サイトを使って設定を進めた。途中動画だけでなく、補足説明があり、そちらもしっかり見ないと、うまく設定できなかった。

何かトラブルが発生すると自力で回復するのは、結構骨が折れるので私の様な初心者の人は、設定漏れでつまずかないよう動画と補足説明も漏らさず見て確実に進めてください。つまづくと勉強にはなるが、時間を浪費します。

さくらVPSにメールでヘルプしてもらったが、ログインできない状態になると向こうも手が出せない様だ。結局再インストールして一からやり直しすることになる。

しかも、公開鍵認証まで設定を進めた後にトラブると、再インストールしてもローカル(自分のPC側)に.sshフォルダがのっこているためパスワード認証の設定段階でエラーが発生して手順通り進めない。私の場合、このことが分かるまで結構ハマった。.sshを消して再起動してなんとか進めることができた。

この辺は、自力で解決したので結構自信がついた。

なにはともあれ、峠は越して基本的な設定は、独自ドメイン設定のみとなった。

 

さくらのVPSでサーバ立ち上げ

perlも一通り入門編を学習したので、次のステップとして具体的なWEBプログラムを書いて、自分の書いたプログラムを活用してみたくなりました。そこでまずは、環境整備のためゴールデンウィーク中にサーバーを立ち上げることに決めました。

サーバーは、VPSが手軽そうだったので、さくらのVPS1Gコース、ストレージはSSD30GBを申し込んでみました。 申し込み後すぐに、さくらのVPSの「スタートアップガイド」に沿って順次設定をやってみました。手持ちのMacBookAirを使って設定していたのですが、何故か説明が途中からWindowsOS対象になり、仕方なく、前から知っていたドットインストールっていうプログラミング学習サイトの「さくらのVPS入門」コースで設定を続けることにしました。

しかしながら、ドットインストールでもつまづきポイントがあり、ハマりました。

第9レッスン「#09 SSHの設定をしよう (2)」は、補足情報が下の方にあり、これに気づかずしばらくハマったのでした。

  補足説明「新しいポート番号で接続を試す前に iptables を停止する必要があります」

  ..........

第9レッスンの動画内容を実行後すぐにこの補足説明を実行しないと、ログインできなかったのでした。
初心者ってのは、基本的なことがわかっていないので、問題が発生すると何を確認したらよいかが分からなくなり、よくつまづきます。

でも、今回、冷静に説明を見なおし、自力でなんとかなったので、ちょっと自信がつきました。

あと、もう少しで設定が終わるのでなんとかゴールデンウィークのノルマは達成しそう。

YAPC::Kansaiに参加して

参加してといっても、観客せきから見ていただけだが。初めての参加だった割には、思っていたより、業界違いの僕でも十分楽しめた。

個人的に一番の収穫は、、深沢千尋さんのセッションだった。最近、深沢さんの本「文字コード超研究」を読んでいて、その深沢さんの話が聞けたこと。

話の中で出てきた「秘伝のたれコード」を書いていた先輩が自分の様に思え、ますます、誰が見てもわかるPerlプログラムを書く使命に駆られた。

深沢さんが言っていた味噌蔵(再利用可能コード)を作り始めたい。

この一年、awkで購買データのバッチ処理用プログラムを書いてきて、自分の仕事は、十分に自動化できたと満足していた。しかしながら、自分だけがわかるプログラムになってしまっていて、振り返ってみると、再利用するには、扱いにくく、醜いコードになっていた。

今後はまず、今まで作った醜いコードをPerlで部品化しながら、コードにコメントと、実行可能なテストコードを埋め込んでしまいたい。そして、業務改善プログラムを作りたいと思った時にすぐに試せて使えるコードにしていきたい。

もう一つYAPCに参加して良かったのは、以前からPerlの基礎知識をつけるため読んでいた「業務に役立つPerl」を書いた木本さんに会えて、お話できたこと。木本さんのセッションは、Webよりの話で少し敷居が高かったため、ついていけなかったが、懇親会で話ができて、木本さんの書籍にサインをもらってご機嫌になった。

今後も、この様なカンファレンスに参加し、刺激を受けて、モチベーションを上げつつ、仕事の中でもっともっとPerlを活用し、更には、Perlを全然知らない自分の周りの人にも布教していきたい。Webだけではなく、普通の事務仕事の中にもPerlの活用の場は、たくさんあると思うから...

Excelではかったるい集計処理をPerlスクリプトでスマートに

会社のPCは、WindowsPC(レッツノート)で、仕事はもっぱらエクセルとパワーポイントが中心。

エクセルは、オラクルのデータベースからエクスポートしたデータを集計処理することが多いけど、エクセル使っているのに手作業になることが結構多く非常にかったるい。

一部、AWKでバッチ集計・整形するスクリプトを書いたが、AWKにも限界があるようなのでPerlで効率を上げるスクリプトを書きたいと思い、現在Perlを勉強中。

 

実際やりたいことのほとんどはバッチ処理だったのでコマンドプンプトからキーボード操作中心のソフトでも良さそうなものだが、作ったツールを同僚に使ってもらうためには、GUI(グラフィカルユーザインターフェイス)が必要と考えた。要するにマウス中心の操作で動くソフトにするってこと。

最初は、欲張って社内LAN上で動くWEBソフトにしようと思い、会社のPCXamppを入れてローカル開発環境までは構築したが、ネットワークを自在に使える権限がなく、どうにもなりそうになかったので、WEBアプリは諦めた。色々ググって調べるとTkというPerl上で動くGUI作成用のモジュールがあることがわかった。とりあえず家のバイオに、strawberry perlを入れcpanからTkモジュールを入れて試してみた。これなら使えそうってことで、会社のPCにもperlTkを入れた。

ツールを作る環境面で、もう一つの問題は、日本語対応である。「そら日本語は、当たり前に使えるだろ」と思いきや、Windows上で日本語を扱うには色々難がある様だ。ググったらいっぱい心配なことが出てきた。文字化けだ。ここは、トコトコん納得できるまで理解しようと、書籍を読み始めた。今のところ一番良さそうな書籍は、深沢 千尋さんの文字コード【超】研究』。まだ読みきっていないが、この3月にYAPC::Kansaiに参加するので、ゲストスピーカーの深沢 千尋さんに直接お話しできる機会があればいいなと期待している。

 

以上の様な動機から、まずは、日本語データを集計処理するツールをPerlで作り、エクセルでは、かったるかった仕事をスマートにこなすのが第一目標。

500 Internal Server Errorにはまった。

Perlを使ったCGIプログラムを勉強しようと、書籍「つくって覚えるPerl入門」でsumpleプログラムを入れて動かしてみることから始めた。

最初は、WIndows10のはいっているバイオでやってみると難なく動いた。まずは、動いているものを見たらわかった気になるのが初心者。少し嬉しくなる。

続いて、MacBookAirにて同じプログラムを入れてみてブラウザに表示してみた。ところがいきなり、「500 Internal Server Error」である。

いろいろググってみて、書籍を見ても、何が悪いのか全然わからなかった。

Apacheの設定が入った、httpd.confをなんども確認して見たがわからず。

あっちこっち変更しまくって、最後にうまくいったのは、なんのことはない、プログラムの'¥'から'/'(バックスラッシュ)の変更だった。

いろんな知識が必要なプログラムって、一旦つまづくと何が悪いかを探すのってなかなか大変だなって思った。

でも、つまづくことで知識の幅が広がるっとも思った。ただ、わかるまでの時間が長くかかると、途中で折れそうになる。今後は、早く解を得られるようにするためのコツを身につけねば。

プログラミング学習 これからperl

2017年から、webでプログラミング学習についてブログに記録していこうと思う。

書く理由の一つは自分の備忘録として、もう一つは自分と同じようなプログラミング初心者の参考になればと...

正しいことを書けるかは自身がないが、同じ初心者なら学習過程で同じことにつまずくと思うので少しでも参考になるものを目指したい。

 

<perlを勉強して何かどこまでできるかよくわからない>

昨年、一年perl入学式に参加したので、最初はperlの話題から。

perlは、会社で扱っているデータベースの集計処理に使えたらと始めたが、現在では、web用の言語として使われていることの方が一般的なのでそちらも手を出しているところです。ただいろんな知識が必要になることが初心者としては、大きな障壁のようだ。

本屋さんに行っては、関連書籍を手にとって見るが初心者にとっては、どこから手をつけて良いかわからないといったところ。

ということで、しばらくは、初心者がPerlを学習していく過程をブログで書いていきたいと思う。