americandog1993の日記

プログラマー歴半年のメモ

CakePHPでマイグレーションしてみる

mysqlに入って直接createせずにcakeコマンドでテーブルを作ってみる。 環境 CentOS7 CakePHP3 MySQL 5.7 マイグレーション ブログチュートリアルのarticlesテーブルをマイグレーションしてみる。 $ bin/cake bake migration CreateArticles id title:string …

MySQL日本語対応

初期設定で日本語をINSERTすると文字化けする。 環境 CentOS7 my.cnf設定 $ sudo vi /etc/my.cnf以下を加筆。 [mysql] default-character-set=utf8 [mysqld] character-set-server=utf8MySQL再起動。 $ sudo systemctl restart mysqld設定確認。 $ mysql -u …

CakePHP HerokuでHelloWorld

とりあえずHelloWorldまで。 環境 ローカル vagrant CentOS7 公開 Heroku ローカル環境構築 VirtualBoxのCentOS7にCakePHPを導入する - Qiita CakePHP環境構築。 HerokuToolbeltインストールにはrubyが必要 - americandog1993の日記 HerokuToolbeltも入れて…

HerokuToolbeltインストールにはrubyが必要

環境 vagrant CentOS7 エラー CentOS7にheroku toolbeltをインストール - Qiita これ見ながらphp開発環境でherokutoolbelt入れようとしたらエラー。 /usr/bin/env: ruby: そのようなファイルやディレクトリはありませんCloud9利用時やRoR開発では引っかから…

~/.ssh/configに接続先VPSを登録

環境 CentOS7 動機 $ ssh -p 22 user@xxx.xxx.xx.xx毎回これを打つのに嫌気が差してきたので。 接続先登録 .sshディレクトリ下のconfigファイルで設定できる。 自分の場合は最初の状態でconfigファイルがなかったので作成した。 $ sudo touch ~/.ssh/config …

ライブ中、観客がバンドにスマホで野次を飛ばせるWebアプリを作った

趣味でアマチュアロックバンドをやっている。 活動歴だけは無駄に長いが、無名のバンドなので、ライブでは客がシーンとしていることも少なくない。 MCでレスポンスを求めても、何も返ってこないことがよくある。それは、こちらの演奏とか、パフォーマンスと…

Herokuアプリにお名前comで取得したドメインを設定

Herokuアプリにドメイン設定 調べるとたくさん出てくるが記事ごとに言ってることが若干違う。 これはHerokuのドメイン設定方法が何度か変更されていることが原因と思う。 右往左往して結局Heroku公式ドキュメントを参考に設定できた。 本記事は2017年8月時点…

CakePHP ローカル環境からVPSにpush

ローカルCentOSからVPSCentOSへpushできるようにする - americandog1993の日記 基本の流れは昨日の記事と同じ。 今日はindex.htmlでなくCakePHPでチャレンジしてみる。 環境 ローカル Vagrant CentOS7 さくらのVPS CentOS7 両環境ともhttpd, firewall, PHP, …

ローカルCentOSからVPSCentOSへpushできるようにする

すごくハマって日曜日の夜潰したのでメモ。 環境 ローカル Vagrant CentOS7 さくらのVPS CentOS7 sshは設定済とする。 ローカル側はVPSへSSHログインするユーザで作業。 動機 VPSに直接SFTPアクセスしてファイル操作するのダサいからやめたい。 ローカル開発…

VPSでCakePHP③ MySQL設定

CakePHP導入段階ではDBとの接続が確立されていない。 ということでMySQL設定を進めていく。 MySQLにログイン まずは起動。 $ sudo systemctl start mysqld初期パスワードが生成されているので確認。 $ sudo cat /var/log/mysqld.log | grep 'password is gen…

VPSでCakePHP② CakePHP環境構築

VirtualBoxのCentOS7にCakePHPを導入する - Qiita ほとんどこの通りに進めればいけた。 Apache, git, unzipを入れる $ sudo yum -y install git unzip httpdhttpdはApacheWebサーバ。 gitはそのままgit。 unzipはなんだろう。解凍かなんかするためのツール?…

VPSでCakePHP① CentOSセットアップ

備忘録。 環境 さくらのVPS CentOS7 アップデート とりあえず全体アップデートをかける。 # yum update ユーザ作成 平常作業時はrootを使わないのが基本、らしい。 # useradd americandog # passwd americandog二回パスワードを打つ。 これで作成は完了。 そ…

Railsで本番環境だけpostgresql使いたい設定したら怒られた

ここ数日、自分で環境作ってのRailsアプリ開発に挑戦している。 予想はしてたが、ハマりまくる。 Cloud9って楽だったんだなあ。 Gemfile source 'https://rubygems.org' gem 'rails', '5.0.3' gem 'puma', '3.9.1' gem 'bootstrap-sass', '3.3.6' gem 'sass-…

rails gしたら`method_missing': undefined method `load_defaults' ってエラー出た

環境 CentOS7 Ruby 2.3.1 Rails 5.1.2 Gemfile source 'https://rubygems.org' gem 'rails', '5.0.3' gem 'puma', '3.9.1' gem 'bootstrap-sass', '3.3.6' gem 'sass-rails', '5.0.6' gem 'uglifier', '3.2.0' gem 'coffee-rails', '4.2.2' gem 'jquery-rail…

Vagrantで立ち上げた仮想CentOSのファイルをCyberduckから操作したい

環境 OSX EICapitan Vagrant 1.9.7 VirtualBox 5.1.24 CentOS7 下準備 IPアドレス Vagrantの以下部分のコメントを外すとIPアドレスを扱えるようになる。 # Vagrantfile - #config.vm.network "private_network", ip: "192.168.33.10" + config.vm.network "p…

さくらVPS(CentOS7)をWebサーバ化してHelloWorldする

環境 さくらのVPS CentOS7 ログイン $ ssh root@[IPアドレス]パスワード入力欄が出てくるので入力してrootで入る。 Apacheを入れる # yum -y install httpd # systemctl start httpd.service # systemctl enable httpd.service起動と自動起動設定もしておく…

VagrantでCentOS7立ち上げてみる

筆者環境 OSX EICapitan VirtualBoxをインストール Vagrant by HashiCorp ここから。 pkg開くときに検証中と出て進まないときは以下のコマンドで対応。 $ sudo installer -package /Volumes/VirtualBox/VirtualBox.pkg -target / Vagrantインストール Vagran…

CentOS7 mysqlがインストールできない

$ sudo yum install mysql-server 読み込んだプラグイン:fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: ftp.iij.ad.jp * epel: ftp.riken.jp * extras: ftp.iij.ad.jp * updates: centosk3.centos.org パッケージ mysql-ser…

ドットインストールの「さくらのVPS入門」の手順通りに進めたらハマったのでメモ

さくらのVPS入門 http://dotinstall.com/lessons/basic_sakura_vps どこでハマるのか さくらのVPSはCentOS7も選択できるが、講座の環境に合わせるためCentOS6で進めていった。 #08-#09 SSHの設定をしよう で鍵設定を行い、鍵ログインを試すところでrefuseさ…

CentOSのcronで定期作業を自動で行わせる

環境 さくらのVPS CentOS6 動機 railsアプリケーションを作ってて自動メンテに挑戦してみたいと思ったため。 毎度ながら素人の自分でもできる超簡単な方法を採ったので、たぶんもっとセキュアでいい方法はあると思う。 やったこと Webアプリ側 自作のチャッ…

合ってるはずなのにエラーが出る時

$rails sの再起動を試してみる。 特にbundle installとbundle updateした後は必須っぽい?

Bootstrapサイトをスマホ対応させる

勝手にいい感じにレスポンシブデザインにしてくれるという触れ込みのBootstrap。 でもなぜかスマホでPCレイアウト表示される時。 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> headタグの中にこいつを入れる。参考 【CSS】スマホで Media Queries が効かないときの対処法 - Qiita</meta>

.buildで空要素ができている

<%= @now.year %>年<%= @now.month %>月の支出:<%= @total %>円 <%= form_for [@user, @user.kakeibos.build] do |f| %> <%= f.label :spending %> <%= f.number_field :spending %> <%= f.submit %> <% end %> <ul> <% @user.kakeibos.each do |k| %> <li> <%= k.s</li></ul>…

マイ家計簿アプリを作る①

思い立ったが吉日。 概要 ユーザー登録は後回し。自分だけ使えるようにしてみる。 とりあえず金額入力して保存できるようにする。 合計支出を表示してみる。 デザインも後回し。 環境 Cloud9 RubyonRails Ruby 2.3.0 Rails 5.0.0.1 Gemfile source 'https://…

俺が考えた最弱の家計簿アプリ

なんか今できるレベルの範囲でこんな家計簿Webアプリ作ろっかなーというの。 RoRで。 金額のみ入力。食費だの交通費だのの項目は設けない。 給料日と予算を登録。給料日までのカウントダウンと残り予算が表示される。 一ヶ月でリセットされる。 めっちゃシン…

Railsで超シンプルなログインシステムを作ってみる

※これはただの初心者の勉強記録なのでもし参考にされる場合は充分注意・自己責任の上ご利用ください。また、間違いがありましたらコメント頂けると幸いです。Railsチュートリアル8章までを三回くらいやってやっとおぼろげにわかってきた・・・かもしれない。…

GWでやりたいこと

絶対やる ドットインストール Javascript入門を完了(今半分くらい) ドットインストール C#入門を完了(まったくやってない) Railチュートリアル 8章まで(もうやった) Webを支える技術を買う オブジェクト指向でなぜつくるのかを買う 亀の水を換える(やった)…

Cloud9でrails serverできない

こんなん出た。 $ rails s -b $IP -p $PORT => Booting Puma => Rails 5.0.0.1 application starting in development on http://0.0.0.0:8080 => Run `rails server -h` for more startup options Puma starting in single mode... * Version 3.4.0 (ruby 2.…

Cloud9 再起動する方法

Cloud9でOSの調子が悪くて再起動したい時のメモ。 画面右上のこれをクリック。↑これ。クリックするとなんかシュッと出てくる。右下のRestartをクリック。 ちょっと待って完了。

SAMインターフェースのメソッドは一つだけ

SAMインターフェースは一個のメソッドしか定義できない。 interface MyFunction { int call(int x); } インターフェース型変数にメソッド参照を入れるの慣れない。 直感的に捉えられる日は来るのだろうか。参考: 【Java】Java8のあれこれ③ 関数型インターフ…

If分岐を多態性で簡潔に

条件分岐で中身が冗長になったら多態性を使ってまとめてみる。 分岐のそれぞれの処理がある程度共通化できることが前提。 なんとなくJavaで。 exampleSuperClass esc; if isThing == true { exampleSuperClass = new exampleClassA(); } else { exampleSuper…

Ruby inspectとp

.inspect忘れそうなのでメモ。 foo = "foo" puts foo.inspect p foo puts .inspectの省略として用意されてるのがp。参考: Ruby on Rails チュートリアル:実例を使って Rails を学ぼう

Ruby ハッシュのデフォルト値

ハッシュの存在しないキーのデフォルト値について。 exampleA = {} p exampleA[:foo] # -> nil exampleB = Array.new p exampleB[:foo] # -> nil exampleC = Array.new(0) p exampleC[:foo] # -> 0 newした時の引数にデフォルト値を設定できる。 何もしなけ…

Rails routesにresourcesは要らない?

routes.rb Rails.application.routes.draw do resources :static_pages, :users root 'static_pages#home' get 'static_pages/home' get 'users/login' post 'users/admin' get 'users/logout' end $ rails sこの状態でstatic_pages/home見に行ったらエラー…

HerokuでBuild FailedしたらGemfileを見る

ドットインストールRails入門のTaskAppができた。 ためしにHerokuにあげてみようと $ git push heroku masterしたらBuild Failedしたのでメモ。少し前なら折れていたが・・・多少メンタルが強くなったのか、エラーメッセージを漁ってみた。 remote: checking…

Rails generateを間違えたときのdestroy

$ rails generate model hooge名前を間違えて作ってしまったら。 destoryで消してやり直せる。 $ rails destroy model hooge $ rails generate model hoge 参考: d.hatena.ne.jp qiita.com

Rails超初心者のいろいろ

Railsチュートリアル7〜8章くらいで完全についていけなくなってしまったので、中断した。 諦めてはいない。戦略的撤退。特にActiveRecordの不理解が全体の俯瞰を妨げている感があったのでドットインストールでActiveRecord入門をざっと視聴。 だいぶマシにな…

ActiveRecord .newと.createの違い

テーブル名.new テーブル名.savenewはオブジェクトを作るだけ。 saveしないとdbに記録されない。 テーブル名.createnewとsaveをまとめてやってしまうのがcreate。参考: http://dotinstall.com/lessons/basic_activerecord_v2

RailsにBootstrapを導入

Gemfileに以下を追加。 バージョンは任意で。 gem 'bootstrap-sass', '3.3.6'bundle installする。 $ bundle installapp/stylesheetsにcustom.scssを追加。 内容は、 @import "bootstrap-sprockets"; @import "bootstrap";としておく。 お試しのページを作っ…

RubyonRails HerokuでHelloWorldするまで

前提: Ruby・Rails・git・herokuツールベルトをインストールしている。 (筆者はCloud9使用。Ubuntu。) Herokuの会員登録を終えている。まず適当なアプリを作る。 Cloud9ならすでにあるのでこの工程は要らない。 $ rails new myapp $ cd myappGemfileを下の…

ORACLE 桁を揃えるLPAD

SQL

111こいつを四桁にしたいとき。 足りない桁は頭に0を入れて保管する。 最初NUMBER型とする。LPADの書き方は LPAD('文字列', 桁数 , '補完文字')桁数は数値型なので''(シングルクオーテーション)はつけない。 NUMBERの111をTO_CHARしてLPADする。 SELECT LPAD…

ORACLE NUMBER型の日付を文字列yyyy/MM/dd表記で表示する

SQL

20110401NUMBER型のこいつを書式を整えて表示する方法。まず、TO_DATEしたいのだけど、TO_DATEの書き方は TO_DATE('文字列', '書式')なので、NUMBER型の20170401をまずTO_CHARする。 TO_CHAR(20170401)それからTO_DATEをかける。 TO_DATE(TO_CHAR(20110401),…

A server is already running と出て rails server できないとき

$ rails s => Booting Puma => Rails 5.0.0.1 application starting in development on http://localhost:8080 => Run `rails server -h` for more startup options A server is already running. Check /home/ubuntu/workspace/sample_app/tmp/pids/server.…

Docker 自分的最低限コマンドメモ

拙くてもとりあえず作って捨てられる開発環境があれば良しの精神。 $ sudo docker pull centos:7 $ sudo docker imagescentOS7のDockerイメージを取得。 及び取得したDockerイメージの確認。 $ sudo docker ps $ sudo docker ps -aコンテナ一覧。 -a付けると…

CentOS(6.8)でDocker導入

タイトル通り。 $ su $ yum -y updateけっこう待つ。 終わったら、 $ sudo rpm --import http://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-6 $ sudo yum -y install http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm $ su…

さくらのVPSでCentOSを再インストールしたら WARNING:REMOTE HOST IDENTIFICATION HAS CHANGED! と出て入れない

VPS

さくらのVPSで全部やり直したくなったのでCentOSを入れ直したら @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@こうい…

CentOSにvimを入れる

CentOSにviとかいうやつしか入ってなかったのでvimを入れることにした。僕の環境だと $ sudo yum install mercurialこのパッケージだけ入れて $ cd /usr/local/src $ sudo hg clone https://bitbucket.org/vim-mirror/vim vimvimをとってきて $ cd vim $ sud…

NodejsをLinuxに入れる

github.com地味に役にたったのでメモ。 環境構築の記事はいっぱい出てくるんだが細かく手順を追ってくれているものは以外と少ないので貴重だ。

vagrant で no such device とか出てうまくいかないとき

$ vagrant upをした時に赤文字で なんとかかんとか:no such device とか出ていろいろ不具合ったので。qiita.com qiita.com qiita.comこのあたり参考にしたらいけたっぽい? 例のごとく色々試して結局何が原因で何で直ったのかわかってないんだけれども、 $ v…

CentOS(6.8)で Ruby on Rails 環境構築しようとしてめっちゃハマった

www.task-notes.com結論から言うとここのやり方でほぼいけた。 Linuxはセキュリティの観点(?)から極力rootではなく作ったユーザーで作業すべきのようだが、sudo で進めてたらなんかエラー出てうまくいかない。 ある程度Linuxの基本を勉強する必要があるんだ…