やわらかテック

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

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

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

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

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

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

【JavaScript】setIntervalでawaitをする方法

setIntervalでawaitが効かない setIntervalはPromiseのオブジェクトではないため、awaitさせて実行終了を待つことが出来ません。例えば、3秒毎にカウントを1ずつ増やしていく処理をsetIntervalで実装をすると以下のようになります。 const sleep = (ms) => s…

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

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

【2022/7月更新】WEB開発エンジニアがM1 MacbookAirを購入して使い続けた感想

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

あえて無言でいたら怒っていると勘違いされた

この記事の概要 [前回の記事] 沈黙が怖くて、自分からいつも喋り出してしまっていた 自分ばかりが喋ることでメンバーの意欲をそいでしまっていた 外部メンターの方からのアドバイスを元に「あえて無言でいるウィーク」を行なった メンバーの意欲を引き出すこ…

【Elixirで実装】関数型言語でカプセル化をする方法

この記事の概要 関数型言語の多くでは値は束縛されるため、不変である 値を再束縛(≒再代入)することが出来ないため、値を更新する際には新たなデータを作る必要がある 更新の度に新たなデータを作ることで、関数型言語でもカプセル化をすることが可能になる …

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

概要 Haskellではエラーが発生した際に対応するためにEitherというモナドを使う EitherはLeft(エラー時)とRight(正常時)の2つの値を持ち、それぞれ別の型の値を受け取ることが可能(Either = Left a | Right b) LeftにはStringがよく用いられ、エラーメッセー…

あえて無言でいることが重要だと気づいた

この記事の概要 バグを減らすためにモブプログラミング(3人以上で1チームを作って開発を進める手法)を導入した 積極的にアイディアや意見を出すメンバーとあまり喋らないメンバーに分かれてしまった 沈黙の時間が訪れた時に「気まずいなぁ...」と思い、自分…

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

型があるのが良いのか この話題は度々、議題に上がり、多くの人が討論をしています。 個人的な近年の傾向としては、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だそうで、新たに追加されたとのことです。しかしながら、蓋を開けてみる…

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

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