2014-01-01から1年間の記事一覧

Yeomanのgenerator-angularとRailsの組み合わせでの開発環境構築

grunt-connect-proxyを使って、rails server と、grunt serve の2つを叩いてLiveReloadで開発出来るようにしようという話。 あとフロント側をビルドするとRailsのpublicディレクトリに静的ファイルとして配備するように。 RailsのAsset PipelineにAngularJS…

Deviseでnamespace使う場合はdevise_for :users, path: :adminとかしとけという話

メモ。 Devise使用時にroutesでadminとかのnamespaceにdevise_forを入れると,Devise::SessionsController等で authenticate_user! が authenticate_admin_user! とかなってしまう*1 # config/routes.rb namespace :admin do devise_for :users, controllers:…

個人事業主になって8年目に突入

多くの皆様のおかげでなんとかやれております。今後共よろしくお願い致します。

Middlemanの入れ子レイアウトでエラー undefined method `safe_concat' for "":String

slimでwrap_layout使おうとしてエラーった。- を = に。 wrap_layout doesn't work with slim 参考: wrap_layout doesn't work with slim on ~> 3.3.2 #1269

gulpfileをCoffeeScriptで書く

メモ。 //gulpfile.js require('coffee-script/register'); require('./gulpfile.coffee'); //gulpfile.coffee gulp = require('gulp') gulp.task 'default', () -> console.log('gulp!') 参考。 http://efcl.info/2014/0123/res3625/ http://safx-dev.blogs…

node-webkitでコールバックで書いた非同期処理をPromise使用に書き換えてみた

node-webkitで作ったアプリで、データロード処理と保存処理部分をそれぞれ書き換えてみた。 PromiseのライブラリはBluebirdを使ってみた。 あと、cheerioをDOMのパースに使用。 FTPは、jsftpを使用。 データロード処理の流れ(load) 1. FTPでデータ取得 2. FT…

node-webkitで作ったアプリをTypeScript化,CoffeeScript化してみての雑感

素のJavaScriptで書いて出来上がったnode-webkitアプリを今後の参考とするためにCoffeeScript化,TYpeScript化。 ライブラリ以外で書いたJSコードは300行程度と、かなり小規模なアプリ。*1 bowerで入れたのがBootstrap,Bootstrap v3 datetimepicker,jQuery,Mo…

node-webkitでTypeScriptを使ってはまるケース

node-webkitのJavaScript Contextでのrequireでのパス解決でハマる場合がある。 例えばこんなファイル構成で index.html js index.js(index.ts) fileUploader.js 各ファイルがこんな感じ。 <html> <head > <meta charset="utf-8" /> ................. <script src="js/index.js"></script> </body> </html> //js/index.js ........…

requireしてnewして使用するnpmのパッケージにTypeScript用の型定義ファイルを書く

こういうの。 ///<reference path='./typing/node.d.ts' /> ///<reference path='./typing/jsftp.d.ts' /> import JSFtp = require('jsftp'); .......................... var Ftp = new JSFtp({ host: connect.host, port: connect.port, user: connect.account, pass: connect.password }); .......................... jsftp用に…</reference></reference>

node-webkitでNode contextからGUIのAPIを使う

メニュー出したりとかデスクトップアプリ特有のネイティブのアレをNode側から使いたい。 1.require時に引数として渡す //index.js var gui = require('nw.gui'); //↓コレ var fileUploader = require('fileUploader')(gui); 例なので全部渡しちゃってるけど…

grunt-slim

メモ Gruntfile.coffee ...................................... slim: pretty: options: pretty: true files: [ expand: true cwd: 'src' src: ['{,*/}*.slim'] dest: 'app' ext: '.html' ] ...................................... grunt.loadNpmTasks('gr…

bower_componentsをディレクトリ別の場所に

.bowerrcに記述 { "directory": "app/bower_components" }

gruntで任意の場所でnpm i --productionする

node-webkitで作成したアプリのパッケージングはappディレクトリを対象として実行してて、npmをcd app してからnpm i --productionと手動で処理していたので、Gruntに登録した。 Gruntfile.coffeeの該当箇所 ...... exec: npm_i_production: cwd: 'app' cmd:…

node-webkitでWindows向けアプリケーションのアイコンを変更する

Icons に書いてある。 Resource Hackerで書き換える。 これだとWindowsのパッケージングが自動化出来ないのでアレ。

node-webkitで作ったアプリをWindows向けにパッケージングする

grunt-node-webkit-builder使う。 使う人の環境がWindowsだけど、一応Macも作っとく。 Gruntfile.coffeeはこんな感じ。appディレクトリに集めたファイルをパッケージング。 module.exports = (grunt) -> pkg = grunt.file.readJSON 'package.json' .........…

node-webkit特有の問題にはまった

node-webkitでアプリを開発していて、node-webkitの環境ならでは?の問題にはまったのでメモ。 前提 % bower install eonasdan-bootstrap-datetimepicker --save nodeのcontextではなくJavaScriptのcontextでの話。 アプリでbootstrap 3対応のdatetimepicker…

WebStormでnode-webkitをデバッグする

WebStorm 8.0.1以上、package.json等作成済みとして話を進める。 メニューのRunからEdit Configurations…を選択 node-webkitを追加 アプリの場所を指定。グローバルに入れたnode-webkitではなく、npmでプロジェクト下に入れたnode-webkitを指定する場合はint…

Node.jsの管理をhomebrewからnodebrewに変更

npmでglobalにインストールしたtypescriptとbowerを削除。 % npm uninstall -g bower % npm uninstall -g typescript npmを削除 % npm uninstall -g npm Node.jsを削除 brew uninstall node nodebrewをインストール % curl -L git.io/nodebrew | perl - setu…

TypeScriptリファレンス Ver.1.0対応のサンプルコードで--noImplicitAnyをつけて(略

備忘。TypeScriptリファレンス Ver.1.0対応のコールシグネチャのリスト6.56で--noImplicitAnyをつけてる場合。 function db(operation: string, key: string, value?: any): any { if (!db.data) { db.data = {}; } var data = db.data; var oldValue: any; …

TypeScriptリファレンス Ver1.0対応 4-4 Enumのサンプルコードで--noiImplicitAnyをつけてるとコンパイルエラー

TypeScriptリファレンス Ver.1.0対応の4-4 Enumのサンプルコードでtscに--noImplicitAnyをつけてるとコンパイルエラー。 enum Suit { Spade, Heart, Club, Diamond } var s1: Suit = Suit.Spade; var s2: number = s1; var s3: string = Suit[s2]; var s4: n…

WebStormでTypeScript開発時に"Accessors are only when targeting EcmaScript5 and higher."とコンパイルエラー

アクセサ書いたらコンパイルエラーに。 error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. アクセサはECMAScript 5のObject.definePropertyを使ってるからと。 Preferences -> Project Settings -> File Watchersでtypes…

WebStormでTypeScript開発時にtscに--noImplicitAnyオプションを付ける

Preferences -> Project Settings -> File Watchers TypeScriptを選んで編集 Argumentsに --noImplicitAnyを追加 暗黙的なanyをコンパイルエラーにしてくれるようになったか確認。 function hello(word) { return"Hello, " + word; } OK.

werckerでS3に自動でデプロイしていた静的サイトをjekyllからmiddlemanに変更した

先日書いたこれですが、jekyllからmiddlemanに変更しました。 一緒に作業する非プログラマな方にSlimを見せてみたところ、慣れれば大丈夫そうとの返事をいただいたので 、テンプレートエンジンもLiquidからSlimに変更。 Liquidといっても部分テンプレートの…

Amazon Route 53でのCNAMEの設定をミスっていてスマートフォンからウェブサイトにアクセスできなくなっていた

備忘録として恥を晒しておきます。 自サイトにBootstrap 3を入れてスマートフォン対応しました。 で、おもむろにAndroidで確認しようとしたらWeb Page Not Availableとでて、あれ?スマートフォンから名前を引けてない? katahirado.jpでアクセスすると、リ…

Middlemanでgemをvendor/bundleにインストールしたプロジェクトをRubyMine 6.3で開いたらエラーメッセージが出まくってまともに編集できない

こんなメッセージが出まくります。 Compass: Failed to run compass on '/Users/my_account/RubymineProjects/slim-test/vendor/bundle/gems/middleman-core-3.3.2/fixtures/sinatra-app/config.rb' ファイルをちょっと編集するたびにこれが出まくり、しばら…

Bitbucketでリポジトリの移譲を行ったらwerckerに登録したAWSの設定が消えた

昨日エントリーしたBitbucketにpushすると、werckerが自動でS3にデプロイする のやつですが、werckerに登録した自分のリポジトリを、チーム作ってそっちに移譲したら、werckerのサイトで設定したAWSのキーID,シークレット、バケットURLの設定が消えました。 …

Bitbucketのプライベートリポジトリで管理しているJekyllで作った静的サイトを、無料のCIサービスwerckerを使って自動でS3にデプロイする

先日S3に移行した片平堂のサイトですが、Jekyll、Bitbucketのプライベートリポジトリ、CIサービスのwerckerを利用して、リポジトリにpushしたら自動でS3に反映するようにしました。 なお、静的サイトジェネレータはMiddlemanとJekyllで迷ったのですが、非プ…

Google フォームから入力された内容をメール送信する

前に Google ドキュメントで作成したWEBフォームに問い合わせがあったら、内容をメール送信する機能を追加する という記事を書いたのですが、 2014年4月25日現在、Google フォームを作成すると、フォームとその回答用のスプレッドシートが別に作成されるよう…

RubyMineやWebStormで勝手に行末尾の空白を消されないようにする

RubyMineやWebStormで、README.md等のMarkdown記法のスペース2個を消されてしまわないようにする設定のメモ。 RubyMineやWebStormはあまりカスタマイズしないで使っていて、バージョン上げても設定を引き継がないようにしているので、バージョン上げるたびに…

Rails 4.0.4 から 4.1.0 に Update

こんな感じに作業。 ↓ https://github.com/katahirado/kkfoodstuff/commit/7aca5b2986e26e88a78d7d58bc041ed97cba5e9e https://github.com/katahirado/kkfoodstuff/commit/a0c49840145587336b52cb2d56ba71f1dda1e84c Warning: you should require 'minitest/…