もなかアイスの試食品

「とりあえずやってみたい」そんな気持ちが先走りすぎて挫折が多い私のメモ書きみたいなものです.

【Python】運行情報をSlack API を使って通知するデーモンを作ってみた

前にPythonでYahoo路線情報から運行情報をスクレイピングで取得するアプリを作った monakaice88.hatenablog.com あとPythonスクリプトをデーモン化させる方法もわかった monakaice88.hatenablog.com なので今回は運行情報が変わったときに、Slack APIで通知…

AngularJSで半角数値しか入力出来ないディレクティブを作ってみた

WEBアプリのバリデーション処理はめんどくさい とある業務系のアプリを作成していて、 数値を入力してもらう箇所に普通の文字列を入れられ挙動がおかしくなることがあった それぐらいバリデーション入れろよ・・・とツッコミが聞こえそうだけど、仕様が変わ…

Pythonスクリプトをデーモン化するのにsupervisorを利用した話

簡単なスクリプトをデーモン化出来ないかと調べたところ supervisorを使うことでスクリプトをデーモン化させることが出来そう ↓参考にしたサイト Supervisorで簡単にデーモン化 - Qiita SupervisorでPythonのスクリプトをデーモンプロセスとして動かす - Sym…

PythonでSlackにサーバの状態を送信してみた

はじめに すごく個人的な問題点 アプリの登録・OAuthの認証 Step1(認証) Step2(アクセストークンの取得) Pythonでサーバの状態を通知する はじめに はてなブログのTOPページを見ていたらたまたま見つけたブログ blog.8arrow.org このサイトを見るまでSla…

【Python】スクレイピングで電車の運行情報を取得してみた

はじめに 最近、Slackというチャットサービスを個人的に利用していて Slack APIを使って電車の運行情報をチャットで流せないかなーて考え中 電車の運行情報のAPIを公開されているけどお金がかかる・・・ プライベートで公開されている方もいるけど、こだわり…

CentOS6.8にMapServerのビルド&インストールしてみた

CentOS 6.8(最小インストール)、Apache 2.2、PHP 5.6、PostgreSQL 9.6、PostGIS 2.3の環境で、MapServer 6.4.4をビルドとインストールをやった。

CentOS6.8にPostgreSQL9.6とPostGIS2.3の環境構築

昔、PostgreSQL9.3でPostGISの環境構築をやったけど中々ブログに書くタイミングがなかった・・・ 現在、PostgreSQLの最新は9.6なので、最新版でCentOS6.8に環境構築をしてみようと思う ちなみにPostGISの公式のインストール方法はコチラ↓ postgis.net まず、…

Apache2.4 + Windowsでサーバが固まった話

Windows + Apacheでエラくハマった 以下が当時の環境 Windows Server 2012 R2 Apache 2.4 PHP 5.6 「PHPのアプリが遅い」と言われ、 PHPの処理を見直したり、TCPの通信ログを取ってみたり、 WEBサーバとDBサーバの通信が怪しいということ(にしておいて)、…

yum updateで「他のミラーを試します」から進まない時の対処法

CentOS6.8で久しぶりに「yum update」でパッケージを更新しようとしたらエラーが出た エラーの内容はこんな感じ [Errno -1] repomd.xml does not match metalink for epel 他のミラーを試します。 最初は回線の調子が悪いのかと思ったけど、何回「yum update…

PythonでPostgreSQLの通知を受け取る[NOTIFY/LISTEN]

PostgreSQLには、接続しているクライアントに通知をおくることが出来るらしい。 今まであるテーブルの全レコードのフラグを監視して、見つけたら取り出し→処理→フラグ更新ってことばかりをやっていたけど これを「通知」に置き換えることができそう これは便…

【PHP】DateTimeクラスの月の計算がおかしいので対策した

PHP

PHPのDateTimeクラスで月の足し算をしていると、ちょっとおかしい挙動をする 具体的な挙動だと「3月31日」に1ヶ月足すと「5月1日」になる 予想では以下のような挙動をしている 「3月31日」に1ヶ月足し、「4月31日」になる。 「4月31日」は存在しないので、…

Apacheでcss・js等除くAjaxのみキャッシュを無効にする

とあるWEBアプリでAjax周りで不具合が出た 調べてみるとよくあるIEだけの現象 Chrome、Firefoxでは問題ないが、IEだけAjaxのキャッシュが使われ、データが古いまま GETクエリに時刻文字列のようなユニークキーを追加したり、Angularの設定で「If-Modified-Si…

(CentOS6)無効化されたSELinuxを有効化する

さくらのVPSのCentOS6のSELinuxはデフォルトで「disabled」になっていたので、「enforcing」にした話 有効化については以下のサイトを参考にした。 5.4. SELinux の有効化および無効化 必要なパッケージをインストール # yum install selinux-policy-target…

CentOS6、PostfixでcronのメールをGmailにリレーする

cronのバッチ処理がちゃんと動作したかどうかをメールで送信する機能が欲しかった。cronは実行した内容をroot宛にメールを送信する。CentOS6で、そのメールをGmailにリレーする設定・方法を紹介。

CentOS6にPostgreSQL9.5をインストールする

PostgreSQLの現在最新のバージョンは9.5。新しい機能として、UPSERT(ON CONFLICT句)の実装、OUPING SETS句、CUBE句、ROLLUP句の実装された。PostgreSQL9.5をCentOS6にインストールした話

さくらのVPS(972円/月)を契約した話

最近、何かアプリケーションを作りたいなーと思いつつもやっていない 関わっている案件(炎上)では、DBサーバやらWEBサーバやらサーバ・システムが結構絡んでいる 普通のWindowsアプリじゃなくて、サーバを使った何かだったらアイディアが出てくる気がする…

IE開発者ツールのconsoleの罠(IE8、IE9)

今更書くような記事でもないし、何番煎じだよって思われるかもしれない Javascriptをガリガリ使用するWEBアプリケーションを作っていて、「IE8で動かないんだけど・・・」と問い合わせが IE8の実機がないため、IE11の開発者ツールでIE8をエミュレートして現…

CentOS6.7 に PHP5.6 をインストールする

CentOS6のデフォルトでインストールされるPHPは5.3 何回かCentOS6にPHP5.4~5.6をインストールしようとして失敗 昨日やっとできたので、今後のためにも書いておく EPELリポジトリとRemiリポジトリの追加 yum install epel-release RemiリポジトリのURLは htt…

Electronはhtmlが得意な上級者向けと思った話

最近、ブログを放置気味なもなかアイスです。 あるプロジェクトが始まって1年ほど経ち、炎上案件で未だに解決しない・・・ この案件で、見積もり・プロジェクトマネジメント・仕事の進め方・精神論的な何か などなど色々経験になったと思う(勉強になったと…

とりあえず超簡単にElectronを使ってみた

Electronとは HTML5とNode.jsでWindows、Linux、Macのデスクトップアプリを作れる クロスプラットフォーム実行環境。 もともと、テキストエディタのAtomを開発するための実行環境らしい。 ↓Electron本家 electron.atom.io ↓Electronについて参考になるサイト…

(Openlayers2)Labelの表示・非表示を実装する。

今回も私大好きOpenLayersの話 今回は描画したVectorのラベルを表示したり、非表示にしたりする方法について Vectorのラベルを表示する方法は公式のサンプルを参照すると分かりやすいと思う。 ↓OpenLayersでラベルを表示するサンプル OpenLayers Labeled Fea…

【OpenLayers2】地図の縮尺(ズーム)でマーカサイズを動的に変更する

OpenLayersをそのまま使った場合、マーカサイズが変わらない。 日本全体が見える縮尺にしても、最大に拡大しても、描画されるアイコン・ベクターのサイズは同じ そのためマーカサイズ地図の縮尺でアイコンサイズを動的に変えようとするのは、あるあるパター…

OpenLayers2でGoogleMapをちゃんと表示する。(3度目の正直)

またまた OpenLayers & GoogleMap ネタ 最近(といってもそろそろ1年経ちそう)触り始めたOpenLayersで、去年ハマった問題を書いた。 問題とは、OpenLayers を使って GoogleMap が表示できないこと。 もう少し厳密に言うと、OpenLayersのクラス「OpenLayers.L…

AngularJSとAngularStrapでテキストボックスに数値しか入力できないようにする

少し前に似たようなことをやった monakaice88.hatenablog.com ただフォーマットが合っていない時だけメッセージを表示するだけだった 個人的にはそもそも数値しか入力できないようにしたい! というわけで、Javascriptのサンプルを調べつつ、AngularJSとAngu…

ゼロから始めた構成管理。Ansibleでhttpd(apache)、vsftpd構築、iptables設定をやってみた

「構成管理」との出会い 普段からサーバの管理・運用はやらないものの、ちょっとした動作確認を行うときにサーバをよく立てている。 慣れてきたとはいえ、ポート解放を忘れてたり、yumを何回も実行したりと時間がかかる。 慣れましたけど・・・(震え声) だ…

ngRepeatFinishedが動かなかったので修正した話(AngularJS)

DOM操作の都合上、AngularJSのループ処理のngRepeatのレンダリングが終わった時の イベントが拾いたい時が結構ある。 そこでよく見る解決策が、「onFinishRender」やら「ngRepeatFinished」という言葉 色んな所で(StackOverflowとか、海外のブログとか)で…

Raspberry Piを買ったので、ちょっと触ってみた

昔からArduinoを触ったことがあったけど、電子回路が正直苦手・・・ そこでOSが載っているRaspberry Piの方が色々使い方のイメージが湧いてくるかなーと思ってた 最近やっと買ってきてたので「Hello World」ごとく少しいじってみた。 買ってきたもの Raspber…

Windows + Vim で Markdown の編集+プレビューを出来るようにする

Vim

最近(3ヶ月前ぐらい)になってようやく存在を知ったMarkdown QiitaとかGitHubのReadme.mdとかでよく使われているから使い慣れなきゃな―と Markdownエディタを探していても、「なんか違う感」がすごい と言うより、vimに色々プラグインを入れて使い慣れたお…

IEでテキストをinput[text]・textareaにDragDropした時、ng-modelが更新されない

AngularJSを使った開発で、FireFox、Chromeでは問題なく動作して、いつものごとくIE11で動作しなかった現象が発生 やりたいことは、テキストボックス(またはテキストエリア)の文字数のカウントを取りたいだけ 特に複雑なコードではなく、$scope.$watchでng…

AngularJSとAngularStrapでバリデーションメッセージを表示

古いIEの仕様に苦しむもなかアイスです。 input要素にrequired属性やらpattern属性はすごい便利だなーと思っていたら IE8,9で使えない・・・ IE8,9に合わせて、input要素のidやらclassで場合分けしてエラーメッセージを アラートダイアログで表示するのは最…