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