プログラミング勉強中!!

TECH::EXPERT 40期 受講生の筆者がその日学んだことをアウトプットしていくブログです。学習量によっては全て書ききれないこともあります。お気付きのことありましたバシバシコメントください!!3月中旬よりWEBエンジニアとして働くことになりました。日々の業務などについても発信させていただきたいと思います!!よろしくお願いいたします!!

Railsにマークダウンとリアルタイムプレビューを実装する

ブログを移動しました!!

今後も何卒よろしくお願いいたします!!

azarashi-blogs.com

rails エラー共有

はい、こんにちは。

久々にRailsを触り、新規アプリを作成しておりましたが、思わぬエラーに遭遇しましたので、共有します。

What

binding.pryを使いたかったので、gemfileに下記のgemを追加した。

gemfile
#binding.pryの導入

group :development, :test do
  gem 'pry-rails'
  gem 'pry-byebug'
  gem 'pry-doc'
end

ターミナル

アプリ名$bundle install
アプリ名$ bin/rails s

とすると、下記のエラーになった。

ターミナル
Sorry, you can't use byebug without Readline. To solve this, you need to
rebuild Ruby with Readline support. If using Ubuntu, try `sudo apt-get
install libreadline-dev` and then reinstall your Ruby.
・
・
・
(LoadError)

why?

gemの中にReadlineに依存しているgemがあるため、アプリにreadlineを追加してあげる必要があった。

gemfile

gem 'rb-readline'

bundle install

無事解決しました。

Rails5,2系で同じようなエラーに遭遇しています。

アプリ制作って一筋縄ではいかないなあ。

それでは。

Django(ジャンゴ)の導入と新規アプリの作成

はい、こんばんは。

現在Python3を勉強しており、それに関連するアウトプットもさせていただいておりましたが、この度、Django(ジャンゴ)と呼ばれるPythonフレームワークを用いてアプリ制作に取り掛かることにしました。

Django(ジャンゴ)とは?

Pythonでアプリを作るためのフレームワークです。

Ruby on Rails と似た感じのフレームワークかと思います。

これからアプリ制作を通して、使い心地等も報告させていただきます。

Djangoのインストール

ターミナル
sudo pip3.6 install django

上記コマンドでDjangoをインストールできます。

Djangoでアプリを新規に作成する

まずはターミナルでフォルダを作って、そこに入ります。 私の場合は03.djangoと言うフォルダがあるので、その中にアプリを作ります。

ターミナル
$cd 03.django
03.django$  django-admin startproject アプリ名 #自分の好きな名前をつけてください。

これで03.djangoと言うフォルダ内にアプリができました。

ターミナル
03.django$cd アプリ名 #新規アプリに移動する

ローカル環境を起動する

Ruby on Railsで言う所のbin/rails sに相当するコマンドを紹介します。

ターミナル
アプリ名$ python3.6 manage.py runserver #ローカル環境の起動

これで一度ローカル環境にアクセスしてみましょう。

ターミナル
February 02, 2019 - 08:56:29
Django version 2.1.5, using settings 'aaaa.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

こんな感じの表示があるので、http://127.0.0.1:8000/の部分をクロームのurl部分に貼り付け、以下の画面になっていたら起動は成功です。

f:id:g1034725:20190202180231p:plain

とりあえず今日はここまで。

明日以降に編集とかその他のことを書いていきます!!

二次元リスト 続き

はい、こんばんは。

遅くなりましたが、2次元リストの続きをアウトプットします。

リストの操作について

更新

#更新
teams = [["戦士", "村人", "役人"], ["ヤンキー", "不良", "学生"], ["プリン", "薬草", "毒消し"]]

teams[0][0] = "勇者" #0番目のリストの0、すなわち戦士を勇者に更新。

print(teams[0])

=>["勇者", "村人", "役人"]

追加

#追加
teams = [["戦士", "村人"], ["ヤンキー", "不良", "学生"], ["プリン", "薬草", "毒消し"]]

teams[0].append("村長") #teamsの0に"村長"を追加してね!と言うコード。

print(teams[0][2]) #村長を出力
print(len(teams[0])) #リストの個数を確認

=> "村長"
=> 3

削除

#削除

teams = [["戦士", "村人", "役人"], ["ヤンキー", "不良", "学生"], ["プリン", "薬草", "毒消し"]

del teams[0] #リストごと削除
del teams[0][1] #teams内の0番目の0番、つまり戦士を削除

今日はリストを操作するところまでのアウトプットとさせていただきます!!

それでは。

Python 2次元リスト

はい、こんにちは。

今回は2次元リストについて、途中までアウトプットします。

2次元リストとは

簡単に言うと、リストにリストを格納することです。

例
team_a = ["勇者", "戦士", "武闘家"]                      #リストを作成
team_b = ["マグロ", "スズキ", "カツオ"]               #リストを作成
team_c =["イタリア", "フランス", "アメリカ"]     #リストを作成

teams = [team_a, team_b, team_c]                      #リストを新しく作ったリストに格納

print(teams)

=>[ ["勇者", "戦士", "武闘家"] ,  ["マグロ", "スズキ", "カツオ"]  , ["イタリア", "フランス", "アメリカ"]  ]

のようになる。

複雑なデータ構造になるが、よく使われているものである。

値の取得方法

例
print(変数名[変数名][変数の順番])

となる。

上記の例を使うと

team_a = ["勇者", "戦士", "武闘家"]    #リストを作成
team_b = ["マグロ", "スズキ", "カツオ"]   #リストを作成
team_c =["イタリア", "フランス", "アメリカ"] #リストを作成

teams = [team_a, team_b, team_c] #リストを新しく作ったリストに格納

print(teams[team_a][0]) #team_aの0番目と言う指定の方法となる。

=> 勇者

急いでいるため、今日はここまで。

後ほど更新します。