俺でもできるもんな

独立系SI企業から完全異業種のベンチャー企業に転職、社内のITインフラを整えるべく颯爽と登場した自称天才プログラマー俺のハートフルブログ

Rails migration decimalカラムをデフォルトで作成すると小数点以下が0桁になるから気をつけよう

decimalをデフォルトで作成すると小数点以下が入力できない 例えば重さを保存するカラムを作る場合はmigrationファイルにこんな感じで書きますよね? class CreateHoges < ActiveRecord::Migration[5.1] def change create_table :hoges do |t| t.decimal :w…

Redmine チケットの文中に画像プレビューを載せる裏技

Redmineのチケットに画像プレビューをつけたい時ってありますよね? Redmineで「こんな感じにお願い!」、「ここ変になってるよ!」などを伝える際に実際のスクリーンショットや写真があったほうが断然わかりやすいのは言うまでもありません。 ↓イメージ↓ し…

Rails 多言語化対応 Model編

はじめに 今後のサービス化していくシステムは多言語化対応が必須となってきます。 なので、多言語化の方針と記述方法を簡単にまとめたので目を通してください。 View編を先に一読ください↓ Rails 多言語化対応 View編 参考サイト 以下のサイトを参考にしま…

Rails 多言語化対応 View編

はじめに このグローバル社会! 開発するサービスによっては多言語化対応が必要になりますよね? 今回自社の開発で多言語化対応をしたので簡単ではありますが導入を紹介します。 View編を先に一読ください↓ Rails 多言語化対応 View編 参考サイト 以下のサイ…

Git 間違ってaddしてしまったものを取り消す方法

Git

はじめに 軽快にaddしていた時に間違ってaddする必要もないものをaddしてしまった経験はないでしょうか? $ git add -p 「y」、「Enter」、「y」、「Enter」、「y」、「Enter」….あっ(察し) 僕はよくあります。 そんな時にaddを取り消す方法を共有します。…

Rails kaminariを使用したページネーションにBootstrapデザインを適用させる

前提環境 RoRプロジェクト プロジェクトにBootstrapの環境が整っている プロジェクトにkaminariでページネーションが生成できる環境が整っている kaminariを用いたページネーションのソースはとてもシンプル <%= paginate @pagination %> このどこにBootstra…

Rails MySQLを使用するアプリケーションでMSSQLServreにも接続する

カオスじゃないかこれは 前提条件 新アプリケーションではRails + MySQLを使用する。 既存のアプリケーションはSQLServreを使用している。 SQLServreはWindowsServerに配置されている。 実現したいこと 新アプリケーションで登録があった場合、 新アプリケー…

Rails migrationでintegerを使う時の注意点〜integerのlimitはバイト数だった〜

limitの定義に注意 マイグレーションファイルでintegerのカラムにlimitを定義する際に注意しないといけないことがある。 integerのlimitとstringのlimitでは意味合いが違う 例えば以下のように記述する。 t.integer :num, limit: 11, null: false, comment: …

Unicorn+Nginx+Rails タイムアウトの設定方法

やりたいこと サーバーのデフォルトタイムアウトが60秒に設定されていた。 スクレイピングやバッチサーバーでは60秒以内に完了しないものが多いのでタイムアウトの時間を設定したい。 設定方法 NginxとUnicornのタイムアウト値を設定する必要がある。 Unicor…

Unicorn+Nginx+Rails サーバが起動できない場合の対処法

事象 Unicorn+Nginx+Rails サーバが起動できない 以下のコマンドでエラーとなった bundle exec unicorn_rails -c config/unicorn.rb -E development -D エラー内容は以下 F, [2017-06-14T16:45:08.020588 #20655] FATAL -- : error adding listener addr=/pr…

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

はじめに 弊社プロジェクトでRSpecを導入することになったので、 そのノウハウをとりあえず共有。 必須設定 基本的にGemを追加するだけで使用可能 Gemの追加 group :development, :test do gem "rspec-rails" gem "factory_girl_rails" gem "guard-rspec" ge…

AWS Summit Tokyo 2017 Day4で感じたこと

基調講演は10:00開始だぞ☆その2 今日はちゃんと間に合いましたよ! 茂木さんの講演が聞きたかったので午前だけ出席しました。 とりあえず人がすごい! まあこれは今日に限ったことではないですが、 基調講演ってこんなでかいところ埋まるんですね。 そりゃそ…

AWS Summit Tokyo 2017 Day3で感じたこと

基調講演は10:00開始だぞ☆ なぜか10:30開始だと思っていた僕は、家を出る前に10:00開始だということに気づいた。 「…..うん。事務所行って午前は普通に仕事しよう。」 機械学習系のセッション全然わからん! [スマートニュース] 大規模広告クリック率予測シ…

AWS Summit Tokyo 2017 Day2で感じたこと

AWS Summit Tokyo 2017 Day2 行ってきました! 詳細は後日ゆっくり書くとして感じたことをサササーっと! 人がめっちゃおった 右を見ても左を見ても上を見ても下を見ても人がいた!! 当たり前か。 普段愛媛にいる僕としてはストレスマッハだったぞ! ぱっと…

MySQL TRUNCATEで数値を切り捨てる

1の位を切り捨てたい 1234.56 のような数値を1230に丸めたい! ググってみると、TRUNCATE()という関数がありました。 しかし、TRUNCATEといえばTRUNCATE TABLE。(僕の中では) 全部消えるのでは? いや、全然そんなことなかったです。 MySQLリファレンスは…

ブログ開始から半年!どの記事が多く読まれてるのか分析してみた

ブログ開始から半年の実績 投稿数は31 1ヶ月を30日とすると 30 * 6 / 31 ≒ 5.8 おおよそ6日に1回は投稿している計算となる。 閲覧者数は1360 1ヶ月を30日とすると 1360 / (30 * 6) ≒ 7.5 おおよそ1日に7人が見に来てくれている計算となる。 アクセス元 Googl…

Mission Controlのデスクトップの順番が勝手に変わる件についての対処法

Mac

Mission Controlのデスクトップってなに? 文字面だけではわかりにくいですが、 ここのことです 僕は、左から「ブラウザ」、「エディタ」、「コミュニケーション」、「空」の並びに固定しておきたいのです。 Macで開発やっている人であればこの微妙な不便さ…

プロジェクトスタートアップ決め事

注意 これは、社内向けに作った資料の一つです。 あくまでも弊社での決め事で業界のスタンダートではないです。 はじめに システム開発においてプロジェクトのスタートアップ時に、 「しっかり決めておかないと始まらない」 もしくは、 「いつか後悔すること…

6泊7日で分かった東京出張リモートワークの難しさ

正社員は松山に自分一人 うちの会社は渋谷に支社があり、 非正社員の開発メンバーは東京で働いてもらっています。 ん?なんで?と思う方もいるでしょう。 松山でPGを募集しても全然応募こないのです。 メンバー全員稼働日がバラバラ 開発メンバーは自分合わ…

jQuery 「↓」、「↑」キーでinputのフォーカスを移動させる

何がやりたいか 縦にテキストボックスが並んでいるフォームがあるとします <table> <tr> <td> <input type="text" class="sample-input" id="sample64"> </td> <tr> <tr> <td> <input type="text" class="sample-input" id="sample256"> </td> <tr> <tr> <td> <input type="text" class="sample-input" id="sample512"> </td> <tr> <tr> <td> </td></tr></tr></tr></tr></tr></tr></tr></table>

Youtuberデビュー!?ライブコーディングやってみた

ライブコーディングやろうやろうと思ってたんです oredeki.hatenablog.com この記事でも言ってましたが、 人に見てもらうことでいいところ悪いところ見えてくると思うし、 初心者の方がコーディングってどんな雰囲気なのか感じてくれたら嬉しいなーって。 ど…

アニメ「SHIROBAKO」に学ぶ技術者のチームワーク

SHIROBAKOとは 『SHIROBAKO』(シロバコ)は、P.A.WORKS制作、水島努監督による、 2014年制作の日本のオリジナルテレビアニメーション作品。 2011年制作の『花咲くいろは』に続く「働く女の子シリーズ」第2弾。 制作進行・アニメーター・声優・3DCGクリエイ…

「サラダチキンは温めません!」コンビニで起きた謎の出来事

あ…ありのまま 今 起こった事を話すぜ! ファミマにサラダチキンとタバコ買いに行った。 ソフトバンクカード(Tポイント付きクレジットのようなもの)で会計しようとした。 サラダチキンをTポイントで会計され、更にタバコを現金支払いにされた。 ん? 更に…

初心者向けにライブコーディングしようかなと思いますねえ

男子中高生がなりたい職業の1位が「Youtuber」を抑えて「ITエンジニア」らしい。 www.itmedia.co.jp なるほど。 ウェルカムですよね。 中高生がITエンジニアにどんなイメージを持っているのか知らないですが、 SIer系ではなく本当のエンジニアに向かっていっ…

EC2-ローカル間でのファイル転送

3行で分かるあらすじ EC2内でエクスポートしたsqlファイルをローカルに転送させたかった。 FileZillaでSFTPを使って転送しようとしたが、なぜかsqlファイルが表示されなかった。 表示されない原因調べるのも馬鹿らしいのでscpで転送した。 環境 ローカル:M…

Gitさん...俺はファイルのパーミッションを変更させたくないんだ

Git

何が起きたのか チェックアウトする度にファイルのパーミッションが書き換わって画像の上書き保存ができない!! 仕方ないから毎回毎回毎回毎回chmodしてたけど、もう限界なんです… パーミッション変更を無視する設定があった core.filemodeをfalseにすれば…

フリーランスは儲けるの?リスクの方がでかそうに思えるよ俺には

これ読んでたんですね Qiita の Increments を退職します ふーんそうなんだーくらいな感じで読んでたんですけど最後に フリーランスになる相談をした人からの、「お前は名前が売れてるから安く受けると全体の迷惑で、人月1xx万以下では仕事を受けるな」とい…

ナウいドキュメントって何で書くの?誰か教えて!

上流工程のドキュメントを書かなければ(使命感) そろそろ弊社の新規プロジェクト始動のため、システムの設計をしなくちゃいけません。 要求定義〜詳細設計まで今回はしっかりドキュメントを用意して製造に入りたいです!! 前の会社では システムのドキュ…

jQueryで動的に追加した要素はクリックイベントが発火しない?いやそんなことはないぞ

知ってるよって? 知ってる人には当たり前、でも知らない人はかなり躓くんだよ! 事象 こんなボタンを作るじゃろ <div class="btn-area"> <button type="button" class="add-btn">ボタン1</button> </div> こんなスクリプトを設定するじゃろ (自分のボタンナンバー+1のボタンを作成) $(".add-btn").on("click", function () { var num =…

人気が出るコンテンツが作りたい〜草案〜

ちょっと前に流行った? Amazonで買ったものの総額がわかるブックマークレット ふむふむふむ… qiita.com 面白い!よし!これだ! 何がこれなのか PhantomJSを使って何かやりたいなー。 なんか人気が出るコンテンツとか作ってみたいなー。 ….ええやんけ。 考…

CodeIgniter URIパスとセグメントをごにょる

こんなバグがあった 画面概要 検索フォーム付きの一覧画面がある。 仮にこのページのURLを「/seach/list」とする。 このページのページネーション用パラメータは /seach/list/2 /seach/list/3 というふうに後ろにつく。 検索用パラメータはセッションに保存…

CSS フォーム内で文字変換した時に文字が消える!?

CSS

Qiita記事はこちら そんなバカな…. 消えとるぅー!! 原因は「::selection」 ::selectionってのは selection みたいに背景色と文字色を指定したら 普通こうなるのが こうなる。カッコイイ? フォーム内で文字変換した時にこの文字色のスタイルがかかるらしい。…

jQuery .each()のループはbreakじゃ抜けれない

今更だけどjQueryの.each()は「break」じゃ抜けれないんですって いつものノリで「break」って書いたらエラーが出た。 え?breakじゃないの??? jQueryの.each()は「return false」で抜けるらしいこれが正解らしい。 breakjs 因みにcontinueしたい場合は「…

PHP CodeIgniter ファイルをフォルダ分けしてZIP圧縮する

タイトルの通りファイルをフォルダ分けしてZIP圧縮するロジックです。 zip_folder 今回はWeb上にある画像をフォルダに分けてZIPにしましたが、ローカルファイルでもそんなに変わらない処理になるでしょう。

Git ブランチの「作成」->「チェックアウト」をワンラインで実行する方法

Git

通常のコマンド gitでbranchを作成してそのbranchをcheckoutする場合には通常以下の2工程が必要となります。 makeBranchAndCheckout ワンラインのコマンド branchの作成、checkoutをセットで行いたい場合は以下のコマンドを使うとスマートです。 oneLine 参…

Amazon MWS ASINを指定して最安値を取得する

MWS

この記事は、 Amazon Marketplace Web Service (Amazon MWS) Advent Calendar 2016 - Qiita 17日目の記事です。 商品の最安値を調べるってのはリサーチの基本だよね。 今回はASINを指定して最安値を取得するアクションの紹介をしようと思う。 知ってるよそん…

Amazon MWS 最新のInventoryレポートを取得するだけでも、なんとAPIを4回叩く必要がある

MWS

どういうこと 最新のInventoryレポートを取得するだけでも、なんとAPIを4回叩く必要がある。 セラーセントラルのInventoryマネージャーを使ったことがある人であればイメージできると思うけど、 セラーセントラルからレポートを取得する場合は レポート作成…

Amazon MWS 商品のMerchant FBA 切り替え

MWS

この記事は、 Amazon Marketplace Web Service (Amazon MWS) Advent Calendar 2016 10日目の記事です。 MWSでマケプレで売ってる商品をFBAにぶっこんだり、その逆をやったりする話。 APIはどれを使う Action:SubmitFeed SubmitFeed FeedType:在庫フィード…

JQuery JavaScript チェックボックスでチェックが入っているものだけ処理

チェックされているもののみ処理がしたいときって結構あるやん? どうやってeach回せばいいか、どうやってチェック済みのものだけ処理するかたまにわからんなるよね。 JQery CheckBox Each

AWS RDS MySQLのストレージが不足してきたらテーブルの最適化をしたほうがいい

AWS RDSのFree Strage Spaceが枯渇してきた。 何もしなかったらどんどんなくなっていく。 昨日ついにキャパオーバーしてDBに接続できんなってしもた... ストレージの割り当てを最低の5Gから10Gにとりあえず変更したら動いてくれた。 でもでも、ストレージを…

PHP Codeigniter セッションを使う

PHP Codeigniterでセッション使いたいわーってなったので とりあえず1つの値をセッションに保存->取得する方法 codeigniter use session

Git ローカルのブランチを消す

Git

Gitを使っていてgit branchしたらブランチがばーーっと100個くらい出てきて「これもうわかんねえな...」てなったのでローカルブランチを消した。 コマンド delete local branch みんなブランチ増えて行っても消さないのかなー。

Amazon MWS ConditionNoteを変更する

MWS

ConditionNoteてどれよ ここのこと 商品の状態とか仕入れの状態とかカテゴリーとかによって変えたい時があるよね APIはどれを使う Action:SubmitFeed SubmitFeed FeedType:商品フィード(_POST_PRODUCT_DATA_) FeedType列挙子 サンプル MWS ItemFeedSubmi…

linuxのコマンドでメモリ使用率順にプロセスを表示させる

CPUとかメモリ使用量が見えるよ linux memory desc command まあそれだけ

ちょっとしたSEO対策

SEOってのはSearch Engine Optimizationの略で検索エンジン最適化ってやつです。 検索エンジン最適化 - Wikipedia 検索エンジン最適化とか言われてもピンとこない人は多いと思う。俺もそうだったから。 要は、Googleとかで検索するときに1ページ目とか上位に…

ブログにGoogle Analyticsを設定しよう

とりあえずこのブログにGoogle Analiticsを埋め込んでおこうと思う。 埋め込み手順 ブログ管理画面から[設定]→[詳細設定]と移動 以下のようなフォームがあることを確認 Googke Analiticsへ移動し、サイトの登録を進める。(要Googleアカウント) -スクショ撮…

ゼロ日坊主にはならなかった

とりあえず今日ブログを設立すると意気込んだので目標は達成できた! 継続することは苦手、めんどくさいことは嫌いやけど 数行の投稿でもいいから定期的に投稿していきたいと考えている。 自分を変えたいからね。 因みにこのブログ 技術ブログです。IT系の。…