タグ

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

  • 『Winny』の金子勇さんの失われたED法を求めて - Qiita

    普段は「通知が迷惑かなー」と思ってブックマークしていただいている方に通知せず記事を編集しているのですが、この記事をブクマしていただいている方は続きが気になっている方だと思いますので通知させていただきます。 結論から言うと、この記事を読んだ @pocokhc (ちぃがぅ)さんという方が金子勇さんが書いたED法のサンプルプログラムを見つけてくださいました。 ちぃがぅさんの記事はこちら 自分で解明したかったという気持ちも無いことは無いですが、バズった時点で誰かが実装してくれそうな気はしていました。新卒からIT業界に入って4年目が始まったところですが、業務以外で初めて業界にコントリビュートできた気がして嬉しいです! 追記ついでに、謝罪します。初回公開時に記事タイトル含め文中で何か所か「Winney」と書いてしまっていた箇所がありました。失礼いたしました。誤字修正してあります。指摘してくださった何

    『Winny』の金子勇さんの失われたED法を求めて - Qiita
  • スケジュールの立て方について - Qiita

    はじめに こんにちは! 先日、社内の個人カリキュラムでWebアプリケーションを一人で作るという課題がありました。 以前、アプリケーションを作る過程で期限を守りながら開発をする上で大切だと個人的に感じたことをこちらの記事で書かせていただきました。 その中で、大切なことの一つに極力精度の高いスケジュールを作るということをあげました。 今回は僕が社内の個人カリキュラム中に実践していたスケジュールを作成・管理する際の方法について紹介したいと思います。 スケジュール作成・管理に悩む方へ少しでも参考になれば嬉しいです。 読み終えるのに10分くらいかかるかと思います。 ご興味がある方は、お暇な時にご覧いただければと。 記事の内容はあくまで個人的見解になります。 記事の流れ なぜスケジュールを作る必要があるのか プロセスを具体化する 見積もり時間を決める 重い順に並び替える スケジュールに落とし込む 進捗

    スケジュールの立て方について - Qiita
  • 人生を変える最強学習メソッド、ファインマン・テクニック - Qiita

    ノーベル物理学賞を受賞したこともある偉大な科学者であり、愉快な先生でもあるリチャード・ファインマン(1918 - 1988)が推奨した学習メソッドである「ファインマンテクニック (The Feynman Technique」というのがあります。 今回はこの、知ってるだけでなく、使えるものになる学習をしたいときに最強のファインマン学習メソッドについて紹介したいと思います。 ところでまず最初に断っておきたいのは、ここでいう学習とはを読み流して何らかの概要を知っているとか、試験のために暗記したりするといったものではなありません。 学んだことを他の人に説明することができ、様々な状況でそれらを自由に活用することができるという意味においての学習です。 以下、要訳。 もし何かをほんとうの意味で学んだのであれば、それはあなたにとって残りの人生で使い続けることができる武器となります。そして、なにか新しいこ

    人生を変える最強学習メソッド、ファインマン・テクニック - Qiita
  • 単一責任原則で無責任な多目的クラスを爆殺する - Qiita

    この記事は クラウドワークスアドベントカレンダー2020 8日目の記事です。 概要 こんにちは、クソコードを爆殺リファクタリングするのが大好きなミノ駆動です。 今回は単一責任原則の話です。 単一責任原則はSOLID原則のひとつとして有名で、2020年のオブジェクト指向カンファレンスのアンケートでも、SOLID原則の中で最も人気がありました。 皆さんは単一責任原則を遵守した設計をしていますか。 どんな構造が単一責任設計で、一方どんな構造が単一責任でない設計か、明確に意識していますか。説明できますでしょうか。 ところで「単一責任原則とはなんぞや」について、少なくとも私の観測範囲では、概念的な話にとどまっているものが多く、コードレベルで具体的に説明しているものは少ないように感じます。 そうした状況からか、単一責任原則の解釈が人によって違っていたりしているように感じます。 記事は、今一度単一責任

    単一責任原則で無責任な多目的クラスを爆殺する - Qiita
  • どうしてあなたの共通化は間違っているのか:目次 - Qiita

    はじめに この連載では共通化とモジュール分割について扱います。この話題においてQiitaで有名な記事のひとつが@MinoDrivenさんの単一責任原則で無責任な多目的クラスを爆殺するでしょう。この記事を未読の方はまずこちらを読むことをお勧めします。連載では、この記事に書かれているような基礎的な事項については既知であることを前提に、どのようにすれば単一責任原則にそったモジュールの分割を行うことが出来るのかをなるべく 「場合による」という言葉に逃げずに なるべく 網羅的・理論的に 解説します。 いいね、ストックをよろしくお願いします。 対象読者 設計に興味のあるエンジニア 基礎的な設計原則について学んだものの、実際の場面でどのように応用すればいいのかが掴めないエンジニア ミクロな設計についての知識を増やしたい人 ※この記事では、特定のメソッドをどのように作成するべきか、このクラスは複数の処理

    どうしてあなたの共通化は間違っているのか:目次 - Qiita
  • Rust と OS の知識 0 からはじめるRustで始める自作組込みOS入門 - 前半(スケジューラの実装まで) - Qiita

    きっかけ・読んでいく うさねこらーじの Discord サーバーで、いろいろな先輩たちに技術のことを教えてもらっています。 https://discord.gg/RMq7e5qbQj このなかで、著者の garasubo さんにサポートしてもらいながら以下のの内容を実装しているのですが、 Rust の知識も OS の知識もない私にとっては内容がかなり高度なので、補助のためにこのブログを作成しています。 Rustで始める自作組込みOS入門 https://amzn.asia/d/ebuOUM1 ぜひこのを読みながらこのブログを参照していただけると嬉しいです。 第 2 章 ベアメタルで Hello World 単語のかみくだいた説明 ベアメタルプログラミング OSのない環境で実行するためのプログラムを書くことです。この環境下では CPU ごとに決まった動作(たとえば、決まったアドレスにあ

    Rust と OS の知識 0 からはじめるRustで始める自作組込みOS入門 - 前半(スケジューラの実装まで) - Qiita
  • 私が独学をして、マジ神だと思うサイトおよび他 - Qiita

    初めに 私は独学でプログラミングその他について勉強をしていますが、基的に知識を得るために金はかけません。調べれば何とかなるので。 私がプログラミングを始めるにあたって自分に投資したものは安いノートパソコンとマウスのみで合計金額は14600円(ノートパソコン14000円、マウス600円)ですね。 もちろんいいものはお金をかけなければ手に入りません。しかし、いいものというのはある程度のレベルにならなくては持っていても意味がほとんどないと思います。 実際にプログラミングの勉強を独学で始めると、なかなか教材を見つけることができず、え?こんないいサイトあったの!?もうちょっと早く見つけときゃあよかった!というものがめっちゃありましたので、これから独学でプログラミングの勉強をしたいという方に向けて、少しでもお役に立てたらと、紹介をしたいと思います。 というわけで、今回は私が感謝する神サイトおよびその

    私が独学をして、マジ神だと思うサイトおよび他 - Qiita
  • 【永久保存版】0からDockerを勉強するならこのロードマップに従え! - Qiita

    はじめに こんにちは、WatanabeJin(@Sicut_study)です。 今回は私が初学者のときに最も苦労したDocker技術を身につけるためのロードマップを紹介していきます。 Dockerが難しいのはなんといっても概念的なところだと思っています。新人時代の私は入社していきなり「Dockerで環境構築して」とだけ先輩に言われて何もわからない状態から自力でなんとか使えるところまで1ヶ月かけて学びました。(プログラミング経験なしでいきなりDockerは辛かった) その後、同じくプログラミング経験なしの方にDockerを指導した際に、この流れでやっていけば技術として身につくなと思ったのでまとめていきます。 概念が難しいDockerの学び方 私自身がものすごく1年目の時につまづいたDockerの勉強の仕方についてどのように身につけていったかを紹介します。… pic.twitter.com/

    【永久保存版】0からDockerを勉強するならこのロードマップに従え! - Qiita
  • メモリの使い方の理解はプログラマのたしなみ…??😰 - Qiita

    はじめに プログラミング学習を始めて1年経過しました。しかし、今までオブジェクト指向の概念から目を背けてきた結果、現在エンジニアとして苦労しているので、書籍「オブジェクト指向でなぜつくるのか」にて学習中です。 その中で、以下のような章がありました。 「メモリの仕組みの理解はプログラマのたしなみ」 これを見て、自分は今までそんなこと意識していなかったのと強く感じたので、今回はこの書籍で書かれていた、一般的なプログラムの動作環境としての最低限の知識を整理しました。 プログラムが動く仕組みを理解する上で重要な概念 コンパイラ方式とインタプリタ方式 プログラムの基的な実行方式は大きく分けて2つあります。 コンパイラ方式 コンパイラって何? コンパイラは、プログラム全体を読み込んで、それをコンピュータが理解できる形(機械語)に一度に変換するプログラムです。 どういう時に使うの? コンパイラは、プロ

    メモリの使い方の理解はプログラマのたしなみ…??😰 - Qiita
  • 業務で説明に失敗したUIに対するモヤモヤをどう言語化すべきだったのか反省会 - Qiita

    明けましておめでとうございます。 大遅刻で年が明けてしまいましたが、この記事はUIデザイン Advent Calendar 2023 23日目の記事です。 注意 記事で取り上げている例は実在する企業・プロジェクトとは一切関係ありません。 記事は、筆者が実際に業務中にしてしまった失敗をモチベーションに書かれているものの、具体例は完全に一から創作しており関連性はありません。 はじめに 某企業でエンジニアとしてスマートフォンアプリ開発をしています。 その中で、アプリの見た目や挙動を要件通りに実装する際、正直モヤモヤと違和感のあるデザインが何箇所かありました。 しかしながら、ユーザの期待操作や導線を考えてどうして改善したほうが良いと考えたのか、という形にうまく言語化できず、関係者の皆さんに全く伝わらない説明をしてしまうという悔しい思いをしました。 今後そのようなことがあった際に、せめて似たケー

    業務で説明に失敗したUIに対するモヤモヤをどう言語化すべきだったのか反省会 - Qiita
  • ZOZO推薦基盤チームの2023年の振り返りと現状 - Qiita

    株式会社ZOZO 推薦基盤チームリーダーの @f6wbl6 です。この記事は「ZOZO Advent Calendar 2023」のカレンダー7の最終回(25日目)です。 この記事では、ZOZOの推薦基盤チームで私とチームメンバーがこの一年、サービス面・組織面で取り組んできたものをいくつか取り上げたいと思います。なおこの記事のタイトルと冒頭の文章は弊社 CTO 兼執行役員の @sonots が書いた以下の記事のオマージュです。 2023年以前の取り組み まず前提として、推薦基盤チームではこれまでにどのような施策を実施してきたのかを簡単にご紹介します。 商品詳細画面「おすすめアイテム」枠の改善 ZOZOTOWN において、商品詳細画面の下にある「おすすめアイテム」枠での推薦精度を改善するプロジェクトです。 既存システムではオンプレの SQL Server に対して都度クエリを投げていましたが

    ZOZO推薦基盤チームの2023年の振り返りと現状 - Qiita
  • もう仕事に追われたくない!自分起点で楽しく働くための自己管理術 - Qiita

    はじめに 仕事に追われる日々から解放され快適に楽しく働くことができる環境を実現するためには、自己管理が重要です。ここでいう「仕事に追われず快適に楽しく働ける状態」とは、自分自身で意思決定を行い、仕事の進行を自らコントロールする能力を身につけることを意味します。 多くのエンジニア仕事の量や複雑さに圧倒され、自分のペースで仕事を進めることができないという状況に直面しています。しかし、自己管理スキルを身につけることでこれらの課題を乗り越え、より自分起点な働き方が可能になります。 この記事では、よく起きがちな問題とあわせて自己管理を強化するための具体的な方法を示します。 1. 他の人から見て何をやっているかわからない問題 主要なポイント 「あれってどうなってます?」って聞かれていませんか? これを頻繁に聞かれる場合、確実に何やっているかわからない人だと思われています タスクの状態は、必ず聞かれる

    もう仕事に追われたくない!自分起点で楽しく働くための自己管理術 - Qiita
  • 「0.1+0.2≠0.3」を説明できないエンジニアがいるらしい - Qiita

    この記事はNuco Advent Calendar 2023の4日目の記事です。 弊社では、経験の有無を問わず、社員やインターン生の採用を行っています。 興味のある方はこちらをご覧ください。 はじめに 後輩に 「なぜ0.1+0.2≠0.3になるんですか?」 と聞かれて答えられますか? コンピュータの計算では「0.1+0.2」は「0.3」になりません。 これを理解していないと予期せぬ重大なバグを生み出す可能性があります。 分からない方、どうぞ安心してください。 この記事を読んだ全員が「0.1+0.2≠0.3」を理解できるように分かりやすく説明していきます。 コンピュータが計算を間違う理由 まず、そもそも「0.1+0.2=0.3」で正しい!「0.1+0.2≠0.3」なんてあり得ない! という方のために、プログラミング言語のフォーマット処理を経ない、コンピュータの計算結果を見てみます。

    「0.1+0.2≠0.3」を説明できないエンジニアがいるらしい - Qiita
  • 効果検証のための因果推論手法のチートシート - Qiita

    効果検証においてABテストによる単純比較以上のことをやろうすると、因果推論の各種手法を用いることになります。しかし、因果推論は主義や用語などが統一されておらず、いつ何を使えばいいかが分からないというハードルがあります。 そんな因果推論の手法を整理し、初~中級者にとって学習・活用の見通しが立てやすいようにまとめたものが記事です。 2023/12/6追記 もともとこの記事は「もう迷わない!効果検証のための因果推論手法のチートシート」というタイトルだったのですが、"迷わない" はどう考えても言い過ぎだったので、タイトルを修正しました。沢山手法があるけど違いが分からなくて混乱しがち、というのが執筆のモチベーションです。むしろ 迷子のお伴 として活用していただけると幸いです。 特にフローチャートの部分は、これに従っておけばOKという主張ではなく、あくまで手法間の関係を整理するためのもの、そしてこう

    効果検証のための因果推論手法のチートシート - Qiita
  • Gmailが2024年2月から(大量)送信者に求めてることが分からない闇への防衛術(前編) - Qiita

    メールの世界にGmailさんが新たな闇を投入 (インターネットの)メール受信・送信は闇あふれる世界だと思うのですが(*1)、そこに 2023年10月7日、新たな闇要素をGmailさんが投げ込んでくれました。(正しくは2023/12月頭現在、闇がモリモリ増えてる。補足①②参照) (*2 最下部キャプチャあり) えーと、「1日あたり 5,000 件を超えるメールを送信する送信者」はこの事項を守ってね……とあります。要件と書いてあり、2024/2/1から実施と急なうえに、項目が SPFとDKIMの設定 逆引き 迷惑メール率 メール形式 Gmail の From: ヘッダーのなりすまし ARC DMARC ダイレクトメールの場合(……なんとかかんとか) 登録解除 と9個もある。 何これ……?と様々な人を戸惑わせています。 インターネットにつながっているそこそこの規模の組織は、1日あたり 5,000

    Gmailが2024年2月から(大量)送信者に求めてることが分からない闇への防衛術(前編) - Qiita
  • エンジニアは全員おうちKubernetesをやるべし【Part 1:なぜやるのか】 - Qiita

    こんにちは。おうちKubernetesを勧めるためにやってきました。 このシリーズでは、Part 1で「なぜやるのか」、Part 2で「どうやるのか」について話します。 この記事は自宅サーバー上のKubernetesで不特定多数向けのサービスを展開することを勧めるものではなく、自分用・身内用のアプリを自宅サーバー上のKubernetesで運用することを勧めるものです。 エンジニアは全員おうちKubernetesをやるべき絶対的な理由 自己研鑽のために (鑽←この字「研鑽」と「大鑽井盆地」でしか見ない) 企業がKubernetesを採用する場合、ほとんどがEKSやGKEといったクラウド上で動作するマネージドKubernetesサービスを使用すると思います。ただ、Kubernetesであればコマンドやマニフェストファイルの書き方は共通なので、おうちKubernetesで学んだことがそのまま業務

    エンジニアは全員おうちKubernetesをやるべし【Part 1:なぜやるのか】 - Qiita
  • Youtubeは無限のクラウドストレージ - Qiita

    みなさん、こんな経験はありませんか もちろんありますよね。ということで無料で無限にクラウドストレージを使う方法を考えました。(月額130円で50GBは破格だけど) Youtube好き 今回使うのはYoutubeです。ほぼ全員Youtubeを見たことあると思いますが、Youtubeに動画をあげたことがある人はあんまりいないんじゃないでしょうか。 なんとこのYoutube、動画のアップロード数に制限がありません!!!じゃあファイルを動画にしてアップロードしたら好きな時にダウンロードして使えるじゃん。 動画化の方法 ということでやっていきます。まず、ファイルを動画化する方法を考えます。 すべてのファイルはバイト列なので、そいつらをそのまま画像のピクセルにして、そいつらを動画にしたらいいんじゃないかというのが一番最初に思いつくと思いますが、それは甘いです。甘すぎます。 Youtubeに動画をアップ

    Youtubeは無限のクラウドストレージ - Qiita
  • 要件定義・プロジェクト企画に必要なネゴシエーションをロジカルに学ぶ記事 - Qiita

    はじめに こんにちは。 株式会社デジサク の多森です。 今回の記事では、要件定義・プロジェクト企画を推進するためのネゴシエーション術について扱っていきます。 ITプロジェクトを推進していて、こんなことを感じた経験はないでしょうか? 「バラバラな意見・要望を収集できない」 「発言力がある人の影響に負けてしまう」 「いつまでも追加要望が止まらない」 関係者の意見を尊重しつつも優先順位を明確にして、全員で同じ目的に向かってプロジェクト推進するバランス感覚が欲しいと常々感じます。 こんな悩みを解決するために、、 「センスに頼らない!要件定義・プロジェクト企画のネゴシエーション術」 こんなテーマで、様々な関係者とスムーズに調整する考え方を3つの軸(タイプ別・役職別・フェーズ別)で整理しました。 記事の章立ては以下の通りです。 ーーーーー 企画・要件定義のほとんどは関係者との調整 ポイント①:思考タ

    要件定義・プロジェクト企画に必要なネゴシエーションをロジカルに学ぶ記事 - Qiita
  • pythonは_(アンダースコア)の使い方を理解するだけでプロフェッショナルになれる - Qiita

    1. 第3次AIブームの到来 米Google DeepMindが開発した人工知能AI)の囲碁プログラム「AlphaGo」が世界トップレベルの実力を持つ韓国のプロ棋士、李世ドル(イ・セドル)九段に4勝1敗と大きく勝ち越したことが着火剤となり、2015年より第3次AIブームへと突入した。(ちなみにAIが誕生したのは1950~1960年代で第1次AIブームの到来) 1.1 余談になるがAlphaGo(4億円の知能)はなぜすごいのか? AlphaGoがそれ以前のチェスや将棋AIと異なるのは、 畳み込みニューラルネットワーク(CNN) を応用している点だ。このCNNはさらに強化学習を行い、自分自身と対局を数千万回も繰り返した。 間違っていたらすみません、、、、 1.2 ChatGPTによる生成AIのブーム ChatGPTに代表されるLLMは以前から開発競争が繰り広げられていた。 GPT1は201

    pythonは_(アンダースコア)の使い方を理解するだけでプロフェッショナルになれる - Qiita
  • 後輩エンジニアを絶望させるDB設計方法4選 - Qiita

    エンジニアの格闘 エンジニアのみなさんはかつてひどいコードや設計と直面し、それと格闘したことでレベルアップした経験はあるでしょう。 つまり、先輩エンジニアたるものクソコードやクソ設計を残して、後輩エンジニアのレベルアップに寄与するのは義務だと言っても過言ではありません(?) 今回はDB設計に焦点をあてて、そのように絶望させる設計の残し方を記しておきます。 初めての投稿なのでレベル的にはかなり初歩になっています。 ↑きっと彼も立派なエンジニアになった時感謝してくれるでしょう 1) 必要な正規化を行わない エンジニアという不思議な不思議な生き物は処理の共通化等なにかと処理をまとめたがる習性があります。 以下のように著者テーブルと書籍テーブルがあるとします。 書籍 書籍ID 書籍名 著者ID

    後輩エンジニアを絶望させるDB設計方法4選 - Qiita