bz0のプログラミングログ

quick and dirty prototype

複数のCSVをDB登録するライブラリを作っている

PHP

複数のCSV/TSVファイルをテーブルに登録(Insert)するライブラリを作っています。 ありがちなテーブル登録の前処理と後処理も入れてます。(ごった煮ライブラリになってきている...)仕事でこういうことする機会多く、いちいち作るのもめんどくさいのでライ…

クローラが重くなったときの原因特定・対処について

クローラが重いときに、何が原因か特定して対処する手順です。(クロールするサイトに迷惑をかけないように注意です) curlでボトルネックを調査する http://akuwano.hatenablog.jp/entry/20120503/1335994486問題の切り分けに利用します。 # cat <<'EOF' >/…

docker-compose素振り

素振りしたものです。 PHP7.0 + MySQL5.7 github.com Nginx + PHP7.2 + MySQL5.7 + PHPMyAdmin github.com

GoFパターン写経

PHP

個人開発の作業開始時にエンジンかけるため・毎日コード書く習慣を促進させるためにGoFパターンの写経しています。 こういうやり方もあるのね、と自分の引き出しを増やす意味でやっています。量があって、まだ全部やれてないので順次追加していきます。 GoF …

タスクコミッターというサービスを作りました

https://task-comitter.work/もしよかったら使ってみて下さい。

curl_multiを使った並列リクエストライブラリを作った

PHP

参考 下記記事を参考につくりました。 curl_multiでHTTP並行リクエストを行うサンプル - Qiita ライブラリを使うメリット 下記2点です。■コードすっきり ・libcurl7.20以上での実行が前提(curl_multi_execを実行するときにdo-whileを除外) ・クラス化して…

2018年1月の振り返り

2018年1月にやったこと リポジトリ3つ作った。 ほぼVueとTypescriptの扱いに慣れようと四苦八苦してた感じです。 typescriptで作った入力バリデーション observerモデルを使って作ったので、observerモデルの理解も深まった。(と思う) github.com vue+typ…

phpでルータを書く

PHP

テストがまだ不十分なので、アレですが。 リクエストメソッド、パスを判定して合致するかを見てます。とりあえず書いてみたレベル。。。 ルーティング

typescriptでフォームの入力バリデーションを書いてみた

typescriptで入力バリデーションを書いてみました。github.com 学んだこと ・observerモデルでの実装 ・typescriptで、document.querySelectorAllで取得したHTML要素を使うときの型定義HTML要素(inputタグ)のvalue要素を取得する (input as HTMLInputElement…

はてぶのホッテントリクローンを作った

typescript+Vue.jsの勉強用に、はてぶのホッテントリのクローンを作りました。 ものとしてはしょぼいのですが、typescript + Vueでどう書けばよいかが少しわかってきました。 動作確認 http://bz0.tech/hatebu-clone/ ソース github.com サーバ はてなのホッ…

slackにメッセージ通知する

slack APIでslackへメッセージを通知します。 async/awaitを用いた非同期処理でのリクエストです。 slackにメッセージを通知する

FirebaseとVue.jsで食費ログ管理ツールを作った

正月、FirebaseとVue.jsを使って食費ログ管理ツールを作りました。 GitHub - bz0/amountLog: Vue+Firebaseで作った食費ログ管理こんなやつ。 Firebaseで認証とDB(リアルタイムDBですが)を任せられるのはすごく楽だった。 Javascriptだけで、サーバサイドを…

Dockerに入門した

Dockerに入門してみました。 Dockerのメリット / デメリット docker https://thinkit.co.jp/story/2015/08/05/6284メリット: ・「ハードウェアの調達やメンテナンス、ITシステムのチューニング」などの隠蔽 ・複数のOS環境とアプリケーション環境をパッケー…

勉強方針

勉強方針 ・地道にやっていくしかないので焦らない / でも1日1日着実に進める・ツールの使い方等は時間経過で、新しいツールがどんどん出てくるので使えない情報になっていきがちだが 考え方については陳腐化しづらい。・勉強したことを普段の作業にフィー…

kintone APIのライブラリを作りました

PHP

kintone APIのレコード操作を簡単に行えるライブラリを作ってみました。 github.comkintone APIの公式ドキュメントは下記です。 kintone REST APIの共通仕様 – cybozu developer network リクエストボディ APIリクエストする際、Content-Typeに「application…

GASをES6で書く

Google Apps Scriptで、チャットワークAPIを使い メッセージを送信するjsをES6で書いてみたいと思います。 ES6で書くための準備 参考にした情報 参考: https://qiita.com/masayas/items/f10ba7a62be8a2e7eedb https://qiita.com/zaki-yama/items/9a30154213…

twitterのトップでコンソールから自動ツイートする

chrome拡張で簡単に定型文をツイートさせようと思っていて、そのツイート部分の実装です。 twitterのホーム画面で、下記コードをchromeのコンソール等から実行すると定型文をツイートできます。下記ソースは、はじめのやつが動きます。 2つ目は挙動が不安定…

GoogleAnalyticsAPIを使って定期的にユーザサマリーをチャットに流してくれるライブラリを作った

目的 GoogleAnalyticsは、アクセスがほとんどなかろうと 無限に見ていられる悪魔のツールです。その為、要点を定期的にチャットにぶん投げてくれる時間節約装置が欲しく作りました。 機能 googleAnalyticsAPIで、ユーザサマリー等を 自前のテンプレート形式…

Google Analytics API(Management API)でビュー情報を取得する

何をしたのか google analytics APIの「Core Reporting API」だと サイト名やサイトURLが取れないようだったので、「Management API」でビュー情報からとるようにしてみた。 前提 ・Google Analytics のデータ構造はアカウント > プロパティ > ビューの構成…

CSV読込して配列化 その2

PHP

CSV読み込むときに気を付けることをまとめてみました。 メモリを極力使わないようにする ストリームを利用する ・大容量のCSVを読み込む際はストリームで「文字コード変換」を行う ストリームを利用すればメモリサイズを気にしなくてよくなる為・ストリーム…

CSV読込して配列化

PHP

前提: ・読み込むCSVファイルはSJISであること ・PHP5.3で動作させることが前提(5.3以上でも動くはず)微妙なので、書き直したい。 CSV(SJIS)読込クラスです。

kintone API アプリの自動生成

kintoneAPIのライブラリを最近作っているのですが テストで、アプリの作成やフォームも自動で作れると 楽だなと思ったので、Curlコマンドでの生成方法を調べてました。 gist6da681361d97d6a8a79b194687fc73b1

knife-soloのインストール

vagrantの仮想環境が、ネットワーク設定をいじってたら壊れたので 新しく作ったのですが、軽い気持ちでknife-soloでサーバ自動構築しようと考えて knife-soloインストールしようとしたら、嵌りました。。。下記作業メモです。 環境 CentOS 6.5インストール後…

Jenkinsインストール - ジョブ実行までやってみる

自分の個人プロジェクトのCI環境を作ろうと思いJenkinsを試しています。インストール・ジョブを試しに実行してみるところまでやってみました。Jenkinsのインスト―ル http://qiita.com/UmedaTakefumi/items/4a6f688a61e169759e44 # sudo wget -O /etc/yum.rep…

twitterのoauthログイン

PHP

PHPで、twitterによるoauthログインを試しに実装してみた。 【PHP】新TwitterOAuthでログイン機能を実装する - Qiita上記の通りに実装すれば簡単にできますが「abraham/twitteroauth」を composerを使ってインストールした場合、requireするファイルを下記に…

Node.jsインストール~簡易チャット作成まで

Node.js面白そうだったので、試しでやってみる。 環境 サーバ:CentOS6.5 クライアント:Windows10 Nodeインストール 下記を参考にしました。Node.js を5分で大雑把に理解する http://qiita.com/hshimo/items/1ecb7ed1b567aacbe559nvmでnode.jsをインストー…

rsyslogでMySQLにログを出力

MySQLにログを出力してSQLで検索できるようにした方が、ファイルを検索して 調べるより楽かなと思いやってみました。 環境 CentOS 6.5 rsyslog 5.8 rsyslogのMySQLへの登録 ・rsyslogはログファイルを管理する ・設定ファイルは、/etc/rsyslog.confMySQLへの…

Let's Encryptでhttps化する

無料でhttps化できるので試してみました。 環境 CentOS 6.5 certbotインストール https://certbot.eff.org/#centos6-apache https://www.websec-room.com/2016/10/01/2698やってみると、ウィザードは立ち上がらずに 色々聞かれました。(連絡先のメルアドや…

2017/04/24

個人開発 昨日はコード書いてない。。。「いますぐ実践! Linux システム管理」のメルマガのバックナンバーを 読んでやってみていた。(No.13~15) http://www.usupi.org/sysad/013.html・tcp_wrapperとは ・TCP または UDP の接続を,監視・制限するための…

webスクレイピング対策への対処について

サイト管理者が立てるであろうスクレイピング対策 サイト管理者の目線で、行うであろうスクレイピング対策から スクレイピングする側で、どう対処すべきか考えてみます。(スクレイピング対策しているという事は、マジで迷惑だから辞めろやという事だと思う…