フロントエンド

wercker(deployer)を使ったbitbucketからさくらレンタルサーバへの自動デプロイ

デプロイフロー 躓いたところだけまとめます。 werckerのworkflowsの設定がわからなかった workflowsのpipelineはwercker.ymlに記述する以下の箇所と名前を合わせる wercker.yml box: boedy/wercker-php no-response-timeout: 25 build:  <- ココと名前を合わせる steps: - script: wercker.ymlの設定 cdの仕方がわからかなった cwdを使ってワーキングディレクトリを切り替える wercker.yml - script: name: deploy application cwd: deploy/ code: php...

CentOSで新しいGCCなどといった開発ツールを使いたい場合のメモ

環境 $ cat /etc/redhat-release CentOS release 6.7 (Final) $ uname -a Linux XXX 2.6.32-573.8.1.el6.x86_64 #1 SMP Tue Nov 10 18:01:38 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux この環境ではgccのバージョンが4.4で,正直に言って色々と辛い… どうにかして新しいツールチェインを使えるようにする. 少なくともC++11が使えるgcc 4.8以上のものが欲しい… Software Collectionsを使う Red Hat Software Collections (SCL)の一部として,開発ツールのパッケージ群が配布されている...

AngularでEnvironmentを使って複数環境のアプリをデプロイする

趣旨 もともと、Angular(1.x)でアプリを開発していて、似たような機能をもつ2つのアプリをリリースしていました。 それぞれいくつかのControllerを使っていたのですが、下記のように共通している機能(ページ)が多いアプリでした。 アプリA アプリB Controller A ○ ○ Controller B ○ Controller C ○ Controller D ○ Controller E ○ リポジトリも複数に分けて管理していて、とても管理がかっこ悪い状態でした。 そこで、このアプリをAngular(2.x)に移行し、それぞれをComponent化...

cakePHP3のQueue Pluginを使ってみる

初、Advent Calendarです。よろしくお願いします(^o^) この記事は、CakePHP 3 Advent Calendar 201513日目用に書きました。 Queue Pluginって? イケメンのMark S.さんが作ってくれている、CakePHP Queue Pluginのことです。 DBにTaskを追加して、Queue用のworkerを動かしておくと、定期的にTaskを実行してくれます。 なぜ、Queue Pluginを使ったか スクレイピングでデータを貯めて、それを参照するWebアプリを作っています。 定期的にスクレイピングしてデータを貯めていますが、それ...

JavaScript CSVファイル→INSERT文変換

やったこと 仕事する上でテストデータをDBに入れるのがエライ手間だったので、csvファイルからinsert文を生成するツールを作りました。 機能としては腐るほど作られてそうだし、「insert文にするくらいならDBに接続してインサートしてしまえよ!」って言われそうですが。。。 最初はそのつもりでしたが面倒になってinsert文作るまでに留めておきました。そのおかげでメソッド名がImportHogeHogeみたいになってますがご勘弁を。 今回は以下3点について理解が深まったと思います。 ・htm...

TypeScriptを魔改造してjspmのモジュールをimport出来るようにする

先日、TypeScript + jspm 触って消耗した話にangular2をjspm + TypeScriptの環境でコンパイルしようとして上手くいかなかった話を書きました。 コンパイルが上手くいかない原因は: angular2はDefinitelyTyped等に.d.tsを提供しておらず、NPMに直接.d.tsを配置している TypeScriptには "moduleResolution": "node" でnode_modules 配下のモジュール(d.ts)を読み込む仕組みがあるが、jspm_packages からモジュールを読み込む仕組みがない(issue#6012)。 なのですが、おめおめと引き下が...

PHP Laravelメモ

完全に自分用作業メモ 2015年11月29日位の情報 Laravel 5.1 インストール composer global require "laravel/installer" PATHの設定 ~/.composer/vendor/bin .zshrc ## laravel homestead export PATH=$HOME/.composer/vendor/bin:$PATH laravel コマンド laravel new [ディレクトリ名] プロジェクトの作成 composer create-project laravel/laravel your-project-name --prefer-dist 基本設定 config/の下に設定ファイルがある。 パーミッションの設定 Laravel4 の場合以下。 /app/st...

modalの中のdivをスクロールして次のページを読み込む

今回の例では、BootstrapとjQueryを使用します。 1.Bootstrapで読み込めるmodalを作成します。 HTMLを用意します。 ※一部だけ参考に載せています。 modal.html <div class="modal fade " id="scoreReportModal" tabindex="-1" role="dialog" aria-hidden="true" data-keyboard="false" data-backdrop="static"> <div class="modal-dialog"> <div class="modal-content" style="min-height: 500px;"> <div class="modal-header">...

WEBアプリをNode.jsで書いてHeroku上にあげた話[ 1 ]

これが作ったWEBアプリ FireCommits https://fire-commits.herokuapp.com/ エンジニアによるエンジニアのための草刈機です。草刈機って感じのゲームじゃないですが。githubの草を楽しく撃って撃って撃ちまくるゲームです。コミット数が多ければ多いほど、草がどす黒いほど強くて点数も高いので、凄腕エンジニアさんの草を全破壊してみんなで呟きましょう サーバー側はNode.js, ゲーム実装はenchant.js, PaaSにheroku, DSにmilkcocoa, Frameworkにprimerを使った作品で、先日公開しま...

FuelPHP1.7.3 module内のルーティングで_403_, _500_を定義しても機能しないバグの対処法

FuelPHP1.7.3のお話です。バージョン1.7.3ではそれまであった404のルーティングに加え _403_、_500_が追加されました。それぞれHttpNoAccessException、HttpServerErrorExceptionを 投げると自動的に呼び出されます。ですが、これらをモジュール内で定義した場合 適切に処理がされないようなのです。 きっかけ app └classes  └controller └modules  └admin  └api 上記のような構成でサイトを構築していました。わりとよくあるパターンです。 通常のコントローラー(ユーザーサ...

Laravel5パッケージ導入いろいろメモ

パッケージ入れるときのメモです。 環境 Laravel 5.1を想定 IDE Helper導入 https://github.com/barryvdh/laravel-ide-helper IDEでのコーディングが便利になるやーつ composer require barryvdh/laravel-ide-helper --dev providersに追加 Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class, 生成 php artisan ide-helper:generate post-update-cmdに追加 "scripts":{ "post-update-cmd": [ + "php artisan ide-helper:generate", "php artisan optimiz...

ElasticsearchをUbuntu 14.04にインストールする

Elasticsearch をインストールする 参考:Repositories インストール方法は、上記の公式ドキュメントに丁寧に書かれているが、ここでは主要な手順だけを抜き出してみます。 リポジトリを登録する $ wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add - $ echo "deb http://packages.elastic.co/elasticsearch/2.x/debian stable main" | sudo tee -a /etc/apt/sources.list.d/elasticsearch-2.x.list インストールする $ sudo apt-get update &&am...

Intel Edison セットアップ

2015/12時点の記述です。なるべく手間を掛けずに。 初期設定 rootパスワード設定、ホスト名変更、wifi設定。 DHCP環境下ならMACアドレスを調べて、ルーター側で固定IP割当の設定にしたほうが楽かも。 # configure_edison --setup レポジトリのupdate ハード周りを弄る場合、mraa、upmを最新版にアップデートしたほうがよいです。日進月歩で対応センサーが増えています(※)。 # vi /etc/opkg/iotkit.conf src iotkit http://iotdk.intel.com/repos/2.0/intelgalactic # opkg update # op...

Angularチュートリアル + Spring Bootやってみた

はじめに フロントエンドはAngular、バックエンドはSpring Bootという構成でAngularチュートリアルをやってみました。 AngularのHTTPチュートリアルではmockを使ってjsonを取得します。 この記事では、実際にREST APIサーバと通信してjsonを取得します。 Front/Back framework version URL memo フロントエンド Angular 2.4 http://localhost:3000 バックエンド Spring Boot 1.4.3 http://localhost:8080 java 1.8 尚、バックエンド側のソースコードはgithubにアップしております。 バ...

PHP + Travis CI + Coveralls + Code Climate

Travis CI その他諸々を使ってみた作業ログ。 ソースは https://github.com/nishimura/laiz-monad これ。 すべてGitHubアカウントでログインするので設定が超早い。 Travis CI https://travis-ci.org/ テスト自動化。 # .travis.yml language: php php: - '5.6' - '7.0' - hhvm - nightly before_script: - composer install --dev --no-interaction script: - vendor/bin/phpunit Travis CIのサーバーにphpunitが入っているので、vendor/bin/phpunitじゃなくても良い。...

Spork-testunit - speed up testing of Rails

Testing with Rails3.1 is quite slow.So I tried Spork to speed it up. Spork is a kind of server for testing. Using that,we can skip initialization of rails app which is too heavy for each testing. While Spork is aimed to run with RSpec,I'm using test:unit (it's rails' default,as you know). So I put Spork and Spork-testunit gems in Gemfile. Gemfile group :test, :development do gem 'spork' gem 'spork-testunit' end then,as usual $ bundle install...

Docker 1.10/1.11 でマルチホストネットワーク

以下URL参照 http://docs.docker.jp/v1.10/engine/userguide/networking/get-started-overlay.html URLではDocker Machineの解説となっていたため個別にCentOS7ホストを3台立ててマルチホストしてみました。 ※VMwarePhoton(1.11.0)では以下の手順でマルチホストできませんでした。バージョンのせいかPhotonOSのせいか・・・。 →PhotonOS(1.11.0)でも下記手順でマルチホストできました。  初回のみsystemctl status docker -l で下記エラーが発生して他のホストと通信できなかったの...

Railsのroutesを読む

最近既存のコードを引き継ぐ形でRailsを触り始めました。 Railsの経験はなかったのですが、まあコード読めばわかるだろう、と思っていたら大間違い。 どうも不思議な魔法で動いているみたいで、コードを読んでもさっぱりわかりません。というか読むコードがありません。 そんな状態だった私がチュートリアルなどを読んで、とりあえずroutesについてわかったことをまとめてみます。 わかったことだけなので網羅はしてないです。間違いもあるかもしれないので、あったら指摘してもらえる...

rails_adminを使ってproductionでprecompileしようとしたら詰まった

rails_admin (0.1.2) rails (3.2.5) twitter-bootstrap-rails (2.1.4) rails_adminよいが https://github.com/sferik/rails_admin active_adminの方が人口多いっぽいけど、 最近アクティブなのはrails_admin そのrails_adminを使っていた時のこと。 本番環境でprecompile:allしようとすると怒られて進まなくなった。 ** [out :: hogehoge] ** [out :: hogehoge] rake aborted! ** [out :: hogehoge] ** [out :: hogehoge] Undefined variable: "$red". ** [out :: hogehoge] (i...

finatra はじめの一歩

playframework以外も触りたいなと思ったので、手を付けてみます。 構成としては finatra + quill あたりで考えています。 新しくスライドモード付いたみたいなんでお試し Finatra http://twitter.github.io/finatra/ Fast, testable, Scala services built on TwitterServer and Finagle. だそうです。 とりあえず finatra の公式のexampleをパクります https://github.com/twitter/finatra/tree/master/examples/hello-world 普通に sbt run しようとしたら以下のようなエラーが出た...