タグ

ブックマーク / qiita.com (2,237)

  • ペアプロ・モブプロでメンバーが驚くほど成長した話 - Qiita

    1. はじめに ペアプログラミングは、ベストセラーになった「レガシーコードからの脱却」や MicrosoftのDevOps開発チームの紹介記事などでも紹介されている素晴らしいプラクティスです。 私のチームでペアプログラミング(以下、ペアプロ)とモブプログラミング(以下、モブプロ)を実施した結果、手戻りが減り、メンバーが成長し、その後の生産性がアップしました。稿はその詳細を説明します。 特に、メンバーの育成という点では、ペアプロ・モププロは間違いなく効果的だと思います。私は過去に10人くらい新人育成に携わってきて、新人配属後1年間の開発業務での成果を色々見てきました。その中で、ペアプロ・モププロを活用して新人から育成した今の私のチームの3人は、成果が抜きん出ています。 なお、ペアプロとモププロは、色々と異なる特性がありますが、この記事では共通のメリットを説明する便宜上、まとめています。ご了

    ペアプロ・モブプロでメンバーが驚くほど成長した話 - Qiita
  • BigQueryのローカル検証用にbigquery-emulatorを触ってみた。ついでにPythonから接続してみる - Qiita

    BigQueryのローカル検証用にbigquery-emulatorを触ってみた。ついでにPythonから接続してみるPythonBigQueryemulatorGoogleCloud はじめに みなさん、BigQueryが絡む処理のローカル開発やテストどうしてますか?BigQueryは公式のエミュレーターが提供されていないのでけっこう困ること多いんじゃないでしょうか? 私はとりあえず、ローカルではなく専用の環境を用意してそこに接続する形にしていましたが、業務委託の方などに入っていただくことが増えると権限周りで少々悩ましいことも多いです。 ただ数ヶ月前に、goccyさんという方が開発されたGo製のOSSbigquery-emulatorが公開され、こうした問題に解消の兆しが見えてきました。(開発者の方にはリスペクトしかありません!) 少し前までは提供されていない機能も多かったのですが、開発

    BigQueryのローカル検証用にbigquery-emulatorを触ってみた。ついでにPythonから接続してみる - Qiita
    mikage014
    mikage014 2022/11/11
  • テックリードとして入社してからやったことをまとめてみた。 - Qiita

    現在の会社にテックリード(1人目の正社員エンジニア)として入社して、2年間やってきたことを書いています。 エンジニア二年目でテックリードとして試行錯誤してきて、自分の振り返りもしたいという思いから記事を書きました。 (前提として、シード期のスタートアップで実行してきたことです。) 入社時のチーム課題 入社当時は、2週間単位のスプリントでスクラムを回してましたが、全員が業務委託だったこともあり、完全な内製化を進める必要があり、主な課題は以下でした。 継続的リリースが困難な状態になっており、それを解消することが急務 社内にエンジニアがいなかったので、開発組織体制づくりが必要だった。 ウォーターフォール寄りのリリースが多く、継続的にリリースする文化がなかった。 リファクタリングやテストコードが不十分だった。 改善したこと Zenhubを導入 それまでは、GitHub Projectで進捗管理をし

    テックリードとして入社してからやったことをまとめてみた。 - Qiita
  • だれかの進捗をうまく把握できないときのフレーズ集 - Qiita

    ほとんどの人はだれかと恊働しています。マネージャーやリーダーであるなら、この割合はより大きくなります。 筆者は、仕事の重要な要素のひとつを「進捗を出すこと」と定義しています。そして進捗を出すには、進捗をただしく把握することも重要になってきます。 しかし「進捗を把握する」と言っても、想像以上に難しいと感じる場面が多々ありました。たとえば、 進捗はどうですか? → 進行中です/〜をやっています なにか問題はありますか? → とくにないです 〜までに終わりそうですか? → たぶん大丈夫だと思います というようなやりとりは一般的なコミュニケーションだと思いますが、あまり有用な情報は得られていません。 この記事では、自身の経験則をもとに、進捗にまつわる良い情報をゲットするための具体的な質問を考えてみました。 なぜ進捗を把握すべきなのか 話の前に、なぜ進捗を把握すべきなのでしょうか。 それは良い計画づ

    だれかの進捗をうまく把握できないときのフレーズ集 - Qiita
  • 注意!GCPのUptime Checksの利用料金が1ヶ月で100万円増えてた話 - Qiita

    tl;dr 先日GCPの料金レポートを見たら、それまで無料だったUptime Checks(死活監視サービス)の利用料金がなんと100万円を超えていて面らった。 GCPの一部サービスが、22年10月から料金改定を行うことはニュースや公式のアナウンスでかなり事前に知っていたが、GCSやネットワーク周りのみの認識だった。 しかし実際、それまで完全無料のぶっ壊れサービスだったUptime Checksもしれっと10月から1リクエストにつき0.0003ドル(無料枠あり)の課金がなされるようになっていた。 円安時代、クラウドインフラの利用料金は開発者を悩ます大きな種の一つである。個人、公式のブログなど、料金改定をアナウンスする様々な記事をあたったが、この事実を事前にアナウンスしている記事を見つけることができなかった(要検証)ため、今後どうすればこのような事態を回避できるか検証した。(情報求む!)

    注意!GCPのUptime Checksの利用料金が1ヶ月で100万円増えてた話 - Qiita
  • setTimeout の真の力、あなたは知っていますか? - Qiita

    こんにちは。ぬこすけ です。 皆さんは「 setTimeout とはどんな関数でしょう?」と聞いたら、どう答えますか? おそらく、ほとんどの人が「指定した時間に処理が走るようにする関数」と答えるのではないでしょうか? function main() { console.log('動いたよ!!'); } // 大体 3 秒後に main 関数が動き出す setTimeout(main, 3000); 大雑把な理解としては問題ないですが、実は setTimeout の隠された能力はそれだけではありません。 setTimeout の隠された能力を知るとどんな良いことがあるのでしょうか? 例えば、次のような良いことがあります。 ブラウザに対する理解が深まる Web サイトのパフォーマンスを向上させることができる ドヤれる まず、 ブラウザに対する理解が深まります 。 かのアリストテレスはこう言い残

    setTimeout の真の力、あなたは知っていますか? - Qiita
  • DDD本を読むためには前提知識が非常に多いよ - Qiita

    初めに きっかけ 新人研修中にDDDとか、PoEAAとかの話が少しだけ出ました。 ただ、イマイチわからないとの声が多数。 理由 なぜなら予備知識がたくさん必要だからです。(ほんとに多い) これはわからなくて当然。 そこで 独断と偏見で、予備知識となる用語を解説します。 偏見多いので、より正確な情報は、書籍やWebで調べてね。 この辺を説明します UML クラス図/シーケンス図 デザインパータン GoF/PoEAA 階層化アーキテクチャ DDDのサマリ 知らなきゃいけない知識が多くて面倒だね。 説明しないけど、オブジェクト指向やデータベースとかの知識も必要だよ。 説明前にDDDのページを見てみよう!!! DDDの最初のページ 「エリック・エヴァンスのドメイン駆動設計」より ??? よくわからないね さっきの図って何? 灰色の中心部分はソフトウェア設計のモデリングを表しています。 モデリ

    DDD本を読むためには前提知識が非常に多いよ - Qiita
  • 史上最強のデータベース、SurrealDB - Qiita

    SurrealDBというRust製データベースを知ったので紹介します。このデータベースはすごいです。リレーショナル、ドキュメント、グラフ、あらゆる種類のデータ構造を扱うことができ、かつインメモリ、単一ノード、分散環境、全てで動かすことができます。さらにHTTPやWebSocketによるアクセスと柔軟なユーザ認証、認可機能とがDB体に内包されており、ブラウザから直に接続するWebDBとしても使えます。とにかくなんでもできる夢のデータベースといった感じです。 特徴 機能を挙げていたら多くなりすぎたので、特に面白い部分を挙げます。 配列やオブジェクトをネストした複雑なデータ構造を持てるのに、レコードリンクという機能によりリレーションに対応していてしかもSQLやMongoDBより簡潔にクエリが書ける。 スキーマレスで各レコードには任意のフィールドを持てるが、必要ならスキーマを定義することもできる

    史上最強のデータベース、SurrealDB - Qiita
    mikage014
    mikage014 2022/10/25
  • Firebase Authentication を利用した認証システムの実装 - Qiita

    2022年2月追記 Firebase SDK v9では、実装方法が大きく変わりました。 v9を利用した認証の実装については、以下をご覧ください。 Authenticationを利用した実装 前回 に続き、 Firebase の備忘録を書いていきます。 今回はFirebase Authenticationを利用した認証システムの実装についてメモを残しておきます。 Firebase Authentication の設定 認証は、Firebase プロジェクトのコンソールから「Auhentication」を選んで設定していきます。 公式ドキュメントは以下。 ここでは、サンプルアプリで利用したGoogle 認証に絞って記述します。 Google 認証の設定 Authentication → Sign-in methodを選び、設定を「有効」に変更→保存で、終了。 Google認証の実装 Fireb

    Firebase Authentication を利用した認証システムの実装 - Qiita
  • WEBページに「Googleアカウントでログイン」を実装する - Qiita

    目次 はじめに 目標 クライアントIDを取得する クライアントサイドのコード(JavaScript) サーバサイドのコード(PHP) 実行してみる お世話になったサイト はじめに WEBアプリを作っていて、「Googleアカウントでログイン」が実装できたので備忘録として残しておく。 実装にあたっては、Googleの公式ドキュメントを大いに参考にしました。動画も一緒に載っていて、日人が解説しています。 PHPとJSを使って実装しています。サーバサイドの言語は自分はPHPを使いましたが、公式ドキュメントにはNode.jsとJavaPythonのコードも載ってました。自分はPHPしか試していません。 必要なもの テキストエディタ サーバ ブラウザ Composer PHP(Composerを使うので) 目標 GoogleアカウントでログインされたユーザのGoogleアカウントのプロフィール情

    WEBページに「Googleアカウントでログイン」を実装する - Qiita
  • GitHub ActionsでGitHub Projectsを活用する - Qiita

    プロジェクト管理 何使ってる? Jira Backlog Redmine Notion 普段GitHubで開発しているのでGitHub Projectsを使おう お品書き GitHub Projectsのいいところ Issue templateを活用する GitHub Projectsに自動で追加する GitHub Projectsのいいところ GitHubだけで完結する 無料 Pull request や Issue の番号でリンク 複数リポジトリをまとめられる iOS/Androidなどまとめて管理 Automated, GitHub Actionsで自動化 Issue templateを活用する リポジトリのSettingsから[Features]>[Issues]>[Set up templates]から作成できる 新しいIssue開く時にテンプレートから選べる Formyaml

    GitHub ActionsでGitHub Projectsを活用する - Qiita
  • ほぼ毎日Qiitaを2時間見る私が、特に好きな記事をまとめてみた - Qiita

    前書き 5か月ほど前にQiitaに登録し、それから登下校中や休憩時間など、空いた時間は基Qiitaを見るようになりました。 ストックした記事が106、LGTMした記事が12ページ分にもなり、記事の整理もかねて、特に好きな記事や理解が深まった記事などを振り返りつつまとめようと思います。 無言で記事を掲載しております。迷惑だったら申し訳ありません。 が、随時更新予定です。 追記(2022/10/18) Twitterにておすすめの記事を紹介していただきました! 今後もそういった機会があることを信じて、ほかの方にオススメされた記事を紹介する枠を設けます。 誰に向けて Qiita触りたての人 プログラミング始めたての人 自分自身 最初に見ておくべき記事 最初の頃は数学と同じように変数を決めていたため、aやbとしていたが、この記事を見て驚愕した(笑) リーダブルコードを読むきっかけとなった記事。

    ほぼ毎日Qiitaを2時間見る私が、特に好きな記事をまとめてみた - Qiita
  • 成果を出すプログラマーが習得している「コードを書かない技術」 - Qiita

    はじめに 私がプログラマーとして働き始めて1年半がたちました。幸いなことに環境に恵まれ、私の身の回りには成果を出し続ける優秀なプログラマーがたくさんいます。 1年半彼らの仕事を観察して気づいたことは、成果を出すプログラマーは共通して 「コードを書かない努力をしている」 ということでした。 この記事では彼らが業務で行なっている、 「コードを書かないための思考、習慣」 についてまとめていきたいと思います。 前提 多くの人は「プログラマーはコードを書くことが仕事」だと考えています。この考えに基づくと、プログラマーが「コードを書かない努力をする」ということが、ひどくおかしなことに思えてしまうかもしれません。 そこでまず前提として3つの誤解を解くところから始めましょう。 [誤解1] プログラマー仕事は「コードを書くこと」である 私たちプログラマーの多くは会社から給料をもらいながらコードを書いていま

    成果を出すプログラマーが習得している「コードを書かない技術」 - Qiita
  • 振り返り時間の雑談っていらなくないですか? - Qiita

    はじめに 筆者は初めてアジャイルの開発でスクラムを経験。3ヶ月が経つ。 今回チーム内で出た意見を元に、良い気づきを得ることができたので記事にまとめました。 ★フルリモート環境 ★バックエンドとフロントエンドでチームが分かれている ★私を含む新規参画者はスクラム初心者 ★バック、フロントそれぞれスプリントの振り返りが終わった後、 スクラムチーム全員で共通の振り返りという名の雑談タイムがある。(30m~) 雑談の時間っていらなくないですか? この議題があがり、スクラムチームの意見をいただきました・・・ 最終的な投票結果では、現状のままで良いという結論に至りましたが 雑談のメリット 改善案 新しい手法の提案 色んな気づきを得ることができたので記していきたいと思います。 この議題が生まれた背景 そもそも、開発状況が芳しくない。という所に 新規参画者の方が目をつけてくださいました。 『進捗率があまり

    振り返り時間の雑談っていらなくないですか? - Qiita
  • [Doc] 要件定義書テンプレート・要件定義書の書き方 - Qiita

    下記ドキュメントバージョンに関する注意点です。 バージョン番号のルールを定める:バージョン番号は、どのようにつけるかルールを定め、チーム全員が同じ理解で使用するようにする必要があります。たとえば、変更内容によって数字がどのように増えるか(major, minor, patch)、何桁で表現するかなど、具体的に決めておくことが重要です。 変更履歴を明確にする:どのような変更があったのか、それがどのバージョンで実施されたのかを明確にすることが必要です。これにより、何らかの問題が発生した場合に、どのバージョンから問題があるのか特定することができます。 ドキュメントの保存場所を一元化する:ドキュメントのバージョン管理には、ドキュメントを保存する場所を一元化することが重要です。それにより、異なるバージョンのドキュメントが、複数の場所に分散してしまい、誤ったバージョンが使用されることを防ぐことができま

    [Doc] 要件定義書テンプレート・要件定義書の書き方 - Qiita
  • AWSで2022に打破されたアンチパターン - Qiita

    TLDR AWS2022年の1月から9月までのアップデートが多数ありました。私(と、何人かのサポーター)が考えた、この期間内の打破されたアンチパターンを紹介します。32項目ありました! アンチパターンって何よ? 「AWSでこうしたい」という思いからAWSを使っていく方は多いはずです。 そのなかで、数多くのAWS使いこなしの工夫が生まれ、成功例が生まれていきました。AWSのサービスとして提供されていないことを工夫でなんとかした、そんな成功例たち。それが「秘伝のタレ」となり、「さわってはいけないもの」、あるいは「ロストテクノロジー」として、封をしたパターンとなっていないでしょうか? 動作やプロセス、構造について、当初は妥当であったのに、最終的に悪い結果が繰り返されるパターンであり、リファクタリングするための方法が存在するパターンこそがアンチパターンです。サービスアップデートされれば、いままで

    AWSで2022に打破されたアンチパターン - Qiita
  • Deno のめっちゃ難しいバグを修正した - Qiita

    2022年4月、Deno に以下のバグが報告されました。 fetch API を使って 300KB ぐらいあるファイルをアップロードすると、一定確率でアップロードされたファイルが壊れるというバグの報告です。 報告者によれば、1.20.6 まではバグは発生しておらず、1.21.0 から発生するようになったという事です。1.20.6 の次のリリースが 1.21.0 なので、パッチバージョン1個分まで、バグの発生時期が特定されている状態です。 fetch 周りは自分はほぼ実装していないので「担当範囲ではない」感覚だったので、普通にスルーしていました。 自分に限らず、Deno Land コアチームの誰もこの issue にピンと来る人が居なかったようで、stale ボット (数ヶ月進捗の無い issue を自動的にクローズしようとするボット) に2回もクローズされかけていました。Deno の st

    Deno のめっちゃ難しいバグを修正した - Qiita
  • Ruby で始める GraphQL Client - Qiita

    これは何 Ruby のコードから GraphQL API を叩く方法を紹介します Ruby のコードで GraphQL API を作る方法は紹介しません GraphQL とは GraphQL とは何か、を一言で表現するのは難しいのですが、個人的には「API を表現するプロトコルの一種」というような認識です。 REST API と比較されることが多いです。REST API

    Ruby で始める GraphQL Client - Qiita
  • シェルスクリプトで安全簡単な二重起動防止・排他/共有ロックの徹底解説 - Qiita

    はじめに シェルスクリプトで二重起動防止やロックをする方法を検索すると、いろいろな方法や書き方が見つかりますが、どれを使えばよいのか、当に正しく動くのか、不安になりますよね? ディレクトリ (mkdir) やシンボリックリンク (ln) を使った独自実装の例も見かけますが、エラー発生時や予期せぬ電源断、CTRL+C で止めたときなどでも問題は発生しないのでしょうか? まず、ディレクトリやシンボリックリンクを使った独自実装はしない。これを肝に銘じてください。シェルスクリプトでのロック管理はとても難しく、一般的な排他制御の知識に加えて、シェルスクリプト特有の問題、シグナルやトラップ、サブシェルや子プロセスの問題、さらには特定のシェル固有の仕様やバグなどさまざまな問題に対処する必要があり大変です。独自実装の例では古いロックファイルが残ってしまい、それをいつどのタイミングで片付ければ安全なのか?

    シェルスクリプトで安全簡単な二重起動防止・排他/共有ロックの徹底解説 - Qiita
  • 高校生にWeb上でプログラミングを教え始めたエンジニアがこの8ヶ月間で得た気づき - Qiita

    画像: N高等学校課外授業(N予備校)での生放送授業のブラウザ上での見た目、コメントが書ける 目次 はじめに 教えることになったきっかけ Web企業にエンジニアとして就職できるようになる、というミッション 既存のWeb教材に感じた問題意識 「各自進められるゲームブック形式の教材」と「徹底的にフォローする生放送授業」 コンセプトをもとに構成されたコースと内容 ゼロからプログラミングができるようになった人が生まれた日 永劫、プログラミングは一部の天才たちのためのものか? プログラミング学習のモチベーションの課題と対応 まじめなオタクたちが社会をよくしようと頑張ること さいごに はじめに 自分はこの8ヶ月間、Web上で非対面のプログラミング教育、具体的にはHTML教材と生放送授業を中心としたプログラミング教育をN高等学校の生徒に行ってきました。 ここに書かれている内容は、これからプログラミング教

    高校生にWeb上でプログラミングを教え始めたエンジニアがこの8ヶ月間で得た気づき - Qiita