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

Shiho's engineering blog

誰でもみれるノートのようなもの

font-awesomeに飽きたら使いたい、いろいろなアイコン

リンク末尾のハッシュの値によって開くタブを変える【Bootstrap, jQuery】

ウェブブライザごとの仕様をオフにするstylesheet #随時追記

【Carrierwave, devise, omniauth, Rails】なぜかユーザーが作成できない時のデバッグ方法

pry.binding でエラー箇所確認 User.createでエラーが出ていると判明 User.create! に直してエラー文表示 imageMagickのローカルPCへの未インストールが原因だった

【新型mac関連】周辺機器の規格についてまとめ【USB-C、thunderbolt、HDMI、DVI、VGA、その他色々なUSB規格】

新しいmacbook12inchにして、初めてパソコン周辺機器の規格を意識した人も多いのでは。新型macを取り巻く、いろんな規格と経緯についてまとめてみました。

ボタンを押したらスクロールダウンが始まり、指定の位置まで下がっていく実装をデザインまで[javascript, jQuery, css]

被扶養者だった学生がいきなり起業するときのお金のことまとめ【税務署への届け出・社会保険・会計ソフト・法人口座開設・役員報酬・Mac購入は経費になるのか】

学生として親の扶養に入っていた自分が、法人登記をするにあたって調べたことのまとめです。基本的には自分用まとめなので、見にくいかもです。

いろいろなjQueryプラグイン

よく使われるフロントライブラリを集めてみた。 あくまで「使う」ではなく、「読める」「適切な位置に置く」ための参考程度の情報。

herokuでmysqlを使う

git で100MB超えファイルをcommit してしまい push reject された時

たとえばvendor/bundle以下のgemファイルを全部コミットしてしまった!といった場合。

ストアとかで買ったhtmlテンプレートをrailsプロジェクトに埋め込む

Themeforestとか、bootstrapwrapなどのテンプレートサイトで購入したテンプレートを、railsで埋め込む際のTips。

【Rails, ajax】remote:true なリンクでデータベース操作とビューの書き換えをやる【noticeも出す】

基本 前提: users_controller.rbのactivate_userアクションにおいて、ajaxを使う ajaxとは何か:WEBブラウザに実装されているJavaScriptのHTTP通信機能使って、Webページのリロードを伴わずにサーバーとデータのやりとりを行う処理。asynchronous JavaScrip…

herokuでカスタムエラーページ&メンテナンスモード

javascriptイベントで作成した要素に対してonイベントが効かない

対処法:動的に変化する要素のイベントは、変化しない親の要素に仕込む。

rails メール一斉送信 #自分用メモ

/tmp/users.csv にデータを出力 SELECT * FROM users INTO OUTFILE ‘/tmp/users.csv’ FIELDS TERMINATED BY ‘,’ OPTIONALLY ENCLOSED BY ‘“’; 一斉送信 User.all.each do |user| MessageMailer.send_diffusion(@message, user).deliver! end 管理画面からメ…

railsの画像はどこに置くのが良いのか?

どう選ぶのか 結論、assetのコンパイル対象にしたいならassets以下、ブラウザのキャッシュコントロールのためのバージョン管理化に置かれなくていいならpublic以下に置くと良い。 基本的にはシステム側で作る画像はassets以下、ユーザー側のアップロードする…

かんたん自作シェアボタン | Ruby で動的にツイート内容を変える

Ruby で日本語を含む文字列を扱うために、URLモジュールを入れる ブラウザは、URLにエスケープされた文字列が含まれていた場合それを展開して表示するが、通信するときはエンコードしている。そのため、a href =“"に入れる日本語はエンコードしておく。

delayed_job

※ githubの重点箇所を英訳。 delayed_job 3.0.0は Rails 3.0以上しかサポートしていないのに注意。 delayed_job を Active Recordで使いたいなら, delayed_job_active_record をGemfileに加える. gem 'delayed_job_active_record' Active Record バックエン…

すごいシンプルなログインなしセッションでのユーザー情報保存機能【rails】自分用メモ

シチュエーション クイズアプリで、わざわざログインさせたくないけど10分間くらいユーザー情報を保存して(次の問いに繋げるといったことをして)いたい。 ECサイトのカートに入れる機能 ECサイトのお気に入り機能 投票機能で、同一セッションで多重投票さ…

rubyのバージョンを2.4.0に上げてRails 5を導入【自分用メモ】

ruby はバージョンを上げるほど高速になりますし、ruby 最新版を使うためにはrailsアップグレードも必要です。

Deviseで管理者が承認したらユーザーのアカウントをアクティベートする実装【Rails】

userカラムにapprovedを足す class AddApprovedToUser < ActiveRecord::Migration def self.up add_column :users, :approved, :boolean, :default => false, :null => false add_index :users, :approved end def self.down remove_index :users, :approved…

私のSanDisk16GBが唐突に壊れて思い出の写真が消えたがMini_Tool_Recoveryのおかげで復旧できた話

意気揚々と、SDカードをmacに入れた私。 だがしかし、「なんか読みとれないよ」的な文章が現れる。 macの「写真」アプリも起動しない。 一眼レフにセットした状態ではプレビューできるのにな〜と思い、 もう一度カメラに入れて見ようとしたところ… 「画像が…

女子大学生が法人設立(LLC)をしてきたので感想・苦労したことをまとめます

フリーランスとして請けていたweb制作ですが、だんだん規模が大きくなってきたのと、個人で開発しているウェブサービスもより本格的に運用していきたいとの思いから、法人化を行うことにしました。

letsencryptの更新が上手く行かなかった時のメモ。自動化までの道のり【rails, nginx,AWS,capistrano環境】

既存のletsencryptディレクトリを消しやり直す letsencryptの更新が上手く行かなかった時のメモ。 新しく認証し直す。 まず /etc/letsencrypt/ ディレクトリを削除。 sudo git clone https://github.com/letsencrypt/letsencrypt /usr/local/letsencrypt sud…

君が22歳なら、人生の7割はもう終わっている【ジャネーの法則】

思うところがあったので、きょうは技術メモ以外のトピックを書く。 私は死に焦りを持たない若い人が苦手だ。 人間が時間を測る基準なんで、年といった単位に特に意味はなくて、究極的には体感でしか測ることができない。1000年の重みを私たちは 1生、知るこ…

Railsアプリで自動でURLが含まれたテキストのURLにリンクを貼ってくれるようにしたい

正規表現でやろうかと思いきやセキュリティ的にアレだったりするのかもしれないしgemを利用することにした。 gem で解決 rails_autolink というgem rinkuというgem がある。 <%= raw Rinku.auto_link(h(some_text)) %> 参考 ria10.hatenablog.com qa.atmarki…

railsからfacebookにnotification APIで通知を送る

頻繁にユーザーが見るfacebookに通知を送る方法。 jp.techcrunch.com https://graph.facebook.com/{recipient_userid}/notifications?access_token={application_access_token}&template={Your_Message}&href={URL_to_your_app_or_request} にPOSTする。 2つ…

herokuをletsencrypt使って無料で簡単にSSL化しよう

heroku のSSL化の記事はたくさんあるが、とにかく正確な「最新」の日本語情報がすくない。あとローカルでやる作業か否かがわかりにくい。ので、需要あるかと思いメモします。 ※ heroku でSSLを使用するには$20/month のアドオンSSL endpointを使わなくてはい…

ローカルのmysqlでdumpファイルを作りheroku本番環境に流し込む

AWSからherokuに移行するときに必要だった作業。 ダンプとは、デバッグやデータ修復のために、ファイルやメモリの内容をディスクに出力(記録、あるいは表示)すること。 ダンプをつくる mysqldump -u ユーザ名 -p DB名 > 出力先ファイル名 で特定データベース…

Processing入門 ③キーボードやマウスから値を受け取って操作する、画像を表示してフィルターをかける、合成する

キーボードとマウス キーボードのアクションといったイベントにトリガーさせられる。 keyPressed() :キーが1つでも押されているとtrue。 key: 最後に押されたキーを表す文字 keyTyped(): キーが押されるたびに呼び出される関数 (CTRLキー等は除く) keyReleas…

Processing 入門② マウスに反応させインタラクティブに図形を作る、フェードイン、文字の表示

マウスの位置に反応させるには mouseX, mouseYの変数に自動的にその座標が割り当てられる. 簡単! ホバーさせてる位置に図形を描いてみる。 void setup(){ size(855,480); background(0,0,0); frameRate(10); // the less it is , the slower drawing become…

Processing 入門① 動きまくる円を作ってみた

つねづねやってみたかったprocessingをついにいじってみました。 プログラミング初心者でも大丈夫!Processingでデジタルアートを作ろう | 株式会社LIG を参考に基本的なファンクションを押さえます。 setup() 初期設定 背景色 画面サイズなど size([よこ], …

ビジュアルプログラミングツール vvvv についてまとめ

ふとしたきっかけで中村勇吾さんの出演した番組を見て、アート系プログラミングのツールについて調べようと思った。 6mirai.tokyo-midtown.com アート系プログラミングツールといえば processingしか知らなかったけれど、 vvvvという直感的にノンプログラマ…

今あるデータベースからseed-fu gemを利用してfixtureデータを作る

今あるデータベースからseed-fu gemを利用してfixtureデータを作る。 カテゴリの名前の取り込みなどに使うと便利。 rails consoleで SeedFu::Writer.write('db/fixtures/user.rb',{ class_name: ‘User'}) do |writer| User.all.each do |user| writer << use…

nginxでhttpアクセスをhttpsにリダイレクトする設定にして反映する

qiita.com を参考に sudo vim /etc/nginx/conf.d/example.conf で server { listen 80; server_name example.com; return 301 https://$host$request_uri; } server { listen 443; ssl on; # ... } して、 sudo /etc/init.d/nginx reload で反映。 よくつか…

heroku トラブルシューティング

Precompiling assets failed. Push rejected, failed to compile Ruby app. '<%= %>'を(js.erbでない)jsファイルにて利用していたのが原因だった。 画像のみ404になる Rails.application.config.assets.paths でパスに画像を置いたディレクトリが含まれてい…

メタプログラミングを超ていねいにまとめる【第1章:オブジェクト指向、インスタンス変数、メソッド、定数、モジュール、クラスのメタプロ的な捉え方】

メタプログラミングとは何か 例1) ActiveRecord::Base 例2) オープンクラスとモンキーパッチ オープンクラスの問題点:モンキーパッチ クラスの真実 インスタンス変数 メソッド メソッドの名称を区分する:インスタンスメソッド クラスだってオブジェクトで…

bootstrap tagsinput と typeahead.js で予測機能つきのタグ入力ボックスを作る

他の人がどんな入力をしたかを確認しつつ、ユーザーがタグを登録できたら使い勝手が良いと思って調べてみた。 qiita.com を参考に、 typeahead.jsは以下のバージョン0.9.3を使用。 Kingboard/typeahead.js at master · Kingboard/Kingboard · GitHub CSSは以…

Heroku×Railsまとめ

基本はAWSでRailsアプリを運用することが多かったのですが、 インフラ面に割く時間を減らしてアプリケーション開発自体に集中したいな、herokuでも東京リージョン使えるようになったらしいしな... ということで、いろいろ調べてみたまとめです。 herokuは「…

BowerをRailsプロジェクトに導入する

Bowerとはなにか Railsで外部JavaScriptライブラリなどのAssetを管理するなら、bower-railsが便利 | mah365 javascriptの世界の管理ツール。Rubyの世界のBundlerのようなもの。Railsで手軽に使えるようにしたのがbower-railsというgem。 Bower入門(基礎編) -…

文系大学生がどうゼロから実務レベルまでプログラミングを勉強したか

自分がどうやって勉強したかについて詳しく振り返ろうと思います。なかなかに恐縮ですが誰かの参考になれば......。 私は大学1年次にプログラミングを学びたくなって、まずprogateというゲーム感覚で学べるサイトで html (webの設計図のようなもの) CSS (デ…

非エンジニアが管理しやすいRuby on Railsアプリの作り方を考える[wordpress/CMS/ブログシステム]

受託開発をするにあたって、気をつけなくてはいけないのが、管理画面の非エンジニアにとっての使い勝手の良さだ。 wordpressなみの管理画面の使用感を持ちつつ、Railsでスケーラブルな構成にするためにはどうしたらいいかちょっと調べてみた。 1. wordpress …