Translate

BTemplates.com

Powered by Blogger.

2018年7月11日水曜日

2018-07-06, 08,09,11 到達点メモ


久しぶりにgit add .やgit add -Aをしたら以下のようなエラーが出た
error: insufficient permission for adding an object to repository database .git/objects
error: .gitignore: failed to insert into database
error: unable to index file .gitignore
fatal: updating files failed

ここのサイトを参考にして
以下のコマンドを入力しました

$ sudo chmod -R 0777 .git/objects/

0777って何だっけと思って調べなおしたところ
このサイトによると
100番台は、オーナー、10番台は、グループ、1番台は、全員
読み込みが4、書き込みが2、実行が1

つまり、これは全部書き込み、読み込み、実行を許可するという
権限っぽい

コマンドの方も調べてみました。

chmodは薄々察していましたが、パーミッションの属性を変更するコマンドで
-R は ファイルやフォルダを再帰的に変更するオプションだそうです

参考サイト
【 chmod 】コマンド――ファイル/ディレクトリのパーミッション(許可属性)を変更する
今さら聞きづらい「ファイルパーミッション」について
Git: 複数アカウントで同リポジトリーで作業していると "error: insufficient permission for adding an object to repository database .git/objects" が発生する

RailsTutorialの第五章をやっているのだが
いつの間にかBoostrapがよく使われるようになったように見える
初版が2011年なので意外と古い様ではある
恐らく広まるのに時間がかかった感じなんだろう

mvコマンド

mv オプション ファイル元 ファイル移動先

次は5.1.3 パーシャル (partial)から

2018年7月6日金曜日

2018-07-04、05 到達点メモ


VRChatでワールドを上げようとしたのだが
一度Public化すると変更が難しいと聞いたので
コピーを作ることにした。
その際に、表示されているアドレスから開くことができなかったので
OpenSense → コピーしたいプロジェクトを選択(今開いているプロジェクトをコピーすると一部ファイルがコピーできないので、別のプロジェクトを開きなおして同じ作業をすること)
 → コピーする → 紛らわしいのでフォルダ名とSense名を変更する
 → コピーしたプロジェクトを開く → VRCWorldを選択 → InspectorのVRC Pipeline Manager(Script)のDetachをクリックする

あとは何時ものようにアップロードすればいけます


次はここから
4.4.2 クラス継承

しかし、一番最後が14章という事を考えると大分先が長いな


再びUnityに戻る
暫くやっていないと単純にマテリアルの作り方とか忘れる。
Projectの項目でMaterialを作れるので、InspectorでShaderをUnlit/ColorでMain Colorで変更することができる

テスト確認だったら一先ずこれでよい

参考サイト
UnityでMaterialを追加して色を変更する方法【初心者向け】

光らせたい場合は、Materialの設定の中にEmissionという項目があるので
それにチェックを入れて、カラーを決めればよい

参考サイト
【Unity】Unity 5 で「光モノ系」を表現するあれこれ

光が漏れるような表現をしたい場合は
Boloomというやつを使うのだがその際に
PostProcessingをアセットストアから落としてくる必要がある
なお、昔はStandardAsesetsのEffectsのImageEffectsにあったが
現在では使えなくなっている。

インポートを終えた後は、Projectの項目でフォルダを選択して右クリックして
Create→Post-Processing Profileをクリック
ファイルが生成されたのを確認したら、今度はHierarchyのMain Cameraをクリックし
Add ComponentでPost Processing Behaviourを追加する
Profileという項目に先程作成した、New Post-Processing Profileを割り当てる
その後にNew Post-Processing Profileをクリックして、Inspectorで
Bloomという項目があるのでチェックを入れるとぼんやりと光るようになる

参考サイト
【Unity2017.1】Bloomエフェクトをかける方法

ざっと調べた限りでは、オブジェクトの一部分を光らせるという方法は
光らせたい部分を透過させるテクスチャーをかぶせるぐらいしか見つからなかった。
点滅でもググったが、やりたいことはなんかこれじゃない感

参考サイト
【Unity】目やパーツの一部を光らせる
[Unity] オブジェクトを点滅させるスクリプト




スクリプトを使ってある波紋が広がるようにオブジェクトを表示非表示に
させようとしていました。
四苦八苦した結果、無事Unity上で動いたので
VRChatでテストアップロードしたところ動かない
何でだろうと思ったら以下のツイートが
https://twitter.com/butadiene121/status/982563568867467265

VRChatってスクリプト動かないのかよ!!!
*カスタムスクリプトが動かないだけで、ここの載っているスクリプトやスタンダードアセットは動くそうです。ブタジエンさん本当にアドバイスありがとうございます。


間違いなく今日一番の驚きorz
資料をちゃんと読み込まないとなぁ。

今日はここまで。

2018年7月4日水曜日

2018-07-02、03 到達点メモ


まさかCloud9を使っているせいでそもそものUbuntuのバージョンが
かなり古いとは思わなかった。
*まだ使っていないからわからないがAWS Cloud9はこれが起こらないと思われる


まず14から16にアップグレードする必要がある
もしかすると容量を軽くする方法があるのかもしれないが
ひとまず、自分の場合は2GBだと足りなかったので
5GBに変更した
で、色々やったんですが16にアップグレードにする段階の途中で
依存関係の処理に失敗したので14でyumをインストールする方法を調べる

参考サイト
Ubuntu 16.04LTSへアップグレードする
「apt-get」はもう古い?新しい「apt」コマンドを使ったUbuntuのパッケージ管理
Cloud9 再起動する方法
Ubuntuのバージョン確認
apt-getによる依存関係の解決方法
Udev error while upgrading

なんか相変わらず以下のようなエラーが出ているのだが
sudo apt yum installをやった後にyumとやったらオプションの説明が出たので
通ったようである。

Errors were encountered while processing:
 udev
 systemd-services
 libpam-systemd:amd64
 initramfs-tools
 plymouth
E: Sub-process /usr/bin/dpkg returned an error code (1)

今度はtmuxのインストールができなかったので以下のサイトを参考に
以下のように行った

wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz
tar xzvf libevent-2.0.21-stable.tar.gz
cd libevent-2.0.21-stable
./configure && make
sudo make install

git clone https://github.com/tmux/tmux.git
cd tmux
sh autogen.sh
 ./configure && make

今思うと、普通にtmuxのgithubのREADMEに書いてあることを
そのままやればよかったかもしれない

参考サイト
How do you update the YUM package manager repositories?
tmux/tmux

一応、上手く行ったのかな??
長くやるつもりなかったのにこんなになってしまった

次にやるところ
4.2.4 メソッドの定義

VRChatのワールド作成を行った。
透明な床を作りたい場合は、透過したテクスチャーを用意し
Shaderの設定をUnlit>Transparentに設定した。
この際に透過色以外の色があり
且つ、そのテクスチャーを拡大して表示している場合
以下のように半端に透過する部分ができる


参考サイト
< Unity >透過処理した画像について

また、今回別にはまった部分として
透過が上手く効かないということがあった。
具体的にいうとJTrimなのだが
JTrimで透過色を指定して保存したが
Unityで読み込んだ際は、指定の仕方が悪いのか分からないが上手く行かなかった。
仕方がないので手軽に透明pngというフリーソフトを見つけたので
これを使って解決した。
注意事項として色指定で透過させたい場合は、
メニューの編集をクリックすると項目がいくつか出るので
そこで色指定で透過をクリックすればよい

今回この写真展示のワールドを作った際に判明したこととして
Googleフォトで保存した画像は、何枚も同じ画像を表示するような
テクスチャーとして使うならともかく巨大な画像を
一枚表示という形で使いたい場合は粗が出てくるので
今後は巨大画像表示用の素材をGoogleフォト以外で
きちんと確保しないといけない

あと、見下ろす巨大な一枚写真と見上げる巨大な一枚写真を使う場合は
アバターからある程度位置を離して全体図を見れる形が
良いように感じた。
ただ、見下ろす写真は地面が完全に透明だと不安定に感じるので
何らかしら地面を感じられるような透明度が高いテクスチャーにした方がよい

今日はここまで



2018年7月1日日曜日

2018-06-30、07-01 到達点メモ


VRChatの自作のワールドでBGMを流したい場合は
Unity、BGMで検索するべき。
方法は空のオブジェクトにサウンドファイルをドロップすればできる
自分の場合は、ループにチェックが入ってなかったので
チェックを入れるとよい


よく原因が分からんが、herokuにデータを食ったはずなのに
更新されていないように見える

原因分かったかもしれない
git push heroku master

この【master】の部分じゃないかなぁ
これが、static_pages(参考サイトだとstatic-pagesでやっている)
ならまた違うかもしれないが
本番環境にテストしていない物を上げるのはどうなのだろうか?

RailsTutorialの 3.3.2 Red でワザとテストが失敗するようなコードを書いて
失敗した状態を確認するテストがあるのだが
RailsTutorialの書いてある通りに学ぶと以下のようなエラーが出る

/usr/local/rvm/gems/ruby-2.4.0/gems/railties-5.1.4/lib/rails/test_unit/reporter.rb:70:in `method': undefined method `test_should_get_help' for class `Minitest::Result' (NameError)

上記のはもう少し先に進んだ時の結果なので多少違うかもしれないが
テストが途中で終わり幾つ失敗したのかわからない状態で終わる事には変わらない。

以下のサイトを参考にGemfileでminitestのバージョンを以下のように指定したところ
正常に動くことが確認できた。
以下の意味は、5.11未満5.10.1以上という意味になる

gem 'minitest', '~> 5.10.1'

余談だが、自分の場合は、
rails test 結果が出ない
で検索したらこのサイトにたどり着いた。

エラーの文言が折角分かっているのだからそれで調べる癖をつけないとまずい

参考サイト:Ruby on Rails チュートリアル3章のテストのバグとその対応メモ
参考サイト:Railsドキュメント gemfile

次は3.4.4 ルーティングの設定をやる

今日はここまで



2018年6月29日金曜日

2018-06-28、29 到達点メモ


Gitにコミットしたら、ユーザー名が実名だったので
よく使っているハンドルネームに変えたい場合の手法
*コミットしたデータを変えるわけではないことに注意

以下の内容をシェルスクリプトではなく
きちんと入力する必要がある

git config --global user.name "yourname"
git config --global user.email yourname@yourname.yourname

参考サイト
Gitでユーザを確認・変更する手順

コミットしたすぐのものを見たい
git diff HEAD^

参考サイト
忘れやすい人のための git diff チートシート

rails db:migrateでDBファイルを作るとのことだが
rake db:migrateじゃなかったけ?
と思ったら、案の定Rails5以降はrails db:migrateになったとのこと
微妙にrakeって何なんだろうなと思っていたが、
どうやらUnixのmakeのruby版から来ているらしい
ナルホドナー

参考サイト
コラム 2.1. Rake

UserIDを設定する際に
Users must exist
というエラー文が出るので何が原因なんだろうと調べていたら
単にbelongs_to :users
と複数形にしていただけだった。
正しくは、belongs_to :userである

リスト 2.17: Userモデルに存在性のバリデーションを追加する
に挑戦したら以下のようなエラーが出た

undefined local variable or method `email' for User

当時の回答
user.rb
class User < ApplicationRecord
    has_many :microposts
    validates name, presence: true
    validates email, presence: true
end

emailは定義されているし
validates email, presence: trueを消すと
通るし、validates name, presence: trueを消すと逆に通らないけど
何でなんだろうなと調べたところ

user.rb
class User < ApplicationRecord
    has_many :microposts
    validates :name, presence: true
    validates :email, presence: true
end

この部分が無かったのが原因でした。
これがないと変数あつかいになるとのこと
言われてみれば確かにそうでしたね……

しかし、nameが通った理由はいまいちわからない……
参考サイト
Railsチュートリアル exerciseに関して

しかし、我ながらまずいなこれは……。

第二章終了。

……なんか普通にHerokuで動いたんですがそれは
いや、いい事なんですが前回は何で動かなかったんだろうか?
考えられる理由は二つ
本命:heroku run rails db:migrate を使わなかったため。
理由は、これをやる前usersのページにアクセスしたら
エラーになったため。
対抗:bundle install --without production を使わなかったため
理由は、このコマンドが本番に関係するコマンドの為
 --without production を省いてコマンド打った可能性がある為

以前の記事を見る限りだと、どっちもやっていないように見える。
追記と書き直しが必要そうですね……

次回は第三章から

Udemyでnode.jsの勉強しているのだが
Syncって日本語に訳すと同期という意味になる
非同期処理とかでSyncがやたらでてくるのはそれか……。

以下はkotlinでの話

classの取得する方法を良く忘れるので再度メモ
HogehogeActivity::class.java

参考サイト
KotlinでIntentを用いた画面遷移


class HogehogePreferenceActivity : PreferenceActivity {
//(以下略)

上記のように書くとPreferenceActivityの部分で下記のようなエラー文が出ます

This type has a constructor and this must be initialized here

対処方法を簡単に述べると以下のようにします
class HogehogePreferenceActivity : PreferenceActivity() {
//(以下略)

参考サイト
This type has a constructor and must be initialized here - Kotlin

プリファレンスの書き方を忘れたので
以下のサイトを参考にして書いた

参考サイト

今日はここまで

プログラミングをする上でよく出て来そうな英単語日本語訳


*良さげなものを見つけたら随時更新する
単語のチョイスは比較的ruby寄り

sync     …… 同期
require   ……   要求する
include   ……   含める
store      ……   格納
function  ……   関数、機能
resolve   ……   解決する
call back ……   呼び返す、呼び戻す、折り返し電話
each      ……   各、それぞれ
done      ……   完了

2018年6月28日木曜日

Skype面談でメッセージ送信できなかった時に確かめたこと


結論
Skype面談をする際には、ブラウザ版も立ち上げておくと
事故る確率が減りそう。
それでも不安な人は、他の連絡(例:スマホなど)も使えるようにしておくと

いざ事故った時に対処が楽になります。

1.再度メッセージを送った→意味をなさず

2.アプリ(恐らくWindowsストアにあるSkype)を×ボタンで一度終了し、再度立ち上げる→同じく意味をなさず
3.Windowsを再起動→同じく意味をなさず
4.調べてみたところ、どうもブラウザ版のSkypeで動くのか確かめたのかという言葉があったので起動してみて、メッセージを送信する→届いた!
*調べたところ相手側がオフラインだと届かないらしいが、送信した時はオフラインだった気がする
*あと、自分がつかっているパソコンのSkypeは何故か連絡帳の登録が表示されない。ブラウザ版だと表示されていたのでそれを登録してようやくオンラインの状態が分かるようになった。