もなかアイスの試食品

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

【VB.NET】Windowsのタスクバーを非表示にした

はじめに とあるアプリの仕様上、Windowsのタスクバーを非表示にしたくなった。 調べてみると、意外とコーディング方法がなく(XP時代のコードがでてきた)、また参考にしたコードもちょっと問題があった。 一応やりたいことが出来たのでメモ書き 環境 VB.NE…

Raspberry PiでRAID1付きのNASを構築してみた

はじめに 最近、音楽系の趣味(?)が増えたので、CDレンタルするようになった タイミングよくTUTAYAで旧作10枚で1080円というキャンペーンをやっているので、一年も経たないうちに結構増えてしまった なのでPCが壊れて音源が無くなるのは非常に困るのでNAS…

CentOS6に最新のGitをインストールした話

CentOS6.8のデフォルトのgitを使用していたときに、「バージョンが古いので実行できない」的なことを言われた(何をしていたか忘れた・・・) なので、最新のgitをコンパイル&インストールした 以下のサイトを参考にした。(ほぼ参考サイトと同じ内容) Git…

【C#】NpgsqlでPostgreSQLのNotifyを受信する

以前、PythonでNotifyを受信する方法を書いた monakaice88.hatenablog.com C#のほうが個人的に利用することが多いのでC#版を書いてみた 環境 .NET Framework 4.5 追加NuGetパッケージ Microsoft.Extensions.Logging(1.1.0) Microsoft.Extensions.Logging.Abs…

CentOSでApacheとPHPをコンパイル&インストールしてみた

パッケージ管理ツールでPHPをインストールすると、CentOS6.8の場合、デフォルトのApache2.2がインストールされる あとApache2.4を使う場合、パッケージ管理ツールでインストールするPHPはfast-cgiで使わないといけない(らしい) ある環境と完全に合わせたか…

【C#】「tail -f」コマンドっぽいものを作ってみた

C#

はじめに LinuxでWEBアプリを作っていると、Apacheのログ監視、DBのログ監視とかで「tail -f」コマンドをよく使う 最近はWindows+Apache+PHPでアプリを開発しているけど、tailコマンドを使いたくなることが結構ある Windowsでtailコマンドっぽいことをやろ…

【Javascript】select要素の開いた/閉じたイベントを実装した話

はじめに 前回の記事の続き monakaice88.hatenablog.com 前回の話は、セレクトボックスを選択した時(値が決まった時)にモーダルを表示するという機能を作成したけれども、 onchangeイベントを使っていたため、同じ値を選択したときにモーダルが表示されな…

【Javascript】ある要素のすべてのイベントの発生タイミングを調べる

経緯 セレクトボックスを選択した時(値が決まった時)にモーダルを表示するという機能を作成した この時、セレクトボックスのonchangeイベントに関数を登録し、内部で値をチェック後、モーダルを表示する動きをしていた この時の問題点は、同じ値を選択した…

【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…

ソフトウェア開発の「流用できる」には気を付けよう

はじめに 私がIT業界に就職して3年ほど経った(正確には10月入社のため、3年と半年ぐらいか) 最近炎上プロジェクトに関わったおかげで、悟りが開けた気がする。 (未だに、この炎上プロジェクトが終わる気配が無いが・・・白目) 話をタイトルに合わせ…

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で場合分けしてエラーメッセージを アラートダイアログで表示するのは最…

OpenLayers(2.13.1) で GoogleMapが表示されない

以前にも似たような不具合にあったのですが、その時はAPIのバージョンを「3.20」に設定したら解決しました。 monakaice88.hatenablog.com これでめでたしと思っていたら、また表示されなくなった・・・ 他のベースレイヤは表示される(OpenStreetMapとか) …

OpenLayers + AngularJSでdirectiveを使ったら捗った

AngularJSを使い始めて6ヶ月・・・ やっと使い方がわかって気がする あとJavascriptのいわゆる「MV*」も いや、わかっていないな~ わかったことは、とにかくcontrollerはイベント処理に徹底しよう!というぐらい OpenLayers(2.13.1) + AngularJS を使ったW…

OpenLayers(2.13.1)のOpenStreetMapがIE11で遅い件

OpenLayersの便利さ・IFのわかりやすさに感動しているもなかアイスです。 OpenLayers(2.13.1)でアプリをGoogleChromeで作っていて、たまたまIE11で動作確認してみると すごく遅い・・・ どれぐらい遅いかは計測してなかったけど、同時に使っていたAngularJ…

Google Maps API の不具合?

OpenLayers(2.13.1)を利用して、GoogleMapやOpenStreetMapの地図を表示するWEBアプリを作っているのですが OpenStreetMapは表示できて、GoogleMapが表示できない現象が発生。 GoogleMapsAPIのバグ? 結論から書くとGoogleMapsAPIバグかも 現象が発生するコー…

Backbone.js + Marionette.js + stickit を使ってみた

普段WEBアプリとか経験がなくてMV*とかなんぞや?って感じの私です。(正直大本のMVCの理解も怪しいですが) WEBアプリを作成してて、AngularJSってすごい便利!一生ついていくッスと思っていたら、 「IE8、9で動かないんですけど?」 来年1月サポート切れ…

【小ネタ】右クリックのコンテキストメニューにcmdを追加する(Windows)

コマンドライン(cmd)をよく利用するのですが、「Windowsキー」+「r」 ↓ 「cmd」と入力してエンター ↓ 「cd」でカレントディレクトリを変更の一連を結構やりますし、「あー、さっき消しちゃったよ・・・」も結構あるので フォルダを右クリックした時に、選…

複数人のPHP開発環境の構築【後編】

前回の記事の続きです。monakaice88.hatenablog.com 環境 CentOS 6.6 PHP 5.3.3 開発環境構築手順 SElinuxの無効化(開発用だもん仕方ないね) ユーザの作成(開発者数分) SSH使用ユーザの設定(ファイルの転送で使用) ポート解放(80番、PHPインストール…

複数人のPHP開発環境の構築【前編】

普段、C++/C#ばかり触っているのですが、PHPの改造のお話が来て サーバがWindows→Linuxに変わるということで、新しく開発環境を作ったのでメモ書き環境 CentOS 6.6 PHP 5.3.3 開発環境構築手順 SElinuxの無効化(開発用だもん仕方ないね) ユーザの作成(開…

【Arduino】デバッグ用のコードを仕込む

最近、ArdionoのWifiシールドを買ったのですが、 そのWifiシールドのサンプルコードを動かしてみると動かない・・・どこが悪いんだろうと思っても、サンプル自体結構ソースコードが長い(追うヤル気が無い)デバッグ出力があったので、有効にしてみても 結局…

【C#】整数・数値入力用のTextBoxを作ってみた

C#

TextBoxに整数・数値だけ入力し、それ以外は入力させない時がよくあります。色んなサイトを探して見つかっても、小数点が複数個入力できたり、これだ!って思える処理が中々見つからない。(実は探すのが面倒くさくなってきたり・・・)という訳で、以下のサ…

ツリー構造クラスを作ってみる(C#)

C#

ファイルパス・XMLなどの「親が1つ、子どもが複数」あるデータ構造のことをツリー構造とか言いますが、それをC#のFrameWorkならどんなクラスであるのかな?って探してみたのですが、・・・見つからないネットで調べてみたら一番上に出てきたのはいつもお世…