program

mobageで運営していたゲームを終了させた

概要 mobage & Yahoo! mobageで運営していたゲームを終了申請しており、ついに今月終了となった。 プログラムを見ると2014年のものがいくつかあるので恐らく3年弱くらいになるだろう。 環境 PHP (CakePHP2) MySQL cocos2d-x(JS) 背景 mobage等、課金システム…

teratailを3日やってみたら週間ランキング3位になった

動機 同じプログラミング関連のサービスである、一人もくもく会の集客目的で、 プロフィールページからの流入が狙えるかどうかを試すためにちょろっと始めてみた。 どうなったか 週間ランキング3位になった 頻繁に回答してると結構早く順位が上がっていく。 …

DockerでPHP5.5のLAMP環境を作成

DockerでPHP5.5のLAMP環境を作成した。 元々ローカルのPHPのままだましだまし動かしてたのだが、 シェルだとCakePHP2のObjectクラスがコンフリクトしてついに動かなくなってしまったのでやむなく作成した。 Dockerfile FROM nyanpass/php5.5:5.5-apache RUN …

WerckerでPhoenixアプリケーションのCI

※1.6.0にしてフォーマットを追記 WerckerにてPhoenixアプリケーションのCIをするためのwercker.yml。 DBもservicesで追加できるので専用のコンテナを準備する必要がない。 box: shufo/phoenix:1.6.0 services: - id: mariadb name: mysql username: root pas…

Goのglide環境にてWerckerのCI導入

Go3 Advent Calendar 2017 - Qiita 23日目 GoのアプリケーションのリポジトリをBitBucketに作っているので、WerckerでのCIを試した。 シンプルで綺麗なパスでアプリケーションを作っている場合、 多分Werckerにてアプリケーションを登録する際に表示されるサ…

サイボウズLiveを作る-第6回-イベント作成

あと一つ大きなメイン機能であるイベント機能が残っていたのでそちらを作成した。 色々見てみた結果、とりあえず全部FullCalendarに置き換えればいいだろうと言う結論に至った。 FullCalendar - JavaScript Event Calendar 期間や範囲切り替えもあるし、これ…

サイボウズLiveを作る-第5回-グループへ参加

とりあえず一旦グループにメンバーを追加する機能を進めてみた。 メールアドレスは今のところ登録してほしくないし、とりあえずそれ無しでできる部分だけ進めた。 具体的には本家と同じで、招待URLを使ってそこからアクセスしてログインすればグループ申請と…

個人開発のだいたいの流れの例

個人開発 Advent Calendar 2017 - Qiita の5日目。 概要 普段から時間があればプログラミングで遊びつつ何か作成している。 せっかくなので誰も使わなくてもリリースしたりしていて、 それらは特に仕事でやっているのとかけ離れているものではないので、 適…

PhoenixでbrunchのままVueを使う

Vueといえばwebpackというイメージだが、Phoenixを使うと最初からbrunchが入っている。 webpackを使うこともできるが色々と設定するのも面倒なので、簡単にbrunchのまま使うための方法。 ちなみに下記で紹介されている方法と同じ。 Phoenix, Brunch and VueJ…

サイボウズLiveを作る-第4回-Todoをざっと

掲示板をざっと作成後、次は次に簡単そうなToDoを作成することにした。 とりあえずざっと下記を作成した。 ToDoの新規登録、編集、コメント追加 特に目新しいこともなく、コメントなどはほとんど掲示板と同じ。 黙々とシンプルに作成したので、特筆すること…

幼稚園用達成ボードアプリを作成

概要 タブレット向け幼稚園用達成ボードアプリを作成した。 (単なるWEBアプリ) https://child-achievement.alphabrend.com/ 適当に作ったのでBitbucketは使わずGithubで公開している。 GitHub - dala00/child-achievement: Achievement for children 経緯 …

サイボウズLiveを作る-第3回-トピック登録まで

グループは作成できたので次は実際のコンテンツを作成していく。 とりあえず仕様的にシンプルそうな掲示板を作ってみることにした。 (もしかすると細かい機能が多くあるのかもしれないが) 処理的に特筆するところは特に何もなかったが、 投稿に関してはwys…

サイボウズLiveを作る-第2回-グループ登録まで

アイコンは出来たので引き続きグループの作成機能。 本家だととりあえず一番簡単なパターンでは、グループ名だけ入力すれば登録できる。 とりあえずそこまでを作った。 アイコンも選択できるようにしている。 実装は非常にシンプルで、まずモデルに所属メン…

arc_ectoでDBにファイル名を直接保存したい時

GitHub - stavro/arc_ecto: An integration with Arc and Ecto. を使うと、postされた画像を簡単に登録することができる。 ただ、そのためにはmodelの型も専用のものに変えなければいけないので、 string型でなくなってしまう関係で直接ファイル名を保存する…

PhoenixのTaskでDBにアクセスする

PhoenixでTaskを試した。 実際にはPhoenixではなくmix自体のtaskを作成して実行するだけ。 ただ、単にtask内でRepoを使ってDBアクセスしようとすると下記のようなエラーが出る。 repo App.Repo is not started, please ensure it is part of your supervisio…

サイボウズLiveを作る-第1回-アイコン登録まで

概要 サイボウズLiveが終了するとのこと。 無料グループウェア「サイボウズLive」サービス終了のお知らせ | サイボウズ株式会社 丁度他のアプリケーション作成が一区切りついたところだったので、今度はサイボウズLiveのコピーを作ってみようと思う。 ざっと…

Phoenixで作った請求書作成システムをリリース

Elixir & Phonenixで作った請求書作成システムをリリースした。 元々Misocaを使っていたが、弥生の傘下に入ってからフリープランでは5通までしか作成できなくなってしまった。 別に良いかと思っていたが、ちっちゃい請求が続いたりするとどうも超えてしまう…

wkhtmltopdfでpdf作成に失敗する時

wkhtmltopdfで何度試してもエラーが出ていた。 アクセス権限もあっているし、ファイルも存在するし中身もおかしくないし…。 色々試した結果、今回は拡張子に.htmlをつけたら変換できるようになった。 (一時ファイルのため拡張子がなかった) その時々によっ…

PhoenixでLet's EncryptによるSSL

前提 PhoenixでLet's Encryptにより無料でSSL対応を行う。 Elixir 1.5.2 Phoenix 1.3.0 手順 基本的には Phoenix/Elixir App Secured with Let’s Encrypt – Andrew Forward – Medium で書かれている通り。 とりあえずサーバー起動。 MIX_ENV=prod mix phx.se…

Phoenixで他のフォルダの共通テンプレートをrenderする

自動生成されたedit.html.eexのformテンプレート読み込み部分を見ると、下記のようになっている。 <%= render "form.html", changeset: @changeset, action: post_path(@conn, :update, @post) %> ファイル名しか指定されていないので他の共通フォルダなどに…

Phoenixでmany_to_manyのフォームを対応

Phoenixでmany_to_manyを設定してDBからデータを取得して表示するのは非常に簡単。 ではformで新規登録したり更新したりする際に一緒にmany_to_manyのデータを更新するのはどのようにするのか一通り試してみた。 form 例として、Postに複数のTagが紐付いてい…

Phoenixでadminルーティングの認証

Phoenixでadminルーティングしてそこだけ認証を入れる。 仕様 /admin/articles のように最初にadminを含むURLは管理画面 管理画面は管理者ユーザーで認証が必要 管理画面もgen.htmlで自動生成。自分で頑張って作ったりしない コントローラやアクション毎に全…

Phoenixのex_adminでueberauthの認証

Phoenixでex_adminをueberauthを使って行う。 基本的には Elixir/Phoenixにおけるueberauth(認証)とex_admin(管理画面)の連携方法 - Qiita の解説通りでいいのだが、一部情報が古いので現在の対応方法を記載。 current_user_nameはログインしていないとエラ…

Phoenixのex_adminを使ってみてうまく動かない時

Phoenixでためしにex_adminを使って管理画面を作ってみようと思ったのだがどうもうまく動かない。 その時に試した時の対策。 Phoenix 1.2.4 ex_admin 0.8.2 コンパイルエラー ex_adminはまだバージョン1にも行っていないし、Phoenix側に追従しきれていない場…

cocos2d-xのfbx-convをlinuxで実行

cocos2d-xはlinuxにもインストールできる。 しかし、一緒にインストールされる3Dモデルのコンバートツールであるfbx-convはWindows用とmac用のものしか付属していない。 wineで動くと良いかと思ったがうまく動かないのでlinuxでビルドを試してみた。OSはLinu…

Linux Mint 18でUnreal Engine

Linux Mint 18にUnreal Engineをインストールして起動するところまでやってみた。 基本的には公式の情報に沿ってビルドだが色々わかりにくいところもあるので補足しつつ。 Building On Linux - Epic Wiki ソースの取得 wikiをみると、まずgithubからソースを…

A3RTのTalk APIをブログ上で試す

A3RT リクルートのAI用のAPIであるA3RT A3RT が無料で公開されたとのことが下記で紹介されていた。 https://bita.jp/dml/recruit_artapi_ ブラウザ上でテストできるサンプルを作成してみた。 APIキーとメッセージを入れるとレスポンスが返ってくる。APIキー…

一人もくもく会をCakePHP3のみに変更

Angular + CakePHP3 で作成していた 一人もくもく会 だが、Angularを捨ててCakePHPのみに修正した。 お客さんのために作成したサイトでも何でもないのでSEO対策とかどうでも良かったのでAngularを入れて試したのだが、 そもそもGoogleボットがレンダリングし…

werckerでCakePHP3のカバレッジ

CakePHP3でwerckerのCIを設定している。 カバレッジも表示したいのだが、BitBucketのプライベートリポジトリは無料でカバレッジを表示できるサービスが多分無い。 そのため別途解決策として、 出力したカバレッジhtmlを他の適当にレンタルしているサーバーな…

さくらの共用レンタルで.php.htmlが表示できない

さくらの共用レンタルだと、phpunitで出力したカバレッジファイルなどの.php.htmlという拡張子のファイルにアクセスすると Premature end of script headers というエラーが出る。 必要なフォルダ内の.htaccessで RemoveHandler .php とすると正しく表示でき…