tag:crieit.net,2005:https://crieit.net/boards/dychw-til/feed
「学習記録」の投稿 - Crieit
Crieitで「学習記録」ボードに投稿された最近の投稿
2020-11-08T23:09:25+09:00
https://crieit.net/boards/dychw-til/feed
tag:crieit.net,2005:PublicArticle/58607945110a56fb70004ed464b4fda8
2020-11-07T20:33:39+09:00
2020-11-08T23:09:25+09:00
https://crieit.net/boards/dychw-til/58607945110a56fb70004ed464b4fda8
Rubyシルバーについて個人的に抑えておきたいところ- 破壊的メソッドかどうか覚える。(例: ...
<p>Rubyシルバーについて個人的に抑えておきたいところ<br />
- 破壊的メソッドかどうか覚える。(例: compact, uniq, replace, chop, chomp)<br />
- %記法の%wや正規表現の//miといった。アルファベットの意味を覚えていない。<br />
- ソート順を記号で判定するとき、昇順になるのか降順になるのか覚えられない。<br />
- ->はラムダ。=>はHashか例外で使う。<br />
- ファイルオープン時のモードはaなら追記。+が書いてあれば読み書きができる。<br />
- 定数に代入すると警告が出るが、破壊的メソッドでは生じない。<br />
- ||と|の引っかけ問題に注意する。<br />
- 書式の%Yと%y、%mと%Mを間違える。<br />
- 再定義できない演算子を覚える。<br />
- メソッドの定義の中から外のローカル変数は参照できない。</p>
dychw
tag:crieit.net,2005:PublicArticle/2c10286c50598eca3a4a4d1d351aae0c
2020-10-12T23:38:22+09:00
2020-10-12T23:38:37+09:00
https://crieit.net/boards/dychw-til/2c10286c50598eca3a4a4d1d351aae0c
LPIC Lv1GRUB2の設定ファイルについての疑問パーティションの番号はどう指定すればいい...
<p>LPIC Lv1</p>
<p>GRUB2の設定ファイルについての疑問<br />
パーティションの番号はどう指定すればいいのかが分からなかった。<br />
参考にした情報によると「(GRUB2の場合は)パーティション番号は(以前のバージョンのやり方である)ゼロから、ではなく1から数え始めます。」<br />
とのことらしい。</p>
<p>参考:<a target="_blank" rel="nofollow noopener" href="https://ping-t.com/modules/forum/index.php?topic_id=4650">Linuxのインストールとパッケージ管理(主題102) のコマ問について</a></p>
dychw
tag:crieit.net,2005:PublicArticle/44ec1c8181efa23e4b89e2529a1de11e
2020-10-05T17:29:44+09:00
2020-10-05T17:29:44+09:00
https://crieit.net/boards/dychw-til/44ec1c8181efa23e4b89e2529a1de11e
プロを目指す人のためのRuby入門7.10.4 演算子の挙動を独自に再定義する演算子の中...
<p>プロを目指す人のためのRuby入門</p>
<h1>7.10.4 演算子の挙動を独自に再定義する</h1>
<p>演算子の中にも再定義できるものとできないものがある。</p>
<p>再定義できるかどうかは<a target="_blank" rel="nofollow noopener" href="https://docs.ruby-lang.org/ja/latest/doc/spec=2foperator.html">ドキュメント</a>を参考にする。</p>
<p>ここでは例としてProductクラス同士を下記のように比較できるように再定義する。</p>
<pre><code class="rb">a = Product.new('A-0001')
b = Product.new('B-0002')
c = Product.new('A-0001')
a != b #=> true
a == c #=> true
a != 1 #=> true
</code></pre>
<pre><code class="rb">class Product
def ==(other)
if other.is_a?(Product)
code == other.code
end
end
end
</code></pre>
<h2>補足</h2>
<p>==はメソッドなので先頭に.をつけて呼ぶことができる。</p>
<pre><code class="rb">a.==(c) #=> true
</code></pre>
<p>また、==が呼び出されるのは左辺のオブジェクトなので、<br />
右辺に書いた場合はProduct#==は呼ばれない。</p>
<h1>7.10.5 等値を判断するメソッドや演算子を理解する</h1>
<p>等値を判定するメソッドには4種類ある。<br />
- equal?<br />
- ==<br />
- eql?<br />
- ===<br />
このうちequal?以外は再定義が可能。</p>
dychw
tag:crieit.net,2005:PublicArticle/0ea76888d3746ba5e09d93147a51ed05
2020-10-02T13:33:42+09:00
2020-10-02T13:33:42+09:00
https://crieit.net/boards/dychw-til/0ea76888d3746ba5e09d93147a51ed05
プロを目指す人のためのRuby入門7.6 クラスの継承DVDクラスがProduct...
<p>プロを目指す人のためのRuby入門</p>
<h1>7.6 クラスの継承</h1>
<p>DVDクラスがProductクラスを継承すると、そこにスーパークラスとサブクラスの関係が生まれる。</p>
<p>継承でよくある誤解として「クラスの機能を全部引き継ぐ」という考えがある。<br />
この考えだと非常に扱いづらいクラスが出来上がるので、「性質や概念の共通点」に着目する必要がある。<br />
こう考えるための概念として「is-aの関係」がある。<br />
例えば、販売管理システムにおける「DVDは商品の1種である(DVD is a product)」の関係は違和感がないはず。</p>
<p>OOPの参考書として「<a target="_blank" rel="nofollow noopener" href="https://www.amazon.co.jp/dp/B01L8SEVYI/ref=cm_sw_em_r_mt_dp_4VQDFbXF33W9M">オプジェクト指向設計ガイド</a>」がある。</p>
<h1>7.6.1 標準ライブラリの継承関係</h1>
<p>Rubyの継承は単一継承。(ミックスインという多重継承に似た機能は8章で説明)<br />
継承関係の頂点にはBasicObjectクラスがあるが、特殊な用途でない限りObjectクラスが頂点と考えて良い。<br />
(Ruby1.9以前はObjectクラスが継承関係の頂点にいた。)</p>
dychw
tag:crieit.net,2005:PublicArticle/e4bbc1c19c2bd077b59426a70c7a4ffc
2020-09-16T14:00:50+09:00
2020-09-16T14:00:50+09:00
https://crieit.net/boards/dychw-til/e4bbc1c19c2bd077b59426a70c7a4ffc
PHPでstringをarrayに変える際、区切り文字がある場合はexplodeメソッド、ない...
<p>PHPで<br />
stringをarrayに変える際、区切り文字がある場合はexplodeメソッド、ない場合はstr_splitメソッドを使う。</p>
dychw
tag:crieit.net,2005:PublicArticle/7b4e4bfffe14b5c18723a8950484f0e0
2020-09-10T16:05:27+09:00
2020-09-10T16:05:27+09:00
https://crieit.net/boards/dychw-til/7b4e4bfffe14b5c18723a8950484f0e0
プロを目指す人のためのRuby入門2.12.7 require標準ライブラリやgemを利...
<p>プロを目指す人のためのRuby入門</p>
<h1>2.12.7 require</h1>
<p>標準ライブラリやgemを利用する場合、require構文を使う。</p>
<h1>2.12.8 load</h1>
<p>requireとの比較<br />
- 何度でも読み込める。<br />
- 拡張子を省略できない。</p>
<h1>2.12.9 require_relative</h1>
<p>実行ディレクトリの外に読み込む対象のファイルがある場合に使う。</p>
<h1>3.2.1 テストコードの雛形</h1>
<p>下記のライブラリを読み込む。</p>
<pre><code class="rb">require 'minitest/autorun'
</code></pre>
<p>クラス名とファイル名は対応しており、ファイル名はスネークケースで書く。</p>
<p>minitestは「test_」で始まるメソッド名を探して実行する。</p>
<p>ここで扱う検証メソッドは3つのみ。<br />
- assert_equal # 引数2つが等しければパス<br />
- assert # 真であればパス<br />
- refute # 偽であればパス</p>
dychw
tag:crieit.net,2005:PublicArticle/ee98b49e6060011d8b1552ae190a7756
2020-09-08T12:16:44+09:00
2020-09-08T12:16:44+09:00
https://crieit.net/boards/dychw-til/ee98b49e6060011d8b1552ae190a7756
プロを目指す人のためのRuby入門2.10.2 and, or, not特徴が2つある。...
<p>プロを目指す人のためのRuby入門</p>
<h1>2.10.2 and, or, not</h1>
<p>特徴が2つある。</p>
<ol>
<li>優先順位の低い演算子である。</li>
</ol>
<pre><code class="rb">t1 = true
f1 = false
!f1 || t1 #=> true
not f1 || t1 #=> false
</code></pre>
<ol start="2">
<li>andとorは優先順位が同じなので、左から順に評価される。</li>
</ol>
<pre><code class="rb">t1 = true
t2 = true
f1 = false
t1 || t2 && f1 #=> true
t1 or t2 and f1 #=> false
</code></pre>
<h2>制御フローの例(and)</h2>
<p>Railsチュートリアルでの使用例</p>
<pre><code class="rb">redirect_to root_url and return unless FILL_IN
</code></pre>
<h2>制御フローの例(or)</h2>
<pre><code>def greeting(country)
country or return '入力してください'
</code></pre>
<h1>2.10.3 unless文</h1>
<p>elsifに相当するものはない。<br />
疑問: unless文の使いどころがわからない。</p>
dychw
tag:crieit.net,2005:PublicArticle/b5ccc4a3a96f77f8f1b0234f4ccdd7b8
2020-09-07T14:48:14+09:00
2020-09-07T15:07:09+09:00
https://crieit.net/boards/dychw-til/b5ccc4a3a96f77f8f1b0234f4ccdd7b8
プロを目指す人のためのRuby入門2.8.4 フォーマットを指定sprintf('%0.3f'...
<p>プロを目指す人のためのRuby入門</p>
<h1>2.8.4 フォーマットを指定</h1>
<pre><code class="rb">sprintf('%0.3f', 1.2)
</code></pre>
<p>または下記のようにも書ける。</p>
<pre><code class="rb">'%0.3f' % 1.2
</code></pre>
<p>複数のオブジェクトを表示したい場合、下記のように書く。</p>
<pre><code class="rb">sprintf('%0.3f %0.3f', 1.2, 0.4)
</code></pre>
<p>または下記のようにも書ける。</p>
<pre><code class="rb">'%0.3f %0.3f' % [1.2, 0.4]
</code></pre>
<h1>2.9.4 数値クラス</h1>
<pre><code class="rb">10.class #=> Integer(過去のバージョンではBignumやFixnumクラスがあったが、2.4からはIntegerクラスにまとめられた。)
1.5.class #=> Float
</code></pre>
<p>複素数や有理数</p>
<pre><code>irb(main):006:0> 2r.class
=> Rational
irb(main):007:0> 2i.class
=> Complex
</code></pre>
<h2>疑問</h2>
<p>「1.superclass」で「Numeric」が得られることを期待したが、「undefined method `superclass'」が返ってくる。</p>
<h3>調べたこと</h3>
<p><a target="_blank" rel="nofollow noopener" href="https://stackoverflow.com/questions/27911782/ruby-how-to-find-superclass-of-an-object">Ruby: How to find superclass of an object?</a></p>
<pre><code>> 1.class.superclass
=> Numeric
> 1.class.ancestors
=> [Integer, Numeric, Comparable, Object, Kernel, BasicObject]
</code></pre>
dychw
tag:crieit.net,2005:PublicArticle/832f7e64b32fe198910a53f6a90676df
2020-09-05T11:04:40+09:00
2020-09-05T11:05:50+09:00
https://crieit.net/boards/dychw-til/832f7e64b32fe198910a53f6a90676df
プロを目指す人のためのRuby入門ファイルエンコーディングとマジックコメントRuby1.9以前...
<p>プロを目指す人のためのRuby入門</p>
<h1>ファイルエンコーディングとマジックコメント</h1>
<p>Ruby1.9以前の場合、デフォルトエンコーディングはUS-ASCIIだった。<br />
なので日本語をUTF-8で扱う時、下記のマジックコメントが必要になった。</p>
<pre><code class="rb"># encoding: shift_jis
</code></pre>
<p>マジックコメントはプラグマとも呼ばれる。</p>
<h1>2.2.1</h1>
<p>nilや正規表現などの値は全てオブジェクトでto_sなどのメソッドを呼ぶことができる。</p>
<h1>2.2.2</h1>
<p>メソッドの括弧は省略できる。</p>
<h1>2.2.3</h1>
<p>文の区切りは改行かセミコロン、バックスラッシュ、( で表す。</p>
<h1>2.2.4 コメント</h1>
<p>=begin と =endで囲んでコメントを書ける。</p>
<h1>2.2.7 リテラル</h1>
<p>ソースコードの123や””と言った記述はリテラルという。</p>
<h1>2.2.8</h1>
<p>変数名はスネークケースで書く。</p>
<p>多重代入の使用を避ける。</p>
<pre><code class="rb">c, d = 10
d #=> nil
</code></pre>
<p>=を複数回使うことも避ける。</p>
<pre><code class="rb">a = b = 100
</code></pre>
<h1>2.3.1 シングルクォートとダブルクォート</h1>
<p>ダブルの場合、エスケープシーケンスを改行文字などのように解釈する。</p>
dychw
tag:crieit.net,2005:PublicArticle/34ccf12b057da2ba81d47282018cb988
2020-09-04T16:36:49+09:00
2020-09-04T16:36:49+09:00
https://crieit.net/boards/dychw-til/34ccf12b057da2ba81d47282018cb988
黒田 努. Ruby on Rails 6 実践ガイドつまずいた点3.5.5節ブラウザで「ht...
<p>黒田 努. Ruby on Rails 6 実践ガイド</p>
<h1>つまずいた点</h1>
<p>3.5.5節<br />
ブラウザで「http://example.com:3000/」を確認したところ、エラーで"add the following to your environment configuration"が表示された。</p>
<h2>原因</h2>
<p>blocked_hosts.rbファイルの置き場所が間違っており、/app/configでなく/app/assets/configに配置していた。</p>
dychw
tag:crieit.net,2005:PublicArticle/46f318191a0c6d96b1c2ff29587a54ed
2020-09-03T14:36:43+09:00
2020-09-03T14:36:43+09:00
https://crieit.net/boards/dychw-til/46f318191a0c6d96b1c2ff29587a54ed
学んだことphpを対話形式で動かしていたところ、「echo false」は何も表示されないこと...
<h1>学んだこと</h1>
<p>phpを対話形式で動かしていたところ、「echo false」は何も表示されないことに気づいた。</p>
<pre><code class="bash">$ php -a
> echo true;
1
> echo false;
</code></pre>
dychw
tag:crieit.net,2005:PublicArticle/205a1993b3d89cce88c84032ae6e2164
2020-08-29T13:01:15+09:00
2020-08-29T13:01:56+09:00
https://crieit.net/boards/dychw-til/205a1993b3d89cce88c84032ae6e2164
Coursera Week4 machine-learningつまずいた点all_theta(...
<p>Coursera Week4 machine-learning</p>
<h1>つまずいた点</h1>
<p>all_theta(c, :)と書くべきところ、all_theta(c)と書いてしまった。</p>
<h2>matrix(c, :)</h2>
<p>c行の列を全て取得する。</p>
<h2>matrix(c)</h2>
<blockquote>
<p>a=[1 2 3;4 5 6]<br />
a =</p>
</blockquote>
<p>1 2 3<br />
4 5 6</p>
<p>octave:11> a(1)<br />
ans = 1<br />
octave:12> a(2)<br />
ans = 4<br />
octave:13> a(3)<br />
ans = 2<br />
octave:14> a(4)<br />
ans = 5</p>
dychw
tag:crieit.net,2005:PublicArticle/cac9a11b2e8b6413b2fbd9d31d96bb82
2020-08-28T14:16:46+09:00
2020-08-28T14:16:46+09:00
https://crieit.net/boards/dychw-til/cac9a11b2e8b6413b2fbd9d31d96bb82
PHP- password_hash()、 password_verify() というパスワー...
<p>PHP<br />
- <a target="_blank" rel="nofollow noopener" href="https://qiita.com/ariaki/items/7e4083c03f5acc06232f">password_hash()、 password_verify() というパスワード用の関数</a>がある。<br />
- 任意精度数値での除算はbcdivを使う。無ければ、floorやnumber_formatなど他の関数を使う。https://stackoverflow.com/questions/9944001/delete-digits-after-two-decimal-points-without-rounding-the-value/9944052</p>
dychw
tag:crieit.net,2005:PublicArticle/355f4c4b34d8f32fd90c08b070916e34
2020-08-24T22:15:29+09:00
2020-08-24T22:15:29+09:00
https://crieit.net/boards/dychw-til/355f4c4b34d8f32fd90c08b070916e34
LPIC対策調べたことリダイレクトでアンドマーク'&'がやっていることポイントコマンド...
<p>LPIC対策</p>
<h1>調べたこと</h1>
<p><a target="_blank" rel="nofollow noopener" href="https://qiita.com/ichi_taro3/items/d71e411685ad1bcd9e78">リダイレクトでアンドマーク'&'がやっていること</a></p>
<h2>ポイント</h2>
<ul>
<li>コマンドは左から実行される</li>
<li>「&1」は lsの標準出力先をコピーしているという意味らしい。</li>
</ul>
dychw
tag:crieit.net,2005:PublicArticle/49d9163cf857a18279bd92a45361f1e6
2020-08-23T19:55:36+09:00
2020-08-23T19:55:52+09:00
https://crieit.net/boards/dychw-til/49d9163cf857a18279bd92a45361f1e6
あずき本11.4 DNSの設定DNSサーバの役割はホストとIPアドレスを相互に変換すること。...
<p>あずき本</p>
<h1>11.4 DNSの設定</h1>
<p>DNSサーバの役割はホストとIPアドレスを相互に変換すること。<br />
これを名前解決という。<br />
ホスト名からIPを求めることを正引き、その逆を逆引きという。</p>
<h2>/etc/resolv.conf</h2>
<p>参照先のDNSサーバを設定する。</p>
<h2>/etc/nsswitch.conf</h2>
<p>問い合わせる順番を設定する。files(/etc/hostsファイル)、dns、ldapのように書く。</p>
<h2>getent hostsコマンド</h2>
<p>ホスト名の一覧を取得。</p>
<h2>/etc/systemd/resolved.conf</h2>
<p>systemdを採用したディストリビューションでは名前解決をsystemd-resolvedサービスで行う。</p>
<p>サービスを有効にするコマンド<br />
$ systemctl restart systemd-resolved.service</p>
<h3>/etc/systemd/resolved.conf</h3>
<p>参照先のDNSサーバを記述する。</p>
<h2>hostコマンド</h2>
<p>名前解決の問い合わせをする。</p>
<h2>digコマンド</h2>
<p>DNSへ問い合わせ、登録されている情報を詳細に表示する。</p>
dychw