2019-12-01から1ヶ月間の記事一覧

エンジニア1年目、2019年ふりかえり

未経験からのエンジニア1年目が3/4終わりました 年の節目なのでこの9ヶ月出やってよかったことと、今後やっていくべきと考えていることを書いていきます やってよかったこと 自分には出来ないかも、と思うタスクから積極的に取っていった 僕のいる開発チーム…

電子証明書と電子署名

最近まで結構混同しがちで、違いがよくわかってなかったのでまとめました 電子証明書 証明書なので、サーバーの身元を証明してくれます >電子証明書は、インターネットや電子の世界で持ち主の情報を正しく証明する、現実世界におけるパスポートや印鑑証明書…

rspecでモックする

社内のrailsサービスの中で、社内オリジナルgem経由で別サービスのデータを取得してくる場所がありました #hoge_controller.rb user = User.first name = other_service_data.name other_service_dataは別サービスから取得しています rspecを実行するとこの…

公式ドキュメントアレルギーの直し方

エンジニアとして働き出してだいたい8ヶ月経ちました 最近ようやく技術的な部分で分からないことがあるとQiitaとかよりも先に公式ドキュメントを見るようになったと思います 入社直後の研修から「公式ドキュメントを読みましょう」みたいなことは言われてたん…

TCPとUDPとは

tl;dr TCPとUDPはどちらもトランスポート層のプロトコルの一種です TCPはデータを確実に届けるためのプロトコルでwebやメールなどで使用されます UDPはデータを速く届けるためのプロトコルでインターネット通話サービスや動画など、途中のデータが欠けても速…

未経験エンジニアの自分が質問するべきタイミングはいつなのか

この間社内kibelaに記事を書いたんですがこちらにも残しておきます 質問するべき状況がわかってる? 夏頃に先輩に「質問するべき状況がわかっていないんじゃないか」という話をしてもらいました チームの人と仲良くなって質問がしやすくなるにつれ、自分の中…

3way ハンドシェイクとは

3way ハンドシェイクとはHTTPの下のレイヤーのプロトコルであるTCP/IPで用いられる通信開始前の情報交換です 名前の通り、クライアントとサーバーとの間で3回の通信が発生します 通信開始時 step1. クライアントからサーバーへ通信を開始することを伝える ま…

ルート認証局とは

今日も短め https通信にはSSL証明書必要が必要です ブラウザは今から通信をしようとしているサーバーからSSL証明書を取得します SSL証明書は認証局がその信頼性を保証するもので、認証局が発行します SSL証明書には発行者のデジタル署名がついており、ブラウ…

オレオレ証明書とは

短めです TLS通信を勉強した時にオレオレ証明書という言葉が出てきて、前にも聞いたことがあるけどよくわからんなと思ったので調べました センスを感じるネーミングだ オレオレ証明書とは自分で署名したSSL証明書のこと 普通証明書を作成する場合は以下の3st…

(おそらく)日本初のVSCode MeetUpに参加してきた!

12/18に株式会社オプティムで開催されたVS Code Meetup #1に参加してきました 最後に撮った全体写真、すごい人数だ 今までありそうでなかったVS CodeのMeetup VSCodeの変遷や基本機能を教えてもらえるSessionや、各々の使いこなし方を紹介するLTまで盛りだく…

HTTPとHTTPS

「http https 違い」とググると解説しているサイトがごまんと出てきますが自分の言葉で説明する為に書いておきます tl;dr httpではサーバーとブラウザの通信が暗号化されている。第三者から見える httpsではサーバーとブラウザの通信が暗号化されている。第…

Reactでstyleをinlineで書くときの注意点

tl;dr Reactでinlineでstyleを書く時 font-sizeなどpropertyの名前に - が含まれる場合 style={ font-size: "16px" } ↑は動きません style={ fontSize: "16px" } ↑は動きます 困っていたこと Reactで要素の中に直接styleを定義しようとしていました Titleと…

Faradayのmultipartの書き方

困っていたこと Faradayを使ってサーバーへfileをpostとしようとしていました ちなみにrequestを二回していているのはparameterがmultipart/form-dataで送信するものでなければ、application/x-www-form-urlencodedで送ってねという意味です This request mi…

VSCodeの基本機能全然使えてなかった

VSCodeをかなりなあなあで使ってました 普段開発ではVSCodeを使ってるんですが、会社のコードが基本的にはrailsなのでRuby mineが欲しいなあと思いました ただその前におれ全然VSCode使いこなせてる気がしないからきちんと勉強するかと思って基礎の基礎を勉…

JAWS-UG東京 マイベストモーメント re:Invent 2019に参加してきた

12/11に目黒のAWSのオフィスで開催されたJAWS-UG東京支部のイベントに参加してきました メインはもちろん先週まで開催されていたre:inventで発表されたアップデートの話です 印象に残った話を書いていきます Amazon RDS Proxy aws.amazon.com 今まではLambda…

RubyのTempfileの使い方、newとcreate

困ってたこと 下のコードでTempfileを作ろうとしていた readメソッドで読むと'bar'という文字列が入っていて欲しかったがファイルの中を見ると空になっていた file = Temfile.new('foo') do |f| f << 'bar' end file # => #<File:/var/folders//foo20191210-a8gjzw> file.read # => '' fileは存在し</file:/var/folders//foo20191210-a8gjzw>…

railsのpath名の決まり方

結論から言え! railsでroute.rbにresourcesを使ってrouteを生やすときにcollectもしくはmemberを使う場合、 path名にcreate new show update destroyのどれかを使うとpathの名前が狂う 困ったこと かなーりレアケースなのですがこの間、resourcesで定義して…

railsのparams permitすると変更できなくなる

結論から言え! railsのstrong parameterでpermitしたhashは変更できない railsのstrong parameter railsにはstrong parameterと言う機能があります 簡単に説明すると、明示的に許可したparameterのみobjectに渡す仕組みです railsを書いたことある方なら誰…

rubyで定数を扱うならfreezeメソッドを使うべき

tl;dr rubyでfreezeメソッドを使うとオブジェクトを変更不可な状態にできる 定数を扱う時はfreezeをつけておくといい rubyのfreezeメソッド rubyではfreezeと言うメソッドが定義されています ref.xaio.jp freezeメソッドを使うとオブジェクトを変更できない…

Javascriptで数字に直接ドットを繋げてメソッド書いちゃダメ

結論から言え! javascriptを書くときに 1.toString() {}.id はダメです、エラーになります 1..toString() ({}).id はOKです、上は "1"が、下はundifinedが返ります JSに限った話ではないかも 以下出来事と解説 {}.idってエラーになりませんか? 先輩のコー…

active recordのnew_record?とpersisted?の違い

tl;dr new_record?はobjectが保存されていないときだけtrueを返します persisted?はobjectが保存されていない、かつ今までに削除されていないときtrueを返します new_record? vs persisted? new_record? 最近Active Recordにnew_record?というmethodがあるこ…

chrome.runtimeのsendMessageとonMessageでハマった

contentとbackgroundの通信でハマった chrome拡張を開発していている中で content => background => native app => background => contentと通信を行おうとしていました コードはこんな感じです↓ // content.js document.addEventListener("fire", event => …

IAMの薄い本 備忘録 ~第5章から第10章~

最近AWS IAMのマニアックな話という本を読んだので理解の整理がてら感想を書いていきます 昨日の記事の続きです 読んだ本 Takuro SASAKIさんが書かれた同人本です 内容はその名の通りAWSの Identity and Management (IAM)についての本で 各用語の説明から設…

IAMの薄い本 備忘録 ~第1章から第4章~

最近AWS IAMのマニアックな話という本を読んだので理解の整理がてら感想を書いていきます 読んだ本 Takuro SASAKIさんが書かれた同人本です 内容はその名の通りAWSの Identity and Management (IAM)についての本で 各用語の説明から設定方法、実際に運用する…

PUTメソッドとPATCHメソッドの違い

PUTメソッドとPATCHメソッド railsで新しくリソース更新用のrouteを追加しようとしました put 'new-route/:id', action: 'new-action' が、エラーになってしまいました Routing Error No route matches [PATCH] '/new-route' あー、putメソッドじゃなくてpat…