763-443-6232

Express4を利用したWebアプリケーションの作成の方法を解説します。といっても目新しいことはなく
260-250-6561の内容に補足をいれた程度です。

ブラウザでlocalhost:3000にアクセスするとHello Worldと表示する最も簡単なプログラム app.jsを動かしてみます。まずはExpressをインストールします。npm initコマンドでいくつか質問されます。環境に合わせて答えていくと答えた内容がpackage.jsonに追加されます。すべてEnterでも構いません。。npm initコマンドはpackage.jsonを作成するために使用しています。

app.jsの内容です。jslintがokとなるように記述しています。

expressコマンドを使ってアプリケーションを作成してみましょう。express-generatorをインストールするとexpressコマンドが使えるようになります。expressコマンドを使うのはpackage.jsonを自動で作成し、依存するパッケージを指定してくれapp.jsもそれに合わせて作成してくれるところかなと思います。

アプリケーションを作成します。

Install dependencies : expressコマンドで作成されたpackage.jsonに記述されている依存するパッケージをインストールします。

サーバを起動します。

ブラウザでlocalhost:3000にアクセスすると一行目にExpress、二行目にWelcome to Expressと表示されます。上の例では/tmp/fooの下にアプリケーションが作成されています。expressコマンドが何をしたか確認します。/tmp/foo以下の構造を見てみます。

package.jsonの内容を見てみます。npm startコマンドは”starts”キーの値の”node ./bin/www”を起動していることがわかります。”dependencies”キーには依存するパッケージが記述されています。

wwwの内容を見てみます。Javascriptで書かれたプログラムです。一つ上のディレクトリのapp.jsを参照していることがわかります。

app.jsの内容を確認します。app.jsを書き換えていけば作りたいアプリケーションが作れると思います。

Ubuntu 16.04のhaproxyをipv6対応にしてみました。

先日こんな記事を書きましたが、違うパソコンからアクセスできないことにあとから気が付きました。

narcissus fly

原因はhaproxyの設定で443番ポートをbindする記述をこうしていたからでした。

この設定だとipv4のアクセスしか受け付けないのですね。netstatコマンドで確認してみます。

/etc/haproxy/haproxy.cfgを修正します。

haproxyを再起動してnetstatコマンドで確認します。

これでipv6でもhttps接続できるようになりました。

(443) 684-9095

財務ソフトにGnuCashを使っています。OSはUbuntu16.04です。

GnuCashを使っていますと書きましたが使いこなせているわけではありません。今年からフリーランスを始めましたのでお金の管理をする必要がありました。また青色申告も必要なのでGnuCashでどこまでできるのかを勉強しながら使用している感じです。ですので覚書みたいな書きっぷりになっていると思います。

請求書はGnuCash用語では得意先請求書となっています。GnuCashでは請求書は得意先と関連付けられていると理解しました。

GnuCashを起動してメニューからビジネス -> 得意先をクリックするするとこんなメニューが出てきます。

  • Customers overview
  • 得意先を新規作成
  • 得意先を検索
  • 得意先請求書を新規作成
  • 得意先請求書を検索
  • 請求のまとめを新規作成
  • 請求のまとめを検索
  • 支払処理

「得意先を新規作成」してみます。得意先タブで会社名を入力します。他の項目は後からでも入力できそうなのでOKボタンで保存します。

次に「得意先請求書を新規作成」してみます。請求情報に得意先という項目があるので「選択」ボタンで「得意先を検索」画面を表示させます。検索条件に会社名の一部分を入力して「検索」ボタンをクリックすると、さきほど入力した内容が表示されると思います。その行をクリックして「選択」ボタンをクリックします。得意先の項目に会社名が表示されていることを確認したら「OK」ボタンをクリックします。「得意先請求書を編集」画面になっていると思います。

「得意先請求書項目」を入力します。今回入力したのは以下の項目です。入力した内容は請求書に反映されます。

  • 日付: 得意先に請求書を送付した日付にしました。
  • 説明: 請け負った作業がわかる内容を記載しました。
  • アクション: プロジェクト、材料、時間が選択できます。プロジェクトにしました。
  • 収益勘定科目: 収益:売上を選択しました。
  • 数量: 1にしてます。
  • 単価: 請求する金額を記入しました。
  • 税額表: 消費税を選択しました。そうすると自動的に税金が8%で計算されました。

入力が終わったら勘定科目表に記帳します。メニューから編集 -> 得意先請求書を記帳をクリックします。もしくはメニューに下矢印がついたアイコンがあるのでそれでも同じです。

「本当にこの請求書を記帳しますか?」と質問されるので期日を見なおして「OK」ボタンで記帳します。そうすると「記帳済勘定科目が資産:売掛金になっていると思います。次に印刷したときのイメージを確認します。メニューからファイル -> 得意先請求書を印刷をクリックします。もしくはプリンタの形をしたアイコンでも同じです。「印刷可能な得意先請求書」タブに印刷したときのイメージが表示されます。

PDFと書かれたアイコンでPDFファイルを作成します。今回はこのPDFファイルを得意先に送付しました。

浜町公園のヒトカゲはどこに

9月25日頃からだったか浜町公園にヒトカゲが頻繁に出現するようになりました。1時間に4匹程度は出現していたと思います。ところが昨日の夜、だから28日の夜からパッタリでなくなりました。

もともと浜町公園はポケモンGOをやっている人は大勢いました。ヒトカゲの噂が広まったのか人の数が増えました。ちょっと人が増えすぎて小さいお子さんとかには危険な状況だったと思います。

安全に遊びたいですね。

4037178034

wordpressをhttpsでもアクセスできるようにhaproxyを導入しようと思います。
前提は

  • Let’s Encryptでサーバ証明書は取得済み
  • ドメイン名を取得済み

haproxyのインストールは

インストールする環境によってエラーで終了するかもしれません。/etc/haproxy/haproxy.cfgがないか、内容が不正であることが考えられます。心配はいりません。これから/etc/haproxy/haproxy.cfgの設定を行いますから。

まずは/etc/hostsの内容を確認します。

haproxyの設定をします。下のサイトを参考にしました。

/www.digitalocean.com/community/tutorials/how-to-secure-haproxy-with-let-s-encrypt-on-ubuntu-14-04

Let’s Encryptで取得した証明書を確認します。

  • cert.pem
  • chain.pem
  • fullchain.pem
  • privkey.pem

の4つのファイルがあることを確認します。このうちfullchain.pemとprivkey.pemを結合します。まずはhaproxyが使用する証明書を保存するディレクトリを作成します。

次にfullchain.pemとprivkey.pemを結合します。

先ほど作成したディレクトリのアクセス権を変更しておきます。

/etc/haproxy/haproxy.cfgを編集します。

いくつかletsencryptと書かれている箇所がありますが、よくわかりませんね。参考にしたサイトのをそのままにしてあります。
これまでの設定に間違いがないかhaproxyを起動してみます。まだwordpressの設定は終わっていません。

試しに/<ドメイン名>と/<ドメイン名>でブラウザからアクセスしてみます。httpの方は正常に表示されると思います。

httpsの方はcssファイルがうまく読み込めていないと思います。chromeのデベロッパーツールで確認するとMixed Contentというエラーが30個ほど出ています。このエラーはhttpsでアクセスしているのにcssファイルやjavascriptファイルをhttpでgetしようとしているという意味です。wordpressの設定でhttpsでアクセスされたらhttpsモードで動作するようにするようにする必要があります。次の行を/var/www/html/wp-config.phpに追加します。追加する場所は先頭のほうが良いでしょう。

これでhttpsでブラウザからアクセスしてみましょう。正常に表示されるようになりました。ログインもできていると思います。うまくいかなかったらコメントください。

618-724-3780

25057
一昨日、現代美術館でラッキーに逃げられました。本日、清澄庭園で捕獲することができました。
cp210、HP250です。
江東区にもラッキーが出現するようになったんですね。

Ubuntu16.04にWordPressをインストールする。

前はwordpress.comでブログをやっていたのですが、プラグインを利用できないなどの制限があったので自宅サーバにインストールすることにしました。

自宅の環境はUbuntu 16.04でしたので以下のサイトが役にたちました。

becher

ここに書いてある通りにすることで特に問題なくwordpressをインストールすることができました。

wordpressのインストールではファイルのパーミッションで問題がでることが多いのですが、このサイトではその点もしっかり押さえています。

wordpressをアップグレードするときは

アップグレードが終わったら

という記述がありとても役にたちました。

9735378355

前に書いたインストール方法だとnpmコマンドがsudoをつけなきゃいけなくて毎回手間だったのでnvmコマンドで再度インストールすることにしました。

Webスクレイピングと文字コードとPython3

概要

Webスクレイピングをしていて文字コードについてまとめないといけないと思いまして。

Webサイトの文字コード

Webサイトの文字コードはHTMLページのmetaタグに記載されている。例えば

のように。

charsetの値はJISコードであれば「ISO-2022-JP」、シフトJISコードであれば「Shift-JIS」、EUCコードであれば「EUC-JP」、UTF-8形式のユニコードであれば「utf-8」、UTF-16形式のユニコードであれば「utf-16」。

Python3での文字コードの取り扱い

Webサイトの文字コードがわかったのでpython3で次のようにutf-8として扱う。

BeautifulSoupなどで取り込んだtextデータ、この例ではcontentとします、に対し

ファイルへの保存

エンコーディングを指定する必要がある。

Ubuntu 16.04にLAMP環境をインストールする。

LAMPとはLinux,Apache,MySQL,PHPのことでした。Linuxのインストールは省略するとして、あとは個別にインストールすることもできますがUbuntuには便利なtaskselがありますのでそれを使います。端末を起動して以下を入力します。

インストールが終了したらtaskselを起動します。

rスペースキーでLAMP serverにチェックを入れて<了解>をクリックします。MySQLの”root”ユーザに対する新しいパスワードの入力を求められるので自分でパスワードを決めて入力します。もう一度、確認のためにパスワードの入力を求められるので同じものを入力して終了です。

自分はLAMP環境でwordpressをインストールするので以下のPHPのextensionsをインストールします。