投稿

7月, 2020の投稿を表示しています

Ruby技術者認定試験 Silverの合格まで

お疲れ様です。本日は僕が取得したRuby技術者認定試験 Silverについて展開していきたいと思います。RubyとはそもそもRubyとはなんのことでしょうか。Rubyとはプログラム言語のことです。みなさんが今まさに目にしている画面やスマホアプリなどは多様なプログラム言語で記述されています。自由度、柔軟性が高く、プログラム初心者の方にもオススメの言語だと思います。Ruby技術者認定試験SilverとはRuby技術者認定試験Silverでは、Rubyの基本的な記述の仕方、標準関数、オブジェクト指向などの基礎的な知識、技術を持つことを認定します。受験動機僕が受験したのは数年前。受験動機は仕事がなかったからです仕事がない中で、「何もしてませんでした」では客先の面談などで後々困ると思い受験しました。半分見栄のために受けたようなもんです。勉強期間勉強期間は大体2ヶ月ほど。当時は客先常駐をしつつ、勉強していました。2ヶ月の間は以下を繰り返していました。

平日:業務後、帰宅前に30分ほどirbでメソッドの動作確認(家に帰るとやる気が起きないので)

土曜:図書室などで5時間ほどテキストの内容、過去問を読み書き勉強に使用した資料等勉強には以下のテキストを使用しました。受験者には定番のテキストで、これ一冊あればまず問題ないかと思います。
あとは過去問です。僕の時はpdfでしたが、今はgithubのようです。

過去問勉強方法以下を徹底しました。 テキストを読む
一度全て読むことをオススメします。注意点としては、ゴールドも含まれたテキストなので、シルバーの範囲だけ読んでください。 メソッドを使ってみる
Ruby 技術者認定試験シルバーはメソッドの動きを覚えれば、5割は点数を取れるかと思います。irbなどで実際に動作させて、しっかり覚えましょう。破壊的か、非破壊的かを抑えておいた方がいいです。 過去問を解く
過去問そのものは出ませんが、似たような問題は何問も出てきますので、傾向が掴めると思います。引っかけ問題も多くあります。 まとめ頭のいい人は2週間ほどで取れるみたいです。すごい!!そこまで難しい資格でもないので、挑戦してみてはいかがでしょうか

IT Webエンジニアの転職活動 転職エージェントを利用してみた体験談

仕事やプライベートで色々ごにょごにょ紆余曲折ありまして・・・この度転職することになりました!!!というわけで、今回は転職の体験談を書きました。転職を考えた理由仕事で行き詰まることが多い、休日出勤、残業が多い、給与が上がらないなどあり、ふと「会社辞めよう」と思うようになりました。そこからは毎日転職についての記事を漁る日々でした。「転職の流れ」「転職 未経験」「30代 転職」などなど。記事の中でよく目についたのは転職エージェントという単語でした。「転職エージェントを利用すれば今の状況を改善できるかもしれない」と思い早速利用してみました。転職エージェントは複数利用するのがスタンダードっぽいのでDODAマイナビの二つを利用しました。(これがいけなかった・・・・)
転職活動の概要実際の転職活動はだいたいこんな感じでした。転職活動期間:3ヶ月応募した会社数:50社くらい二次面接までいった会社数:10社くらい内定会社数:5社くらい転職活動内容はだいたいこんな感じエージェントからくる求人情報をチェック(めちゃくちゃくる!全部見てれられないorz)興味のある求人にWebから応募職務経歴書、履歴書作成面接対応。週1くらいのペースで上でも少し触れましたが、転職エージェントを複数利用するということは応募する会社が増えるということ、つまり応募準備、日程の調整、面接対応などの負担が増えるということです。すでに退職済みの人は転職活動一本に注力できますが、僕は仕事と並行して転職活動をしていたのでかなり疲れました・・・。一度退職してから転職活動をするという考えもよぎりましたが、お金が減ってしまう、いつ職が決まるか保証もないというリスクもあって仕事と並行しての転職活動を選びました。DODA、マイナビの利用流れはどちらも以下のような形でした利用の流れ1 DODAマイナビの公式サイトにアクセスしアカウント登録。エージェントサービスを開始2 カウンセリングを予約しエージェントと実際に会う3 カウンセリングでは職歴、転職理由、希望事項などざっくばらんに話をする。1時間弱くらい。4 職務経歴書作成、履歴書作成5 あとは死ぬほどメールやマイページに求人情報がくるのでチェックして応募。一気に20社くらい応募する転職エージェントを利用して感想初めはエンジニア職以外も視野に入れていたのですが、未経験だと給与がガクッ…

[書籍]難しいことはわかりませんが、お金の増やし方を教えてください!感想まとめ

お金を増やして生活を豊かにしたいなー・・・という願望は誰しもあるかと思います。僕もそうです!!そのとっかかりとして、この本を読みました。こういう人におすすめ投資を考えている人、保険に入るか悩んでいる人、とにかくお金が欲しい人など概要30代後半、筆者は安定とは程遠い小さな出版社に転職しました。もし職を失ったら?、老後のお金が無かったら?先行きが不安になった筆者は資産運用を考えました。とは言え、定期預金の利息は安いし、金融知識もない・・・。そこで、投資運用会社、証券会社などの経験を経た経済学者の山崎元先生にお金の運用方法を教えてもらうことに。この本は、筆者と山崎元先生との会話形式で著されています。目次お金を安全に持っておく編ちょっとリスクをとって運用する編お金を使う編トクする制度を使って実際に買ってみる編年金と確定拠出年金編まとめ重要なこと安全に金を持ちたいなら個人向け国債。1年経てば元本割れしない。日本は多額の借金をしているが、財政破綻する可能性は極めて低いネット証券を活用する単利・・・毎年元金に対して利子がつく。複利・・・今までもらった利子を含めて利子がつく国債は個人向け国債変動10年型を選ぶ。長期金利に連動して、下限0.05%と決まっている外貨預金は手数料が高く、金利が高くても低くてもどの通過が有利とは言えない。なるべくしないほうがいい個人向け国債と投資信託は金融知識が乏しくても手堅くできる。働きながらできる投資信託は分散して投資ができるので、リスクを減らすことができる投資信託は投資信託販売会社、投資運用会社、お金を管理する会社のそれぞれで業務を行なっている投資信託の投資資金は信託銀行で管理されている。信託銀行は集めた資金を会社のお金とは別で管理するように法律で決められている投資信託は販売手数料、運用管理手数料がかかる。(ゼロの場合もある)運用管理手数料が安いのは上場インデックスファンドTOPIX、ニッセイ外国株式インデックスファンドアクティブファンド平均がインデックスファンド平均を上回ったことはほとんどなく、インデックスファンドは手数料が安い毎月分配型という毎月報酬がもらえる投資信託は運用管理手数料が高いのでやめたほうがいいNISAの口座は120万までの投資額に対して5年間税金がかからない貯金を当面の生活資金、安全資産、リスク運用資産(損をしてもいい金額の3倍…

Rails マルチスレッド実行環境でデッドロックが発生

概要RailsでThreadを利用して並行処理を実装したが、デッドロックが発生。処理が止まってしまった。エラーも発生しないclass MainController def thread_exe sub_a = Sub_A.find(1) th = Thread.new { Sub_A.call_b } th.join end endclass Sub_A < ApplicationRecord def call_b Sub_B.call_b # ここでデッドロック end endclass Sub_B < ApplicationRecord def call_b # 何らかの処理 end end解決策permit_concurrent_loadsメソッドで外部クラスの自動読み込みを許可するclass MainController def thread_exe sub_a = Sub_A.find(1) th = Thread.new { Sub_A.call_b } # ここを追加 ActiveSupport::Dependencies.interlock.permit_concurrent_loads do th.join end end end予備知識Threadとは一連の処理の流れのこと。複数の処理の流れはマルチスレッドリエントラント処理を実行中に再び同じ処理が呼び出され並行に実行されたとしても、データ破壊や矛盾などが発生せず、安全に処理終了できることRailsの自動読み込みRailsではrequireを書かなくてもappはいかのcontrollersやmodelsなどにあるファイルを自動読み込みする

[書籍]マンガでわかる 必ず伝わるロジカル会話術!感想まとめ

こういう人におすすめ物事を教えるのが苦手な人、説得が苦手な人など。コンサルタント系、営業系の職種のかたはおすすめ。マンガを主軸にしてるので、頭に入りやすいです。概要主人公のさつきは、ファミレスチェーンの店舗管理課所属。大きな仕事を任されるも、店舗内の反発、上司の圧力など様々な困難が立ちふさがる。さつきは、無事にプロジェクト成功できるのか…論理思考、ロジカルシンキングと聞くと難しく感じると思います。この本はそんな人のために、簡潔かつわかりやすくまとまっています。筆者はコンサルタントのプロで世界75ヶ国に渡り、4万5000人以上を指導した経験があります。経験に基づいたロジカル会話術のノウハウがこの本に込められています。目次ロジカルシンキングからロジカルダイアローグへ大工と話すときは大工の言葉で?分けるは分かる、論理 + 感情=納得 の公式聞き上手は相づち上手詭弁に負けるな無知を恐れず未知を楽しもう重要なこと話は「結理事結」で。「結」結論から話し、「理」その理由を述べ、「事」事例を紹介して、最後に改めて「結」結論を繰り返すことでメッセージを強調するコミュニケーションは受け手が決める。自分の「〜というつもり」の思いが通じる訳では無いMECE:漏れがない、ダブりもない。MECEを意識して問題や対象を切り分ける納得=論理+感情。論理の明確さ、相手への共感を合わせることで納得へ導く詭弁を見抜くために。こちらの発言を矮小化していないか。論点がずれていないか。疑問はすぐに投げかける会議の前に前提交換をする。各人それぞれが課題に対してどう思っているか、どうしたいかを共有する無知を恐れたままでは新たな経験はできない。学びや成長もない。未知を楽しむまとめ難しい単語が苦手な僕でもスラスラ読めました。「相手を納得させる」ということが得意では無いので仕事の上でも実践してみたいと思います。

React基本

JSXFaceBookが開発したjavascript拡張機能。HTMLタグをjavascriptの中に書ける。実際はBabelを使ってHTMLの部分をjavascriptのプログラムに置き換えている<!DOCTYPE html> <html> <head> <meta charset="utf-8"> </head> <body> <div id="app"></div> <script src="app.js"></script> </body> </html> // jsxを使用できるようにreactのモジュールをimport import React from "react"; import ReactDOM from "react-dom"; // 描画関数のReactDom.renderにh1タグを渡して'app'に描画する const app = document.getElementById('app'); ReactDOM.render(<h1> Hello </h1>, app); 注意点コンポーネント名は大文字から始めるclass属性は「className」と書くreturnで戻すタグは一つ。複数返したい場合はdivとかでくくる閉じタグがない場合はエラー属性値は""でくくる。テンプレート文字列(``)は指定できない{}でくくるとjavascriptが使用できるimport React from "react"; import ReactDOM from "react-dom"; // 関数コンポーネント。大文字から始める const App = () =>{ // class属性はclassName // 属性値は””でくくる // 戻すタグはdivなどで一つにまとめる return ( <div> …

CentOSにphpを入れる

概要CentOSにphp入れたい関連用語rpm・・・redhat package manager。red hatで使用するパッケージを管理するyum・・・rpmパッケージを管理する。パッケージの依存関係を解決してくれるリポジトリ・・・ここでいうリポジトリは、rpmパッケージが保管されている場所のこと。epelリポジトリ追加登録されているリポジトリ確認# yum repolist Loaded plugins: fastestmirror, ovl Loading mirror speeds from cached hostfile * base: mirror.fairway.ne.jp * extras: mirror.fairway.ne.jp * updates: mirror.fairway.ne.jp repo id repo name status base/7/x86_64 CentOS-7 - Base 10,019 extras/7/x86_64 CentOS-7 - Extras 435 updates/7/x86_64 CentOS-7 - Updates 2,500 repolist: 12,954 epelリポジトリをインストールyum install epel-release 再度リポジトリを確認# yum repolist Loaded plugins: fastestmirror, ovl Loading mirror speeds from cached hostfile * base: mirror.fairway.ne.jp * epel: ftp.jaist.ac.jp * extras: mirror.fairway.ne.jp * updates: mirror.fairway.ne.jp repo id repo name status base/7/x86_64 CentOS-7 - Base 10,019 epel/x86_64 Extra Packages for …

Javascriptでurlのパスを取得

概要javascriptでurlの文字列からパスの文字列を取得したい。
http://localhost:3000/hoge/huga
の場合は'hoge/huga'の部分
http://localhost:3000/
の場合は'/'を取得したいsplitしてsliceしてjoinする// 'http://localhost:3000/hoge/huga'.split('/').slice(3) // →["hoge","huga"] let path = 'http://localhost:3000/hoge/huga'.split('/').slice(3).join('/') path == '' ? '/' : path // →"hoge/huga" // 'http://localhost:3000/'.split('/').slice(3) // →[""] path = 'http://localhost:3000/'.split('/').slice(3).join('/') path == '' ? '/' : path // →"/" splitしてsliceして+=演算子を使うlet path_list = 'http://localhost:3000/hoge/huga'.split('/').slice(3) let path = '' for(let v of path_list){ path += (v == '') ? '/' : v } // →"hoge/huga" path_list = 'http://localhost:3000/'.split('/').slice(3) path = '' for(let v of path…

名前のスタイリングについて

概要言語別の名前で使用するケースの使い分けについて。とりあえず、RubyとJavascriptについてキャメルケース単語ごとに大文字で区切る。最初の文字を小文字にするローワーキャメルケースと
大文字にするアッパーキャメルケースがある
ローワーキャメルケースcaptainamericaAndWinterSoldier アッパーキャメルケースCaptainamericaAndFalcon スネークケース単語ごとにアンダーバー(_)で区切るironman_and_warmachine Javascriptの場合変数名ローワーキャメルケースvar thorAndLoki 関数名ローワーキャメルケースfunction makeHulkAngry() {} クラス名アッパーキャメルケースclass Marvel{} Rubyの場合変数名スネークケースantman_and_wasp 関数名スネークケースdef make_hulk_soothe end クラス名アッパーキャメルケースclass Marvel end 参考javascript スタイルガイド
変数/クラス名の命名規則に使われる記法の分類
Ruby 命名規則まとめ

package.json について概要だったり、詳細だったり

package.jsonってなんだ?となったので、備忘録。随時更新します。関連用語Node.js・・・サーバサイドで動く javascriptnpm・・・javascript のモジュールを管理するツール。ruby でいう bundler のようなもの。yarn・・・npm と同じ javascript のモジュールを管理するツール。npm よりインストール速度が早いらしい概要パッケージの依存関係を記した json ファイル。rails で使用する Gemfile のようなもの作り方npm init でカレントディレクトリに作成される。結果カレントディレクトリ jstest で npm init を打って、何も入力せずに Enter 連打すると以下のようになるコマンド結果$ npm init ・・・略・・・ name: (jstest) version: (1.0.0) description: entry point: (index.js) test command: git repository: keywords: author: /package.json: { "name": "jstest", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC" } Is this ok? (yes) yes package.json{ "name": "jstest", "version": "1.0.0", "descriptio…

ActiveModel::Serializersでundefined method `read_attribute_for_serialization'

ActiveModel::Serializersでエラーjson出力するActiveModel::Serializersで以下のエラーが出ることがあります。たまに出るやつで、調べてもあまり情報がなかったので、serializerのソースを読んで原因究明してみました。undefined method `read_attribute_for_serialization' 原因getterがないためです。このエラーはモデルに紐づかないデータをjson出力するときに出ます。例# コントローラ # jsonを返すメソッド def success_serializer # hashオブジェクトをjson出力する hoge_huga = { hoge: 'hogehoge', huga: 'hugahuga' } render json: ActiveModelSerializers::SerializableResource.new( hoge_huga, serializer: HogeSerializer ) end # シリアライザー class HogeSerializer < ActiveModel::Serializer attributes :hoge, :huga def hoge object[:hoge] end # hugaのgetterはない Modelの継承関係は以下。XXXModel < ApplicationRecord ApplicationRecord < ActiveRecord::Base そして、ActiveRecord::BaseはSerializationモジュールをincludeしている。Serializationで定義しているread_attribute_for_serializationはModelオブジェクトの属性値を取得するメソッド。以下のように定義して属性値を取得している。 alias :read_attribute_for_serialization :send つまり作成したSerializerにModelオブジェクトが渡らない…

静岡観光!サファリパーク、ぐりんぱについて

イメージ
連休を利用して静岡に家族旅行に行ってきました。旅行にかかった費用観光スポットについて書いていきます。[概要]静岡観光のコース、旅行費用観光コース[1日目]ぐりんぱ(滞在時間:6h)[2日目]富士サファリパーク(滞在時間:9h)旅行費用家族3人分の旅行費用は以下。東京からぐりんぱ、富士サファリパークまでの道のりを調べたところ、車を利用した方が行きやすいと判断し、高速を使って行くことにしました。内訳()には大人1人分を出しています。交通費:3000円(高速代) 宿泊費:2万9000円遊興費(入場料+アトラクション代など):1万800円(内訳:ぐりんぱ 2000円、富士サファリパーク 3400円 )×2合計:4万2800円ぐりんぱぐりんぱは、富士山にある子供向けの遊園地です。ウルトラマンや、シルバニアファミリーのアトラクションが満載です!アクセス車で高速に乗って約2時間程度。ぐりんぱで遊ぶ早速遊ぶぞ❗❗…と思ったのですが、あいにくの雨😫しかし❗ぐりんぱは屋内の施設も充実してたので、充分に遊べました。1歳~3歳向けの外のアトラクションはそんなになかったのでちょうどよかったかもシルバニアファミリーのウサギ(名前わからん…)のグリーティングもやっていました。富士サファリパーク「ホントにホントにホントにホントにライオンだー」のCMでお馴染みの富士サファリパーク。アクセス富士サファリパークで遊ぶ富士サファリパークに到着して、ジャングルバスを予約❗…が、なんと16時~のバスしかない❗❗パークに到着したのは開園して15分ほどしか経ってないのに…。とりあえず、16時から運行しているバスを予約できました。バスはトラやサイ、カバなどを模したバスが複数台出ていて、予約するときに選ぶことができます。僕たちはサイのバスを予約しました。ジャングルバスまで時間に余裕があるので、ウォーキングサファリに参加。ウォーキングサファリはパーク内2.5kmを歩きながら動物を見るアトラクションです。こちらは特に予約の必要もなく参加することができます。長い道のりになるため大きな荷物を持っていたり、小さいお子様をつれている場合は注意が必要です。ライオンやトラ、鹿などのエサやりも可能です。ライオンやトラのエサやりは時間制なので、計画的に行くことをおすすめします。そして、ついにジャングルバスの時間になりました❗写真はゾ…

[書籍]ヒトはなぜ先延ばしをしてしまうのか 感想まとめ

こういう人におすすめADHDのように大人の発達障害を持った人、部屋の掃除や洗濯などが出来ない人、課題に追われる大学生など、幅広い層におすすめです。概要大学教授の筆者は、自身も先延ばしをライフワークとしてきました。先延ばしを科学的に分析し「先延ばし方程式」を考案。先延ばしに関することを究明してきました。本書では学校や職場、私生活で利用できる実践的な対策を説明しています。目次先延ばし人間の実像先延ばしの方程式サボる脳のメカニズム現代社会は誘惑の巣窟私たちが失うもの、悔むもの企業と国家が払う代償自身喪失と自信過剰の最適バランスやるべきことに価値を吹き込む現在の衝動と未来のゴールを管理するさあ、先延ばしを克服しよう重要なこと先延ばし行動は(期待*価値)/(衝動性*遅れ)で表すことができる。例えば、課題の締め切りが遠い(遅れ)ほど、衝動性の高い人ほど、モチベーションが下がる=先延ばし。また、ご褒美がもらえる可能性(期待)が高いほど、質や量(価値)が良いほど、モチベーションが上がる現代社会が進歩するにつれて、先延ばしにつながる誘惑が増えた。テレビ、ゲーム、SNSなど先延ばしする人は成功できない人が多い。仕事の質、貯金、健康面など、様々なケースで代償を払うことになる手強くとも、達成可能な目標を設定し、一つ一つクリアすることで、自信を高める映画や書籍、身近な人の多くの成功体験談に触れて、モチベーションを上げる理想の自分を具体的に想像し、現実とのギャップを認識。その差を埋める方法を模索するリスクを予測する。自身が先延ばしをするパターンを書き出しても良い課題や困難に対して、ゲーム感覚、目的意識を持つ睡眠や空腹など、自身のエネルギー貯蔵庫を把握する課題に対して、自分なりのご褒美を作る自分にとっての、誘惑は何かを洗い出すまとめ先延ばしをすることでどのように人が堕ちていくかを実例を基に書かれているので、良い意味で危機感や焦燥感を煽られる本になっています。悩んでいる方は、ぜひ読んでみてください。

React 環境構築からHelloWorldまで

イメージ
今回はJavascriptライブラリのReactについて!今まで聞いたことはあるけど、触ったことはありませんでした。学習を進めて、最終的には簡単なアプリケーションを作れたらと思います。今回のゴールReactをPCに導入して「Hello World」をブラウザ表示させるまでReactってなに?Facebookが作った、Javascriptライブラリです。環境構築※前提として、Windows PCに環境を構築していきます。Node.jsをインストールNode.jsはサーバサイドのJavascript実行環境。(なぜ必要なのかいまいち良くわかってません。後述のnpm用??)以下のリンクからインストーラをダウンロードしてインストールします。Node.jsダウンロードサイトnpmで必要なパッケージをインストールNode.jsをインストールすると、npmというものも一緒にインストールされています。npmとは色々と便利なパッケージをインストールすることができるものです。Reactもnpmでインストールできます。mkdir hello
cd helloまずはコマンドプロンプトからアプリケーション用のディレクトリを作成します。\hello>npm init -y
Wrote to
\hello\package.json:
{
"name": "hello",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC"
}次にnpm init コマンドでアプリケーションディレクトリを初期化。パッケージ…

Twitterとwordpressの連携のためにやったこと

イメージ
自分のブログの記事投稿時に、twitterにも自動投稿させるようにしてみました。すぐにできるかなーと思ってたのですが・・・思ってたより苦労しました(泣)概要簡単に言うと以下をしました。現在( 2019年6月)は取得方法が色々変わったらしく・・・。本当に苦労しました。wordpressのSNS連携プラグインSNAPをインストールTwitter developer でなんやかんやしてAPI keyを取得SNAPに自分のtwitterアカウントを登録SNAPインストールwordpressに新規追加で「SNAP」を検索し、プラグインをインストールします。詳細な説明は割愛twitterのAPI keyを取得次にtwitterのAPI keyを取得します。API keyは機能を使用するための鍵となるものです。 Twitter Developerに会員登録 まずは以下のリンクにアクセスしてtwitter developerに会員登録します。twitter developer サイト
twitter developerサイトにアクセスし、自分のtwitterアカウントでログインすると上のような画面が表示されます。「create an app」ボタンを押して次に進みます。twitter developer ツールを使用する目的を聞かれます。とりあえず適当にチェックし「Next」ボタンを押して次へどこに住んでいるか、アカウント名は何かを聞かれます。記入して次へ。google先生いわく、以下を聞かれています。英語で書く必要があります。訳:英語で、TwitterのデータやAPIをどのように使用する予定かを説明してください。回答が詳細になればなるほど、レビューと承認が容易になります。僕は、以下のように回答しました。My service delivers life information and technical information.
By linking service and twitter, information can be delivered to users quickly.
As a mechanism to work together, use the wordpress plug-in SNAP.
API key of twitter is required for …

日光観光!東照宮、江戸村などオススメのスポットについて

イメージ
長期休暇を利用して、栃木にある日光へ家族旅行に行ってきました。旅行にかかった費用やオススメの観光スポットについて詳細にレポートしていきます!
[概要]日光観光のコース、旅行費用など観光コース
日程は1泊2日。有名な観光スポットを周りました。コースは以下。パッと見、1日目に詰め込んでいる感はありますが、遊ぶというより観る目的のスポットを1日目に置いたので、時間もかからず、充分に堪能することができました。逆に2日目の江戸村はもう少し時間が欲しかった・・・(泣)
[1日目]日光東照宮(滞在時間:3h)東部ワールドスクエア (滞在時間:3h) [2日目]日光江戸村 (滞在時間:5h) 旅行費用家族旅行ということで、僕、妻、子供(1歳)の計3人の旅行となりました。旅行費用は以下。尚、出発地点は新宿駅からになります。内訳()内には大人1人分を出しています。交通費:2万7840円 (内訳:特急 1万2800円、電車 620円、バス 500円)×2 宿泊費:3万2400円遊興費(入場料+お土産代など):1万6000円(内訳:東照宮 1300円、ワールドスクエア 1700円、江戸村 4000円 +α)×2合計:7万6240円日光東照宮アクセス東部日光駅からバスに乗ります。最寄りのバス停は以下。表参道神橋子供を連れても大丈夫?いざ!日光東照宮へ!旅行の計画を立ててたときに、一つ気になったのが子連れで観光はできるのかどうかという点。総括すると、日光東照宮は以下のように感じました。ベビーカーでの移動:×オムツ替え:○離乳食:△画像のように、日光東照宮は階段や砂利道が多いためベビーカーでの移動は非常に困難です。まだ歩けない子供を連れての観光であれば抱っこひもがベストかと思います。
オムツ替えについては、専用のトイレがあります。
また、付近には離乳食を用意しているお店もなく、座ることができる場所もあまりなかったので与えるのは難しいと感じました。(僕たちの場合は、日光東部駅付近で離乳食と自分たちのお昼を済ませました。)日光東照宮の観光
神橋というバス停を降りて、歩いて向かいます。神橋も観光名所らしいです。いくつか階段を上ると東照宮が見えてきました。山の中腹あたりにあるせいか、わりと涼しかったです。有名な三猿も見ました!徳川家康の墓もあるとのことで、階段を上って見に行きました。207段あり、なかなかの急斜面…

[書籍]リーダブルコード 感想まとめ

プログラマーのバイブルとして名高い名前付けに関する技術書「リーダブルコード」を読みました!こういう人におすすめ初級、中級者のプログラマー。コードを書いて、ある程度動くものを作れるようになったけれど、保守性、拡張性などは意識できていない。もう一段階上の優れたコーディングをしたい人におすすめです。概要「読みやすいコード」「理解しやすいコード」の定義、方法を説明した書籍になっています。説明に使用しているプログラミング言語は、C++、Java、Python、Javascript等を使用しています。複雑なコーディングはしていないので知らない言語でも理解しやすいかと思います。目次理解しやすいコード名前に情報を詰め込む誤解されない名前美しさコメントすべきことを知るコメントは正確で簡潔に制御フローを読みやすくする巨大な式を分割する変数と読みやすさ無関係の下位問題を抽出する1度に1つのことをコードに思いを込める短いコードを書くテストと読みやすさ「分/時間カウンタ」を設計・実装する重要なことなぜ理解しやすいコードを書かなければいけないのか?将来的にそのコードを再利用するのは自分かもしれないし同僚かもしれない。 理解しづらいコードは、工数の無駄となってしまう。コーディング後に「このコードは理解しやすいだろうか」と自問自答することが大切明確な単語を選ぶ。「get」「tmp」「ret_val」などはあまり明確な単語ではない。名前を見ただけで情報を読み取れること限界値には「min」「max」範囲には「first」「last」包含・排他的範囲には「begin」「end」ブール値には「is」「has」を使うコメントは読んだ人が「なぜ?」とおもう箇所を予想してコメントを書くコードからすぐに抽出できることはコメントすべきではないif/elseは肯定的・単純・目立つものを先に処理する三項演算子、do/whileなどはあまり使わないネストを削除するようにガード節を使用するまとめ分かりやすい、理解しやすいを売りにしているだけあって、書籍自体もとてもわかりやすく構成されています。より実践的なテクニックが詰まっているのでおすすめの書籍です

[書籍]仕事が早いのにミスをしない人は何をしているのか? 感想まとめ

今日は、「お仕事の速さ」について。何か解決策はないかと、書籍「仕事が速いのにミスをしない人は何をしているのか?」を読んでみました。
こういう人におすすめ 「仕事が遅くて残業ばかり」「ミスが多くて怒られがち」というような、お仕事に悩んでいる人にはおすすめの本です。入ったばかりで慣れない新人の方や、未経験職種に就いたばかりの人にはとても役に立つのではないのでしょうか。 逆に、単純に仕事の質やスピードをもっと高精度に仕上げたいという方には、「こんなこと既にやっている」という人も多いかもしれませんし、内容も物足りないかもしれません。概要 本書では、スタンフォード大学工学博士の著者が、工学、失敗したことで得た知識や経験を展開していきます。それらを基に作業効率化する方法や、ミスをなくす具体的対策を挙げた本となっています。 目次なぜあの人は仕事が速いのにミスしないのか?仕事の質とスピードを同時にあげる方法 入門編うっかりを防ぐ「最小・最短・効率」仕事術メールを制するものが、ビジネスを制する自分のパフォーマンスを最大まで高める仕事術ずば抜けた仕事の決め手となる人間関係とコミュニケーションのコツ仕事の質とスピードが同時に上がる逆転の発想法自己流・万能術の作り方自己実現を最短で叶える仕事の取り組み方重要なこと大事だと思ったことをピックアップしましたチェックリストはアメリカ式 1作業1チェックができるように、一つ一つのリストを細かに書く。ダブルチェックを一人でするときは、1回目は上から順にチェックをし、2回目は下から順にチェックをすることで、見方を変える忘れないような仕組みを作る。 例えば、大事な持ち物を、履いていく靴の上に置いておく仕事の本質を整理し、優先順位を見極める 本当に大事なことだけ最小限に見極め、ミスを最小限にする日頃から自分の工数を数えるようにする 仕事を依頼された時点で、どれだけ時間がかかりそうかを考えておく 勘を取り戻すトレーニングをする 時計を見る前に、「今何時か」、地図を見る前に「目的地はどちらの方角か」などを予想する癖をつける話をするポイント 自分の話は短めに、結論と裏付ける事実を核に話す。言い訳はしない 仕事における最悪は何より目的を果たせないことどうすれば失敗できるかを考える 考えうる全ての要因を洗い出し、その要因を潰していくまとめ上記で挙げた以外にも、仕事に…

オブジェクト指向プログラミングについて

最近のプログラミング言語は大抵オブジェクト指向になっています。オブジェクト指向プログラミングについて記事を書きました。
オブジェクト指向プログラミングとはobject(オブジェクト)とは、「物体」「目的」などと和訳されます。
オブジェクト指向においてはあらゆるものを「物体」として捉えます。「人間」も「パソコン」も「国」なども「物体」です
例えば、「車」を「物体」として捉えてみましょう。
「車」は基本的に以下のような動きを持ちますね。
前に進む 後ろに進む 右に曲がる 左に曲がる 運転手は、車を操作するときに中の仕組みは理解していません。しかし、ハンドル操作やアクセルを踏むことで結果がどうなるかは知っています。
このように、「こういう命令をすればこういう動きをする物体」を作成するのがオブジェクト指向プログラミングになります。
オブジェクト指向プログラミング 基本用語オブジェクト指向プログラミングには3大基本用語があります。
カプセル化カプセル化とは中でどのような処理をしているか意識させないことを目的としています。
先ほどの「車」を例にしてみます。
アクセルを踏むという操作をすると車が前に進みます。ブレーキを踏むという操作をすると車が止まります。どのような仕組みで進んだり止まったりするのかは運転手が意識する必要があるでしょうか。いやないっ(反語)プログラムも同様です。他のプログラムがどういう仕組みで結果を返すかなどは意識したくないし、意識されたくないのです。
結果を教えてくれるインタフェースだけ用意してくれるだけで良いのです。このカプセル化を利用することで、プログラム毎の独立性が担保され、プログラムの管理がしやすくなります。
継承オブジェクトの動きを引き継いで使用することができる機能です。「ショベルカー」というオブジェクトを作ってみます。
「ショベルカー」の動きは以下。
前に進む 後ろに進む 右に曲がる 左に曲がる モノを運ぶ 動きをどこかでみたことないでしょうか。そうです「車」オブジェクトと共通の部分があります
「車」オブジェクトを継承することで、共通の部分をまとめることができます。

「車」オブジェクトを継承した「ショベルカー」はプログラム上は以下の動きだけ定義すればOK
モノを運ぶ 継承のメリットは同じような振る舞いを持つオブジェクトが現れたときに、まとめることができます。
多態…