紙一重の積み重ね

アラフォーのエンジニアがなれる最高の自分を目指して、学んだことをこつこつ情報発信するブログです。

2018-01-01から1年間の記事一覧

【2018年総括】育児と仕事を両立して、エンジニアとして外部から評価をいただくことができた1年 #振り返り

はじめに 2018年も残すところあと1日となりました。2018年を振り返ります。 今年の総括 とても良い一年でした。 今年は人生初の体験が非常に多く、刺激的な一年でした。また。家庭と仕事のバランスがうまくとれた一年でもありました。プログラミングをよく学…

【2018年12月の振り返り】Qiitaアドベントカレンダーに参加して、社内のMeetUPイベントでLTした1ヶ月

はじめに 2018年も残り2日となりました。12月を振り返ります。 今月達成できたこと やりたかったことに対して、達成できたものを消しました。 CloudFormationのテンプレートを完成させる 以下の構成を1発で作る VPC subnet(Public、Private) Gateway(In…

【2018年】#つみたてNISA 40万円を使い切りました #インデックス投資

はじめに 2018年度の40万円のつみたてNISA枠を使い切りました。 世界的な株安がすごい 年末に向けて世界的な株安が進んでいます。 www.nikkei.com 特に日本株においては、10月から2割程度下落しているようです。アベノミクスでは3回目の弱気相場とのことです…

SIerで働くエンジニアが社内でMeetUPイベントを企画した話

はじめに 会社で初めてのミートアップイベントを開催することにしました。 私の勤務先の状況 SIerです ライトニングトークをする文化はない 社外のミートアップイベントに参加している人は少ない(ように見える) 社内の文化は保守的 きっかけ 日頃、ライト…

末尾にイコールがついているメソッドは代入構文として使える #Ruby

はじめに たまにメソッドにイコールがついているものを見かけるのでメモ。 実装例 def user_params=(user) id = user.id self.created_user ||= id self.updated_user = id end メリット 代入構文のように使用できる Rubyでは、()を省略できる。また、イコー…

Rubyをバージョンアップした時に bundle: command not found エラーが発生したときの対処法

やったこと Ruby2.4.1 を入れた直後に、2.5.1にバージョンアップした 発生したエラー $ bundle rbenv: bundle: command not found The bundle command exists in these Ruby versions: 2.4.1 原因 bundleがいないため 2.5.1 ~/.rbenv/versions/2.5.1/bin$ ll…

【CodeDeploy】rootユーザからubuntuユーザの権限を使用して bundle install したら Could not locate Gemfile と言われてハマった話

やりたいこと CodeDeployでbundle installしたい .rbenvをインストールしたのはubuntuユーザであるため、rootからubuntuユーザに切り替わって実行する必要がある。 こんな感じのapplication_start.shを書いた。 #!/bin/bash cd /home/ubuntu/hoge sudo -i -u…

35歳のエンジニアがRailsと出会って人生が変わった話 #Qiita #Rails

はじめに この記事は、Ruby on Rails Advent Calendar 2018の12日目の記事です。 qiita.com SIerで働く35歳のエンジニアが、Railsと出会って変わったことについて書きます。 私のこれまでの経歴 文系新卒でパッケージベンダっぽいSIerに入社 現在14年目ぐら…

【AWS】NATInstanceのルーティングに失敗する時は送信元/送信先の変更チェックを確認する #CloudFormation

困ったこと NATインスタンスをCloudFormationで作成 PrivateSubnetからapt-add-repositoryが動かない NAT経由で外に出れないように見える 原因 送信元/送信先の変更チェック が 有効 になっているため。 確認 マネジメントコンソールから作る場合は、送信元/…

【AWS】既存の本番環境から #CloudFormation のテンプレートを作る方法

はじめに はじめてCloudFormationでAWS環境を構築しました。 便利すぎて涙が出たので作業内容を共有します。 やりたいこと すでに手動で構築した別プロダクトのProduction環境の構成をテンプレート化したい。 テンプレートを流用して、別プロダクトのAWS環境…

【2018年11月】社内の企画コンテストで優勝し、たくさんの人と交流したり、帰省した1ヶ月 #振り返り

はじめに 早いもので2018年も残すところ1ヶ月となりました。 11月を振り返ります。 今月達成できたこと やりたかったことに対して、達成できたものを消しました。 社内の企画コンテストの決勝プレゼンで優勝を狙う 優勝しました! いろいろ学びがあったので…

【AWS Lambda】No module named 'xxxx'エラーが発生したときの対処法

やりたいこと 業務で書いたLambdaのコード量が900行を超えてカオスになったので、リファクタリングしたい。 コードの用途ごとにソースを分割したい。 発生したエラー Unable to import module 'lambda_function': No module named 'util' 原因 zipで圧縮した…

【PostgreSQL】1つのカラムに入ったカンマ区切りのデータを分割して取得する方法

実行環境 AWS PostgreSQL10.3 やりたいこと 1つのカラムにカンマ区切りでidなどが入っている このカラムを分割してキーにしたい こういうデータを、 列名 値 hoge_id 1,2,3,11 こうしたい。 列名 値 hoge_id 1 hoge_id 2 hoge_id 3 hoge_id 11 実現方法 rege…

【読書】「一生折れない自信のつくり方」はエンジニアが読んでも学びが多い一冊でした

はじめに アチーブメントの青木仁志さんの「一生折れない自信のつくり方」を読みました。 一生折れない自信のつくり方作者: 青木仁志出版社/メーカー: アチーブメントシュッパン発売日: 2009/11/25メディア: 単行本(ソフトカバー)購入: 14人 クリック: 227…

【人生初挑戦】アドベントカレンダーに参加することにしました #Qiita #Rails

はじめに 初めてQiitaのアドベントカレンダーに参加することにしました。テーマは、Ruby on Railsです。 アドベントカレンダーとは? もともとは、クリスマスまでの期間に日数を数えるために使用されるカレンダーとのことです。 アドベントカレンダー - Wiki…

「投信ブロガーが選ぶ! Fund of the Year 2018」に投票しました #FOY2018

はじめに 「投信ブロガーが選ぶ! Fund of the Year 2018」に投票しました。 そもそも、このブログは投信ブログなのか?という疑問もありましたが、このブログで1番読まれている記事が、つみたてNISAに関する記事 なので、投票することにしました。 www.yoko…

【Rails5 + Slim】ブラウザのメニューバーやツールバーなどを表示せずに、リンクを新しいウインドウで開く方法

やりたいこと リンクを別のウインドウで表示したい 別のウインドウには、ブラウザのツールバーやメニューを表示したくない 別ウインドウの大きさは手動で調整できるようにしたい やりたいことのイメージ 楽天銀行のログイン画面のこういうやつ www.rakuten-b…

【AWS Lambda】PythonからPostgreSQLのストアドプロシージャを実行する方法 #aws

やりたいこと PythonからPostgreSQLのストアドプロシージャを実行したい。 具体的にはAWS Lambdaからストアドを実行したい。 実行環境 AWS Lambda Python3.6 psycopg2 PostgreSQL9.6.6 実現方法 psycopg2のcallprocメソッドを使う。 実装例 import sys impor…

【PostgreSQL10】日付の範囲検索条件まとめ。初日、末日、Nヶ月前の取得方法

やりたいこと BETWEEN検索で、今月初日 00:00:00~末日 23:59:59の検索がしたい BETWEEN検索で、先月初日 00:00:00~先月末日 23:59:59の検索がしたい 取得したい値 実行日は、2018/11/13。 今月初日(時間なし) -- 2018/11/01 SELECT DATE_TRUNC('month',now…

【AWS/RDS】PostgreSQL10のタイムゾーンをUTCからJSTに変更する方法

はじめに PostgreSQLに限らず、AWS RDSのタイムゾーン設定は、defaultではUTCになっています。変更手順をまとめます。 環境 AWS RDS postgreSQL10 注意事項 defaultのパラメータグループは編集できないので注意! パラメータグループの作成手順 パラメータグ…

心身ともに健康なプログラマであるために、メンタルヘルスケアの資格を取ることにしました。

はじめに メンタルヘルス・マネジメント検定のⅢ種を取得することにしました。 私の職業は エンジニアです。最近は AWS のインフラ構築や、RubyやPython を使った実装まで幅広く行っています。少ないチームなので、一人当たりの役割や裁量が大きいため、やり…

binding.pryでデバッグ中に、意図的に例外を発生させてrescueでキャッチする方法 #Rails5

やりたいこと binding.pryでデバッグ中に、rescueで実装した例外処理を確認したい。 実現方法 raiseを使う。 実装例 def update @hoge ||= hoge ApplicationRecord.transaction do binding.pry # 例外発生 raise ActiveRecord::RecordInvalid.new(@hoge) @ho…

【AWS ALB+Nginx+Unicorn】504 Gateway Time-outと、upstream timed out (110: Connection timed out)が発生したときの対処法

発生した事象 RailsアプリケーションのCSV取り込み処理で504エラーが発生 環境 AWS ALB Nginx Unicorn Rails5.1.1 考えられる原因 AWS ALBのアイドルタイムアウトが短い デフォルトは60秒 最大3600秒まで設定可能 Nginx、Unicornのタイムアウト時間が短い 対…

【2018年10月】 #Railsチュートリアル にユーザーの声として掲載され、月の半分を休み、看病と育児をがんばった1ヶ月。 #振り返り

はじめに 早いもので2018年も残すところ2ヶ月となりました。10月を振り返ります。 10月は妻が3週間ほど体調不慮だったため、看病と育児に専念しました。 今月達成できたこと やりたかったことに対して、達成できたものを消しました。 家族旅行へ行く 息子の…

#小宮一慶 さんの経営コンサルタント養成講座 OB 合同セッションに参加してきました

小宮一慶さんの経営コンサルタント養成講座に参加してきました。 はじめに 2018年11月3日に開催された経営コンサルタント養成講座 OB 合同セッションに参加してきました。 小宮一慶さんとは 株式会社小宮コンサルタンツの代表取締役会長CEO であり、 ポーラ…

【N+1問題対策】Ransackとincludesメソッドを使ってActiveRecordの多段の関連を検索する方法 #Rails5

はじめに N+1問題を解消するために、複数の関連を持つModelをincludesメソッドで解消する方法をメモ。 実行環境 Rails5.2.0 Ransack Slim Model定義 Userに持っている名称と、Corporationに持っている名称を取得したい。 class User < ApplicationRecord has…

【展示会】幕張メッセで開催された第2回 AI 業務自動化展・秋に参加してきました #JapanITWeek

はじめに 幕張メッセで開催された第2回AI業務自動化展秋に参加してきました。幕張メッセでなくビッグサイトでやってほしいと思いますが、きっと東京オリンピックの影響で使えないのかもしれません。 全体的な感想 昨年の第1回にも参加しましたが、出展企業は…

【育児】父親になり1年が経過したので子育てを振り返る

はじめに ちょうど一年前に、息子が生まれたという記事を書きました。あっという間に一年が経過したので、息子との1年を振り返ります。 www.yokoyan.net 新生児の期間はあっという間に過ぎた 1年前を振り返ってみると、昼夜の区別がつかなかった新生児の時が…

【さいたまパパスクール】産後の体トラブルについての講義を聞いて妻に優しくしようと改めて思いました #育児

はじめに 10月14日に開催されたさいたまパパスクールの第3回に参加してきました。 さいたまパパスクールとは? さいたま市と、さいパパが主催する父親向けのセミナーです。詳細は以下の記事をご覧ください。 www.yokoyan.net 今回のテーマは女性の産後の体の…

【Rails】35歳の私の人生を劇的に変えてくれた大恩ある #Railsチュートリアル のトップページにユーザーの声として掲載された話。

はじめに タイトルの通りなのですが、まさに青天の霹靂の出来事があったのでまとめます。 Railsチュートリアルのトップページに掲載されました 2つ目のユーザーの声が私です。大変有難いです。記念にキャプチャしました。 掲載されたページはこちらです。 ra…