taisa831のブックマーク (323)

  • 良いコードとは何か - エンジニア新卒研修 スライド公開|CyberZ Developer

    CyberZ CTO室のメンバーの森 (@at_sushi_at) です。 先日、株式会社サイバーエージェントの2021年度 エンジニア新卒研修でコードの品質に関する講義を行いました。 そこで話した内容とスライドを完全公開します。 45分の内容のため、かなり長いですが、個人的にぜひ一読して欲しい内容になっています。 はじめに こんにちは、森 篤史と言います。2019年度入社で今年で3年目になります。株式会社CyberZのOPENREC.tvというプロダクトでAndroidアプリチームのリーダをやっています。 最近はプログラムを書く仕事以外に、次世代マネジメント室という全社横断組織でDevelopers Blogの改善プロジェクトを実行したり、CyberZ CTO室で組織活性化に取り組んでいます。 あと、2019年度の未踏スーパークリエータにも認定されました。 メインの仕事としては、入社して

    良いコードとは何か - エンジニア新卒研修 スライド公開|CyberZ Developer
    taisa831
    taisa831 2021/04/28
    いい感じに言語化されてる
  • GraphQLでバックエンドのコードをすっきりさせた話 - LayerX エンジニアブログ

    こんにちは!LayerXの mosa_siru (榎) です。 LayerX インボイスでは、もともと github.com/go-swagger/go-swagger を利用してREST APIを開発していましたが、最近開発したワークフロー機能 のコンポーネントではGraphQLを取り入れました。 GraphQLには様々なメリットがあり、RESTとの比較記事は多くありますが、なぜ僕らは移行したのか、その結果どうなったのかを紹介していきます。 GraphQLのメリット GraphQLのメリットは、様々な箇所で語られています。例えばこの記事によれば、 強力に型付けされたスキーマであること アンダーフェッチとオーバーフェッチがないこと(後述) Apollo, Relayなどの、クライアントライブラリにより、フロントエンド開発が迅速になること 複数のGraphQL APIからの統合が可能 強力

    GraphQLでバックエンドのコードをすっきりさせた話 - LayerX エンジニアブログ
    taisa831
    taisa831 2021/04/13
    試してみよう
  • 自動テストの実装が想像以上に大変だった話 - Techtouch Developers Blog

    はじめまして。テックタッチで約1年間、インターンとしてQAエンジニア仕事をさせていただいた山野井と申します。今回は、この1年間で携わった自動テストについての経験を記したいと思います。 テスト自動化の当初の目標 自動テストのツール - Katalon Studio 工夫1: data 属性での要素特定 工夫2: Xrayとの連携 自動テストの苦悩 複数ブラウザでのテスト プロダクトのバージョンアップによって自動テストが壊れる テストコードの管理 Katalon の難しさ data 属性 最終的な成果物 経験から思ったこと さいごに テスト自動化の当初の目標 僕がインターンとして最初*1に頂いた仕事は、いままで手動で行っていたリリース前の手動テストを自動テストに書き換えるというものでした。テストケースの総数は 1,300 件以上、スプレッドシートにして27シート分ほどでした。このテストケース

    自動テストの実装が想像以上に大変だった話 - Techtouch Developers Blog
    taisa831
    taisa831 2021/04/08
  • Twitter で医師を拾ってきて Google のソフトウェアエンジニアにするだけの簡単なお仕事 - 白のカピバラの逆極限 S.144-3

    はじめに 「【転職エントリ】Googleに入社します|Lillian|note」という、医師から未経験で Google のソフトウェアエンジニアになった記事があります。 note.com 私は、この記事に出てくる「とある元 Google のソフトウェアエンジニア」で、面接の対策を立てました。 記事が出た当初から大反響で、私もそれなりの反応を見まして、いろいろと誤解されているなあ、と思う一方、アドバイザーはあくまでもアドバイザーだから、アドバイザーとして知りえた情報については、口をつぐむべきだと思っていました。 ただ、あまりにも誤解されており、悪影響が大きく、犠牲者も多くなってきたと思ったので、許可を得て簡単に背景を書いておこうかと思います。 これはあくまでもアドバイザー側からどう見えていたかを書いておくものですが、医学部卒だけでも3,4人 GoogleAmazon に入っていったおぼ

    Twitter で医師を拾ってきて Google のソフトウェアエンジニアにするだけの簡単なお仕事 - 白のカピバラの逆極限 S.144-3
    taisa831
    taisa831 2021/04/01
  • Material-UIを使ってテックタッチのデザインシステムを実現した話 - Techtouch Developers Blog

    フロントエンドエンジニアのshioriです。 テックタッチでは、約1年前からアプリケーションを丸ごと作り直す再設計プロジェクトを進めており、そのタイミングでデザインシステムを導入しました。 この記事では Material-UI を使ったデザインシステム導入の経緯や導入して良かったことなどを紹介したいと思います。 なぜデザインシステムを導入することにしたのか デザインシステムができあがるまでの流れ スタイルの共通化 コンポーネントの実装 Material-UI を使う上で苦労したこと 導入して良かったこと さいごに なぜデザインシステムを導入することにしたのか テックタッチのプロダクトはデザインファーストで開発を行なっています。デザイナーが FigmaUI/UX をデザインし、それをエンジニアが実装するという流れです。 また、テックタッチは Material Design 等のデザイン

    Material-UIを使ってテックタッチのデザインシステムを実現した話 - Techtouch Developers Blog
    taisa831
    taisa831 2021/03/11
  • Go1.16からのio/ioutilパッケージ | フューチャー技術ブログ

    こんにちは、TIGの辻です。Go 1.16連載の3記事目です。 Go1.16でアップデートがあった io/ioutil パッケージが "deprecated" になる話題のまとめです。 サマリ Go1.16から io/ioutil パッケージの機能が os と io パッケージに移行した これから新しく実装するコードは io や os パッケージの新しい関数を使うことが推奨される io/ioutil パッケージが "deprecated" になるが "deprecated" といっても将来壊れる、ということではない 既存のコードは動作し続ける go fix コマンドは未対応 内容Go1.16から io/ioutil パッケージに含まれる関数が "deprecated" になります。関連するプロポーザルは #40025 と #42026 です。Package names で良くないパッケージ

    Go1.16からのio/ioutilパッケージ | フューチャー技術ブログ
    taisa831
    taisa831 2021/02/10
  • どうかプログラミングに向いてないと思わないでほしい。そしてプログラミングがキャリア化した功罪の話 - Make組ブログ

    プログラミングに興味がある人たち、どうか「自分はプログラミングに向いてない」と思わないでほしいです。 プログラミングスクール通ってるかどうかとかどうでもよくて、この年末年始にコード全く書いてない人はエンジニア向いてないんじゃないですかね、それぐらい好奇心が必要な職業だとおもうけど— キュン / 今村雅幸 / ZOZO CTO (@kyuns) 2021年1月3日 たしかに「プログラミングスクールに通ってるから」良いスキルがあるわけではないし、スクールよりも好奇心のほうが重要なのは僕も同意です。 というか基的な考え方はたぶんこのツイートをしてる方と、僕は同じだと思います。僕もうっかりこういうことを言うこともあります。 実際、当に大好きで休日もプログラミングしてしまう人のほうが、スキル面で伸びが早いのも当然でしょう。 でも「休日にもプログラミングしてしまう」ほど好奇心を持って好きになるにも

    どうかプログラミングに向いてないと思わないでほしい。そしてプログラミングがキャリア化した功罪の話 - Make組ブログ
    taisa831
    taisa831 2021/01/05
  • ロゴのリニューアルに失敗した話 - Techtouch Developers Blog

    この記事はテックタッチアドベントカレンダー19日目の記事です。 デザイナーの大吉(おおよし)です。 ここ1年、ギターを手にとる回数よりもダンベルを手にとる回数のほうが圧倒的に多くなってきました。 10代の頃の自分が知ったらびっくりすると思います。 高校生の頃の僕は Red Hot Chili Peppers が大好きで、アメリカのミュージシャンはみんな筋肉ムキムキで体もデカい、それなのに何故あんな繊細な音楽が作れるんだろう?といつも頭を抱えていました。 でも最近は、全盛期のシュワちゃんと比較するとやっぱり小さく見えるよな、という整理に落ち着きました。 それでは参ります。 はじめに 現在のテックタッチのロゴについて なぜリニューアルしようとしたのか リニューアルに失敗した理由 最後に はじめに 当記事では、現在のテックタッチのロゴの由来と、それのリニューアルに踏み切った経緯、そしてリニューア

    ロゴのリニューアルに失敗した話 - Techtouch Developers Blog
    taisa831
    taisa831 2020/12/19
  • Go1.16からは go get は使わず go install を使おう - Qiita

    この記事はGo Advent Calendar 2020 16日目の代打記事です。奇しくも16日目にGo1.16の話をすることになりました。 【追記】タイトル改題しました 状況が落ち着いてだいぶ経ったのと、未だに多くの方にこの記事を見ていただけていることから、Go1.16での変更というより、今を生きる私達がどうすればいいか、という点にフォーカスしたタイトルに改題しました。文に変更はありません。一応注記すると、go get が廃止になったわけではなく、普段の開発フローで使うことはまずなくなった、という意味です。(一通り読んでいただければお分かりいただけるかと。) 【追記】Go1.18について ついに待望のGo1.18がリリースされましたね! https://go.dev/doc/go1.18#go-command そして予告通り go get によるインストール機能は削除されました。どうし

    Go1.16からは go get は使わず go install を使おう - Qiita
    taisa831
    taisa831 2020/12/17
    もうすぐだ
  • ローカルマシンでDocker を動かさないためにBlimp を採用する - y-ohgi's blog

    https://blimpup.io TL;DR docker-compose をリモートで実行するための開発フェーズ向けのサービス ローカルマシンへ負荷をかけずに開発できる URL を発行してくれるため第三者への公開も可能 概要 blimpup はざっくりいうと「docker-compose をリモートで実行する」ためのサービスです。 用途としては番環境としてではなく開発フェーズでの利用を想定されており、docker-compose を使用した開発の効率化を行ってくれます(k8s のtelepresence に近いイメージです)。 従来開発フェーズで使用していたdocker-compose をローカルで直接コンテナを動かすのではなく、blimp の提供するインフラ上で動かし、ローカルマシンに負荷をかけることなく開発が可能になります。ローカルのファイルと同期を行ってくれるためファイルの更

    ローカルマシンでDocker を動かさないためにBlimp を採用する - y-ohgi's blog
    taisa831
    taisa831 2020/12/17
  • Chrome 拡張の Overview of Manifest V3 を翻訳しました - Techtouch Developers Blog

    この記事はテックタッチアドベントカレンダー15日目の記事です。 14日目は kenyu による 開発組織におけるマネージャの責務を分解し、チーム運用してみる でした。 SET の @terunuma です。買い過ぎたパスタを有効活用しようと重曹(かん水の代用)で茹でたところ、ストレートな中華麺を生成することに成功しました。魚介系醤油のスープとの相性が抜群に良いです。 今年の12月9日(現地時間)に米Googleより「Google Chrome 88」ベータ版で“Manifest V3”が利用可能になったとの発表がありました。(ニュース: 窓の杜、記事: Chromium Blog)。 これに先駆けて、11月2日に「Overview of Manifest V3」が公開されています。この記事を日語に翻訳したものを以下に記します。 弊社プロダクトでも主な提供方式の一つとして Chrome

    Chrome 拡張の Overview of Manifest V3 を翻訳しました - Techtouch Developers Blog
    taisa831
    taisa831 2020/12/16
  • マウスのクリックイベントについて語る - Techtouch Developers Blog

    この記事はテックタッチアドベントカレンダー11日目の記事です。 テックタッチのフロントエンドエンジニアのshioriです。 エンジニアですがデザインも学びたいということで、アドベントカレンダーのアイキャッチを担当しました。アドベントカレンダーの1日ごとに窓が開いていくワクワク感を、アイキャッチで表現したいなと思いこのデザインにしました。 この記事ではクリックイベントについてお話したいと思います。 はじまり console.logでマウスイベントのログを確認すると マウスイベントの順番 要素外でマウスアップは検知されない おわり 参考文献 はじまり きっかけは、こんなコンポーネントを作ろうとしていたことから始まりました。 これはAtlassianのデザインシステムにあるInline editを参考に自前で作ったものです。 https://atlaskit.atlassian.com/pack

    マウスのクリックイベントについて語る - Techtouch Developers Blog
    taisa831
    taisa831 2020/12/11
  • Amplify + Nx (React + Typescript) で爆速で monorepo 環境を構築する - Techtouch Developers Blog

    この記事はテックタッチアドベントカレンダー9 日目の記事です。 8 日目は ポエマー masaru 氏による 少女に何が起ったか ~少女が他人のウェブサーバー構成を知るまでにやったいくつかのこと、そしてその結末~ でした。 ただのポエムかと思いきやかなりコアなセキュリティの話だったのでとても勉強になりました。 テックタッチのフロントエンドエンジニアの taka です。 最近テックタッチでは、品質を更に向上させるため、また今後開発を加速できるようにするためにコードを一新しました。 そこで Amplify と Nx を使って monorepo の開発環境を構築したので、その手順を記しておこうと思います。 ざっくり言うとこれらを使うことで、 monorepo の環境を簡単にセットアップしたい React + Typescript で開発したい ESLint や Jest などの開発ツールを使いた

    Amplify + Nx (React + Typescript) で爆速で monorepo 環境を構築する - Techtouch Developers Blog
    taisa831
    taisa831 2020/12/10
  • 「イラストでわかるDockerとKubernetes」は完全に良書 - Cloud Penguins

    すごいタイミングですごいが出たもんだ。 日はKubernetes Advent Calendar 2020 その1 向けのエントリー。 当はCF for k8sの記事を書くつもりだったのだけど、先週盛り上がりまくったDockershimのDeprecated話の後ですごーく良いが出てきたので、これは紹介せねばということで急遽内容を変更。 jaco.udcp.info CF for k8sの話も途中まで書いちゃっているのでまた日を改めて公開する。 あの神資料がになったよ ということで今日の話題はこちら。 イラストでわかるDockerKubernetes Software Design plus 作者:徳永 航平発売日: 2020/12/05メディア: Kindle版 今ではDockerKubernetesに関するもだいぶ出揃い、使い方を学ぶのには困らなくなってきた。それに、基

    「イラストでわかるDockerとKubernetes」は完全に良書 - Cloud Penguins
    taisa831
    taisa831 2020/12/09
    買うか
  • Linuxを生み出したリーナス・トーバルズが考える「優れたコード」とは何か?

    プログラミングをする上で、コメントをきちんと残したり、わかりやすい変数名をつけたりして「読みやすいコード」を目指す作業は重要です。しかし、「読みやすいコード」と「優れたコード」の間には、時として構造上の大きな違いがあるのも事実。そんな「優れたコード」に対するLinuxの開発者リーナス・トーバルズ氏の考え方について、エンジニアのmkirchner氏が説明しています。 mkirchner/linked-list-good-taste: Linus Torvalds' linked list argument for good taste, explained https://github.com/mkirchner/linked-list-good-taste Linus Torvalds: The mind behind Linux | TED Talk https://www.ted.co

    Linuxを生み出したリーナス・トーバルズが考える「優れたコード」とは何か?
    taisa831
    taisa831 2020/12/09
    あと読み
  • Postman をチームで運用していくためにフォーク機能を使ってみた - Techtouch Developers Blog

    バックエンドエンジニアの misu です。TENET や羅小国戦記などわりと映画を見て最近は楽しんでいます。この記事を完成させたらクイーンズ・ギャンビットを見たいところ。。! この記事について 前回、Postman を使って E2E テストを行う記事を書いたのですが、チームで運用してくとなると少し工夫が必要になったのでその辺の Tips を書いて行きます。 具体的には Postman のコレクションを git のようにフォークして、各開発者が開発ブランチごとに E2E テストを回せるようにしました。 内容 背景 下記図のように複数の開発者が1つのコレクションに対して、API を登録すると E2E のときに A は users API がないため CI が落ちてしまいます。B もまた然り。 当に E2E 含め開発完了しているかは、落ちた E2E の結果を見て、開発スコープ以外のものだったら

    Postman をチームで運用していくためにフォーク機能を使ってみた - Techtouch Developers Blog
    taisa831
    taisa831 2020/12/01
  • TOEIC L&R 980 取得記 - もうずっといなかぐらし

    2020年9月13日に行われた第252回 TOEIC® Listening & Reading 公開テストにて 980 点を取得しました。他の方の参考になればと思い、使用した参考書や行った勉強法を共有します。 TL;DR 具体的な学習内容以前の話 具体的な学習内容 英語学習スタート前の状態 TOEIC用の勉強開始前(2019.06 ~ 2020.5) 英会話レッスン(レアジョブ) 瞬間英作文 単語帳 DUO3.0 速読速聴・英単語 Core1900 TOEIC 勉強開始(2020.05 ~ 2020.07) TOEIC用単語 速読速聴・英単語 TOEIC TEST GLOBAL 900 金のフレーズ Japan Timesの記事を読む Part5 対策 Part2 対策 受験直前期(2020.07 ~ 2020.09) 模試の素点 まとめ TL;DR 「目標点をとる上で自分に足りない能力は

    TOEIC L&R 980 取得記 - もうずっといなかぐらし
    taisa831
    taisa831 2020/10/07
    マネできないやつ
  • Emacsに一生入門できねえ2020

    vimとの戦争の話ではない) Emacs、一生入門できない あたまがうんちで出来てる俺にはむり ・パッケージの導入方法がわからない package, use-package, leafやらのいろんな方法が混在していてわけわからん 便利そうなパッケージの説明見に行くと、設定方法の説明に使ってるのがpackageだったりuse-packageだったりもっと古いやつだったりでわけわからんくなる 結局packageとuse-packageの混在したわけわからんinit.elを書く羽目になる しかも設定書いたつもりでも反映されてなかったりするし原因調べようにも全部英語 ・簡単な操作をするのにもいちいち調べないと行けないのが面倒 さっきもRedoってどうやるんだ?ってなってググった いちいちググりに行かないといけないのがしちめんどくさい しかもなんだよC-g C-/って。覚えてられっかよ。C-yでR

    Emacsに一生入門できねえ2020
    taisa831
    taisa831 2020/09/22
    最低限のemacsとvimのハイブリットがいい
  • 作って理解する Babel プラグイン - Techtouch Developers Blog

    エンジニアの伊藤です。 ようやく梅雨が開けたと思ったらすでに立秋。残暑は残るどころか日に日に増している感じさえあります… 🥵 。 この記事では、普段の開発で非常にお世話になっているツール Babel のプラグインを作成する方法と、Babel プラグインの例としての処理時間を計測するプロファイラを紹介します。Babel プラグインに踏み込んでいきたいのですが、理解を助けるためにまず Babel が何をするツールなのかから説明します。 Babelとは Babel の処理の流れ AST (Abstract Syntax Tree) Babel プラグイン Babel プラグイン プロジェクト最小構成 Hello World 「プロファイラ」で何をするのか まとめ Babel プラグイン開発に参考になったサイト おまけ Babelとは フロントエンドの開発を行っている方にはお馴染みな Babel

    作って理解する Babel プラグイン - Techtouch Developers Blog
    taisa831
    taisa831 2020/08/12
  • Postman, Newman で始める E2E テスト - Techtouch Developers Blog

    バックエンドエンジニアの misu です。最近はブンブンチョッパーでチャーハンやドライカレーばっかり作ってます。 この記事について 内容 Postman と Newman について モチベーション 実行例 テストの設定 Github Actions にのせる E2Eテストを陳腐化させないために その他 参考 この記事について 弊社では REST API 定義置き場やクライアントとして機能する Postman を使っています。Postman は、登録してある定義に基づいて API リクエストを投げる Newman というライブラリが提供されており、E2E テストのセットアップが簡単にできます。今回は、これらのライブラリを使って E2E 環境を Github Actions 上に作ってみたので簡単なサンプルと一緒に使用感を見ていただけたらと思います。 内容 Postman と Newman に

    Postman, Newman で始める E2E テスト - Techtouch Developers Blog
    taisa831
    taisa831 2020/07/22