タグ

プログラミングに関するt1mvverrのブックマーク (82)

  • JavaScript イベントループの仕組みをGIFアニメで分かりやすく解説

    JavaScript イベントループの仕組みについてGIFアニメーションで分かりやすく解説された記事を紹介します。 ✨♻️ JavaScript Visualized: Event Loop by Lydia Hallie 下記は各ポイントを意訳したものです。 ※当ブログでの翻訳記事は、元サイト様にライセンスを得て翻訳しています。 JavaScriptを視覚的に解説: イベントループ イベントループは、JavaScriptデベロッパーが避けては通れない関門の1つですが、最初は理解しにくいかもしれません。私は視覚学習者なので、GIFアニメで視覚的に説明することで、あなたの手助けをしようと思います。 説明の前に、まずイベントループとは何でしょうか? なぜ気にする必要があるのでしょうか? JavaScriptはシングルスレッドで、一度に実行できるタスクは1つだけです。通常は問題ありませんが、30

    JavaScript イベントループの仕組みをGIFアニメで分かりやすく解説
    t1mvverr
    t1mvverr 2019/12/27
    while(true)をすると、マルチスレッドじゃないから為す術が無いってことか
  • プログラミングの見積もりのテクニックは何ですか?に対するOhkubo Koheiさんの回答 - Quora

    t1mvverr
    t1mvverr 2019/12/14
    "見積もりを2倍する方法ではなく、ラッキーパターン、アンラッキーパターン、一番起こりうるシナリオの3つの工数を出す"
  • 【JJUG CCC】「開け!ドメイン駆動設計の扉」のまとめ

    JJUG CCC 2019 Fall の E+F 13:30~のセッション「開け!ドメイン駆動設計の扉」のツイートまとめです。

    【JJUG CCC】「開け!ドメイン駆動設計の扉」のまとめ
    t1mvverr
    t1mvverr 2019/11/23
    "DDDの成功例が多くなって来たからまた盛り上がっている"のはあるかも知れない。
  • スーパーマリオのジャンプのアルゴリズム - Qiita

    先日、気持ちのいいジャンプを目指してというQiitaの記事を見かけました。記事中では、マリオのジャンプについても触れられています。マリオというと、マリオブラザースやスーパーマリオブラザース等々、色々あるのですが、これはおそらくスーパーマリオブラザースの事だと思われます。ジャンプアクションゲームといったらスーマリですね。 そのマリオのジャンプの仕組みは「マリオの速度ベクトルを保存しておいて座標を計算するんじゃなくて~」と書かれていて、別サイトのブログへのリンクが張られています。 マリオのジャンプ実装法とVerlet積分 ただ、この記述については不正確であるという別のブログもあったりします。 マリオの完コピvol.28 ジャンプの解析と修正 ホントのところはどうなんでしょうか?世界で最も有名なゲームジャンプがどのように処理されているのか気になったので調べてみることにしました。 原典にあたる

    スーパーマリオのジャンプのアルゴリズム - Qiita
    t1mvverr
    t1mvverr 2019/11/07
    ゲームってバグ生みそうなロジックで実装した方が、挙動が予想外で面白くなる感じがする。
  • C++を知らないゲームプログラマ達 - Ideals and Reality

    マルチプラットホームライブラリを作ってみた。 ※リンク先pdf 有名なSEGAの著者、平山さんによる今年のCEDECでの講演内容である。 ゲームプログラマになる前に覚えておきたい技術 作者: 平山尚出版社/メーカー: 秀和システム発売日: 2008/11/14メディア: 単行購入: 112人 クリック: 3,473回この商品を含むブログ (193件) を見る 内容的には十分読み応えのあるのだが、一部釈然としないところもある。 主に4.9章の「標準ライブラリや言語機能について」というところから。 何故標準が嫌なのか ゲームプログラマはなぜかC++標準ライブラリを使わない。 いや、使おうとする人もいるが何かと理由をつけて使わない。 その理由が大体困ったような内容が多い。 リンク先でも書かれているが、vectorにはpush_back()やerase()がある。 そしてこれは安全性と性能の両

    C++を知らないゲームプログラマ達 - Ideals and Reality
    t1mvverr
    t1mvverr 2019/11/06
    そのノウハウでlint作ってvscodeにプラグイン作って公開して継続的に更新して保守したら、普及して、著者が伝えたいアンチパターンを避けるようにコード書くようになるんじゃねーの。
  • プログラマーが少なくとも1回は作るべきプログラムは何ですか? - Quora

    回答 (43件中の1件目) 25回答も読んで疲れました。全員が、何を作ればいい、という答えをしていたので、私は、どのような、で回答をします。 それは、プログラムと引き換えにお金をもらえるプログラムです。誰かに使わせるプログラムを書いてお金をもらうのです。友達やインターネットの知らない人に渡して使ってもらう。いくつもコピーして売るものでもいいしwebサービスでもいいし受託開発でもいいです。 これをやって学べることは、金額の多寡や人数によらず、絶大なものがあります。 Appストアやsteamなどは登録料が1万円とか必要なのでちょっと大変ですが、別にストアじゃなくても、メールでプログラム...

    プログラマーが少なくとも1回は作るべきプログラムは何ですか? - Quora
  • 昨今のJavaScriptをレビューしたら全くわからなかった話 - aoma blog

    はじめに 最近JavaScriptのプルリクが来たので「よーしやったるでー」って感じでレビューしたんですが、まったく理解できずレビューになりませんでした。 その時疑問に思ったことをメモします。。 誰かの助けになれば幸いです。。 これはもう引退やな。。 classの中で function って書くの省略してるの? class TestClass { test() { 処理 } } function を省略して書けるのかなと思ったらそうではない。むしろ書いてはいけない。 下記はエラーになる。 class TestClass { function test() { 処理 } } PHPに慣れてるからか、もやもやする。 (a, b) => は無名関数なのはわかったけど function(a, b) じゃダメなの? (a, b) => は無名関数で function(a, b) と同じ。 好みの問題

    昨今のJavaScriptをレビューしたら全くわからなかった話 - aoma blog
    t1mvverr
    t1mvverr 2019/09/15
    調べてて面白いコーディングを見つけたらF12で試す、開発で思い通りの動き化確認するためにF12でデバッグ、RESTAPI叩いているか見るためにF12で通信モニタリング。F12が無いと辛い言語。Nodejsでバックエンド開発は辛そう。
  • ITmedia エンタープライズ:SEの道は仕様書に始まり仕様書に終わる (1/3)

    最近のシステム構築では仕様書をきちんと記述しないで、いきなりツールを使ってプログラムを作成することも多いようだ。否定する気はないが、駆け出しのころはしっかり自分の手で仕様書を書いた方がいい。 前回は、SEを目指している皆さんに向けて、仕事に取り組む姿勢の観点からアドバイスを書いた。今回は、SEに求められるより具体的な知識やスキルの向上に役立つ話を書いてみたい。 SEとして必要な知識やスキルは非常に広範にわたる。経験を積み、上級SEになってくればより経営的な知識が求められるが、最初のころは、システム構築に必要な知識やスキルが特に重要になる。今回は、システム構築における基礎的なスキルの開発方法を紹介しよう。 仕様書を書くこと 最近のシステム構築では、仕様書をきちんと記述しないで、いきなりツールを使ってプログラムを作成したり、システムを構築したりする手法が取られることも多いようだ。こういった手法

    ITmedia エンタープライズ:SEの道は仕様書に始まり仕様書に終わる (1/3)
    t1mvverr
    t1mvverr 2019/09/05
    リソース(CPU)の消費量が多い方法ができない、すべてのケースで処理が速いケース、一定の条件のときだけ処理が速ければいい、等のケースがあった。”今だとリソースも潤沢なので、選ぶケースも減っている気がする。
  • 副作用 (プログラム) - Wikipedia

    この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "副作用" プログラム – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL(2016年3月) プログラミングにおいて、式の評価による作用には、主たる作用とそれ以外の副作用(side effect)とがある[1][2]。 式は、評価値を得ること(※関数では「引数を受け取り値を返す」と表現する)が主たる作用とされ、それ以外のコンピュータの論理的状態(ローカル環境以外の状態変数の値)を変化させる作用を副作用という[3][4][5]。 副作用の例としては、グローバル変数や静的ローカル変数の変更、ファイルの読み書きなどのI/O実行、などがある。 一方、高水

    t1mvverr
    t1mvverr 2019/08/30
    JavaScriptのReactだと、副作用が無い宣言型プログラミングで実装を前提にしてフレームワークとかが設計されていて、破壊的代入をするコードを書くと後々バグの原因になるからほとんど書かなくなった。
  • Rustを業務で1年使ってみてわかったこと - Qiita

    この記事はRE:CODEアドベントカレンダーの5日目の記事です。 PHP軽量FrameworkのSlim3 <- 前 : 次 -> まだMacで消耗してるの? この記事は、業務でRustを書くことになったエンジニアRustのいいところをざっくりと紹介するという記事です。 対象はある程度プログラミング経験がある人を想定しています。 Rustについては知らなくても大丈夫です。知らない単語が出てきたら、「わあ、なんか出てきたー」とか思って飛ばしちゃってください。 一応、Rustの専門的な用語については イタリック体 にしてあります。 Rustは難しい Rustの勉強をはじめると、その言語仕様の複雑さに圧倒されると思います。 ライフタイム とか、オーナーシップ とか、 静的ディスパッチ とか 動的ディスパッチ とか、良くわからない概念がまず多い。 さらに、クロージャ、ジェネリクス、トレイト など

    Rustを業務で1年使ってみてわかったこと - Qiita
    t1mvverr
    t1mvverr 2019/08/27
    ”パフォーマンスを犠牲にすることなく、抽象的なコードが書ける” 抽象的なコードって何だろ。アバウトな表現でもやもやする。
  • 関数型プログラミングはオブジェクト指向プログラミングに変わるパラダイムになると思いますか?

    回答 (2件中の1件目) 実質A2Aどうもありがとうございます笑 自分はこの炎上ネタのある種のエクスパートなので、その辺の事情も含めお答えしたいと思います。 Quora日語版では、この質問に先立ち、一時期プログラミングのデザインパターンというものが大流行しましたが、現在ではどのように評価されているのでしょうか?という質問があり、数日前に静かな注目を浴びました。 どの程度、静かに注目を浴びたかと言うと、他の回答者の回答もそうでしょうが、自分の回答の統計データでは、それまでの3ヶ月間のすべての回答の総アクセス数を、たった2日間で、このQ&Aだけで上回る程のアクセス数がありました。Qu...

    関数型プログラミングはオブジェクト指向プログラミングに変わるパラダイムになると思いますか?
  • “何もない” を作る、コンポーネント指向な余白設計(黒川 智) | Vue Fes Japan 2019

    Vue.js がそうであるように、限定されたスコープの CSS を使って UI コンポーネントを設計することが世の中の当たり前になってきました。それを用いて UI コンポーネントを実装する時に必ず突き当たる難題のひとつが「余白」です。セッションでは、UI コンポーネントの開発時に検討すべき余白設計についてお話しします。 余白は、目に見えないがために境界が曖昧ですから、「この UI はどんなコンポーネントに分割すべきだろうか?」という目に見える問題に比べて見落とされがちです。しかし実際に開発を行うとなると、「この余白をどのコンポーネントに実装すべきか?」、「取ることのできる選択肢は何で、それぞれにどんな影響があるのか?」と悩むことになります。 そしてひとたび方針を間違えれば、手を入れるたびに複雑化していく UI コンポーネントができ上がってしまいます。にもかかわらず余白設計の問題について語

    “何もない” を作る、コンポーネント指向な余白設計(黒川 智) | Vue Fes Japan 2019
    t1mvverr
    t1mvverr 2019/07/17
    余白はcssのmarginとかでやるんじゃないのか
  • プログラマーを30年間やってきた経験から学んだことまとめ

    プログラマーにとって「どうすればより効率よくプログラムを組み上げられるのか」は常に頭を悩まし続ける問題の1つとなっていますが、その道のエキスパートであるエンジニアのジュリオ・ビアソンさんが30年間ソフトウェア開発に携わってきた経験から学んだことについてブログにまとめています。 Julio Biason .Net 4.0 - Things I Learnt The Hard Way (in 30 Years of Software Development) https://blog.juliobiason.net/thoughts/things-i-learnt-the-hard-way/ ビアソンさんは多数ある「学んだこと」を以下の3つに大きくわけてまとめています。 ◆ソフトウェア開発について ◆チーム・仕事について ◆個人的なことについて これからプログラマーになろうとしている、あるいは

    プログラマーを30年間やってきた経験から学んだことまとめ
    t1mvverr
    t1mvverr 2019/07/10
    "プロジェクトを機能ごとでは無く、データタイプごとに整理する""自分のコンピューターで実行できない場合は生産性が落ちてしまう""認知的不協和がコードを読みにくくしてしまう"
  • 【プログラミング言語】モダンなV言語がリリースされたので触ってみる【シンプル且つ高速】 - pavlog

    プログラミングしてますか?僕は都内在住のエンジニアで、最近は主にRuby/Go/TypeScriptを触っています。 趣味競技プログラミングを始めたのでC++も触るようになりました。 そんな僕ですが、6/22にリリースされたV言語に興味を持っています! 最近だとかなりプロダクションコードでも採用されるのを聞くようになったGo言語がありますが、さらにモダンな言語です。 vlang.io このV言語について公式は以下のように言っています。 Simple, fast, safe, compiled language for developing maintainable software V言語(The V Programming Language)とは インストール手順 V言語の嬉しい部分と特徴 特徴 translating C/C++ to V Hot code reloading その他

    【プログラミング言語】モダンなV言語がリリースされたので触ってみる【シンプル且つ高速】 - pavlog
    t1mvverr
    t1mvverr 2019/06/24
    ターゲット分野がよく分からない言語
  • Alan Kay

    Following 2 people. Wrote 594 answers.

    Alan Kay
    t1mvverr
    t1mvverr 2019/06/09
    アラン・ケイQuoraに居るのかよ
  • 【JS入門】配列について Vol.3(配列の要素をソートするメソッド)

    【JS入門】配列について Vol.3(配列の要素をソートするメソッド)
    t1mvverr
    t1mvverr 2019/06/05
    JavaScriptのsortメソッドは、戻り値が正数ならbを前に、戻り値が負数ならaを前にする。a-bをして昇順しやすいようにデザインされている感じがする。
  • 今からでも追いつける! JavaScriptの「標準ライブラリ」を学ぶ - Qiita

    標準ライブラリは、大ざっぱに言えばプログラミング言語に標準で備え付けられている機能群です。多くのプログラミング言語では、形態は様々ですが何らかの形で標準ライブラリが備え付けられています。標準ライブラリはプログラミング言語の一部であり、言語のバージョンアップに伴って標準ライブラリに機能が追加されることは良くあります。 この記事ではJavaScriptにおける「標準ライブラリ」がどんなものなのか、その歴史的経緯なども交えながら解説します。「標準ライブラリ? 何それ」という方も「そんなの基だろw解説されなくても分かるわw」という方もぜひ一読していってください。 なお、記事執筆時点では標準ライブラリに関することは何一つとして標準化が完了しておらず、内容が今後大きく変化する可能性が十分にあります。この記事で概要を理解したあと、いざ使用する際にはご自分で最新の情報を調べたほうがよいでしょう。 お詫び

    今からでも追いつける! JavaScriptの「標準ライブラリ」を学ぶ - Qiita
  • 一時期プログラミングのデザインパターンというものが大流行しましたが、現在ではどのように評価されているのでしょうか?

    回答 (5件中の1件目) この質問にかなり先行して2015年、Quora(家)で投げかけられた質問として、 Why do some functional programmers criticize design patterns in OOP languages as a sign of language deficiency, while Monad is also a design pattern? なぜ、関数型プログラマらは、オブジェクト指向(OOP)言語のデザインパターンを、言語の欠陥の象徴だと批判するのでしょうか?モナドもデザインパターンじゃないんですか? があります。...

    一時期プログラミングのデザインパターンというものが大流行しましたが、現在ではどのように評価されているのでしょうか?
    t1mvverr
    t1mvverr 2019/03/28
    「似た状況」「似た問題」なのに「いろいろな解決法」「各々好きにつけた名前」でまとまらない感じが、何だか歯がゆい。
  • ソースコードを汚くするには? - 覚えたら書く

    汚いプログラム(ものによってはバグを引き起こすプログラム)にするためにはどうすればいいのかを書きました 基的にJavaをターゲットにしています(ものによってはJava以外でも当てはまります) 私が今まで、読みにくい、修正しにくい、プログラムの挙動が読めないと感じたソースをもとに抽出した内容を記載しました 以下の逆をやれば、ある程度ソースがきれいになると思います メソッド メソッドの引数の数を多くする メソッドの引数に巨大なオブジェクト(いわゆる神オブジェクト)を渡すようにする 1メソッドを長くする メソッド内のネストを深くする ガード節が導入されていないif - elseを用いる(早期returnをしない) 重複した処理を存在させる 配列とListなどを混在させた整合性のとれていないメソッド群を提供する 同じ型の引数を3個以上とるメソッドを定義する(例えばint型のパラメータを3つ渡すメ

    ソースコードを汚くするには? - 覚えたら書く
    t1mvverr
    t1mvverr 2019/03/06
    重複処理は、打つ手が無くて仕方なくやっている箇所が割とある。
  • 開発者が知っておくべきSOLIDの原則 | POSTD

    (編注:2020/08/18、いただいたフィードバックをもとに記事を修正いたしました。) オブジェクト指向プログラミングが、ソフトウェア開発に新しい設計を持ち込みました。 その結果、開発者は単一の目的を処理するために、全体のアプリケーションに関係なく、1つのクラスの中で、同じ目的や機能を持つデータを結び付けることができるようになりました。 しかし、このオブジェクト指向プログラミングで、分かりにくいプログラムやメンテナンスができないプログラムを防ぐことはできません。 そこで、5つのガイドラインがRobert C. Martinによって作り出されました。これら5つのガイドラインすなわち原則により、開発者にとって読みやすく、メンテナンスが可能なプログラムを作成しやすくなりました。 5つの原則は、S.O.L.I.Dの原則と呼ばれています(頭字語はMichael Feathereによって名付けられま

    開発者が知っておくべきSOLIDの原則 | POSTD
    t1mvverr
    t1mvverr 2019/02/28
    開放閉鎖の法則→「AnimalSound関数は、makeSound()があるクラスだけ、受け付けるよ」 インターフェイス(IF)分離の法則→「でかいIFを作ると無駄なメソッド作らないといけないよ。小さいIFを組合せて大きいIFを作ってよ」