Webエンジニア 新人日記

Webエンジニアになりました。元々はCOBOLやらBASICやらでプログラムしてました。C言語やVisualBasicは趣味でやっていましたが、久々に現場復帰ということです。資格はエンベデッドスペシャリスト、DBスペシャリスト、ネットワークスペシャリスト、セキュリティスペシャリスト、システムアーキテクト、プロジェクトマネージャ他を所有

【Web】XAMPP環境におけるオレオレ証明書のインストール(2017年1月版)

XAMPPでSSL通信を使う場合、php.iniの extension=php_openssl.dllを有効にすればエラーの警告が表示されなくなる。 ただし、ここで使用される証明書はSHA1を利用しているため、2017年1月以降では「保護されない通信」になってしまう。 そこで、証明書生成用…

【Javascript】【jQuery】画像の遅延読み込み

画像を大量に読み込むような場合、読み込むまでに時間がかかる。 読み込むまでの間、なにも表示されないと「壊れたかな?」と思ってリロードされる場合がある。 そうなると逆に負荷がかかり、余計に表示されなくなってしまう。そこで、画像を表示する直前ま…

【RaspberryPi】ラズパイを使ったサイネージ広告

約5000円という値段でHDMI出力付きのLinuxを動かすことができるマシンであるRaspberryPi。 これを使って余ったHDMI入力付きのTVをサイネージ化する。TVの電源はRaspberryPi側で管理する。 電源ON RaspberryPi側の電源は、デジタルプログラムタイマー等で管理…

【GPS】WebアプリにおけるGPS情報の取得と現在地の地名を求める

GPS情報をブラウザで取得するには、GeolocationAPIを利用する。 Chromeでは、http通信では使用できなくなっているので注意が必要。※サンプルでは、取得したGPS情報をAjaxを使ってDBに書き込むと同時に地点を求めている。 GPS情報取得部分 if (navigator.geol…

【mineo】SIMフリースマホへのmineoSIM(docomoプラン、データ専用)の設定

※Android6.0の場合設定→「無線とネットワーク」→「もっと見る」→「モバイルネットワーク」→ 「アクセスポイント名」(1)上の方の(+)を押して追加モード 名前:自分が解る名前(mineo等) APN:mineo-d.jp ユーザー名:mineo@k-opti.com パスワード:mineo 認証タイ…

【VPS】ConoHaを使ってみて

OCNとかでHP公開用にクソ高いレンタルサーバを借りていたけど、どうも高い上にできることが限られる。 専用サーバっぽいのになにもできない。consoleすらない。そこで、自分で好きにカスタマイズするためにVPSを選択。初期費用が安いのもあった。 最初はさく…

【PHP】GDを使って画像に文字を埋め込む

グラフィックライブラリGDを使って、テンプレート画像に文字を埋め込むことを考えてみる。GDを使ってPHPで文字を書き込む場合、呼び出し元は画像ファイルを表示するのと同じ要領で imgタグを使って表示する。 <img src="image.php"> 実際に表示する側。例えば、バナーに日程を埋め…

【Javascript + PHP】AjaxでDBのデータをJSONで受け取る

JavascriptでDBにアクセスする場合、AjaxでPHP側にパラーメータを投げてデータを受け取るのが一般的。 データの受取はJSONにするのがスマート。Javascriptの場合、PHP側を呼び出すためにはPOSTが良いのでは。 //POSTメソッドで送るデータを定義する //var da…

【Javascript】タイマー処理においてのSetTimeout

GPSロガーをWebアプリで開発 Webアプリで、一定間隔毎になにか処理をさせたいときにはJavascriptを使う。 ところが、これが少し曲者だったりする。例えば、GPSロガーをWebアプリで実装しようとする。一定時間毎にDBにGPS情報を登録する。 Javascript側でDBに…

【Word】バーコードの印刷について

Word2010でバーコードを印刷する場合、一番簡単なのはCODE39フォントをインストールする方法。①ここ www.technical.jp を参考に、フォントをインストールする②スタートとストップ用のキャラクターとして*(アスタリスク)で、バーコード化したい文字を挟む 例)…

【SQL】truncateとdelete

DELETE FROM `テーブル名` と TRUNCATE `テーブル名` の違いについて。①権限 DELETEは1行ずつ削除するためにdelete権限が必要。DML。 元に戻すためにログも書いているので、実行すると遅い。 TRUNCATEは、DROP TABLEしてから再作成しているため、 DROP権限が…

【Javascript】年齢計算

年月日を受け取り、年齢を計算する。 年月日をyyyymmdd形式にし、現在日時もyyyymmddにする。 それぞれを整数と考えると、差分/10000が年齢になる。 引数の年月日はselectなので正しい値しか入らないと仮定。※注意点 現在日付のgetMonth()は、戻り値が(0~11…

【Javascript】全角→半角

英数文字を入力するときに半角を強制する。 リテラシーの無い方は半角と全角の区別がつかないので、こちらで変換する。 formのフォーカスが外れた時に強制的に変換する。 といっても、文字コードを正規表現でむりやり変更しているだけ。※全角英数を半角で表…

【Javascript】指定された年月によって日を変更する

selectで年月日を選択させる。 月によっては月末の日が異なるため、実在しない日は選択できないようにする。年、月、日のhtmlは以下のとおり。それぞれにidを設定しておく。 日は月を選択しないと意味がないため、選択できないようにしておく。 何も選択しな…

【Javascript】ダブルクリックによる二重送信の防止

ITリテラシーの無い方は、シングルクリックとダブルクリックの区別がつかないことも多い。 なんでもかんでもダブルクリック。ブラウザ上でもダブルクリックすることも多い。formから送信する時にダブルクリックすると二重送信されてしまうので、クリックは一…

【PHP】Excelからデータを読み取り連想配列にセットする

PHPでExcelを読み取るにはPHPExcelを使う。 ライブラリをあらかじめダウンロードしておいて展開しておく。 //PHPExcelファイルの読み込み include_once ( dirname(__FILE__) . '/Classes/PHPExcel.php'); include_once ( dirname(__FILE__) . '/Classes/PHPE…

【jQuery】テーブルの表頭を固定してスクロールさせる

色々と方法はあるようだが、微妙に調整が必要だったりタグ構造に依存してたりあるようで、ズレることもしばしば。参考にしたのは、 jquery.tablefix.js – OTCHY.NETjQuery プラグインで実現する。普通にテーブルをデザインして <table id="tablefix1"> <thead> <tr> <th rowspan="2">ヘッダA</th> <th rowspan="2">ヘッダB</th> <th colspan="2">ヘッダC</th> <th rowspan="2"></th></tr></thead></table>…

【jQuery】ダイナミックにDOM要素を変更する

例えば、本人控と会社控で2部印刷するような場合。 プリンタドライバの指定で2とすれば簡単にできるとする。しかし、例えばその2部を区別したいような場合は、表頭のみ書き換えるようにしてみる場合。 <h3 class="noscreen" id="title"></h3> ※ブラウザでは表示させないが、印刷時のみ表示させる印…

【PHP】httpsにリダイレクトする

個人情報等、機密情報を扱うようなページの場合に無理やりにでもhttps通信を強制させたい。 if (empty($_SERVER['HTTPS'])) { //SSLでなかったらSSLのページにリダイレクトする header("Location: https://{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}…

【PHP】CSVを出力する

DB上のデータをExcelに吐き出したいような場合。 Excel側にODBCドライバを組み込み読みこむようにすることもできるけど、諸事情によりできないような場合。CSVで吐き出し、Excelにコピペをしてもらうことにしよう。 まずは配列の作成。 $csvarray = array($s…

【html+css】印刷ボタンを画面上に固定

画面が下に長くスクロールしても、印刷ボタンは固定したいような場合。htmlでは、ボタンにidを割り当てておく。 onClickにwindow.print()を割り当てることでブラウザの印刷機能を呼び出す。 ちなみに、印刷時にはボタンそのものは印刷しないようにしている。 <form class="noprint"></form>…

特定のselectの値の時だけinputを有効にする

jQueryでは、selectのchangeイベントにて値を監視する。 値が特定のときだけ、disabled属性を除去する。 それ以外の時はdisabled属性を追加。念のため、値も削除する。 $(document).ready(function() { $('#class').change(function() { if($(this).val() ==…

【HTML】checkboxを変更させない方法

checkboxを変更させない方法としては、disabled属性を変更する方法がある。 <input type="checkbox" name="regist[]" value="1" disabled="disabled"> こうすると、グレー表示になりいかにも変更できないっぽい。 ただし、欠点は「送信されない」こと。これに尽きる。調べた結果、readonlyは使えないみたい。解決方法はいくつかあっ…

jQueryでのDOMの便利な使い方

例えば、hoverでバルーンヘルプを出したいようなシチュエーション。チェックボックスの横に文字を置き、その文字にカーソルを乗せるとヘルプが出るようにしたい。 チェックボックスから文字までは、labelタグを使うことで文字をクリックしてもチェックできる…

正規表現

金額のように、先頭が-または数字で 末尾が数字の場合 /^[-]?[0-9]+?$/g

媒体により表示/非表示を切り替える

例えば、画面にのみ表示すればよくて印刷には載せたくないような項目がある場合。CSSのメディアクエリを使うとすっきりする。 @media print { .noprint {display:none;} } @media screen { .noscreen {display:none;} } と定義しておく。@mediaの後のprint、…

MySQL/MariaDB  DBエンジンのバージョン確認

SQLからDBエンジンのバージョンを確認するには SELECT version() または SHOW VARIABLES LIKE 'version%' ちなみにXAMPP Version: 5.6.19では 10.1.10-MariaDB

MySQL 列の順番変更

RDBにおいて、本質的には列の順番は関係ない。 でも、列の順番を間違ってしまって SELECT * FROM `student`; で、想定した順番と違うことになるとエレガントではない。そんな時はALTER TABLEコマンド ALTER TABLE `student` MODIFY `zipcode` varchar(10) AF…

ExcelからWebアプリにPOSTする

ExcelとWebアプリを連動させる。逆はともかく、アップロードする分にはVBAを使うのが簡単。 Sub ボタン1_Click() On Error GoTo err Dim httpObj Dim sendData ' データセット target_url = "http://xxxxxxxx.html" sendData = "class=" & Range("B1").Value…

名刺の型紙

名刺を作成した。 なぜ自分の名刺を自分で作るのかwマイクロミシン目が入っているので、手で切ることもできる。 カッターで切ったほうが綺麗だけれど。 型紙もあるので、テスト印刷をおすすめ。www.amazon.co.jp