Ubuntu16.04 日本語入力設定

1.im-configで入力切替 $ im-config -n fcitx2.画面右上のキーボードアイコン で「再起動」を選択 3.同じくキーボードアイコンから「設定」を選択 4.設定画面にて下記順に並び替え ・キーボード-日本語 ・Mozc

【Larabel】migration reset時に外部キー制約エラーが発生

php artisan migrate:refresh => [PDOException] SQLSTATE[23000]: Integrity constraint violation: 1217 Cannot delete or update a parent row: a foreign ke y constraint fails 外部キー制約が原因でドロップできないエラー。 対策としては一時的に外部…

【Larabel】assetの読み込みを追加

Larabelではassetはデフォルトでpublic直下を参照しているため js,cssファイルに関してはpublic直下にディレクトリを切ると良い。 $ tree public public ├── css // 追加 ├── favicon.ico ├── index.php ├── javascript // 追加 ├── robots.txt └── web.conf…

【Larabel】FormHelperの生成

今回は下記のコード中の削除リンク部分をFormHelperとしてパーツ化する。 // resources/views/books/show.blade.php @extends('layout') @section('content') {{$book->title}} {!! Form::open(['method' => 'delete', 'url' => ['books', $book->id]]) !!} <input type='submit' value='削除'>…

【Laravel】DB接続設定

MySQLをインストール brew install mysqlインストール後、ログインして新規にDBを生成。 mysql -u root -p -- 新規DB生成 CREATE DATABASE TEST_DB;今回は面倒なのでユーザーはrootを使う。 ユーザーを作りたい方は以下を.... -- ユーザーを生成し、データベ…

【JQuery】IE8対応 テーブルヘッダ固定スクリプト

$.fn.fixedTable = function(){ var $table = $(this), $thead = $table.find('thead'), $tbody = $table.find('tbody'); //元テーブル横幅保存用 var thead_cell_widthes = []; var $clone_table = $table.clone(); $clone_table.find('tbody').remove(); $…

【JavaScript】Array loop処理

Arrayオブジェクトのループ処理の種類をよく忘れるのでメモ 一つでも条件を満たすか判定 ['10','20','30'].some(function(value){ return value.match(/^1/); }) //⇒true 全ての条件を満たすかを判定 ['10','20','30'].every(function(value){ return value.…

【Rails4】オープンクラスを定義する

今回は'false' または 'true' の文字列をboolean型に変換するメソッドを実装lib/open/string.rb class String def to_bool #TRUE FALSEにも対応 esp = self.downcase return true if esp == 'true' return false if esp == 'false' raise ArgumentError.new(…

【Rails4】json_spec で JSONのテスト 及び MultiJson::ParseError対応

json_spec導入Gemfile gem 'json_spec' spec/spec_helper.rb RSpec.configure do |config| #JSON検査 config.include JsonSpec::Helpers : : 検証 以下のJSONを検証する(kaminari APIより抜粋) "meta":{"current-page":1,"next-page":2,"prev-page":null,"to…

【Rails4】kaminariをAPIで利用する

ページネーション用Gemで有名なkaminari。 ただ、使い方を調べてもAPIでの利用方法が見つからなかったので記載。前提 サンプルとしてTodoをJSONで渡すAPIを実装下記Gem導入済み ・kaminari ・active_model_serializersmodelの出力フォーマットをactive_model…

【Rails4】before_actionに引数を渡す

以下の様にbefore_actionに引数を渡した状態で定義してもエラーとなる。 before_action :test('hogehoge') これは以下の様に修正することで解決できる。 before_action -> { test('hogehoge') } フィルターを設定したい場合は以下の様に追記。 before_action…

【Rails4】Devise::MissingWarden エラーへの対処

RepecでControllerのテストを実行した際に発生。 以下エラー文Devise::MissingWarden: Devise could not find the `Warden::Proxy` instance on your request environment. Make sure that your application is loading Devise and Warden as expected and t…

【Java】SSL通信を実装する

環境 作業対象ファイル: C:\ssl JDKのパス: C:\Program Files\Java\jdk1.6.0_45\bin 対象のサーバー証明書名: sample.cerkeyStore と trustStoreとは? keystore: サーバーに送信するクライアントの証明書を格納するファイル。 trustStore: クライアント側が…

【javascript】ES6で導入されたclassにクラスメソッドを実装

ES6で導入されたclass記法は元々あった擬似クラス構文のシンタックスシュガー。 そのため、ES5時代の手法が そのまま転用できる。 class Person{ constructor(){ this.name = '山田太郎' } say(){ console.log(this.name); } } 今回定義したPersonクラスにク…

【Rails4】rails_adminで楽に管理画面を作ってみた

rails_adminを追加。 gem 'rails_admin'インストール後、設定ファイル生成。 $ bundle install $ rails g rails_admin:install設定ファイルの ==Device==の項目のコメントを外す。 config/initializers/rails_admin.rb RailsAdmin.config do |config| ### Po…

【Rails4】Deviseでユーザーを楽に管理する(更新・表示編)

前回に引き続きdeviceを使い今回はユーザー情報の更新処理を実装する。まずはeditにfirst_name,last_nameを追加。 app/views/devise/registrations/edit.html.slim h2 | Edit = resource_name.to_s.humanize = form_for(resource, as: resource_name, url: r…

【Rails4】Deviseでユーザーを楽に管理する

Gemfileに追記 gem 'devise' ジェネレータでdeviseをインストール $ bundle install $ bundle exec rails g devise:installユーザテーブルを作成 $ bundle exec rails generate devise Userこれだけだと独自に設定したいフィールドを追加できないためmigrati…

Reactで日本都道府県クイズを作ってみた

完成品github.com概要 ・47都道府県からランダムに県を出題 ・同じ県は出題されない ・出題中の県は黄色、正解した県は緑、間違った県は赤で表示される ・回答時点での成果率を表示する主要構成 React React-Bootstrap Prefectly ※今回はFluxは不使用紹介 : …

macにtreeコマンドを導入してみた

ディレクトリ階層確認時に便利なので入れておく。 $ brew install treeこんな感じに使える $ tree publicpublic/ ├── bundle.js ├── bundle.js.map ├── css └── js └── app.js

browserifyをGruntで自動化してみた

前回の記事で書いたbrowserifyをGruntを使って自動化する。 ohs30359.hatenablog.comコマンドラインインターフェースをインストール $ npm install -g grunt-cliGrunt本体 npm install grunt --save-devGrunt用のbrowserifyをインストール $ npm install gru…

browserifyでモジュール管理をしてみた

browserifyをインストールとりあえずグローバルで問題無い $ npm install -g browserify読み込み対象のsample.jsを作成 var Sample = function(){ console.log('required Sample'); } module.exports = Sample; 読み込み側のmain.jsを作成 var sample = requ…

React.jsで子から親へ イベントを通知する

親コンポーネントのメソッドをコールバック実行するメソッドを 子コンポーネントのpropsに設定するればイベントの通知が可能。まずイベントを発生させる子コンポーネントを定義する。 var CommentForm = React.createClass({ clickEvent(e){ var cast_value …

Express4 & React.js 環境を構築

React.js開発環境でググるとBabelとかnpm-scriptsやら色々出てきて 軽くお試しで作るのには色々と面倒なので簡単な環境構築をする。 ※ちなみにExpress4のテンプレートを利用します。とりあえず前提条件で以下のものは導入済みのこと ・npm ・node.jsreact-to…

Mongooseのラッパーを実装

Mongooseを色々触ってDRYじゃなくなってきたので、 前回のラッパーを改修+リファクタリング。細かいところは省略してコアだけを紹介。models/models.js var mongoose = require('mongoose'), Schema = mongoose.Schema; /*--------------------------------…

Mongoose用のラッパー的なものを書いてみた

前回の記事からリファクタリングしてみた。models/models.js var mongoose = require('mongoose'), Schema = mongoose.Schema; var ModelModule = function(){}; /** * ドキュメント作成 */ ModelModule.prototype.create = function(){ var ModelSchema = n…

NodeでMongooseを使ってみた

Expressをインストール。 今回はテンプレートを利用する。 $ npm install -g express-generator続いてmongooseをインストール。 $ npm install mongoosetodo という名前でプロジェクト作成。 $ express todoプロジェクトが生成されたら今回はUser管理は使わ…

Node.js で MongoDBに接続

MongoDBをインストール $ brew install mongodbインストール終了後、ログに従い以下を設定 $ ln -s /usr/local/opt/mongodb/*.plist ~/Library/LaunchAgents/ $ launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist $ mongod接続確認 $ m…

Node.jsで他のJSファイルを読み込む

Nodeではファイルごとに暗黙の名前空間が存在しており、 宣言した変数は外部から参照することは出来ない。 (グローバル変数に定義しても参照できない) ただし、exportsオブジェクトは例外であり、外部への参照を行う際には exportsオブジェクトのプロパテ…

Node.js で簡易サーバーを動かしてみた

server.js (function(){ var http = require('http'), path = require('path'), lookup = null, rootes = []; //Set Routes rootes.push({ routes : '', 'output' : 'root' }); rootes.push({ routes : 'test', 'output' : 'test' }); rootes.push({ routes …

JavascriptのDom操作用ライブラリを実装してみた

毎度同じようなDom操作をするのが面倒になったのでHelper的なライブラリを実装してみた。 インスタンスとして宣言しておくことで よく使うDOM操作を大体扱うことが出来る。 var App = {}; App.Helper={}; /**----------------------------------------------…

ControllerでModel.findを利用するときの注意点

テストしていて躓いたので記事にしておきます。よくある実装 ※色々省略してます。users_controller.rb def show getUser end private def getUser @user = User.find(params[:id]) end 実際はbeforeで一括しておくのが普通だとは思うんですが今回はこんな感…

Rspecでpry-byebugを使う

Rspecに慣れていないのでRspecのデバッグがしたかった。 なのでちょっと調べてみると普通に使えたので紹介。 require 'rails_helper' require 'pry-rails' #これを追記 RSpec.describe UsersController do↲ 考えてみれば当たり前だった....。 これでデバッグ…

Gemについて調べてみた

最近、Gemについて質問される機会があり何も答えられなかった。 『何も理解せずに便利だから使ってる』ってことを実感したので 今まで使っていたGemについて調べてみた。 ちなみに rails, jquery, Sqlite, Sass, cofee, rspec については流石に省略する ugli…

Javascriptでコーディングする際のポイント

1. プリミティブ型は値渡し、オブジェクト型は参照渡し var user = { "name" : "サンプルユーザー" }; var copy_user = user; copy_user.name = "更新ユーザー" //Object {name: "更新ユーザー"} user //Object {name: "更新ユーザー"} このように参照元に変…

RspecでModelをテスト

前回導入したRspecでテストを書いてみる。今回はUserのモデルを実装してテストする。さくっと... rails g model name:string login_id:string password:string次に規約を決める...テストなので凝らずにシンプルで。 name => ユニーク、必須入力 login_id => …

RailsにRspecを導入してみた

いい加減にTDDしないといけないと思っていたのでRspecを導入してみた。 ついでにshoulda-matchersも導入完了。Gemgile group :development, :test do #省略 #Rspec--------------------- gem 'rspec-rails' gem 'rspec-core' gem 'rspec-expectations' gem '…

下位10%のダメなエンジニアにだけ解けないパズル を解いてみた

サイトはこちら http://challenge-your-limits.herokuapp.com/ 実際に解いてみた訳だが難しい問題じゃない。 解答は載せないけど普通に解けるはず。 ちなみに3700番目のクリア。(一応証拠としてこのブロクのURLを登録しておいた) 一応パズル2も存在するよう…

HerokuにデプロイしたRailsアプリでPumaを使う

Herokuに初めてRailsアプリをデプロイしてみたけど異常に重い...。 調べてみると どうやらデフォルトのサーバーは推奨されていないらしい。 そこで今回はHerokuで推奨されているPumaを導入してみる。GenfileにPumaを追加 gem 'puma'続いてconfig直下にpuma.r…

Heroku のPostgreSQLにアクセスする

色々と詰まったので纏めておく。 まずPostgreSQLがインストールされているか確認。 which psql 存在していなければインストール。 brew install postgresql これでアクセスする準備が完了したのでアクセスしてみる。 heroku pg:psql 以下の表記が出れば成功 …

RailsからJavascriptにJSONデータを渡す

RailsからJavascriptにJSONを送ってみた。Gemfile gem 'gon' 追記後にbundle install。 後はheader部でインクルードしておく。 ※一応自分はassetをパーシャル化しているので自身の環境に合わせて下さい。app/views/layouts/_asset.html.erb <%= include_gon …

BootStrap3の横並びフォーム

BootStrap3のform-inlineではラベルがフォームの上に表示されない。 いや、出来るのかもしれないけど多分出来ないと思っている。調べても出てこないし時間が無駄に消費されるだけで埒が明かない。 なのでCSSで何とかしてしまうことにした。SCSS /* display:t…

Modelを削除する(テーブル含め)

RailsでModelとテーブルを削除する方法。まずはModelを削除。 rails d model xxxこれだけだと作成されたテーブルは残るので直接DBを消しにかかる。 rails dbconsole /* テーブルを確認 */ .table /* テーブル削除 */ drop table xxx; /* dbconsoleを終了 */ …

BootstrapとFont Awesomeを導入

いきなりだけど、自分にはデザインセンスというものが欠落している。 冗談抜きで欠片も存在しない。 なのでアプリケーションを作成すると冗談抜きで酷いものが出来上がる。こういう場合、デザインに強く更に協力的な友人か知人がいれば助かるわけだが、 そん…

Gemfile

現状使っているGefileの設定。 source 'https://rubygems.org' gem 'rails', '4.2.2' gem 'sqlite3' gem 'sass-rails', '~> 5.0' gem 'uglifier', '>= 1.3.0' gem 'coffee-rails', '~> 4.1.0' gem 'jquery-rails' gem 'turbolinks' gem 'jbuilder', '~> 2.0'…

疲れたので...

最近業務が忙しくて更新できない状態が続いてるので、 ちょっと一旦Railsから離れることにしました。 火消しが終わった頃にまた触れたらいいなぁ...という淡い希望を持ちつつ...

WebStorageでブラウザにデータを保存してみる

HTML5のWebStorageを触る機会があったので簡単なスクリプトを書いてみた。 /** * WebStorageのCRUDを行います * この関数ではオブジェクト宣言時にWebStorageオブジェクトをstorageObjectにコピーし、 * ページ遷移が行われた際にオブジェクトを再度WebStor…

uninitialized constant Capybara (NameError)

RailsTutorialで少し詰まったのでメモ bundle exec rspec spec/requests/static_pages_spec.rbで以下の様なエラーが発生 /Users/ohs30359/Desktop/Ruby/rails/sampleWork/spec/spec_helper.rb:26:in `block in <top (required)>': uninitialized constant Capybara (NameErro</top>…

nodeListオブジェクトをArrayオブジェクトに変換

nodeListオブジェクトは そのまま利用するとパフォーマンスが悪い。 なのでArrayオブジェクトに変換してから利用する方法を用いるのがベター。 var NodeArray ={ convert : function(nodeList){ var elements = Array.prototype.slice.call(nodeList); retur…

Gitコマンド

※随時更新新規にリポジトリ作成 git initコミット対象を指定 git add .コミット対象をコミット git commit -m "コミットメッセージ"コミットログを確認 git log最新のコミットした状態に戻す git reset --hard HEAD|

Rails開発環境構築

事前準備 Ruby RubyGem がインストール済み ちなみに この時のRubyのバージョンは2.2。 Railsをインストールさくっと一発 gem install rails --version 4.0.5RailsDocumentが結構重いので割りと時間が...インストールに成功していれば以下で確認できる。 rai…