やわらかテック

業務を通して得られた知見、知見。個人的に試してみたこと、興味のあることについてアウトプットしています。

【新卒でベンチャーを考えている人向け】ベンチャー企業で5年働いて辛かったこと7つ

この記事の概要✒️ 新卒で大手企業に入社するか、ベンチャー企業に入社するか迷っている方がそこそこ多いようで、過去にも何度か相談に乗ったことがあります。 自分は新卒でITのベンチャー企業に就職しました。今年で社員としては3年目になりましたが、実態は…

【悪質な代理店を見分ける】インターネット契約時に確認すべき3つのこと

この記事の概要 新規でインターネットを契約する時は、今から申し込みしようとしているサイトが信頼できるサイトかどうか必ず確認することをオススメします。必ず確認するべき点は3つあります。 ドメイン(例: google.com)が信頼出来るドメインなのかどうか …

型のある言語は一度は経験するべきだと思った出来事が起きた

型があるのが良いのか この話題は度々、議題に上がり、多くの人が討論をしています。 個人的な近年の傾向としては、golangやTypeScrpitの流行、PythonやRubyが型アノテーションが導入されるなど、型のある言語(静的型付け言語)への需要が高まっているように…

数学全然わからないけどElixirでMonadを作ってみる

前回までのあらすじ 「入門Haskellプログラミング」を読み進めながら、理解を深めるためにElixirを使ってHaskellのFunctorとApplicativeを再現してみました。 www.okb-shelf.work www.okb-shelf.work Functorは上手く再現出来ましたが、Applicativeはデフォ…

【読書レビュー】「岩田さん 岩田聡はこんなことを話していた。」を読みました

どんな本なのか タイトルにもある「岩田さん」とは、とある人物の実名です。 「岩田 聡」さんは皆さんがご存知の任天堂(Nintendo)の社長をされていた方で、我々がよく知る「Nintendo DS」や「Nintendo Wii」「カービィシリーズ」「スマッシュブラザース」な…

数学全然わからないけどElixirでApplicativeを作ってみる

前回のあらすじ www.okb-shelf.work 「入門Haskellプログラミング」という書籍を読み続けながら、理解を深めるために自分でFunctorを実装してみました。今回は、Functorに引き続き、Applicativeに挑戦してみます。 先に結論ですが、ElixirでApplicativeを作…

【JavaScriptで解説】部分適用って何?カリー化との違いは?

部分適用とは何か。またよく混同されるカリー化という手法とは何か。部分適用とカリー化の説明をしながら、2つの違いを明確にしていきます。解説にはJavaScriptのサンプルコードを用いています。関数型言語の概念や知識がなくても理解できるように書きました…

プロダクトにおいて営業と開発は対等であるという意識の重要さ

お客様の声 プロダクトが売れ始めて、ある程度、成長を続けていくとお客様から様々な声が上がってきます。 www.okb-shelf.work 中でも最も多いのは新機能の開発要望です。小さな変更からプロダクトのコンセプトを覆してしまうような大きな変更まで大小様々で…

ElixirのEnumモジュールがどのように作られているのか調べてみた

こちらは僕が主催している清流elixir - connpassで扱った内容の備忘録になります。 現在は1ヶ月に一度を目処にオンラインで活動をしています。 今回は愛用してやまないElixirのパワフルなEnumモジュールについて、果たしてどのように作られているのか、すな…

【コピペでOK】はてなブログでソースコードをエディタ風に表示するCSS

デフォルトのデザインが何ともいえない...🤔 こちらがはてなブログにソースコードを<pre>タグで表示した時に表示されるデフォルトのソースコードです。 自分はMarkdown記法を使用していまして、バッククオート3つで囲うことでソースコードを記述しています。 良くも</pre>…

ハッキリと「この機能必要ですかね」と言うことが一番重要だった話

お客様が増えると要望は増え続けていく⏫ 現在、国内でHRテックのアプリケーションの開発を担当しています。 ありがたいことに、今となってはかなり多くのお客様に使って頂いておりまして、成長期を抜けて成熟期に突入しました。 www.nri.com そんな運営中の…

【コスパ最強】Ankerのマグネットケーブルホルダーで机の配線を最終形態にしました

配線が見えなくなったものの... 僕は配線が見えるのが嫌で、極力、配線が見えないようにしてします。 今年の春頃に充電コード(lightning, type-c)やモニターの出力ケーブル(HDMI)を可能な限り見えない状態にしました。 ケーブル類はテーブル下のケーブルトレ…

数学全然わからないけどElixirでFunctorを作ってみる

きっかけ 最近、「入門Haskellプログラミング」という書籍を読み進めています。 入門Haskellプログラミング作者:Will Kurt翔泳社Amazon 毎日1章ずつと非常にスローペースではありますが、第27章のFunctorまで辿り着きました。このFunctorというものが非常に…

すごい人と比べて落ち込んでも続けるべき2つの理由

僕の一番の悩み ずーっと悩んできたことがあります。 圧倒的にレベル差のある同僚から吸収し続けるにはどうすればいいんですかね— OKB (@sing_mascle69) 2019年5月12日 本当に難しいのはやり始めることよりも、やり続けることだと実感する。初速のスピード感…

怖いコードレビューを楽しくするために自分が使っている絵文字を集計してみた

コードレビューって...怖いんだって いつものようにTwitterを徘徊していると、Rubyのチェリー本などで有名な伊藤淳一さんがこんなツイートをされていました。 「なぜここで1を加算してるんでしょうか?」とか、「シャドーイングってご存じですか?」みたいな…

ブログ飯を読んではじめて書いた記事をリライトしてみた

なぜリライトしたのか 先日ですが、「PV増やしたいなぁ〜」という想いから色々なブログを散見していると「ブログ飯」という書籍を一度読んでみると良いよという意見が多いことに気づきました。 ブログ飯 個性を収入に変える生き方作者:染谷 昌利インプレスAm…

【感想・まとめ】「関数型プログラミングなんもわからん。を考えよう」に参加してきました。

「関数型プログラミングなんもわからん。を考えよう」とは connpass.com ABAB↑↓BA (@ababupdownba) | Twitterさんが主催された関数型プログラミングの疑問や質問について、ひたすら有識者の方々が丁寧に回答をしてくれる・ディスカッションする会です。わか…

【配線スッキリ】macbookとswithへの給電が出来る最高のアダプターを購入した

ごちゃつく配線周り 僕は配線が見えるという状態があまり好きではありません。というか嫌いです。生活感が出るのが嫌で、可能な限り配線が見えない状態を作るように、頑張ってきました。色々と配線周りの最適化を進めてきましたが、ずっと残ったままの課題が…

特に意味のないデフォルト引数が保守性を低下させるので注意

機能追加の依頼がきた いつものように業務をこなしていると、スケジュール管理機能にとある機能追加の依頼が来ました。 内容としては複数のスケジュールを作成する関数で祝日での場合には、祝日に該当する日にはスケジュールを作成しないようにしたいとのこ…

動的型付け言語(Ruby)でも関数の戻り値の型は可能な限り統一した方が良い

出会いは突然に いつものように眠い目を擦りながらコードレビューをしていると以下のようなコードに遭遇しました。 (※部分的に書き換えてあるので、実際には動作していないコードです) def fetch_companies(setting_id) setting = Setting.find_by(id: setti…

ファシリテーターをまかせたら普通にみんなやってくれた

リモートワークのファシリってつらい 現在、弊社ではコロナ対策として、完全リモートワークに移行しており、よほどのことがない限りは在宅にて勤務をしております。開発業務がメインなのですが、スクラムマスターという立場上、ファシリテーターとして主体的…

【API設計】jsonを返す時はできる限りフィールドのkeyを統一してあげよう

APIの仕様書が送られてきた 外部連携させて頂く企業様から、新規に追加されるAPIの仕様書を頂きました。ユーザーが登録しているカテゴリの総数と、その内訳を取得することが出来るAPIだそうで、新たに追加されたとのことです。しかしながら、蓋を開けてみる…

【随時更新】エンジニアがM1 MacbookAirを購入して2ヶ月使った感想

M1 Macbookを買うかどうか 4年前にずっと愛用していたWindowsからMacbookに乗り換えました。当時、アルバイトしていた開発会社がMacbookをメインに使っていたので、その流れに乗ったという感じです。早いものでMacbookを使い始めてから4年の歳月が流れており…

開発者が複雑だと思う機能はユーザーには使いこなせない

プロジェクトの肥大化 自分が参加しているプロジェクトが早いもので、スタートから2年が経ちました。 ありがたいことにお客様の数は増え続けており、今でも多くのお客様に使って頂いております。初期の頃と比べると、かなり機能がリッチになりました。 元々…

JavaScriptで連番の配列を生成する4つの方法と速度比較

連番の生成に関して 意外と使用する頻度が高かったりします。他言語であればRange(eg: 1..10)のようなClassやデータ構造が定義されており、簡単に連番の配列を作成することが出来ます。しかし、JavaScript には連番の配列を簡単に生成するための機能が提供さ…

【JavaScriptサンプル有り】例外が発生した後の処理を高階関数にまかせる

これは便利 リファクタリング 既存のコードを安全に改善する(第2版)作者:MartinFowlerオーム社Amazon こちらの書籍で紹介されていた、リファクタリングの手法の1つで、例外が発生した後の処理って場面によって何をしたいか違うよねを叶えるた…

ボーイスカウト・ルールが保守開発に役立った話

コードはどんどん汚くなっていく プロジェクトのスタート時にどれだけ入念に設計をしてコードを書き始めたとしても、プロジェクトの年数が経つにつれて、コードの状態は悪くなってきます。 新機能追加 既存仕様の変更 メンバーの入れ替わり リリース日が変更…

ターミナルのパイプの中にElixirの処理を挟む方法を思いついた

きっかけは突然に 弊社のインフラエンジニアの方がデプロイ作業の中でこんなようなperlの処理系をコマンドの中にパイプで渡しているのを発見しました👀 ls | tail -1 | perl -ne 'if (/release command failed/){print 1}else{print 0}' 処理の内容はともかく…

「なのでは」「ではないかと」って言い方やめてくれ

単純に不快 なんでわざわざ「なのでは」とか「ではないかと」っていう文章を送ってくるのか理解出来ません。 これが攻撃的な言い方に感じるのは自分だけでしょうか。日々、マウントをとってくるような人が使っているイメージがあります。 「なのではないでし…

Rubyのコードレビューでよく指摘すること

コードレビューはじめました 昨年の10月から勤務先企業で開発チームのリーダーになりました。元々はコードをガリガリ書くような業務をしていたのですが、ポジションが変わったため、業務の内容も変化しました。大きく変化した点としてコードをレビューしても…