タグ

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

  • 爆速で新しいコードベースをマスターする - Qiita

    こちらの記事は、John Sonmez 氏により2018年9月に公開された『 Master a New Codebase in Record Time 』の和訳です。 記事は原著者から許可を得た上で記事を公開しています。 君は新しいチームに入った。 プロジェクトのコードベースは巨大だ。 どこから手を付ければいいのかわからない。 君は馬鹿だと思われたくないし、チームメイトは皆、自分の仕事で忙しい。 さて、どうやったら、経験レベルに関係なく、全く初めてのコードベースで生産性を高めることができるものか?それも素早くだ。 これは開発者であれば誰もが通る道だ。 未知のコードベースを持つ既存のプロジェクトに飛び込むことは定期的に起こる。 転職したばかりなのか、同じ会社内でチームを切り替えただけなのかは関係なく、やらなければならないことは同じだ。ソースコードを読み、作業を始め、そして何も壊さないという

    爆速で新しいコードベースをマスターする - Qiita
  • 現代開発者のためのCSS基礎技術 - Qiita

    ウェブアプリケーション開発における、現代的なCSSの基礎技術についてまとめました。 ちまたには「CSSとは何か」を学ぶ教材はたくさんあっても、「CSSをどうやってうまく使うか」についてはあまり詳しく触れられません。 仕様をたくさん記憶したところで、いつになっても開発力はあがらないのです。 記事は「CSSをうまく使う技術」に焦点をあてて、実際に現代的なウェブアプリケーションに求められるレベルのCSSを書くための知識を紹介します。 特に プログラミング経験はあるもののウェブフロントエンドの経験が浅い方 初級レベルのCSSはある程度理解したものの、次にどうしたらいいかわからない方 にお勧めです。 プロローグ CSSの書き方は一通りではありません。 好きな書き方を自由に選ぶことができます。 これは一見すると良いことですが、裏を返すと最適ではない書き方がたくさんあるということです。 この場において

    現代開発者のためのCSS基礎技術 - Qiita
  • 図解 X.509 証明書 - Qiita

    はじめに X.509 証明書について解説します。(English version is here → "Illustrated X.509 Certificate") ※ この記事は 2020 年 7 月 1 日にオンラインで開催された Authlete 社主催の『OAuth/OIDC 勉強会【クライアント認証編】』の一部を文書化したものです。勉強会の動画は公開しており、X.509 証明書については『#4 X.509 証明書(1)』と『#5 X.509 証明書(2)』で解説しているので、動画解説のほうがお好みであればそちらをご参照ください。 1. デジタル署名(前提知識) この記事を読んでいただくにあたり、デジタル署名に関する知識が必要となります。つまり、「秘密鍵を用いて生成された署名を公開鍵で検証することにより」、「対象データが改竄されていないこと」や「秘密鍵の保持者が確かに署名したこと

    図解 X.509 証明書 - Qiita
  • ソフトウェア開発のキャリアパス - Qiita

    こちらの記事は、John Sonmez 氏により2018年1月に公開された『 Software Development Career Paths 』の和訳です。 記事は原著者から許可を得た上で記事を公開しています。 ソフトウェア開発のキャリアパス(ソフトウェアエンジニアリングのキャリアパスとも呼ばれる)はたくさんあります。この投稿では以下について話していきます。 開発者の主な3つのタイプ 開発者のキャリアの3つのオプション Web開発 モバイルアプリ開発 デスクトップアプリ開発 ゲーム開発 組込みシステム開発 データサイエンス ツールとエンタープライズ クラウド開発 自動化 正しい方法でキャリアアップする マネジメントと技術開発 将来について考える ジャン! レベルアップしました。 あなたは今レベル12のWeb開発者です。 新しいJavaScriptフレームワークのロックが解除されました

    ソフトウェア開発のキャリアパス - Qiita
  • Webpack チャンク最適 テクニック - Qiita

    ターゲット 巨大なSPAを作ってしまった人へ 巨大なSPAを作らないように気をつけたい人へ 今回はJSだけにフォーカスするが、もっというと、 超速 を読んでください。 注意:資料は、webpack チャンクの挙動を概念的に説明することを重視しているので、 webpack の詳細な設定や、出力ファイル名などは実際の処理と一致しない。適宜自分の手元にある設定とすり合わせるように。 昨今のJSビルド問題と、その解決のためのゴール設定 巨大なJS(+最近は in JS された各種SVGCSS)はダウンロードだけではなく、UIスレッドのCPUをブロックする。 これはとくにCPUが貧弱な端末で体験が悪化する。そしてビルド時間で開発者体験を阻害する。 できれば webpack 推奨の 144kb 以内にしたい…が現実的に難しいので、 せめて 350kb ぐらいに抑えたい。 SPAなら (ローディン

    Webpack チャンク最適 テクニック - Qiita
  • GraphQLの全体像とWebApp開発のこれから - Qiita

    TL;DR GraphQLはクライアント側とサーバー側の双方の複雑化を解決するために利用されてる フロントエンドにとってGraphQLはHTTP上で動く信頼できる唯一のリソースとして振る舞う フロントエンドの状態管理のベストプラクティスとしてのApollo Client クライアントファーストなAPI, GraphQLはWeb APIのベストプラクティスになり得る クラシックアプリケーションを改修することなくGraphQLとモダンフロントエンドで今どきのアプリを作れる はじめに GraphQLは非常に良く出来たソフトウェア(の仕様)ですが、複数の側面を持つことからすぐに理解することが難しくまだ日ではあまり受け入れられていない印象があります。GraphQLを端的に何と言われると "全てのフロントエンドのためのAPI BFF" なのですが、それだけで理解出来る人はなかなか居ないように思います

    GraphQLの全体像とWebApp開発のこれから - Qiita
  • ゼロからVue.jsでビジュアルリグレッションテストするまでpart1/3 - Qiita

    Part1 ここ Part2 https://qiita.com/senku/items/20e21033edd512be1d4d Part3 https://qiita.com/senku/items/08d547eda2c6ff818108 Vue.jsでビジュアルリグレッションテストをするためにいろいろやったナレッジを公開しまーす。 やりたいこと Vue.jsのコンポーネントのビジュアルリグレッションテスト(画像回帰テスト)をしたい。 viewsレベルのテストもしたい。(Vuex/Vue Routerが絡む) 多言語対応もしたい。(Vue I18nが絡む) テストはなるべくローカルで完結したい。サーバ立てたりしたくない。 Summary Storybook(ビジュアルの元ネタ) + storycap(画像生成) + reg-suit(画像比較&レポート) でやる。 Storyを作るた

    ゼロからVue.jsでビジュアルリグレッションテストするまでpart1/3 - Qiita
  • Batfish を使ってネットワーク構成を可視化してみよう (1) - Qiita

    はじめに 元ネタ inet-henge 利用例: Batfish ネットワークトポロジーの可視化 - LGTM です。今回および一連の記事 ((3)まである予定) では、batfish + inet-henge の記事に対する私なりのアプローチ……みたいな話をしたいなーと思っています。 このあと説明する中でやっていることは同じで、「可視化」するのに自分がいま作っている netoviz: RFC8345-based Network Topology Visualizer というツールを使っているところが異なる点ですね。ざっと内容見てもらえるようにデモ動画を作ってみたので一回これ見てもらえると良いかと。以降の解説もこのデモ動画に沿った流れにしてあります。 同じこと: Batfish を使って NW 機器コンフィグからトポロジ情報を取り出す 取り出したデータを使って「ネットワーク図」(ネットワー

    Batfish を使ってネットワーク構成を可視化してみよう (1) - Qiita
  • 「よいサンプルコード」ってどんなサンプルコード? 〜Qiitaや技術ブログを書くときに気を付けること〜 - Qiita

    「よいサンプルコード」ってどんなサンプルコード? 〜Qiitaや技術ブログを書くときに気を付けること〜QiitaRuby はじめに Qiitaやブログに技術記事を書く場合は多かれ少なかれ、サンプルコードを書くと思います。 たかがサンプルコード、されどサンプルコード。 技術記事に書くサンプルコードはどうあるべきなのでしょうか? いろいろな観点があると思いますが、この記事では僕が考える「よいサンプルコード」について語ってみようと思います。 なお、この記事のサンプルコードはRubyで書いていますが、記事の内容自体はRubyに限らずどんな言語にも適用できるものです。 どういったサンプルコードが理想的なのか(大雑把なレベルで) 細かいポイントの説明に入る前に、大雑把なレベルで理想的なサンプルコードについて確認しておきましょう。 以下は僕が考える理想的なサンプルコードです。 読み手(=見知らぬ第三者)

    「よいサンプルコード」ってどんなサンプルコード? 〜Qiitaや技術ブログを書くときに気を付けること〜 - Qiita
  • 順を追って学ぶKubernetesのキホン〜ローカル環境でKubernetesクラスターを作成してKubernetesの概念を理解する〜 - Qiita

    順を追って学ぶKubernetesのキホン〜ローカル環境でKubernetesクラスターを作成してKubernetesの概念を理解する〜Dockerインフラkubernetescontainermicroservices こちらの記事は、Jonathan Natanael Siahaan 氏により2019年 10月に公開された『 Step by Step Introduction to Basic Concept of Kubernetes 』の和訳です。 記事は原著者から許可を得た上で記事を公開しています。 Kubernetesを聞いたことがありますか? 興味があることは間違いないはずです。 だからこそこの記事を開いたのでしょう。 この記事では、Kubernetesの基概念とその使い方について説明します。 最終的には、Minikube上で動くKubernetesを使用してdocker

    順を追って学ぶKubernetesのキホン〜ローカル環境でKubernetesクラスターを作成してKubernetesの概念を理解する〜 - Qiita
  • イラストで学ぶ Kubernetes - Qiita

    こちらの記事は、Sudhakar Rayavaram 氏により2019年11月に公開された『 Know Kubernetes — Pictorially 』の和訳です。 記事は原著者から許可を得た上で記事を公開しています。 私は最近、Kubernetesの内部をより深く理解するための探求を始めました。この記事は私が行った講演のブログ版です。 コンテナ Kubernetesを理解しようとする前に、少し時間を使って、コンテナが何であるか、そしてなぜそれらが人気であるのか​​を明確にしましょう。結局のところ、コンテナが何であるかを知らずにコンテナオーケストレータ(Kubernetes)について話しても意味がありません。:) 「コンテナ」とは…あなたが詰め込んだすべてのものを保持する容器です。当たり前ですね! アプリケーションコード、依存ライブラリ、および、そのカーネルまでの依存関係などが含まれ

    イラストで学ぶ Kubernetes - Qiita
  • 仕事の進め方の良し悪しを見える化したら、各自が自分で行動を改善してくれた話 - Qiita

    はじめに プログラミングの仕事を効率的に行うためには、プログラミングの知識だけでなく、仕事の進め方も大事と思います。 10年近く前、私のプロジェクト(C#での開発業務)は自分も含めて若手が多く、次のような「仕事の進め方」の問題が多々有りました。 1つの不具合の修正に対して、10時間以上かけて実装したが、そもそも修正方針が間違っていたため、最初からやり直しとなった。 レビュー指摘の修正時に、類似の問題が他にないか横展開調査をしないため、何度も差し戻しが発生した。 そこで、当時の私はプロジェクトメンバーの仕事の進め方を改善する方法を考えました。一般的には「問題を見える化」することで問題が改善されると言われています。逆に言うと、問題は見えないままでは改善されません。 つまり、各自の仕事の進め方の良し悪しを見える化が必要でした。従って、仕事の進め方の良し悪しを測るチェックシートを作成し、その評価結

    仕事の進め方の良し悪しを見える化したら、各自が自分で行動を改善してくれた話 - Qiita
  • モデリング会に参加して気がついた、DDDにおけるモデリングと日本語プログラミングの可能性 - Qiita

    皆さんこんにちは。 突発で開催された、おーひらさん、J.Nakajima さん主催のモデリング会に参加してきました。 神イベントで学びしかなかったのでアウトプットしようと思います。 なお文量が1万字を超えてしまいかねないので 『モデリング会 is 何?』というのは今回は紹介しません。 アバウトに言うと、お題をもとにわいわいモデリングしてみる会 です。 J.Nakajima さんの NoteTwitterの実況(?) を参照していただければイメージが湧くと思います。 余談 自作キーボードの聖地(?) 遊舎工房へ、人生初出舎しました。 あのキースイッチのサンプルマジ最高・・・ 10時オープンで10時過ぎについたら既に3人くらいお客さん居たし、自作キーボード流行りまくり感ある・・・ 作成中のキーボードもそのうち記事にします。 まとめ: 今回のモデリング会で学んだことや気付き 格言 『モデリ

    モデリング会に参加して気がついた、DDDにおけるモデリングと日本語プログラミングの可能性 - Qiita
  • GoF デザインパターン チートシート - Qiita

    ここまで読んでくださった皆さんに、ちょっとしたクリスマスプレゼント。マンガでわかる GoF デザインパターン 23 種チートシートです。これでもうデザインパターンは完全にマスターしましたよ。やったね! (注: ここからはあとがきポエムです) ところでみなさん、せっかくデザインパターンを学んだので、これを使ってプログラムを書こう、チートシートがあるからなんでも書けそうだぞ、なんて思っていませんか。ダメですよ。そんなことしたら 2000 年前後に起きた失敗を繰り返してしまいます。 実は GoF のデザインパターンは、ビジネス的には成功したけど、教育には失敗しました。最初に出版されたに「オブジェクト指向における再利用のための」という肩書が付いていましたが、これが当に良くなかった。 あの頃 (ポール・グレアムが LISP と Ruby を褒めるまで) は、「オブジェクト指向様こそが良い設計のす

    GoF デザインパターン チートシート - Qiita
  • Gitアドバンスドチートシート - Qiita

    冒頭の画像が素晴らしくわかりやすかったので紹介してみます。 以下はMaxence Poutord( dev.to / Twitter / GitHub / Linkedin )によるGit: Cheat Sheet (advanced)の日語訳です。 Git: Cheat Sheet (advanced) Gitでわからないことがあったときのために、この小さなチートシートを作りました。 git commitやgit pull/pushといった当に基的なコマンドはあえてスルーしているのでご注意ください。 このチートシートは"advancedな"使い方を目的としています。 🧭 Navigation - Go to the previous branch ひとつ前にいたブランチに戻る。

    Gitアドバンスドチートシート - Qiita
  • Linuxの不揮発メモリ(NVDIMM対応について(2019年版 補足編) - Qiita

    はじめに (この記事はFujitsu Advent Calendar 2019 24日目の記事です。なお、記事は個人の見解であり、組織を代表するものではありません。) というわけで、今年もNVDIMMこと不揮発メモリの話を書くことにしました。補足編となっているのは、今年はすでに12月の講演で最新状況をほとんど話してしまっていて、その講演の時間内に収められなかった小ネタを補足としてするつもりだからです。 正直言うと、2019年は業務の都合上NVDIMMのお仕事はほとんど何もやっていなかったんです。しかし、過去3回にわたってひたすらNVDIMMの話を書いているせいか、最近はすっかりNVDIMMの人として見られるようになっている気がします。そのおかげで過去の記事をご覧になった大学の先生などから講演のお声がかかるようになってきたというわけです。ありがたいことです。 Outputを外に出すとそれが自

    Linuxの不揮発メモリ(NVDIMM対応について(2019年版 補足編) - Qiita
  • 書き込みがあるワークロードにおける ZOZOTOWN マルチクラウド構想とその検討停止について - Qiita

    この記事はZOZOテクノロジーズ #1 Advent Calendar 2019 23日目の記事です。 昨日の記事は弊チームの inductor による「GKEの内部負荷分散機能を使ってInternal Load Balancerを構築する」でした。面倒で困っているのでGCP様にはなんとかして欲しいものです さて記事では、残念ながら番運用には至らなかったのですが、私がここ暫くMLOps業の裏でやっていた「書き込みがあるワークロードにおける ZOZOTOWN マルチクラウド構想」の検討結果について供養のつもりで記そうと思います。 なお、今年は弊社では全部で5つのAdvent Calendarが公開されています。 ZOZOテクノロジーズ #1 Advent Calendar 2019 ZOZOテクノロジーズ #2 Advent Calendar 2019 ZOZOテクノロジーズ #3 Ad

    書き込みがあるワークロードにおける ZOZOTOWN マルチクラウド構想とその検討停止について - Qiita
  • lodash やめ方 - Qiita

    みなさん、 lodash で消耗してますか? 私は消耗しています。 なぜ lodash で消耗するかというと、とにかく思考停止でインストールされ、 node_modules 下で大量に重複します。サイズが大きいlodashが複数バンドルされてビルドされると、重篤なパフォーマンス上の問題を引き起こします。 lodash には実装上の問題もあり、異様に丁寧に、そして富豪的に作られており、その結果ビルドサイズが無駄に大きいです。丁寧に作られて入るのですが、現代のフロントエンド水準や一般的なポリフィルと噛み合っていません。というわけで、常々やめたいと思っています。 ちゃんとES201xを追ってる人からすると、ほとんどの lodash のメソッドは不要に見えるはずです。エントリは、思考停止で lodash で実装しようとする人に、ちょっと考え直しては? と投げつける用の記事になります。 現代におい

    lodash やめ方 - Qiita
  • 段階的に理解する O/R マッピング - Qiita

    はじめに O/R マッピングとは O/R マッピングとは、一言で言えば、オブジェクト指向プログラミング言語においてリレーショナルデータベースのレコードを通常のオブジェクトとして操作する方法である。より詳細な定義を述べるより、実際のコードを見たほうがわかりやすいだろう。以下に、低レベルの JDBC API の利用例と、高レベルの O/R マッピングフレームワークの代表格である JPA の利用例を挙げる。 public List<Issue> findByProjectId(long projectId) { String query = "select id, title, description from issue where project_id = ?"; try (PreparedStatement ps = connection.prepareStatement(query))

    段階的に理解する O/R マッピング - Qiita
  • 君はまだ平成のアーキテクチャを使ってるのか?僕はFirebaseと令和の時代に行くぞ。 - Qiita

    Help us understand the problem. What is going on with this article? メリークリスマス! この記事はFirebase Advent Calendar 2019の25日目の記事です。 これはなに? この1年、を書いたり勉強会で登壇したりいろいろやってみた結果を振り返ってみると、当に多くの人がFirebaseにふれるようになったなぁと思います。圧倒的な開発者体験の良さをもってバックエンドの関心事を一手に引き受け、アプリケーション開発を劇的に高速化してくれるソリューションとして、Webアプリでもモバイルアプリでもバックエンド第一の選択肢として確固たる地位を確立しつつあるのではないでしょうか。 それ自体はとてもいいことなのですが、Firebaseの強さを活かすためのアーキテクチャに関するアイデアはあまり表に出てきていないのではな

    君はまだ平成のアーキテクチャを使ってるのか?僕はFirebaseと令和の時代に行くぞ。 - Qiita