ブックマーク / qiita.com (443)

  • ZOZO開発組織の2022年の振り返りと現状

    株式会社ZOZO 技術部長 兼 VPoEの @sonots です。この記事は「ZOZO Advent Calendar 2022」のカレンダー1の最終回(25日目)です。 振り返ると2022年は、昨年度の記事でも最後に「会社の統合、そして BizDevOps へ」と掲げているようにビジネス部門と開発部門が融合しやすい下地となる組織を作るべく邁進した1年だったように感じます。私個人としても、2022年3月に執行役員(前ZOZOテクノロジーズ社長)の久保田が退任し、VPoEとしてエンジニア部門統括の役割を引き継いだ大きな変化のあった1年でした。 この記事では、ZOZOで私と組織がこの一年、組織面で取り組んできたものをいくつか取り上げたいと思います。プロダクト面の進歩については「ZOZO ファッションテックハイライト 2022」の記事にまとまっていますので、そちらも合わせてご覧ください。

    ZOZO開発組織の2022年の振り返りと現状
    civitaspo
    civitaspo 2022/12/25
    あと2年でReplace完了…!!!!
  • 俺たちは絶対にKubernetes上の分析ログを欠損させたくないんだっ...!!その対策としてのfluent-pvc-operatorを紹介🐥 - Qiita

    俺たちは絶対にKubernetes上の分析ログを欠損させたくないんだっ...!!その対策としてのfluent-pvc-operatorを紹介🐥kubernetes この記事はZOZO Advent Calendar 2021に出したかったけど既に枠が埋まっていたので野良で出した記事です。 はじめに こんにちは。絶対にKubernetes上の分析ログを欠損させたくない@civitaspoです。今年は社内のログ収集基盤構築プロジェクトでfluent-pvc-operatorというKubernetes Operatorを作りました。この記事ではfluent-pvc-operatorが解決する課題、及び機能や使い方について紹介したいと思います。 なお、この記事ではfluent-pvc-operatorの説明に集中するため、ログ収集基盤構築プロジェクトの全体像等には触れません。プロジェクトの全体像

    俺たちは絶対にKubernetes上の分析ログを欠損させたくないんだっ...!!その対策としてのfluent-pvc-operatorを紹介🐥 - Qiita
    civitaspo
    civitaspo 2021/12/27
    遺作OSSです!
  • ZOZO開発組織の2021年の振り返りと現状

    株式会社ZOZO 技術部長の @sonots です。この記事は ZOZOのAdvent Calendar 2021のカレンダー1の最終回(25日目)です。 2021年度、ZOZOにとっても、私にとっても大きな変化が2つありました。1つ目が2021年3月に前CTOの今村が退任し、私が全社技術戦略を策定する役割とZOZOTOWNリプレイスプロジェクト責任者を引き継いだこと、2つ目が2021年10月にZOZOとZOZOテクノロジーズの組織が再編され、私も含む開発部門がZOZOに併合されたことです。 この記事ではその変化の中で私と組織がこの一年取り組んできたものをいくつか取り上げたいと思います。 全社技術戦略策定 2021年4月にCTO的な役割を引き継いで、個人的に一番変わったのは経営陣(当時はZOZOテクノロジーズ)との対話が増えたことだと思います。私の考えているCTOの役割と、経営陣の

    ZOZO開発組織の2021年の振り返りと現状
    civitaspo
    civitaspo 2021/12/27
  • SQL等価性検証ツールCosetteを使ってみた - Qiita

    はじめに 皆さん、SQLチューニングしてますか?(唐突) 私は仕事RDBMSSQLチューニングをすることが多いのですが、たまにチューニングの一環で SQL文の書き換え をすることがあります。 その際に問題になるのが、書き換えたSQL文が等価であるかどうかの確認が大変なことです。 SQL文を書き換えた場合には、想定通りの結果を取得できるか確認するために、テストをやり直す必要があります。 これが開発早期のフェーズならまだましなのですが、結合テスト以降だと手戻りも多くかなりコストがかかりますし、既に番運用が始まったシステムともなると、テスト自体が困難なこともあります。 また、複雑なSQL文だと網羅的なテストケースを作成すること自体が困難であるため、完全に正しいと確信することはできません。 なので、SQL文の書き換えの正しさを証明する良い手段はないかと考えていました。 SQLチューニングとは

    SQL等価性検証ツールCosetteを使ってみた - Qiita
    civitaspo
    civitaspo 2021/12/26
    激アツ感ある
  • 不揮発メモリに対するLinux周辺動向 (2021年版) - Qiita

    はじめに この記事は Fujitsu Advent Calendar 2021 25日目の記事です。(記事は個人の見解であり、組織を代表するものではありません。) さて、今年もこれまでと同じく不揮発メモリの記事を書きます。今回は以下の内容です。 不揮発メモリ周りの規格・新仕様(CXL, RDMA) メモリ不足時の不揮発メモリの活用 Filesystem-DAXの動向 不揮発メモリ周りの規格・新仕様 今年は規格回りでいくつか新仕様が策定されています。まずは、それらについてざっくりと解説していきましょう。 CXLの不揮発メモリ対応 これまではNVDIMM、すなわちDRAMと同じようにCPU中のメモリコントローラからDDR4で直接つながるデバイスであった不揮発メモリですが、ここへきて新たな接続方法が追加されようとしています。それがCompute Express Link(CXL)です。 コンピュ

    不揮発メモリに対するLinux周辺動向 (2021年版) - Qiita
    civitaspo
    civitaspo 2021/12/26
  • RustでeBPFを操れるAyaを触ってみた - Qiita

    はじめに LKML(Linux Kernel Mailing List)に Rust support パッチシリーズ v2 が最近流れましたね。Linux カーネルを Rust で直接触れるようになる日ももうすぐかなと、クリスマス以上に待ち遠しい限りです。その前に、Linux カーネルの勉強をし直さなくちゃ。 もうひとつ、カーネル向けの Rust の営みとして以前から注目していたのが、Rust で eBPF を操ることができる Aya というプロジェクトです。良い機会なので、ちょっとだけ触ってみました。 eBPF とは eBPF の元となった BPF は、その名前の由来である The BSD Packet Filter(Berkley Packet Filter とも呼ばれる)が示す通り、BSD 版 Unix に実装されたレジスタベースの仮想マシンによるパケットフィルタ機構です。安全かつ効

    RustでeBPFを操れるAyaを触ってみた - Qiita
    civitaspo
    civitaspo 2021/12/15
  • 「もったいない」マインドが逆に効率を悪くする。フロー効率とリソース効率から考えるチームで仕事をする理由 - Qiita

    「もったいない」マインドが逆に効率を悪くする。フロー効率とリソース効率から考えるチームで仕事をする理由チーム開発プロジェクト管理マネジメント はじめに 前回、なぜ、ソフトウェアプロジェクトは人数を増やしても上手くいかないのかの記事において、プロジェクト型の人員規模を柔軟に変化させる開発スタイルに関して、理論的なスケジュール削減の限界について考察しました。その際に、チーム型開発や組織とソフトウェアの紐付けについても示唆しました。 今回は、チームでソフトウェアを開発することに関して、「フロー効率」と「リソース効率」という観点から考察し、なぜ私たちはチームで開発するのか、あるいはなぜプロジェクト型を採用するのかについての考え方を深めていきたいと思います。 そして、組織における効率性の価値観が異なると、新しい効率性に関して理解をする前に「もったいない」と感じてしまい、新しい文化を取り入れづらくして

    「もったいない」マインドが逆に効率を悪くする。フロー効率とリソース効率から考えるチームで仕事をする理由 - Qiita
    civitaspo
    civitaspo 2021/12/13
  • あれ?ポチッとマージできちゃった?ガバガバGithubガバナンス - Qiita

    こんにちは!アドベントカレンダー2いっちゃう?と言われ営業さんもびっくりな「はい!もちろん書かせていただきます!」と元気よく返事をしてしたもののネタに困っていたガチムチですが、藁にもすがる思いで見つけたGithubネタを投稿します。 とある日のこと 自分が所属しているチームで管理しているrepositoryにPRを作成しレビュー依頼を行いました。 そのときにPR画面に大きな違和感を感じました。 あれ?これ、マージできるぞ! 設定を確認するとブランチのプロテクションルールが私の財布のように空っぽでした。 1匹いるなら... こういった問題は、1つあると全体的に疑わしくなってします。まるで1匹いると何匹もいる奴らのようです。 チームで管理しているレポジトリを足元良し!の要領で1つずつチェックしていくのは、屈強なメンタルと絶対に間違えない自負が必要となります。 もちろん私のような一流の窓際コピ

    あれ?ポチッとマージできちゃった?ガバガバGithubガバナンス - Qiita
    civitaspo
    civitaspo 2021/12/10
  • 設計を歪める認知バイアス - Qiita

    こんにちは、リファクタリングが大好きなミノ駆動です。 この記事は READYFORアドベントカレンダー2021 、5日目の記事です。 これはなに? ソフトウェア開発において、設計をないがしろにすると、低凝集密結合な構造に陥り、変更容易性が低下してしまいます。 設計スキルを高め、あるべき構造を設計する……これで解決できるに越したことはありません。 しかし、認知バイアスと呼ばれる心理効果により判断を誤り、良くない設計をしてしまうことが往々にしてあります。 記事は、設計を歪めてしまう認知バイアスを理解し、設計判断の精度向上を促すことを目的とします。 この記事のゴール 人間の判断を歪めてしまう心理効果「認知バイアス」の存在を知ること。 ソフトウェア設計も、認知バイアスの悪影響を受けてしまうこと。 認知バイアスに振り回されない設計アプローチを身につけること。 認知バイアスとは 先入観や思い込み、偏

    設計を歪める認知バイアス - Qiita
    civitaspo
    civitaspo 2021/12/06
  • 若者向けソフトウェア人材おすすめビルドN選 - Qiita

    この記事はpyspaアドベントカレンダー2021の三日目です。前日の記事はykubotaさんです。 はじめに 「自分には才能がある!」と信じてこの業界に踏み込んだものの右も左も怪物だらけで形見が狭い思いをしているのは僕だけではない。 憧れるのは異世界転生のような俺TUEEEE展開であり「何ってクイックソートをしただけだが?」とか言ってたら地位と名声が向こうから転がり込んできて欲しい。 しかし世の中そんなに甘くなく、標準ライブラリを使って威張れるのは学生ぐらいのものである。 学生?そうだ!学生の頃から精進しまくっていたら今ごろすごいソフトウェアエンジニアになれていたはずなんだ!という後悔を抱えて生きている社会人が世の中にはいっぱいいる。 そんな立場から若者を見ていると「大学に入ってプログラミングを始めました」という大学生を見かけるたびにアドバイスをしたくなる衝動に駆られるが、毎度同じような事

    若者向けソフトウェア人材おすすめビルドN選 - Qiita
    civitaspo
    civitaspo 2021/12/03
  • なぜ、ソフトウェアプロジェクトは人数を増やしても上手くいかないのか - Qiita

    はじめに ソフトウェアプロジェクトには不思議な性質があります。現状のスケジュールに課題を感じて、短くするために人員を投下しても、なかなか思い通りに短くならない。それどころか悪化してしまうことがあります。場合によってはプロジェクト自体が破綻して失敗してしまうことすらあります。 今回は、このようなソフトウェアプロジェクトに潜む直感に反する性質を数理的なモデルを介して理解していく試みです。ある種の思考実験としてお楽しみください。 宣伝 Qiitaさんとコラボ企画でアドベントカレンダーをつくりました。 DXをめちゃくちゃ改善した話を募集しています。 https://qiita.com/advent-calendar/2021/dx-improvement 10人の妊婦がいても1ヶ月で一人の子供は生まれない これは誰かの技術力やプロジェクトマネジメント力に欠陥があるのではなく、「人月の神話」で有名な

    なぜ、ソフトウェアプロジェクトは人数を増やしても上手くいかないのか - Qiita
    civitaspo
    civitaspo 2021/11/01
  • ハイフンに似ている横棒を全て統一するᅳㅡ˗𐆑–᭸‒-─−▬𐄐—━‐‑ー﹣―ー﹘-⁃➖⁻! - Qiita

    はじめに これらの横棒、コンピュータにとっては全て違うのですが 見分けがつくでしょうか? -˗ᅳ᭸‐‑‒–—―⁃⁻−▬─━➖ーㅡ﹘﹣-ー𐄐𐆑 郵便番号、住所、電話番号など、横棒が使われているデータを扱うとき、 人が入力したデータや購入したデータであると、同じ記号が使われていないことはよくあることです。 090-1234-5678 090᭸1234᭸5678 090‑1234‑5678 090−1234−5678 これらの電話番号の文字列も phone_no_list = ['090-1234-5678', '090᭸1234᭸5678', '090‑1234‑5678', '090−1234−5678'] # 文字をUnicodeコードポイントに変換 for n in phone_no_list: # 文字列の4番目の横棒の文字コードを見てみる print(n[3], ord(n[3]

    ハイフンに似ている横棒を全て統一するᅳㅡ˗𐆑–᭸‒-─−▬𐄐—━‐‑ー﹣―ー﹘-⁃➖⁻! - Qiita
    civitaspo
    civitaspo 2021/10/27
  • Java 17新機能まとめ - Qiita

    Java 17が2021/9/14にリリースされました。 機能的に多くのプログラマに関係ありそうな変更はApple Siliconに対応したくらいですが、LTSであるということが大きいと思います。 詳細はこちら Oracle Releases Java 17 Java SE 17 Platform JSR 392 JDK 17 GA Release APIドキュメントはこちら Overview (Java SE 17) 変更点まとめはこちら https://docs.oracle.com/en/java/javase/17/migrate/significant-changes-jdk-release.html#GUID-339B2415-8BA8-438C-93AF-F9C746F7CE45 今回はLTSなので、前回LTSであるJava 11からの差分もまとめられています。 JEPの差分

    Java 17新機能まとめ - Qiita
    civitaspo
    civitaspo 2021/10/13
  • まるで自分だけの小さなインターネット、オレオレブックマーク管理術 - Qiita

    はじめに こんにちは、普段は機械学習エンジニアをしているfkubotaです。 今回は僕が普段行っているブックマーク管理術を紹介したいと思います。 ブラウザはchromevivaldiなどの chrome拡張 が使える環境を想定しています。 記事を読むモチベーションをあげるために僕がブックマークにアクセスしている様子をここで一度見てほしいです。 1. 以前書いたQiitaの記事 2. portfolio 3. wifiの速度測定 という順番で開いています。 めちゃ早いというのがわかっていただけるとウレシイです。 ブックマーク管理がしんどかった時 過去にブックマークの管理がとてもしんどかった時期がありました。 すぐにアクセスできるブックマークバーが便利でどんどん追加していくと量がすごくなってしまいました。 フォルダ管理を始めました。フォルダ管理で構造化すると今度はアクセスが遅くなりました。

    まるで自分だけの小さなインターネット、オレオレブックマーク管理術 - Qiita
    civitaspo
    civitaspo 2021/09/20
  • シェルスクリプトの [ は /bin/[ と言ったり [ "x$var" = "xval" ] と書く人はオジサン - Qiita

    # Ubuntu 20.04 の bash での実行結果 # シェルから [ が何として見えているか $ type [ [ is a shell builtin # PATH から見つかる全ての [ コマンドを出力する # 補足 zsh では which がシェルビルトインコマンドで、シェルビルトイン版の [ も出力される $ which -a [ /usr/bin/[ /bin/[ $ type [[ [[ is a shell keyword # zsh では [[ をパターンとして認識してしまうのでダブルクォートが必要 $ type "[[" [[ is a reserved word ちなみに [ の外部コマンド版が /usr/bin/ と /bin/ の両方にあるのは Ubuntu 20.04 では /bin が /usr/bin へのシンボリックリンクになっているからです。Ub

    シェルスクリプトの [ は /bin/[ と言ったり [ "x$var" = "xval" ] と書く人はオジサン - Qiita
    civitaspo
    civitaspo 2021/09/02
  • Kubernetes: ReadWriteOnceとReadWriteOncePodの動作検証 - Qiita

    はじめに Kubernetes v1.22にてPVC/PVの新しいAccessModeとして登場したReadWriteOncePod (RWOP)について、これまでのAccessModeのReadWriteOnce (RWO)との違いを動作検証を交えながら紹介します。 AccessModeとは PVC/PVにて使用するオプションで、これによりマウントする際のアクセス権が指定されます。 Kubernetes v1.21まではReadWriteOnce (RWO), ReadOnlyMany (ROX), ReadWriteMany (RWX)の3つがありました。 このAccessModeに、Kubernetes v1.22 ではアルファ機能としてReadWriteOncePod (RWOP)が新たに追加されました。 ReadWriteOnceとReadWriteOncePodの違い Read

    Kubernetes: ReadWriteOnceとReadWriteOncePodの動作検証 - Qiita
    civitaspo
    civitaspo 2021/08/31
    短縮形は RWOP
  • シェルスクリプトの変数はダブルクォートしなければいけない!という話 - Qiita

    TL; DR 変数をダブルクォートしない使い方は上級者向けの危険な機能です! $@ と $*(または配列の全要素)をダブルクォートしない使い方は知る必要すらありません! ShellCheck を導入すれば誰でも簡単に正しい書き方がわかります!! 2021-08-21 補足 この記事は dash や bash などの POSIX シェルの一般的な動作を解説しており zsh のデフォルトとは異なります。記事の中でも説明していますが zsh の場合はシェルのオプションを変更することで POSIX 準拠の動作に変更することができます。zsh に関しては後半の「zsh に関する注意点」も参照してください。 はじめに プログラミング言語は、言語によって記号の意味が異なることがよくあります。クォーテーションマークはその一つです。C 言語ではシングルクォートは文字リテラル(一文字)を意味し文字列はダブルク

    シェルスクリプトの変数はダブルクォートしなければいけない!という話 - Qiita
    civitaspo
    civitaspo 2021/08/26
  • 「次から気をつけます」に対抗する、反省文よりは効果が上がる再発防止、学びの機会 - Qiita

    再発防止策を書くのは難しい。 良い再発防止策 良い再発防止策について、順位付けするとしたら、 その種類の問題について二度と意識することがなくなる解決策 その種類の問題を開発時に自動的に検知することができる解決策 その種類の問題が発生しても自動的に復旧することができる解決策 その種類の問題が発生しても影響が局所化される、フールプルーフ、フェールセーフになる解決策 と言うのは意識したいと思いつつ、やはり難しい。 再発防止はむずかしい 障害の再発防止策は、 メカニズム ツール ルール チェックリスト の順番に検討せよ。と言われても、急いで書けなんて言われると「次回からは複数人でチェックします。」とか「チェック項目を追加します。」とかいう徹底できなそうな「反省文」になってしまう。 まさにこの有名な...。 **「なぜミスを繰り返すのか」「どうすればミスを防げるのか」を真剣に考えていないことがミス

    「次から気をつけます」に対抗する、反省文よりは効果が上がる再発防止、学びの機会 - Qiita
    civitaspo
    civitaspo 2021/08/17
  • GitHub Codespaces が GA しました(概要、課金など色々まとめ) - Qiita

    米国時間 8 月 11 日、ブラウザから利用可能な統合開発環境 GitHub Codespaces (以下 Codespaces) が GA しました。記事は、情報のまとめとなります。随時引用元を記載していますので、詳細について気になる点などはドキュメントをご覧くださいませ。 ※ 追記 : 2022 年 11 月の GitHub Universe の情報を少し入れ込みました。 注 : Team および Enterprise Cloud プランの場合、Organization Owner が設定で有効にすることで利用できるようになります。個人プランのユーザーには、既存の Codespaces ベータ版が延長されます。ベータ版に参加されている方は、今後も無料でアクセス可能です。個人利用については、近日中に何かしらのアナウンスがあるようです。(2021/08/12 JST 現在) 注 : 20

    GitHub Codespaces が GA しました(概要、課金など色々まとめ) - Qiita
    civitaspo
    civitaspo 2021/08/14
  • ルーティングを知ってネットワーク初心者から脱却しよう! - Qiita

    はじめに ネットワーク初心者を脱却するために、ルーティングを覚えておけば、 ある程度通信の流れについていけるかなと思いました。 前回の記事は要点をまとめましたが、今回はもう少し突っ込んで丁寧にルーティングを説明したいと思います。 〇なんとなくIPアドレスとゲートウェイの設定している人にルーティングを交えて要点をまとめて説明したい https://qiita.com/siberiannhasuki_iijima/items/f601a620afe92f6c4e23 IPアドレス・サブネットマスク まずは通信を行うのに必要なIPアドレス・サブネットマスクについてですが 詳細は上記の記事の「〇なんとなくIPアドレスとゲートウェイの~」をご覧ください。 特にサブネットマスクは理解しないとルーティングが理解できません。 IPは同じセグメント内(サブネットマスクの範囲)でないと通信できません。 セグメ

    ルーティングを知ってネットワーク初心者から脱却しよう! - Qiita
    civitaspo
    civitaspo 2021/08/05