クズと天才は紙一重

不定期更新です。主に日々の活動記録( ・ㅂ・)و ̑̑

railsでpostgresqlを使う

簡単なまとめなので、間違えているところがあるかもしれないです。

 

railsPostgreSQLを使いたい場合は

rails new プロジェクト名 -d postgresql

を実行し、プロジェクトを作成します。

 

config/databese.ymlを編集します。

 

development:
 adapter: postgresql
 host: localhost
 encoding: utf8
 port: 5432
 databese: 作成したデータベース名(作成するデータベース名)
 username: 作成したユーザ名
 password: 作成したユーザのパスワード
test:
 adapter: postgresql
 host: localhost
 encoding: utf8
 port: 5432
 databese: 作成したデータベース名(作成するデータベース名)
 username: 作成したユーザ名
 password: 作成したユーザのパスワード

 

ユーザを作成していれば、

rake db:create RAILS_ENV=development

でデータベースは自動で作成されます。

 

PostgreSQLがない場合は、以下コマンドを実行してインストールします。

brew install postgresql

 

PostgreSQLを実行する場合は、以下コマンドを実行します

postgres -D /usr/local/var/postgres

または、

pg_ctl -D /usr/local/var/postgres start

 

PostgreSQL起動後は、実行したまま、別ウィンドウで作業することになります。

 

ユーザを作成したい場合は、

createuser -P ユーザ名

-Pはオプションでユーザにパスワードをつけたいときに使います。

 

ユーザに権限をつけたい場合は、

psql -d postgres

PostgreSQLに入り

ALTER ROLE ユーザ名 WITH SUPERUSER;

で権限をつけられます。

また、逆に権限をなくしたい場合は、

ALTER ROLE ユーザ名 WITH NOSUPERUSER;

で権限を剥奪できます。

 

ユーザを削除したい場合は、

psql -d postgres

PostgreSQLに入り

DROP USER ユーザ名;

で削除できます。

 

ユーザ一覧を見たい場合は

psql -d postgres

PostgreSQLに入り

\du

で確認することができます。

 

データベースを作成するときは、

createdb データベース名 -O ユーザ名

で作成できます

-O ユーザ名はオプションで、

作成するデータベースの所有者となるユーザを指定できます。

 

データベースを削除したい場合は、

psql -d postgres

PostgreSQLに入り

DROP DATABASE データベース名;

で削除できます。

 

データベース一覧を見たいときは、

psql -l

でデータベースを確認できます。

jpostal.jpで住所を自動入力

jpostal.jpという、Nintonという日本の会社が開発している。

郵便番号から住所を自動入力するjQueryプラグインがあります。

これを使って、Railsで郵便番号から住所を自動で入力してくれる

フォームをつくります。

https://github.com/ninton/jquery.jpostal.js/

こちらより、

jquery.jpostal.jsというファイルを習得し、

vendor/assets/javascripts/に追加する。

 

assets/javascripts/application.jsに以下を記述

//= require jquery.jpostal

 

assets/javascripts/address.coffeeを作成し、以下を記述

$ ->
 $("#address_zipcode").jpostal({
  postcode : [ "#address_zipcode" ],
  address : {
       "#address_prefecture_name" : "%3",
       "#address_city" : "%4%5",
       "#address_street" : "%6%7"
       }
 })

 

今回は、住所をユーザに紐づけたのでこんな感じに編集

 

<%= simple_form_for (@user) do |f| %>

<%= f.input :name %>
<%= f.input :post_number, input_html:{id:"address_zipcode"} %>
<%= f.input :address_city, input_html:{id:"address_city"} %>
<%= f.input :address_prefecture_name, input_html:{id:"address_prefecture_name"} %>
<%= f.input :address_street, input_html:{id:"address_street"} %>

<%= f.button :submit %>
<% end %>


これで完成です。

 

郵便番号を入れると住所が自動で入力されます。

セレクトボックスで画像を選べるようにする

セレクトボックスで画像が選べるようにします。

 

セレクトボックスとは、コレ

 

今回はセレクト時に画像が表示されるようにします。

 

こちらに、CSS,JavaScriptをまとめてあります。

GitHub - nakajimakenta/ImageSelect

CSS,JavaScriptを習得し、

index.htmlのheadの部分に以下を追加。

 

<script type="text/javascript" src="jquery-1.6.1.min.js"></script>
<script type="text/javascript" src="imageselect.js"></script>
<link href="imageselect.css" media="screen" rel="stylesheet" type="text/css" />

 

その後、body内で以下を記述します。

<body>
<select name="logo">
<option value="1">画像パス</option>
<option value="2">画像パス</option>
<option value="3">画像パス</option>
<option value="4">画像パス</option>
</select>
<script type="text/javascript">
$(document).ready(function(){
$('select[name=logo]').ImageSelect({dropdownWidth:425});
});

</script>
</body>

画像のパスは適当に入れてください。

これで完成です。

こんな感じになります。

f:id:akahaya_719:20170130020442p:plain

 

2016年を振り返る

2016年も、もう終わりということで今年を簡単に振り返ってみます。

今年は、大学に入学したものの、大学で学ぶことがないと悟り絶望し、すぐに外部活動に移ったので、 ほとんど外部で活動していた一年でした。 VCの方にピッチさせていただいたり、交流会やMeetupに参加して様々な方と知り合ったり 充実していたなと感じています。

また、8月から、株式会社コンシェルジュというスタートアップのベンチャー企業で エンジニアとして働いています。

僕が入った当初は、僕も含め6人でしたが、今では9人になり、日々頑張っています。

会社の立ち上がりをフェーズ毎にみているようで、開発はもちろん それ以外のことも自分の経験として身についていっているなと感じています。

最近は、プログラミングを教えるみたいなところが多いけど、 そもそも教わるようなものでないし、教えてもらおうというようなスタンスの時点で向いてないしやめたほうがいいんじゃないかなと感じています。 僕の周りの出来るエンジニアの方たちはみんな独学だし、スクールやセミナーで教わった人は一人もいないです。

自分自身スキルアップしたと言えるような一年でした

まだまだ、実力不足なところもあるので、来年は今年以上に頑張って行きます!!

パンくずリストって知ってる?

 

そもそもパンくずリストとは?

ホーム>ユーザー一覧

↑こういうやつです。

 

Railsには、パンくずリストが簡単に作れるgemがあります

 

Gemfileに以下を記述

gem "breadcrumbs_on_rails"

 

bundle install を実行

 

パンくずリストを追加したいページのコントローラに

add_breadcrumb '名前', :パス

という感じに記述します。

 

add_breadcrumb "User", :users_path

 

あとは、表示したいページのview側に以下を記述するだけです

 

<%= render_breadcrumbs separator: ' > ' %>

 

何故厨ニ病が発症するのか

とある依頼を受けてこの件について調べることにしてみた

ほとんど、ふざけですが偉そうに語ってみる

 

中二病はおそらくほとんどの方が、知っていると思うので説明は省きます。

知らない人は調べてください。

 

中二病はなぜ起こるのか?

 

中学生の時期より身体、精神が著しく成長していき、

「自分は誰であるか?」ということを考え始め、

今までの自分自身というものが、大きく変わっていく不安を

解消していくための手段としてなりえるものなのではないか?

 

人生経験の浅い時期でもあり、

哲学的に自己という存在を確立していくことは難しく、

その手段は、自然と安易なものになってしまう

 

つまり、中二病というのは誰もが、なり得る症状であり

形は違えどこうした症状に必ず陥っているのではないのだろうか?

中二病 = 自分という個を確立していくもの

ということなのか?

 

調べてみると、中二病は種類があるらしく

世の中の学生はその中のどれかには属しているらしい

つまり、中二病は必ず、発症するものと考えてもいいのでは

 

 

中二病の裏には、自分と向き合うことの恐怖が存在するのではないか

 

中二病は多くの場合、自然治癒していくのですが、

それは、おそらく人生経験を積んでいく中で、

自分自身というものを知り、視野が広くなっていくからなのでしょう

自然と発症し、それが自然と消えていく

背景にあるのは、自分というものを徐々に理解していく恐怖

まあ、今は情報が多すぎるのでそうした影響も大きいのでしょうね

 

中二病になるのが普通だけど、問題点がある

 

本来、中二病というものは自然と発症し自然と消えていくのですが

稀に、大人になっても発症しているというパターンがあります

原因は

自分が考えていた世の中とのギャップとの差や、

自分自身と向き合うことの恐怖、人それぞれでしょう

きっと、何かしら目的があるのでしょう

 

・問題点と言っておきながら、、、

 

人は真理というものを常に追求しているし

日々、考えないようにしていたりしているが

無意識の中にはきっと落ちているんでしょう

どの年代になっても、中二病になることはあり得るし

自然と発症し、自然に消えていくというループを繰り返しているのでは

無意識の中に落ちているので、きっと気づかないのでしょうね

 

・まとめ

 

中二病とは、自分自身の確立のための手段であり、

真理を求めるための手段でもある

 

最後に

それっぽいこと書いただけだけど、読み返すととても恥ずかしい

黒歴史間違いなし

ユーザー登録

現在、ユーザーには、情報がemailしかない状態なので

名前を追加する。

 

以下コマンドを実行

rails g migration AddColumnUser

AddColumnUserの部分は既存のmigrationファイルと名前が

被っていなければ何でも大丈夫です。

 

作成されたファイルに以下を記述する

add_column :users, :name, :string

で指定したテーブルにカラムを追加することができます

また、カラムを削除したい場合は

remove_columnを使用します。

興味がある方は

rails migrationで調べれば、さらに詳しいことがいろいろ出てくると思います

 

その後、以下コマンドを実行

rake db:migrate
bundle exec annotate

 

ユーザーのmodelにnameのカラムが追加されていると思います。

 

次に、登録画面を編集して、登録時に名前も登録できるようにします

 

views/devise/registrations/new.html.erbを編集することで

新規登録画面を編集することができます。

formのままだと、ややこしいので

simple_rorm に書き換えながら編集します

 

simple_formを使うとformを楽に書くことができます

 

ただ、この状態で登録しても、ユーザーに名前は登録されません。

 

 

github.com

 

詳しくはこちらを見てください

 

ユーザー登録時に名前を登録するために

application_controller.rbに以下を追加します

before_action :configure_permitted_parameters, if: :devise_controller?
protected
def configure_permitted_parameters
 devise_parameter_sanitizer.permit(:sign_up, keys: [:name])
end

これで登録時に、名前を入力すればユーザーに名前が登録されます。

rails s でサーバーを起動し確認します