ブックマーク / zenn.dev/arsaga (30)

  • 新米PL(プロジェクトリーダー)が直面した6つの失敗と対策

    はじめに 初めてプロジェクトリーダーを任されてから8ヶ月が経過し、これまでに直面した失敗とその対策をまとめて記事にしていきます。まだ実践できていないところもありますが、今後の行動指針として少しずつ実践していければと思います。 独りで多くのタスクを抱え込む 開発現場では基的にマネージャー、リーダー、エンジニアという3つの役割が立てられますが、場合によってはこれらの役割を2つ、3つと兼務することが多々あります。この8ヶ月間、プロジェクトリーダーとしての役割を果たしながら、開発者としても実装を進めていました。具体的には、APIDB設計、新規機能の開発、PR確認、要望対応、工数算出、リファクタリング、お問い合わせ対応、クライアントとのミーティング、バグ改修といったすべてのタスクが降りかかっている状況でした。多くのプロジェクトリーダーが初期に陥る罠として、「誰かに依頼するより自分でやったほうが早

    新米PL(プロジェクトリーダー)が直面した6つの失敗と対策
    yug1224
    yug1224 2024/06/19
  • プロジェクトを炎上させないために、ファシリテーションを学ぶ(ファシリテーター編)

    1.ファシリテーターってなに? ファシリテーターは会議の進行役の方を指します。 ファシリテーターは、主に下記のようなことをすると思います。 ・会議の準備 ・会議の目標/ゴールを設定 ・発言の促進/議論の整理など会議をリードする ・会議が予定通り進行するよう時間管理 今回の記事では、実際の現場で出てくる、「どんなことを準備したらいいの?」、「どうやって議論を整理したらいいの?」といった疑問を解消するために、ファシリテーターが、具体的にやるべきことをこれから、紹介していきます。 2.ファシリテーターがやるべきこと A.会議の終了条件と、プロセスを設計して準備しておく。 会議の終了条件を設定することについては、これまでの記事でも紹介しましたね。 「何かが決まれば会議を終了していいのか」、「あることについて、参加者の合意が取れれば会議を終了していいのか」、「現在の課題や問題点について、洗い出し/ブ

    プロジェクトを炎上させないために、ファシリテーションを学ぶ(ファシリテーター編)
    yug1224
    yug1224 2024/06/12
  • プロジェクトを炎上させないために、ファシリテーションを学ぶ(プレップ編)

    1.プレップってなに? プレップとは、preparationの略語で、「準備」のことを指します。 誰しも会議の前に、準備をすることの重要性は理解していると思いますが、実際に何をやった方がいいのか わからない人は意外といると思います。 (私も、これまでの会議の準備は、「こんなこと準備しておけばいいのかなぁ」と、とりあえず、その時その時で思いつくことをやっているだけでした。。) ですので、そんな方向けに、今回、ファシリテーションの準備の部分にスポットを当てた記事を書きました。 では、これから会議の前にやっておくべき、プレップの内容をいくつか紹介していきます。 2.どのようにプレップするのか A.終了条件を決める これは、前回の記事でも紹介しましたね。 どうなったら会議終了と言えるか、その条件を決めておくといったモノでした。 終了条件を決めておくことで、参加者全員の、話す方向性が揃い、話が横道に

    プロジェクトを炎上させないために、ファシリテーションを学ぶ(プレップ編)
    yug1224
    yug1224 2024/06/12
  • プロジェクトを炎上させないために、ファシリテーションを学ぶ(参加メンバー編)

    1.ファシリテーションってなに? ファシリテーションとは、グループによる課題解決やアイデア出し、合意形成などを促進したり、時に舵取りをして、うまくことが運ぶようにすることを言います。 また、会議の進行役をファシリテータと言います。 ファシリテーションの技術や知識は、会議でファシリテータを務めるために、必要なものとイメージしてしまいがちですが、ファシリテータだけでなく会議に参加するすべてのメンバーが、ファシリテーションに理解があることが必要だと考えます。 なぜなら、ファシリテーションのスキルを身につけることで、「あれ、この会議で何が決まったんだっけ?? 会議終わった後、何しないといけないんだっけ??」となり会議終了後に再確認するなどの時間の浪費や、「⚪︎⚪︎って認識してたけど、お客さんも同じ認識になってるよね??」といった認識の齟齬を防げるようなるからです。 2.なぜファシリテーションを学ぶ

    プロジェクトを炎上させないために、ファシリテーションを学ぶ(参加メンバー編)
    yug1224
    yug1224 2024/06/12
  • 設計について学習してみた。(データベース論理設計編)

    1.データベース論理設計ってなに? 結論、データベース論理設計とは、概念モデリングの際に出てきた情報や、概念モデリングで表現されたモデルを、リレーショナルデータベースで扱える形式に書き換えることです。 ここで一度、前回やった概念モデリングを思い出してください。 この概念モデリングによって、楽天市場アプリケーションの開発において必要な情報や、その情報の関係性が整理できたと思います。 実際に開発をしていくとなった場合は、この概念モデリングによって洗い出された情報を、データベースに保持させたりするんだろうなぁと、ぼんやりとしたイメージは湧いてくるかと思います。 ただこの概念モデリングだけを元に、データベースやテーブルを作成しようとしてもちょっと厳しいかと思います。 なので、今回のデータベース論理設計を行い、アプリケーション開発に必要な情報を、データベース上のテーブルとして管理するにはどうしたらい

    設計について学習してみた。(データベース論理設計編)
    yug1224
    yug1224 2024/06/09
  • 【Next.js】グローバルステートライブラリ比較

    🔰はじめに Next.jsを用いた開発において、グローバルステートに関するライブラリを決めるターンが来たので 色々使ってみた所感を記載 😵‍💫忙しい人のために Context API含め7つ調査したよ ここ で比較しとるよ 🔬そもそもグローバルステートって?? 説明 コンポーネントを跨いだ情報の管理。 props で渡して管理する方法もあるが、コンポーネントが多くなったり ./pages/ 配下のコンポーネント同士の受け渡しが難しかったりで管理が煩雑になってしまうためグローバルステートを用いる。 グローバルステートライブラリには「アトムベース」と「ストアベース」という2つの大きな括りが存在している。 アトムベース・ストアベース 2つの違いはアプリケーションの情報全体を「小さく分けて管理する」か「大きくいっしょくたに管理する」か。 それぞれ優劣があるわけじゃなくてプロジェクトや開発チ

    【Next.js】グローバルステートライブラリ比較
    yug1224
    yug1224 2024/06/08
  • 輪読会でのファシリテーターのススメ。

    始めに。 少し前の話になるのですが、 社内で輪読会の企画とファシリテーターを行いました。 それがとても楽しかったので、 輪読会を行ってみたい人や、 ファシリテーターをやってみたい人の何か参考になれば良いなと思い、 記事を書いてみることにしました。 誰かの参考になれば幸いです。 輪読会の企画を行ったきっかけ。 元々輪読会というイベントに興味がありました。 同じを読むことで、そのの分野の知識を一緒に深めることができたり、 普段業務では一緒にならない人と積極的に交流できそうだと思っており、 一度社内で行ってみたいと感じていました。 社内で勉強会の企画をすることになった際、 輪読会をやってみたいという提案を行ったものの、 同じを何冊も揃える必要がある、 一冊をみんなで読むにはそれなりに時間がかかる、 定期的にみんなで集まって読む時間を取るのは、 業務上難しそうなど、意外にハードルが高そうでし

    輪読会でのファシリテーターのススメ。
    yug1224
    yug1224 2024/06/01
  • フロントエンドエンジニアがDBを初めて触って学んだこと

    はじめに ここ2~3ヶ月のうちにDBを触る機会が多くなってきたので、備忘録を兼ねてこれまで学んだことをアウトプットします。 SQLの実行順 SQLは以下の順序で実行されます。クエリ生成時においては、異なる順序や方法で実行することがありますが、結果的には以下の順序に従って生成されます。 FROM -- テーブル指定(最初に、FROM句で指定されたテーブルやビューが読み込まれます) ON -- 結合条件の指定 JOIN -- テーブルの結合(このステップでON句が利用され、結合条件が適用されます) WHERE -- フィルタ条件による行の絞り込み GROUP BY -- グループ化 HAVING -- 集計後の絞り込み SELECT, DISTINCT -- 列や式の計算・重複行の排除(このタイミングで集約関数も適用されます) ORDER BY -- 結果の並べ替え LIMIT -- 取得件数

    フロントエンドエンジニアがDBを初めて触って学んだこと
    yug1224
    yug1224 2024/05/22
  • GitHub Actionsでラベルが付かなくなっていた件

    😭困りごと レビューをapproveしたらラベルを付けるGitHub Actionsが作られていたが、 ある日いつもエラーになるようになってしまった YAMLはこんな感じ on: pull_request_review name: Label approved pull requests jobs: labelWhenApproved: name: Label when approved runs-on: ubuntu-latest steps: - name: Label when approved uses: pullreminders/label-when-approved-action@1.0.5 env: APPROVALS: "1" GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} ADD_LABEL: ":heavy_check_mark:

    GitHub Actionsでラベルが付かなくなっていた件
    yug1224
    yug1224 2024/04/16
  • エンジニアこそ知っておくべきデザインの基礎まとめ

    部内での勉強会にて取り扱ったデザインについての話です。 社内にデザイナーは居るのですが、管理画面等デザイナーが関与していない画面を作る際などに知っててよかったことをまとめました。 ここでは「デザインとは機能である」を前提としています。 「Design is not just what it looks like and feels like. Design is how it works.」 スティーブ・ジョブズ https://www.clairworks.com/words/detail/195 目的を達成するためにどんなデザインが適しているのかを考え実践するための足掛かり的な記事です。 フォント ゴシック体・明朝体なんかは学校で習った気もしますが、それぞれには可読性・誘目性・判別性といった特徴があります。 知っておくことでその場にあったフォントを選択できるようになります。 基的な書

    エンジニアこそ知っておくべきデザインの基礎まとめ
    yug1224
    yug1224 2024/04/10
  • OpenAIのAPIをPython初心者でも簡単にできるJupyterで挙動確認してみよう!

    はじめに 実務でFastAPIにて、OpenAIAPI関連の実装をしている私の備忘録です。 FastAPIについては載っておりません。 読んでいただきたい方 ・ポートフォリオでAI機能つけたい方 ・OpenAIAPI気になるけど難しいんでしょ・・・な方 ぜひ、ご自分の環境で試され、実装して欲しいです。 Pythonが初めての方でも、環境構築せずにUI上でPythonのコードを実行することができるJupyterを採用しております。 使用技術 下記、バージョンにて動作確認致しました。 バージョンを合わせて実行してください。 Python3 3.11 OpenAIAPI 1.12.0 VSCode拡張機能 Jupyter Jupyterについて Jupyterとは ブラウザ上(VSCodeのファイル内)で、動作する対話型実行環境とのこと。 PCPythonをインストールせずに入力・実行

    OpenAIのAPIをPython初心者でも簡単にできるJupyterで挙動確認してみよう!
    yug1224
    yug1224 2024/03/23
  • Webエンジニアになって1年経ったので、これまでやってきたことをまとめる。

    始めに 今年の2月でWebエンジニアになって1年経ちました。 1年経ったらもっと凄いWebエンジニアになっていると思っていたのですが、 全くそんなことはなく……。 ただそれでも、この1年はこれまでの社会人生活よりも、色々なことにチャレンジしてきました。 今回はこの1年で行ってきたことをまとめてみたいと思います。 誰かの参考になりましたら幸いです。 Laravelのキャッチアップ。 私はスクールでRailsを学び、その後現在の会社に入社しました。 会社はメイン言語がLaravelだった為、まずPHPLaravelのキャッチアップが必要でした。 会社では研修があったのですが、私はあまり勉強しないで研修を迎えてしまった為、 中々わからないことが多く、とても苦労しました。 そのため研修や業務の合間に、下記のことを行いました。 ドットインストール PHP入門基礎文法編の受講 ドットインストール P

    Webエンジニアになって1年経ったので、これまでやってきたことをまとめる。
    yug1224
    yug1224 2024/03/15
  • 問題解決のフレームワークについて社内で勉強会をした話

    問題解決のフレームワーク 私はエンジニアDXコンサルとして現在働いていまして、エンジニアコンサルとで頭の動かし方がだいぶ違うなと感じていました。このままでは両者の溝は深まるばかりだと思い、コンサルが使うフレームワークの中でも汎用的な「問題解決のフレームワーク」について、エンジニア向けに社内で勉強会をしました。 概略を図にすると以下のような感じです。このフレームワークを理解すれば、正しい質問ができるようになります。この記事では、問題を解決するための正しい質問とは何なのかについてまとめました。おかしな点がありましたらコメントいただければ幸いです。 よくある間違い 「どう」ありき フレームワークを見るとわかりますが、「どう問題を解くか?」という質問は1番最後の段階でします。 DXでよくある間違いが、まず「どうするか?」を考えてITツールなどの方法を導入しようとすることです。「どうするか?」は

    問題解決のフレームワークについて社内で勉強会をした話
    yug1224
    yug1224 2024/03/01
  • 新卒1年目でSupabaseデビューした話

    はじめに 皆さんこんにちは、熊エンジニアをしているハラダです。新卒1年目の僕が実務で「Supabase」を使用したので、感想を共有したいと思います。 Supabaseとは? Supabaseは、主にバックエンドの機能を提供するプラットフォームです。 オープンソースで多くのバックエンド機能を提供しており、Firebaseの代替として利用されます。 具体的には、以下の機能を提供しています: ・ データベースの管理 ・ リアルタイムのデータ同期 ・ 認証機能 ・ ストレージ ・ エッジ処理 これらの機能を利用することで、開発者は簡単にアプリケーションのバックエンドを構築することができます。 使用した技術スタックは、Next.js,TypeScript,Supabaseです。 つまづいたところ 1. PL/pgSQLのログ 変数の値が見たいと思った時、フロントエンドではconsole.log

    新卒1年目でSupabaseデビューした話
    yug1224
    yug1224 2024/02/18
  • CookieのSecure属性を有効にしましょうという話

    こんばんは! 引き続きセキュリティ対策についてのまとめです 日は「CookieのSecure属性を有効にしておこう」という話です まず初めに... CookieのSecure属性とは何か これは、「HTTPS通信時のみCookieを送信する」という設定です。 この対策をしていないと、平文HTTP通信でもCookieを送信する様になっています。 これでは第三者が盗聴できる状態であることを指しますので、セッションハイジャックの危険性も高まることを意味しています。 ざっくりとご理解いただけましたでしょうか? では... どんな被害があるのか、なぜ対策すべきなのか について纏めていきましょう...と言いたいところですが 私の力不足で、「Secure属性」が起因する実被害を見つける事ができませんでした...(汗) 一般には上述の通り「セッションハイジャック」の危険性が高まると言われております。 【

    CookieのSecure属性を有効にしましょうという話
    yug1224
    yug1224 2024/02/02
  • DIと単体テストと私: 緩やかな依存関係がもたらすメリット

    はじめに この記事は、アルサーガパートナーズ アドベントカレンダー2023、番外編の記事です。 「25日間のリレー」を成功に導いた素敵な記事たちがカレンダーに集まっていますので、よろしければ下記のリンクからご覧ください! この記事について 実務における最初の壁: DI 未経験からエンジニアとして実務に携わるようになると、誰しも「独学でやっていた時とは違うな」と感じることがたくさんあると思います。 私のサーバーサイドエンジニアとしてのキャリアはLaravelによる開発からスタートしたのですが、そんな私にとっての最初の「自己学習と実務の違い」の1つは、DI(Dependency Injection, 依存性注入) の概念が実装に利用されていること、でした。 すでに実装されている先輩方のコードを読めば「どう書けばいいか」はある程度すぐに把握できたものの、概念の理解を進めようとしても抽象的で難解な

    DIと単体テストと私: 緩やかな依存関係がもたらすメリット
    yug1224
    yug1224 2023/12/26
  • 一度自然消滅したテックブログを復活させてみて

    こんにちは、アルサーガパートナーズ株式会社のbariです。 ネイティブアプリのエンジニアエンジニアマネージャーをやっています。 ブログにタイトルにある通りで今年、2023年春頃に私達は自然消滅していた会社のテックブログを復活させました。 アドベントカレンダーの最終日で今年の節目となる日に少しその事について書きたいと思います。 これからテックブログを始めようと思われている方や、会社としてテックブログが無いけど提案してみたいと思われているような方の参考になれば幸いです。 なぜテックブログを始めたか 実は当社は数年前までテックブログを書く文化がありました。 しかし、いつの間にか自然消滅してしまい、会社のorganizationで記事を投稿する人は誰もいなくなってしまいました。 テックブログを続けることの大変さを感じると共にそれを思うとエンジニアとしては寂しく思うところがありました。 私はテック

    一度自然消滅したテックブログを復活させてみて
    yug1224
    yug1224 2023/12/25
  • お父さん、バービーを買ってよ!: 本当に欲しいクリスマスプレゼントのために提案書をつくろう

    提供 誰だって…… クリスマスプレゼントには当に欲しかったおもちゃが欲しい。 たしかに、大切な人からもらったものはそれだけで特別な価値がある。とは言え、レゴブロックのお城を望んでいたにも関わらず、実際にもらったものが双眼鏡では正直子供心に「………」という感じだろう(実体験)。 だが、単に「買ってよ!!!」とグズるだけでは買ってもらえないこともある。大人だって先方に「契約してよ!!!」とグズったところで契約してもらえるわけがない。そこで、きちんとした提案書を用意して望む必要がある。 というわけで、Zennを読んでる少年少女のみなさんもお父さんお母さん、もしくはサンタクロースにきちんとした提案を行おう。クリスマスプレゼントには当に欲しかったおもちゃを買ってもらいたい!そうだろう?なら提案書をつくろう。子供だって気なんだ。 提案書とは 提案書とは「私はこうしたいんだけどどうでしょうか?」と

    お父さん、バービーを買ってよ!: 本当に欲しいクリスマスプレゼントのために提案書をつくろう
    yug1224
    yug1224 2023/12/25
  • 🥇Golden Testを導入してUI開発の不安を解消する

    はじめに Flutter好きの皆さんこんにちは! アルサーガパートナーズ株式会社でFlutterエンジニアをしているtaiseiです! 突然ですが皆さん、FlutterUIの開発を進める中で、「このUIはどんなデバイスでも適切に表示されるのだろうか..?」と不安に感じたことはありませんか? レスポンシブデザインはもちろんのこと、テキストのフォントや色、ダークモードの表示など複数のデバイスで複数の画面を一回一回チェックするのは骨の折れる作業ですし、開発を進める中で副作用によってUIが変更され、気付かないうちに開発が進んでしまうといったこともあります。 そこで、これらの問題を解決する方法として、Golden TestというUIテスト手法があります!! 今回はこのGolden Testについて、設定から基的な使い方、私が実際に遭遇したエラーに対するトラブルシューティング等を解説していこうと思

    🥇Golden Testを導入してUI開発の不安を解消する
    yug1224
    yug1224 2023/12/23
  • DDD(ドメイン駆動設計)の概要をまとめてみた

    こちらの記事は、アルサーガーパートナーズアドベントカレンダーの21日目の参加記事です。 他の記事は下記リンクをご参照ください。 はじめに エンジニア歴1年未満の新米です! 最近、DDDを用いた開発に携わることになったため、アウトプットを兼ねてこちらの記事にまとめていきたいと思います! DDDってなんぞや?って方が、この記事を読んで少しでも理解していただけたら幸いです・・・! DDDとは Domain-Driven Design(ドメイン駆動設計)は、エリック・エヴァンスが開発したソフトウェア開発手法の一つです。複雑なビジネスドメインや問題領域を解決するために、そのドメインに焦点を当てる方法論となります。ちなみに、DDDにおいてのドメインは「ソフトウェアで問題解決しようとする対象領域」のことを表します。 エリック・エヴァンスのドメイン駆動設計の内容をリファレンスとしてまとめたものである「DD

    DDD(ドメイン駆動設計)の概要をまとめてみた
    yug1224
    yug1224 2023/12/21