読者です 読者をやめる 読者になる 読者になる

tohokuaikiのチラシの裏

技術的ネタとか。

Confluenceのプラグイン開発を承ります。ご連絡はこちらのホームページからお願いいたします。

MySQLのForeignキー指定時の自動命名則

今更だけど、MySQLのForeignキーの自動命名則。 たとえば、こんなテーブルを作った時。 CREATE TABLE `author_author_type` ( `id` int (10) unsigned NOT NULL AUTO_INCREMENT, `author_id` int (10) unsigned NOT NULL, `author_type_id` int (10) unsigne…

Atlassian JIRAとConfluenceのバージョン情報が分かるRSSを作った

ConfluenceとJIRAがいつの間にかバージョンアップしてるので、把握できるようなRSSを配信できるスクリプト組んだ。 httpが面倒だったのでwget前提。 以下の3つのファイルを置いて atlassian-products-jira.php atlassian-products-confluence.php 二アクセス…

LaravelのメソッドのTypeHintがどうやってパラメータをうまい具合にセットしているのか?

Routingクロージャや、Controllerメソッドで

Laravel リファレンス 4-1 認証

さて、だいたい慣れてきた。折角なのでここからは与えられたサンプルコードを使わずに一から作っていこうと思う。 もちろんサンプルコードは参考にする。 とりあえず、プロジェクトの開始 すっかり忘れてしまったのだけど、.bashrcに export COMPOSER_HOME=~…

Laravel5でDBのQueryログを出すEvent Listenerを作る

app/(Handlers/)Events/QueryLogTracker.php 雛形は、 $ ./artisan make:event QueryLogTracker で作る。

「Laravelリファレンス」3 データベース

マイグレーション つらつらっと読んで気になったところだけメモ artisanのmake:migrationコマンドで作るClass名の重複に注意 コマンド引数の実行内容(下記の場合はcreate_authors_table)は同じものが被るとClass名として被ってしまい、Fatalになるので気を…

「Laravelリファレンス」 2-3 基本コンポーネント

環境設定 .envファイル このファイルは、.gitignoreに含める。 APP_ENVで本番環境(production)、ユニットテスト環境(testing)、それ以外の開発環境(任意)を設定できる。 値は、env()ヘルパ関数で取得できる。配列は設定できない。 config/*.phpファイル アプ…

LaravelのClassのオートロードを読んでみて、Facadeがどうやって短い名前でCallされているかを考える

本丸まで とりあえず、読み込み順としては public/index.php bootstrap/autoload.php vendor/autoload.php composer/autoload_real.php vendor/composer/ClassLoader.php vendor/composer/autoload_classmap.php とくる。 Composer\Autoload\ClassLoaderで実…

LaravelのFacadeがどうやってメソッドを決定しているかコード読んだのでメモ

例えばAuthの場合。 Auth::guest()のメソッドはどのインスタンスが作られるのか? Authクラスは直接的には、Illuminate/Support/Facades/Auth.php のStaticメソッドがコールされる。 Authクラスは、getFacadeAccessor() return 'auth'; のみだが、このauthは…

PHPのself::とstatic::の違い

PHP: static キーワード - Manualのコメント読んでわかったのでメモ。 static_test(); echo "\n"; $obj = new b(); $obj->sta…

「Laravelリファレンス」 2-2 はじめてのアプリケーション

はじめてのルート定義 app/Http/routes.phpに下記のコードを加える。

「Laravelリファレンス」 2-1 はじめてのLaravel

この本の2章に沿った勉強。基本的にこの本は手取り足取りの入門書では無くて、WEBの情報を本としてまとめてくれたくらいの感じで取っ付くと良いかも。まぁ、「Laravelリファレンス」だもんね。 Laravel リファレンス[Ver.5.1 LTS 対応] Web職人好みの新世代P…

今更ですが、Composer.pharがinstallとupdateでcomposer.json/.lockを見て何をしているかを図解

php

基本的に、下記の事項を覚えておけば挙動は理解しやすい。 installは.lockを見てその通りに実行する updateは、.jsonを見て依存性を解決する composer.phar install を実行した場合にcomposer.lockの有無による挙動の違い .lockがあれば待ち時間は少なくて済…

LinuxのディストリビューションとデフォルトパッケージのPHPバージョンの一覧

php

ディストリビューション バージョン サポート終了 PHPのバージョン CentOS 5 2017/3/31 5.1 CentOS 6 2020/11/30 5.3 CentOS 7 2024/6/30 5.4 Debian 7 2018/5/31 5.4 Debian 8 2020/4/30 ? 5.6 Ubuntu(LTS) 14 2019/4/30 5.5 Ubuntu(LTS) 16 2021/4/30 7 La…

開発環境でのConfluenceがクソ重いのでメモリを増やしてみた

Atlassian SDK使っているノートパソコンが古くなってきたのかな?と思ったくらいだったのでとりあえずメモリ増やす。 現状のメモリ使用量 管理画面の「システム情報」を見てみる。空きが14%しかない。 ということで、変更。 pom.xmlにて <build> <plugins> <plugin> <configuration> <jvmArgs>-Xms512m -Xmx1g</jvmargs></configuration></plugin></plugins></build>…

ConfluenceのREST APIを作ってみる - POST編

GETメソッドの場合は引数を@QueryParamで受け取ればなんてことなかったのだけど、POSTの場合はちょっと違った。 なお、通信はXMLじゃなくてすべてJSONを使った場合。 AtlassianのDocumentでいうとこの辺りが参考になる。使わなかったけど。 Developing a RES…

Confluenceのマクロモジュールを作成するときのi18nについて

マクロパラメータとかの名称をi18nにしたいなーって思ったときに今までやったことが無いことに気が付いた。 元資料 Including Information in your Macro for the Macro Browser - Atlassian Developers の最後の方によると、自動的にi18nの定義を見てくれる…

今まで買ったブロードバンドルータのメモ

2001年にYahoo!BBを契約してから、現在まで買ったルータ。基本的に全部NEC Atermのブロードバンドルータ。1~2万円くらいで買える家庭用の安いやつ。 無線ルータの寿命は一般的に3年くらいと言われてるらしい。 2002年夏頃 Aterm WBR75H(寿命:9年。結局壊…

BINDにてワイルドカードでSPFレコードを登録する場合

BINDでドメイン配下のホストを一括でワイルドカード指定している場合 こんな場合。 example.com.zone mail IN A 192.168.11.4 * IN CNAME mail SPFレコードに mail IN A 192.168.11.4 * IN CNAME mail * IN TXT "v=spf1 ip4:192.168.11.4 ~all" って書いても…

ckanにプラグインをインストールしてみる

続き。ckanのバージョンは2.7 プラグインのインストール ルート権限でdebパッケージにてインストールしたので、プラグインのインストールにもルート権限が必要。 ということで、ルートになるかsudoで作業。 今回は、https://github.com/ckan/ckanext-showcas…

ckanを始めてみる

Getting started — CKAN 2.7.0a documentationを参考に始めてみる。CKANはバージョン2.7 CKANコマンドについて CKANコマンドは、/usr/bin/ckanを直接使うのではなくpasterコマンドを使うことになる。 pasterコマンドを使うためには一旦ckanのシェルに入り、…

ckanをインストールしてセットアップする

データポータルのCMSであるCKANをインストールしたのでその作業メモ. CKANのバージョンは2.7 環境設定 ソースかパッケージ化でインストールできるが、パッケージである.debでインストールしたいのでUbuntu14を用意。 Vagrantで環境を用意 最初、手持ちのUbun…

ニンテンドークラシックミニ ファミリーコンピュータのタイトルとメーカーの一覧

を作った。 www.nintendo.co.jp メーカーとタイトルの一覧 タイトル メーカー 1983年、1984年発売 ドンキーコング 任天堂 マリオブラザーズ 任天堂 パックマン ナムコ エキサイトバイク 任天堂 1985年発売 バルーンファイト 任天堂 アイスクライマー 任天堂 …

アプリ不要 iPhoneのSafariでテキストから書式情報を除去する方法

純粋なテキストデータだけが欲しい時ってないですか? 私は、Gmailでメールを作るときにリッチテキストにしたくない(書式情報を無しにしたい)ので、そういう時がままあります。SafariのテキストをGmailアプリのメール作成時にコピペすると、書式もコピーし…

鳥越さんのハフィントンポストのインタビューで打線組んだ

1.(右) 僕はニコ生は基本的にメディアとして認めていない 2.(中) 俺は知らなかったの。ニコニコから話が来ていたなんて。 3.(遊) ネットにそんなに信頼を置いていない。しょせん裏社会だと思っている。 4.(一) ペンの力って今、ダメじゃん。全然ダメじゃん。…

PostgreSQLのセットアップでいつもハマル僕のための覚書

PostgreSQLには苦手意識を持っている。MySQLならこんな簡単なのに・・・・。と。 単に使う機会が少ないので覚えないだけだったりするのだけど。。。 Roleの作成 MySQLのユーザーに対応するのがPostgreSQLのRoleの概念。 とりあえず、postgresのスーパーユー…

Railsのバージョンアップとgemのバージョンアップをする

UbuntuのOSアップデートに合わせてRailsもアップデート 1つ前のエントリでUbuntuをアップデートしたので railをアップデートしたいのだけど、そのRubyのパッケージマネージャであるgemをアップデート gemをアップデートするためには、rubygems-updateというg…

Ubuntu server を14から16にアップグレードしてPostgresを9.5にする

Postgresqlの9.5を使いたくなったのだけど、Ubuntu14だと9.3なのでUbuntu16にアップデートしてPostgresを9.5にしようということに。 あ、UbuntuはもちろんUbuntuサーバーです。 とりあえず、Ubuntuのアップデート 死ぬほど簡単だった。 $ sudo do-release-up…

auでテザリングするとHTTPのIPアドレスとSSHのIPアドレスが変わってしまって困る件

何で困るかというと、iptablesでWEBからアクセスしたIPアドレスを一時的にiptablesのSSH許可リストに入れるようなバッチを組んでいて、それがうまく動作しないからである。 misc/add_ip_tables at master · tohokuaiki/misc · GitHub auの公式情報 www.au.kd…

Wgetでサイトを丸ごと保存する際のオプション

こんな感じかな? $wget -r -E -p -k --restrict-file-names=windows http://example.jp/ オプション 説明 -r 再帰取得 -E HTML拡張子で保存 -p jsやcss、画像なども保存 -k jsやcss、画像などを相対パスに書き換える --restrict-file-names=windows Windows…

WordPressでテーマのcommon.cssがロードされてなくて焦った件

WordPressをバージョンアップしたらCSSが崩れた。 ん~~~~、ってHTMLをdiffして見てみたら Before <link rel='stylesheet' id='common-css' href='/wp-content/themes/xxx/css/common.css' type='text/css' media='all' /> After <link rel='stylesheet' id='common-css' href='/wp-admin/css/common.min.css' type='text/css' media='all' /> ってなってた。 なんで…</link></link>

Google Chromeの新規タブに現れる「トップアクセス」みたいなサイトのサムネイルに不思議な画像

Google Chromeの新規タブに「よく行くサイト」みたいなのがあるじゃないですか。 あそこに見覚えのないものが・・・。 いや、サイト自体はLive Dowango Readerで、別に変じゃないんだけどなんだろうこの右側の画像は・・・。 この選択中のフィードに行っても…

Vaio(Windows8.1)と秀Capsは同時に使ってはいけない(のかもしれない)

秀Capsとは 言わずと知れた超有名エディタ秀丸の作者が作ったキーボード関連の便利ウェア。 秀まるおのホームページ(サイトー企画)−秀Caps 自分は、アンダースコア「_」をシフトキー無しで入力したくてずっとAltIMEを使っていたのですが、Windows8ではどうし…

Symfony1.4の色々とメモ

自分用メモです。 既に存在するテーブルに対してDoctrineを使う 既存テーブルに迷惑を掛けないようにする。 config/doctrine/schema.yml にテーブル定義をyamlで書く。検索できればいいからとりあえずこんな感じで。 Member: columns: id: { type: integer, …

milkodeのWindows8へのインストールでハマっている件

コード検索をfind&grepでやらなくても済むmilkodeというソフトがあります。 Rubyで書かれたWEBアプリなのでgemで簡単インストール。・・・・なのですが、ハマってます。以前インストールした際はそうでもなかったのですが、2年ぶりくらいにインストールした…

jQueryで排他的なCheckbox

一つチェックボックスしたら他のはチェックさせたくないってありますよね。 それならラジオボックス使えって話なのですが、ラジオは全部解除ができなくなってしまうからっていう。 (全部解除のUIってわかりにくいでしょ) ということで、 <p rel="reserve"> <input type="checkbox" value="1">選択肢1 <input type="checkbox" value="1">選択肢2 </p>…

InternetExplorerのローカルファイルへのリンク読み込みの件でハマった件

前提&症状 インターネットからHTMLファイルとその周辺一式をZIPでファイルをダウンロードして、HTML/JavaScriptなどを編集していた。 ChromeやFirefoxでは問題なかったのだが、IEでチェックしようとしたら編集したファイルだけが動作しない。 編集したJavaS…

WordPressで固定ページでHTMLをちまちま入力するのが面倒なのでHTMLファイルをインポートするだけのショートコードを作った

タイトルのまんま。 ちまちまと編集画面がとても大変なので、functions.phpにこんなの作った。 あとは編集画面に[include_static_html]と書いて静的HTMLをアップするだけ。 "", ), $attr)); if (is_page()) { $page = get_post(get_the_I…

fireworksで長方形選択ができなくなってびびった件

なんか、長方形選択をしようとしても選択が解除されてしまう。あるいは変な領域が自動選択されてしまうなんで!?とか思ってgoogle:fireworks 長方形選択ツール 使えないとか検索してても全然ヒットしない。 んん~Fireworks壊れた?とか思ったけど、長方形…

ぷにぷにの種族間の相性と攻撃力アップの倍率調査

愛称の調査 妖怪ウオッチぷにぷには、種族間で相性というのがある。 で、どれくらいのもんかと調べてみた。 相手がイサマシ族の場合 相手はイサマシ族なので、イサマシ1の攻撃を基準として補正する。4つぷに繋げて検証。 種族(相性) 攻撃力 ダメージ ダメ…

RailsでRedisとSunspot(solr)を使う際のポート変更

メモ Redis Procfileで起動するポートを変更する redis: redis-server --port 6389 .envに問い合わせるポートの番号を書く REDIS_URL=redis://localhost:6389 Sunspot(Solr) config/sunspot.ymlで指定 development: solr: hostname: localhost port: 8972

MySQL5.6のSQL_MODEではまった話とか

Ubuntu14なんて慣れないものを使ったので・・・ MySQL5.6を使ってはまった。 sql_mode Railsのmigrateを掛けたら Mysql2::Error: BLOB/TEXT column 'metadata' can't have a default value: とか言われた。 /etc/mysql/my.cnf の[mysqld]に sql_mode="" と入…

Apache2.4のmod_dir + mod_rewriteではまる

Railsアプリを作ってて、こんな感じでApacheでポート80番→3000番へのProxyを作ったんです。 <VirtualHost *:80> ServerName foo.example.jp CustomLog /var/log/apache2/access_log combined ErrorLog /var/log/apache2/error_log DirectoryIndex "" ProxyTimeout 8000 ProxyRe</virtualhost>…

githubに昔に登録したsshキーでプライベートリポジトリをcloneしようとしたらダメだった件について

なんか、鍵のバージョンが低かったのか強度が弱かったのかダメっぽかった。 $ git clone git@github.com:xxxxxx/******.git Cloning into '******'... ERROR: Sorry, but @xxxxxx has blocked access to SSH keys created by some third-party applications.…

XOOPS2.0系統でメールにBccを付ける方法

系列とか良くわからないのですが・・・XOOPSMailerを使っていればまだ使えるハックかも。 foo@example.comに送りたい場合。 XOOPS_ROOT_PATH/class/xoopsmailer.php encodeSubject($subject); $this->encodeBody($body); $this->multimailer->ClearAllRecipi…

Atlassian SDKを6.2.2にバージョンアップしたら、Confluence5.9.2のバージョン指定したのに5.8.8になってしまって困った件

SDK 6.2.2が出てた 年末に出てたらしい。 https://sdkrepo.atlassian.com/win-signed/ ということで、6.2.2にしてサンプルプロジェクトを作ってみた。気になるところはpom.xmlのここ <properties> <confluence.version>5.9.3</confluence.version> <confluence.data.version>5.7.4</confluence.data.version> <amps.version>6.2.1</amps.version> <plugin.testrunner.version>1.2…</plugin.testrunner.version></properties>

TCPDFで「右綴じ」を実現する方法

php

TCPDFでもFPDFでもFPDIでもFPDI_TMPLでもなんだかこのあたりの一群のライブラリはよく分かってなかったりしますが・・・・。 そもそも右綴じって? PDFのプロパティでこんな感じです。Acrobatで開いた時のプレファレンス。 英語で言うとBinding Directionで…

ハートキャッチプリキュア!で学ぶ、JIRAワークフローの使い方

本記事は、プリキュアアドベントカレンダーの5日目の記事です。www.adventar.org 先日、Atlassian Summit 2015で発表された3つのプロジェクトタイプ分かれたJIRA7の話をAtlassian Community Day 2015で聞いてまいりました。これからも発展していくであろう課…

PHPでRESTサーバを実装するライブラリLuracast/Restler

php

PHPでRESTサーバを書きたくなった場合、F.Wならそれの下地はあるだろうけどそれ程でも…っていう場合など。 Luracast/Restler 日本語の記事は見つからなかったけど、このライブラリが鉄板っぽいので使ってみる。 https://github.com/Luracast/Restler 以下、…

Vagrantで固定IPにしてホスト側から自由にアクセスできるようにしたいけど、なんか起動のたびにネットワークアダプタが増えてしかも接続できない件

VirtualBoxでこんなネットワーク構成にしたいと思うんですよね。 細かいことはこちらのエントリがよく分かると思う。 VirtualBox を利用する際のネットワーク設定の話 - 絶品ゆどうふのタレ Vagrantfile まぁ、とりあえずなんですがVagrantfileに config.vm.…