tohokuaikiのチラシの裏

技術的ネタとか。

PHPでアクセスしてきたIPアドレスがプライベートアドレスかをチェックする

php

プライベートIPは以下の範囲で 10.0.0.0~10.255.255.255 172.16.0.0~172.31.255.255 192.168.0.0~192.168.255.255 PHPのip2longをかませると 167772160~184549375 2886729728~2887778303 3232235520~3232301055 なので、こんな感じで。

VirtualBoxに共有フォルダを作成する方法のメモ

普通だったらこんな事せずに、Sambaで終わらせるんだけどこのパソコンは後で別の所に持っていくのでIPアドレスとかなんだりかんだりが変わる可能性があるのでVirtualBoxの共有フォルダ機能を使用した。 ホストOSはWindows10Home、ゲストOSはDebian8(jessie) …

PHPのoutput bufferingの罠

php

別のサーバーだとheaderの前にエラーが出て「Message: Cannot modify header information - headers already sent by」になって終わっちゃうのに、自分のサーバーだとこれが引っかからなくて不思議だなーって思ってたら output.bufferingの値が設定されてい…

10年くらいぶりにPerlのCPANモジュールをインストールしようとしたら全然覚えてなくて焦った。

MT6を使おうとして Perlすっかり忘れてる。mt-check.cgiにアクセスしたらいっぱいオプションで必要なのが出てきた。 CPANをインストール # yum install perl-CPAN CPANプロンプトを起動する # perl -MCPAN -e shell 最初はなんか言われるけど、のきなみエン…

VagrantとChefで開発環境を作る

もらったアプリケーションが、VagrantとChefを使ってるぽかったのでWindows10でChefからVagrantを通して開発環境を作ってみるメモ。 とりあえず参考資料 Vagrant と Chef による仮想環境構築の自動化(VirtualBox編) | オブジェクトの広場 Vagrantはインス…

YouTubeの左上にあるロゴがワールドカップのアニメーションになってたが、GIF動画ではなかった。

これね。いつもはYouTubeのロゴ。 で、これのアニメーションがGIFアニメとかMP4とかでなくて、ただのバカでかいPNG画像だった。 https://www.gstatic.com/youtube/doodle/yt-doodle-worldcup-1x.png これの背景位置をずらしているだけという… i=0; var f = f…

データのどれだけの個数を調べれば、だいたい「まぁ、いいかな」って言えるか。

食品総合研究所 :食品のサンプリングに関するガイダンス〜品質情報解析ユニット から。 10000個、製品があってこの中の不良品を見つけられる確率の話。1個でも不良品があってその存在が致命的な場合は全品検査になる。 全品検査が大変な時は、サンプルN個だ…

はてなスターAPIを使ってはてなブックマークコメントについた★の数を得る

はてなスター取得APIというのがある。 はてなスター取得 API - Hatena Developer Center これで、はてなブックマークのコメントについた★の数を得ようとする。 例えば、https://anond.hatelabo.jp/20180518171957 に付けた私のブックマークの★の数はこの記事…

WordPressで特定の投稿タイプで特定の部分だけ自動整形のPタグを消す (wpautopを動作させない)

filterの削除・追加とショートコードを使う custom_posttype投稿タイプの場合。

ApacheのProxyをかます途中でBasic認証を入れてConfluenceにアクセスさせようとしたら失敗した件

よくある1サーバーでConfluenceを複数稼働させたい場合のリバースProxy設定ですね。 こんな感じ。 あるいは、iptablesで無駄にポートを開けたくない場合とか。 で、内輪向けのConfluenceなんで、Basic認証をかければゼロデイアタックとかも多少は防げるんじ…

PHPで制御文字を取り除く

ほかのプログラミング言語はたくさんあったのだけどPHPが無い。 Strip control codes and extended characters from a string - Rosetta Code こんな感じかな。

polyglotで英語の構文解析をする

日本語だと、MeCabとか入れておけば大体大丈夫で日本語での検索も捗るんだけど、英語って言われると…となってしまったので lab.astamuse.co.jp を参考にCentOS7で解析してみる。 インストール とりあえず環境 $ more /etc/redhat-release CentOS Linux relea…

プログラミング教育について「総合的な学習の時間」の学習指導要領解説を読む

これが思ったより少ない。これだけの記述のために世の中が右往左往しているのだろうか・・・。どんだけプログラミングに抵抗があるんだろう。 そもそも学習指導要領とは 平成29年3月に発表された新指導学習要領「生きる力」 学習指導要領等:文部科学省 にあ…

CentOS7のfirewalldでsshdをポートを変更して特定IPアドレスから許可する

色々と検索したけど、なんか微妙な感じだったのでまとめる。 結果的に[CentOS] firewalldで特定のサービスを特定のIPアドレスに対して許可する - Qiitaが一番適切だった。 firewalldは基本的に許可してないものは全部Drop CentOS7では最初からpublicがActive…

vsftpdでuse_localtimeをYESにした場合、時刻が9時間ずれると言われた件でuse_localtimeオプションとは何であるかを考察した

結論から 言うと、このuse_localtimeをYESにすると9時間のズレはなくなるよっていう記事はわんさか見たけど、自分の場合は逆でuse_localtimeをNOにしたら直ったのである。 症状は・・・ vsftpdで、use_localtimeをYESにすると9時間のズレが起こる。 情報 サ…

PHPで検索キーワードを「”」みたいなクォート区切りを有効にしたGoogleみたいな感じで抜き出す方法

php

Googleで なにか "PHP function" で検索 みたいにすると、"PHP function"っていう文字列で検索してくれるじゃないですか。あのキーワードの取り出し方を知りたいなと思って検索してみたんですが、正規表現一発で取れるものとかなくってしょうがないなーって…

Confluence6.5をインストールした時にちょっと躓いたのでメモ

何気に6系は初めてだったりする。 いつものようにMySQLでデータベースを作成 mysql> create database confluence_demo_20171205 default character set utf8 ; Query OK, 1 row affected (0.01 sec) で、confluence/WEB-INF/classes/confluence-init.propert…

JIRA(Atlassian cloud)で自分の作業した時間の記録を閲覧する方法

とりあえず前提として 毎日作業したら「作業ログ」にて作業時間を記録しておくこと。 これを集計するための方法を以下に。 メニューを開いて に行けばなんとなくわかります。

今更ながらPHP7でローカルにPEARを入れた話

今どきPEARって…という感じですが、HTTP_Request2とか意外と使い慣れてるので便利なんですよ。いい加減ComposerでGuzzle使ってくれって話なのですが、ことによってはHTTP_Requestの方がちょろっとPHPのCLIでスクリプト書く分には楽ですよね。と。 インストー…

「生きがい」という言葉は日本語だけに存在する?

この記事でwithnews.jp 「以前、テレビの取材を受けた時、ちょっと意地悪な気持ちになって『生きがいって言葉は外国にはないし、言いませんよね。生きがいがなくても人間、ハッピーに生きていけるんじゃないですか』って答えたんです」 ってあって、Google翻…

今更だけど、EthnaをPHP7にしてmysqliに対応した時のメモ

昔のコードのメンテナンスです(とか言ってみる いい加減PHPも7になってEthnaはねーんじゃないの?って感じなのですが、これがまた意外と動くので使い続けたりしています。 ただ、preg_replaceのe修正子とmysql*系の関数が無くなったのでmysqli*に対応しない…

またdebianのvsftpdでハマったのでメモ

環境 uname -a Linux www 4.9.0-3-amd64 #1 SMP Debian 4.9.30-2+deb9u2 (2017-06-26) x86_64 GNU/Linux いつものように、chrootしてバーチャルユーザーでのログイン。 症状1. vsftpでつなごうとするとConnection Refusedされる。 ローカルからFTPコマンドで…

PHPでeBayのAPIを使う

結論から言うと、APIのReferenceがあるけどそんなのは見なくてPHPのSDKがあるからそれを使ったらすぐだった。 とにかく、SandboxとProductionの両方を行き来するのでどっちがどっちかわからなくなるし、いつの間にかアカウントできてたのでこの2つがリンクす…

Confluenceのアドオンで別のアドオンのComponentを使う場合の注意

結論から言うと、その別のアドオンを事前にインストールしてないとインストールに失敗しますよということ。 お互いのComponentを循環参照するようなアドオンは作れないってことですね。 こんな簡単なことに気づかずにはまりました。 IDE上ではpom.xmlに <dependency> <groupId>jp.</groupid></dependency>…

Mediaqueriesの覚え方

css

いつもこんがらがるので・・・。 min-width @media only screen and (min-width: 800px) { 「ブラウザが」800px幅が最低でも必要です => 800px以上のブラウザ幅で有効になります。 max-width @media only screen and (max-width: 800px) { 「ブラウザが」800…

PHPで自分のクラスを見たSingletonの生成

php

今更って感じですが。

ORMとしてActiveObjectsを使用する

Atlassianのデータを保存する場所といえば、BandanaでありContentPropertyManagerである。 tohokuaiki.hateblo.jp が、JIRA4.4からConfluence4.3からは特に意識しなくてもActiveObjectsが使えるようになった。こちらの方が早くて軽くて大容量でそのプラグイ…

Laravel5.4でAdminLTEを使う

AdminLTEという管理画面のテンプレートがある。これをLaravelで使いたい。 2019年追記:コッチの方が良さそう。 https://packagist.org/packages/jeroennoten/laravel-adminlte composerで簡単に使えるようにならないものか と思って、packagistでLaravel ad…

Laravel5.4でAuthをつけたときにMySQLのmigrationでエラー

artisan migrateするとエラー。 specified key was too long max key length is 767 bytes 原因はだいたいここら辺で。 qiita.com で、対策としてあげられている2つ 使用するcharasetをutf8mb4から変更する は、app/Providers/AppServiceProvider.php を

pom.xmlで依存性jarをローカルに置く方法

pom.xmlに依存性のあるjarを設置する ${basedir}はpom.xmlのある位置なので、以下の記述をdependenciesに設置する <dependency> <groupId>jp.co.example.confluence.plugins</groupId> <artifactId>example</artifactId> <version>1.00.01</version> <scope>system</scope> <type>jar</type> <systemPath>${basedir}\example-1.00.01.jar</systemPath> </dependency>