qsonaのブックマーク (416)

  • 約9000個の自動テストの 時間を50分->10分に短縮 Flakyテストを1%以下に抑えた話

    プロジェクト新規参入者のリードタイム短縮の観点から見る、品質の高いコードとアーキテクチャを保つメリット

    約9000個の自動テストの 時間を50分->10分に短縮 Flakyテストを1%以下に抑えた話
  • Sprint Planning をやめた話 - スタディサプリ Product Team Blog

    小中新規開発グループ (a.k.a. tara チーム) の qsona です。 tara チームでは、スタディサプリ中学講座というプロダクトを開発しており、約1年前 (2022-02) にリリースして以来、継続してプロダクト開発を続けています。 tara チームのプロダクト開発は、基的にスクラムの手法にのっとる形で行っています。ビジネス的な境界により分けられた3つのスクラムチームが存在します。 スクラムの運用については、それぞれの現場において悩みごとが起きがちだと思いますが、tara チームでもご多分に漏れず、うまくいっていること・いっていないことが存在します。今回は、その3つのうちの1つのチームである「学習コアチーム」において存在した、Sprint Planning に関する (あるいはそこから掘り出された) 課題と、それに対してどう対処したかについて書きたいと思います。 なお、

    Sprint Planning をやめた話 - スタディサプリ Product Team Blog
    qsona
    qsona 2023/06/30
    書きました!
  • 林修『ご報告』

    林修オフィシャルブログ「いつやるか?今でしょ日記」Powered by Ameba こんにちは。東進ハイスクールの現代文講師、林 修です。日々に思い、少し考えたことをぼちぼち発信していきます。 実は、ここ数年、SNSにおいて、私が問題提起のために第三者の主張を引用した際の発言を切り抜き、あたかも私が「年収890万~920万ないと社会のお荷物」であるという見解を持っているかのような虚偽事実を投稿されることが多々あり、いわれなき誹謗・中傷に悩まされてきましたが、今回対応策を取ることにしましたので、皆様にご報告申し上げます。 ことの発端は、2019年放送の「林先生が驚く初耳学!」(MBS)の番組内企画として、「高学歴ニート」と言われる方々に「講義」を行ったことです。 番組の準備に際して、私が心掛けたことはまず決して彼らを否定しないことです。つまり彼らが(主体的に)選択した生き方を、第三者である私

    林修『ご報告』
    qsona
    qsona 2023/05/17
  • GraphQL と Prisma から考える次のN年を見据えた技術選定 / Architecture decision for the next N years at StudySapuri

    JSConf JP 2021 で登壇した資料です #jsconfjp #jsconfjp_b Links: [Active Recordから考える次の10年を見据えた技術選定](https://speakerdeck.com/yasaichi/architecture-decision-for-the-next-10-years-at-pixta) [GraphQL を活用したスキーマ駆動開発の実践](https://speakerdeck.com/qsona/schema-driven-development-with-graphql) [GraphQL を利用したアーキテクチャの勘所 / Architecture practices with GraphQL - Speaker Deck](https://speakerdeck.com/qsona/architecture-pract

    GraphQL と Prisma から考える次のN年を見据えた技術選定 / Architecture decision for the next N years at StudySapuri
    qsona
    qsona 2021/11/27
    JSConf JP 2021 で登壇する(した)資料です #jsconfjp #jsconfjp_b
  • 最高のマスターデータ管理手法考察 & VSCode Extension を活用した話 / developing masterdata management tool by using vscode extension

    GeekGig 『スタディサプリ x Showcase Gig』 〜フロントエンドを楽しむ〜 Links: p.6 [Deep Environment Parity CDNT 2019 - Speaker Deck](https://speakerdeck.com/spring_mt/deep-…

    最高のマスターデータ管理手法考察 & VSCode Extension を活用した話 / developing masterdata management tool by using vscode extension
    qsona
    qsona 2021/11/18
    今日の登壇資料です #geekgig
  • ぼくたちとVimConfの180日戦争 - チューリング不完全

    VimConf 2018 パンフレット イベントのレポートというのは生ものであり、鮮度がある。 イベントの当日は、疲れ切ってしまっていて、とても帰宅してから文章を書こうという気持ちにはならずすぐに寝てしまう。次の日は仕事がある。そんな風にレポートを書くことをしぶっているうちに、Twitterではいろんな参加レポートが出回る。これ以上俺が書く必要もないんじゃないか・・・という気持ちが大きくなり、「書かない」という決断をするわけでもなく、レポートは永久に書かれない。 イベントの報告をする上で、では自分が書くもの、自分にしか書けないものは何だろうか。それはパーソナルな体験であり、今回のVimConfであれば、やはりスタッフ業に関することを書くべきだろう。 スタッフは何をするのか ノベルティを詰める作業の様子 残っている記録を見ると、VimConfスタッフが最初に打ち合わせを行ったのは2018年5

    ぼくたちとVimConfの180日戦争 - チューリング不完全
    qsona
    qsona 2019/11/06
  • Decision Making Guideline - スタディサプリ Product Team Blog

    挨拶 新規事業開発チームにてプロダクトマネージャーを担当している冨成です。 GitHubSNSではtominaritとして活動しています。 2018年の6月1日に入社してから公式サイトのリニューアルプロジェクトを完了させて以来、新規事業開発チームのプロダクトマネージャーとして奮闘しています。 もし当時のプロジェクトに関するブログ記事にご興味がある方はこちらからどうぞ。 前提 今のプロダクトチームはWeb Engineer 7人、 Native Engineer(iOS) 2人、Product Designer 2人、 Product Manager 1人となります。今では12人と大きくなったチームですが、去年のこの時期(MVP検証時期)ではまだ3人だったため、ここ1年で爆発的に人数が増えました。 当時は人数も少なく意思決定が早かったのですが、人が増えるにつれて様々な意見が飛び交うようにな

    Decision Making Guideline - スタディサプリ Product Team Blog
    qsona
    qsona 2019/10/29
  • 子供を天才プログラマーにしようとして失敗した話 - LiBz Tech Blog

    そんな大げさなタイトルにしてしまいましたが、 実態はただの子育て日記みたいな形になってしまいました。。。 子供にプログラミングを勉強させようと考えている方は、ほんの少し参考になるかもしれません。 ※コメントをうけて追記 無理やり・強制でやらせて...等とコメントいただいておりますが、 基的には子供に「やりたい?」「行きたい?」と聞いて、「やる!」「行く!」と了承もらったものになります。 プログラミングに限らず、いろんなスポーツや習い事について同じように聞いて、「いやだ!」と言われたことはやらせておりません。 また失敗と書いていますが、ここでの失敗は「今までの私の接し方のミス」の話であって、子供に対して言ってるものではありません。 背景 自分が社会人になってから転職エンジニアになっているので、 小さいころからプログラミングと出会いたかったという思いがありました。 (PCを触り始めたのは大

    子供を天才プログラマーにしようとして失敗した話 - LiBz Tech Blog
    qsona
    qsona 2019/09/29
    子育てしたことなさそうなクソブコメが多すぎて滅入る。
  • ゲーム AI の難易度とは? - News Center Japan

    表 1: 完全情報ゲームの状態空間複雑性とゲーム木複雑性 従来の「完全情報ゲーム」の中では、囲碁は、状態空間複雑性もゲーム木複雑性もほかのゲームより、はるかに高いことがわかります。2017 年、AlphaZero が MCTS と深層強化学習を利用して囲碁を含めた複数の完全情報ゲームを解いたことをきっかけに、学術研究では「不完全情報ゲーム」と「リアルタイムストラテジーゲーム」などがより注目されるようになっています。 不完全情報ゲーム: 情報集合数と平均的な大きさ 「不完全情報ゲーム」の場合も、「完全情報ゲーム」と同様にその状態空間複雑性とゲーム木複雑性を計算することができますが、情報が不完全で非対称的なため(たとえば、ポーカーと麻雀では相手の手札と伏せたままの残り札は把握できません)、参加者はゲームの実際の状態を分別することができません。たとえば、ポーカーでは自分が K を 2 枚持ってい

    ゲーム AI の難易度とは? - News Center Japan
  • 負荷試験との向き合い方 - スタディサプリ Product Team Blog

    こんにちは。SRE の近藤(@chaspy)です。 先日、より高い信頼性でサービスを提供するために、スタディサプリ小中高大のサービスの最後の砦であるデータベース、MongoDB のインスタンスクラスのスケールアップを行いました。また、スケールアップをするにあたり、負荷試験を行いました。 記事では、データベースインスタンスのスケールアップの際に行なった負荷試験に対する考え方と、得た学びを紹介します。 なぜスケールアップするのか サービスの急成長に伴い、アクセス数もデータ量も増加しています。数年前に「しばらくは大丈夫」と判断できるインスタンスクラスにスケールアップをしたデータベースも、高負荷時には性能が劣化してしまう問題に遭遇しました。 私たちの MongoDBAWS 上に EC2 インスタンスとしてセルフホストしており、MongoDB Cloud Manager を使って運用の一部を

    負荷試験との向き合い方 - スタディサプリ Product Team Blog
    qsona
    qsona 2019/09/26
  • 蟻本シリーズ 3 スライド最小値 - StatModeling Memorandum

    今回は以下の問題を考えます。 長さNの数列x[1], x[2], ..., x[N]と数Kが与えられます。y[i] = min{x[i], x[i+1], ..., x[i+K-1]} (i = 1, ..., N-K+1)として定義される数列y[i]を計算しなさい。 この問題は両端キュー(デック, deque)を用いることで、なんとのオーダーで解けます。詳しくは蟻の4-4節(p.300)を読んでください。 プログラミングコンテストチャレンジブック [第2版] ~問題解決のアルゴリズム活用力とコーディングテクニックを鍛える~ 作者:秋葉拓哉,岩田陽一,北川宜稔発売日: 2012/01/28メディア: 単行(ソフトカバー) ここでは蟻から例題を引用してN = 5, K = 3, x = {1, 3, 5, 4, 2}, y = {1, 3, 2}の場合について簡単に説明します。 まずd

    蟻本シリーズ 3 スライド最小値 - StatModeling Memorandum
    qsona
    qsona 2019/09/22
  • altはつけるだけじゃなくて - 実践アクセシブルHTML 第一回

    この記事は、2003年6月17日発売の技術評論社「Web Site Design Vol.8」での連載記事「実践アクセシブルHTML」第1回の元原稿を、著者自身が公開しているものです。 画像にalt属性を よく「画像にはalt属性をつけましょう」というフレーズを耳にするかと思いますが、これはサイトのアクセシビリティ改善における対応のうち、もっともメジャーなものであるといえます。WAIのアクセシビリティガイドラインであるWCAG1.0には「テーブルをレイアウトに使ってはいけません」というような内容の項目もありますが、これに対して「よっしゃ、テーブルを使うのをやめよう」とあっさりと決断してサックリとそのように作り変えることなど、ほとんどのサイトにおいて無茶な話でしょう。しかし「すべての画像にalt属性をつけよう」というのはアクセシビリティの対応要件に必ずといって良いほど含まれます。これなら、た

    qsona
    qsona 2019/09/19
  • 休日の自発的活動の労務管理 - 西尾泰和の外部脳

    「自分の趣味で開発したOSSを業務で利用する場合、業務時間で開発していても著作権が個人に帰属する」という趣旨 これが採用されているケースで、ブラックなマネージャーは「月曜までにこの機能を実現せよ」というプレッシャーを掛けることで、「従業員が土日に自発的に趣味でソフトウェア開発をした」という形で、費用を払うことなく「サービス休日勤務」をさせることが可能である、という指摘

    休日の自発的活動の労務管理 - 西尾泰和の外部脳
    qsona
    qsona 2019/09/19
    +1
  • OSS利用企業はOSS開発を支援してほしい - 八発白中

    先日同僚と酒の席で話をしていた。 僕「最近OSS書けてる?」 同僚「書けてないです。仕事してたら書く暇なくないですか」 1年前まではリモートのパートタイムで働いていた彼としては、週5日フルタイム勤務になってから使える時間が大幅に減っただろうことは簡単に想像がつく。 とはいえ、働かなければ生活費が稼げない。 「どうにか時間を作って開発するしかないね」 僕個人としては若い彼にはもっとOSS活動をしてもらいたいし、うちの会社に入ってからOSS活動ができなくなったと言われるのは入社のときに間に入った自分としては心苦しい。そんなことを考えながら苦い顔をしていると、反対に質問された。 「深町さんはOSS書いてますか? どうやって時間作ってますか?」 「いまは育休中で育児に忙しいから、時間は取れたり取れなかったり」 「仕事してるときはどうでしたか?」 「うーん…僕もあんまり取れてたわけじゃないね」 翻っ

    OSS利用企業はOSS開発を支援してほしい - 八発白中
    qsona
    qsona 2019/09/19
  • となりの会社とテックトーク | FEATUReS サイバーエージェント公式オウンドメディア

    今年の5月、サイバーエージェントとヤフーはWebフロントエンドの現場とこれからをつなぐカンファレンス「Inside Frontend」を共催しました。 「Inside Frontend」は2017年より年に1度のペースで開催されているカンファレンスで、スタート時から両社がオーガナイザーとして関わっています。 そのほかにもヤフーが主催する、Webフロントエンドエンジニア向け勉強会の「Bonfire Frontend」とサイバーエージェントが運営するWebフロントエンドエンジニア向けセミナー「Frontrend」をコラボさせた「Frontrend × Bonfire Frontend」を開催するなど、技術を軸に長いお付き合いをさせていただいています。 今日はそんな2社のフロントエンドを牽引する2人のエンジニアに、「Webフロントエンドエンジニア」の過去と未来について、語ってもらいました。 森

    となりの会社とテックトーク | FEATUReS サイバーエージェント公式オウンドメディア
    qsona
    qsona 2019/09/19
    "Reactをどう使うかという話は食い付きが良くても、それがレンダリングされた後のDOMがどうなっているかはあまり注目してくれない" "DOMにはじまりDOMに終わる"
  • 一人でやってると個人開発と同じクオリティになる問題 - hitode909の日記

    たまに、今のこの状況は組織パターンに載ってたこのパターンだ、と思い出すことがある。数年前に読んでまだ役立ってるのうちのひとつ。 今は「常に誰かが進捗させる」というプラクティスをやっている。それ自体はいいのだけど、問題なのは、チーム内チームのエンジニア二人チームでやっているので、一人が進捗させる、もう一人が差し込み対応する、という最小の形になっていること。 奥さんが家でやってる生け花教室のホームページを作る夫、みたいなものをイメージすると、奥さんが生花を教えることで進捗させて、夫がホームページ更新など雑務を巻き取るという構造をイメージできる。百人以上の人間がいる会社であっても、夫婦の生け花教室と同じ数の人のアサインでことを進めているのだとしたら、推進力では同じくらいしか出せないはず。実際には百人いる会社には経理の人がいたり総務の人が居たり、資が潤沢にあったら良いパソコンを使えるとか、いろ

    一人でやってると個人開発と同じクオリティになる問題 - hitode909の日記
    qsona
    qsona 2019/09/19
    わかる
  • 「Go言語らしさ」とは何か? Simplicityの哲学を理解し、Go Wayに沿った開発を進めることの良さ - エンジニアHub|Webエンジニアのキャリアを考える!

    エンジニアHub > 記事一覧 > 「Go言語らしさ」とは何か? Simplicityの哲学を理解し、Go Wayに沿った開発を進めることの良さ 「Go言語らしさ」とは何か? Simplicityの哲学を理解し、Go Wayに沿った開発を進めることの良さ プログラミング言語には作者の設計思想が強く現れますが、Go言語もまた後発であることを生かし、しっかりとした思想に基づいて開発されています。公式のドキュメント等で語られているSimplicityの哲学を理解し、Go言語らしさ、Go Wayに従って開発する良さについて、はてなチーフエンジニアの松木雅幸(Songmu)さんが解説します。 id:Songmuと申します。はてな東京オフィスでチーフエンジニアを務め、Mackerelというサーバー監視のSaaS開発においてプロダクトマネージャーを担当しています。 筆者が勤めている株式会社はてなでは、2

    「Go言語らしさ」とは何か? Simplicityの哲学を理解し、Go Wayに沿った開発を進めることの良さ - エンジニアHub|Webエンジニアのキャリアを考える!
    qsona
    qsona 2019/09/18
    いい話。新しい概念を習得するのに、他の似たような概念を持ち出すと逆に邪魔になることってあるんだろうなあ。
  • マイクロサービス化で得ること、失うこと | Graat(グラーツ)-グロース・アーキテクチャ&チームス株式会社

    2019年8月12日に開催されたセミナー「トラディショナル企業のための、“ビジネスに効く”、アプリケーションモダナイゼーション実践法 」で「なぜ「マイクロサービス“化”」が必要なのか」という話をしました。資料は以下です。 マイクロサービスはクラウド技術や自動化を背景に「システムの粒度を小さくし、連携させることで全体システムを構築する」というものです。 システムを密結合で大きく、つまりモノリスにするメリットは、機能間のデータ整合が容易であり、コードの凝集に通信コストの制約がなく、管理対象ノードが限定されるといったことがあげられます。逆に変更に対する影響が広範囲に及ぶため、影響調査やリグレッションテストやリリース調整などに大きな工数を取られることになります。 一方、システムを機能単位に疎結合に小さく分けていくメリットは、変更の影響がシステム内(機能内)に閉じるようになることです。これによってシ

    マイクロサービス化で得ること、失うこと | Graat(グラーツ)-グロース・アーキテクチャ&チームス株式会社
    qsona
    qsona 2019/09/18
    完全にいい話
  • iOSDC Japan 2019に参加しました

    qsona
    qsona 2019/09/17
  • チャージショット - 雑記

    尊敬できる行動のひとつに「チャージショット」があります。 チャージショットというのは、テレビゲーム『ロックマン』の主人公ロックマンが行う攻撃のひとつ。攻撃ボタンを押してすぐ離すと、ロックマンのメカニックな腕から小さい弾が1個前方に飛んでいき、それを敵に当てるのが通常の攻撃行動なんですが、攻撃ボタンを押してからそのまま指を離さないでおくと、ブーンという音とともにロックマンの体全体が輝きはじめ、一定時間たつとメラメラと明るくなり、その状態でボタンから指を離すと、通常の弾の何倍もの大きさをした光体が飛んでいって、通常の何倍ものダメージを敵に負わせることができます。この後者の強い攻撃がチャージショットです。 チャージショット的なものは、ほかにもたくさんありそうです。ドラゴンボールの「かめはめ波」やハンターハンターの「じゃじゃん拳」といった、攻撃として似たもののほかにも、「大作に取り組む」という行動

    チャージショット - 雑記
    qsona
    qsona 2019/09/14
    "強い行動に出ようという衝動を抱えた当事者としては、生理に反する行動" "だからこそ、強い理性と意志の力を感じる"