" いいね " なライフをつくる。

うそはつかない。"いいね"をつくる。じゆーうな日記です。

githubに草が生えない場合に確認すべき点

githubに草が生えてこない場合に確認すべき点

原因可能性

  • メールアドレス設定
  • 日時設定

メールアドレス設定
ローカルと、githubアカウントのメールアドレス設定は同一でなければなりません。

コマンド

現在設定されているメールアドレスを確認 $ git config --global user.email

アドレスを設定

$ git config --global user.email "example@example.com" 
example@example.com

日時設定

設定日時の確認

$ date
Sun Apr  1 18:04:19 JST 2018

↑この日時がずれていたら設定を見直してみてください。

参考:Homesteadの日時設定方法

https://qiita.com/shalman/items/42fcd4506b1f523c5553qiita.com

Laravel, Homestead環境構築:「No input file specified.」と表示されてブラウザ表示できない場合

Laravelの環境構築をしおり、laravelプロジェクトを立ちあげブラウザで確認したところ、No input file specified. と表示されてしまいました。 ハマってしまったので解決策を記載しておきます。

下記の記事を参考に、環境構築を行っていたところ、

【Laravel超入門】開発環境の構築(VirtualBox + Vagrant + Homestead + Composer)

事象

遭遇したのは、こんな画面です。 f:id:tusukurukun:20180321160904p:plain

日本語でいうと「入力ファイルが指定されていません。」というエラーです。

原因

原因です。

そもそも、Laravelを開く以前に、ファイルが指定されていないというエラーのようなのでnginxのログを確認しました。

tail -f /var/log/nginx/homestead.test-error.log

ページを更新...

2018/03/21 06:57:39 [error] 1514#1514: *3 FastCGI sent in stderr: "Unable to open primary script: /home/vagrant/code/public/index.php (No such file or directory)" while reading response header from upstream, client: 192.168.10.1, server: homestead.test, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/var/run/php/php7.2-fpm.sock:", host: "192.168.10.10"

こんなエラーが記述されていました。

/home/vagrant/code/public/index.php (No such file or directory)

要点としては、「home/vagrant/code/public/index.php(そんなファイルはない)」ということでしたので、このindex.phpの指定場所が間違えているようです。

実際に、自分がLaravelのプロジェクト内のindex.phpを配置している場所はこちらでした。 /home/vagrant/code/Laravel/public/index.php

つまり、Laravelというディレクトリ配下に(code/Laravel/public/index.phpを)配置していたにも関わらず、実際に開こうとしていたファイルははcode/public/index.phpとなっていました。

このディレクトリ階層のズレによっておきてしまっていたエラーのようです。

では本当にhome/vagrant/code/public/index.phpありさえすれば、このエラーが解消するのかを検証します。

public/index.phpを作成し、code/public/index.phpという構造を試しに作成してみます。

cd ~/code
mkdir public
vim public/index.php

hello worldを表示するよう記述

<?php
echo "hello world";

再びブラウザを読み込むと...

f:id:tusukurukun:20180321162029p:plain

hello worldが出力されました。

これで、やはりディレクトリのズレを合わせることさえできれば、Laravelのプロジェクトを読み込んでくれそうということがわかりました。

解決策

解決策です。

現在の実行環境を確認してみます。 phpのvar_exportメソッドを使い、$_SERVERというグローバル変数を確認してみます。

var_export — 変数の文字列表現を出力または返す。

PHP: var_export - Manual

$_SERVER ー どこからでも呼べるグローバル変数で、実行環境の情報等を返す。

PHP: $_SERVER - Manual

vim index.php
<?php
var_export($_SERVER);

ブラウザを更新すると環境の情報が出力されます。 その中のドキュメントルートを確認。 'DOCUMENT_ROOT' => '/home/vagrant/code/public'

nginxのログで確認したエラーのディレクトリと同様であることが確認できました。

DOCUMENT_ROOTの設定を変更すれば今回のエラーを解消できそうなことがわかりました。

/home/vagrant/code/public/index.php (No such file or directory)

今回はHome steadで環境構築をしているので、exitでローカルに戻り、 vim Homestead.yml

sites:
    - map: homestead.test
      to: /home/vagrant/code/public

to: がDOCUMENT_ROOTなので、こちらを書きかえます。

to: /home/vagrant/code/Laravel/public

設定を適用するためにローカルで書きを実行

vagrant provision

再びブラウザを更新すると...

f:id:tusukurukun:20180321164441p:plain

Laravelのトップ画面が表示できました。

DOCUMENT_ROOTとLaravelのディレクトリ階層を同一にしたことで解消できました。

要点まとめ

  • DOCUMENT_ROOTの指定先と、index.phpの配置箇所が違っていたことが原因。
  • DOCUMENT_ROOTの指定先を合わせてあげることで解消できる。

【これだけは】 jQueryよく使うメソッド 【覚えたい】

なぜjQueryをやるのか?

React Native(iOSアプリ、androidアプリを同時に開発できるすごいやつ)を知ってから、javascriptを学習し始めました。  というのも、React NativeはReact.jsというライブラリで開発できるらしく(?)、つまりjsをかけることが大前提になってきます。 会社でもjavascriptjQuery)はよく使うので、これを機にjavascriptに加えてjQueryも一緒にマスターして、React Nativeをいずれ扱えるようにしようという魂胆です。


 

jQueryよくでるメソッド

メソッド 内容
next() すぐ次の要素の取得
find(セレクタ) 子要素のうちセレクタにマッチする要素を全て取得
chldren'セレクタ') 子要素を全て取得。セレクタを指定した場合に、子要素のうちそのセレクタにマッチする要素だけを取得
each(function(){---}) 配列要素などに---を実行する
parent('セレクタ') 親要素を取得。セレクタを指定した場合に、親要素のうちのそのセレクタにマッチす要素だけを取得
siblings() 兄弟要素を全て取得
prev すぐ前の兄要素を取得
addClass('クラス') クラスを追加

  ※途中まで、後ほど更新します

Laravel5.2 flashメッセージを表示する方法

Laravelのフラッシュメージを表示する方法

はじめに

フラッシュメッセージとは次のリダイレクト先で一度だけ表示できるセッションのことです!

例えば、「ログインしてください」など注意を促す文言などを表示するときに使います。

 

Controllerはこう

messageに「ログインしてください」を格納します。

if (!Auth::check()) {
$request->session()->flash('message', 'ログインしてください。');
return redirect('/');
}

 

Viewはこう

それをviewで呼び出すには

@if(Session::has('message'))
メッセージ:{{ session('message') }}
@endif

 

 

参考は以下

セッション 5.2 Laravel

DBをいじる。テーブルの中身取得や削除などなど。 Railsメモ⑥

Railsメモです。

テーブル一覧を見る

.tables

 

テーブルの中身を取得する。

select * from TABLE名

 

テーブルを一旦削除し、また作り直す。

delete from TABLE名