lynx   »   [go: up one dir, main page]

タグ

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

  • 絵文字😄で物理演算がしたい👌 - Qiita

    皆さんは絵文字😄で物理演算💨がしたくなったことはありますか? 私はあります。😉 ということで作ってみました。 デモページ Github 解説 絵文字で物理演算するためには大きく分けて二つのポイントがあります。 一つ目は 絵文字の当たり判定 、二つ目は 物理演算のエンジンについてです。 絵文字の当たり判定 物理演算には当たり判定が必ず必要です。 四角にしてしまってもいいのですが、せっかく絵文字を使うのだからちゃんといい感じの当たり判定にする必要があります。 今回は当たり判定を作成するために OpenCV を使用することにしました。 OpenCV には findContours という画像から輪郭を抽出する関数が存在しているのでそれを利用します。 (OpenCVEmscriptenを使用することでブラウザ上でも使用できます。ただし、ビルド済みのものが配布されていないので頑張って自分でビ

    絵文字😄で物理演算がしたい👌 - Qiita
  • 対義語・反対語で時間を取らないために | WebSpaceの中の人

    一定期間更新がないため広告を表示しています

    対義語・反対語で時間を取らないために | WebSpaceの中の人
  • JavaScript Primer - 迷わないための入門書 #jsprimer

    JavaScript Primer 迷わないための入門書 Tweet Watch Star Twitterのハッシュタグ: #jsprimer これからJavaScriptを学びたい人が、ECMAScript 2015以降をベースにして一からJavaScriptを学べる書籍です。 プログラミングをやったことがあるが、今のJavaScriptがよくわからないという人が、 今のJavaScriptアプリケーションを読み書きできるように書かれています。 初めてのプログラミング言語としてJavaScriptを学ぶ人は、まずは「はじめに」から読んでみてください。 書籍版 このウェブサイトの内容はアスキードワンゴから書籍として出版されています。 書籍版の内容はウェブサイト版と同一ですが、として読めるように最適化されています。 書籍版は次のサイトから購入できます。 Amazon 達人出版会(電子書籍

    JavaScript Primer - 迷わないための入門書 #jsprimer
  • 「悪い方が良い」原則と僕の体験談|Rui Ueyama

    ソフトウェアの世界には「悪い方が良い」原則という有名なエッセイがある。キレイにレイヤ分けされた一貫性のある良いデザインよりも、一見手抜きっぽい悪いデザインのほうが実は良いときもあるという話だ。この逆説的なデザイン原則を僕は身をもって体験したことがある。それについてちょっと書いてみようと思う。 僕はlldというリンカの現行バージョンのオリジナル作者だ。リンカというのはコンパイラと組み合わせて使うもので、実行ファイルやDLLを作るのに使用される。lldはプロダクトとしてはかなり成功していて、標準のシステムリンカとして採用しているOSがいくつかあったり、GoogleやFacebookなど皆が知っているような大規模サイトの中で広く使われていたりする。 現在のlldは2世代目で、第1世代のlldは僕がプロジェクトに参加する前から存在していたのだけど、数年前にそれを捨てて一から書き直すということになっ

    「悪い方が良い」原則と僕の体験談|Rui Ueyama
  • ソートアルゴリズムを極める! 〜 なぜソートを学ぶのか 〜 - Qiita

    NTT データ数理システムでリサーチャーをしている大槻 (通称、けんちょん) です。 今回はソートについて記します。 0. はじめに データ構造とアルゴリズムを学ぶと一番最初に「線形探索」や「ソート」が出て来ます。これらのテーマは応用情報技術者試験などでも頻出のテーマであり、アルゴリズムの Hello World とも呼ぶべきものです。 特にソートは、 計算量の改善 ($O(n^2)$ から $O(n\log{n})$ へ) 分割統治法 ヒープ、バケットなどのデータ構造 乱択アルゴリズムの思想 といった様々なアルゴリズム技法を学ぶことができるため、大学の授業でも、アルゴリズム関連の入門書籍でも、何種類ものソートアルゴリズムが詳細に解説される傾向にあります。記事でも、様々なソートアルゴリズムを一通り解説してみました。 しかしながら様々な種類のソートを勉強するのもよいが、「ソートの使い方」や

    ソートアルゴリズムを極める! 〜 なぜソートを学ぶのか 〜 - Qiita
  • 写真の特徴を別の写真に移し替える軽量なアルゴリズム「FastPhotoStyle」をNVIDIAが開発

    GPU最大手のNVIDIAが、画像イメージが持つ特徴的な「スタイル」をまったく別の写真に「移植」する「FastPhotoStyle」というアルゴリズムを開発しました。FastPhotoStyleはすでにGitHubで無料で公開されています。 [1802.06474] A Closed-form Solution to Photorealistic Image Stylization https://arxiv.org/abs/1802.06474 写真の見た目の特徴を別の写真に移し替える技術は、ディープラーニングを用いたものがすでにいくつか開発されていました。 ディープラーニングを用いて「写真の見た目の特徴」を別の写真に転送してしまう「Deep Photo Style Transfer」 - GIGAZINE NVIDIAによると、従来型の技術では加工に高い演算能力が必要とされVGA(64

    写真の特徴を別の写真に移し替える軽量なアルゴリズム「FastPhotoStyle」をNVIDIAが開発
  • 軽い気持ちでLinkedListを使ったら休出する羽目になった話 - Qiita

    ざっくり言うと リスト構造のデータに対してランダムアクセスはしちゃだめだぞ。お兄さんとの約束だ! 発端 数年前に他部署の支援で作ったJavaのシステムに、ちょっとデカめのデータを突っ込んだらありえないほど遅いので助けてくれ、と連絡が入った。 まぁクエリとかインデックスをちょっと見れば直るっしょ・・・と鼻をほじりながら支援に向かった。 処理内容 遅い部分の処理は以下のようなものであった。 処理対象のデータをListで受け取る。 それをforループで1件ずつ前処理する。 処理結果をオブジェクトに格納し、ORマッパーでDBにINSERTする。 これだけ? そう、これだけだ。並列処理なんて高級なことはもちろんやってない。 インフラ調査 処理中のサーバのようすを調査する。今回のインフラは典型的な3層3サーバ構成。 WEBサーバはなにもかもが余裕。 APサーバではCPUを1つ使い切っている。 14コア

    軽い気持ちでLinkedListを使ったら休出する羽目になった話 - Qiita
  • GitHubのコード検索 : プログラマにとっての宝の山 | POSTD

    新しい言語やフレームワークを学ぶことは、時には苦闘になることがあります。従来のアプローチは、概念を説明し簡単な例を提供するドキュメントを読むことです。それで十分な場合もありますが、ドキュメントに高度な例や実際のプロジェクトでの使い方が書かれていない場合も多々あります。 ドキュメントに記載されていない問題に出くわすと、大抵の人はStack Overflowで解決策を探します(またはソースコードを丹念に調べます)。しかし、「使っているフレームワークが登場してから十分に期間が経っておらず、思い浮かぶ質問全てにStack Overflowが答えてくれない」ということもありえます。 今まで問題にはまって、こう考えたことはありませんか? 「誰かが既にこの問題を解決しているはずだ!では、なぜこの問題に対する答えがStack Overflowにないのだろうか?」 そのとおりです。恐らく誰かは既にそれを解決

    GitHubのコード検索 : プログラマにとっての宝の山 | POSTD
  • 時間という開発資源を失ってしまう方法 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 成功する開発と、そうならなかった開発とを違いを生じさせてしまうものは、時間という開発資源をどう失ってしまうかにもよっている。 時間という開発資源を失ってしまう典型的な例を述べる。 事例:「資料をきちんとPowerPointにまとめてからにしよう。」 たいがいの場合、そのPowerPointは、上司に説明するためだけのものであって、成果物として管理される必要のあるドキュメントではなかったりする。 その分野の判断を適切にできる人の場合だと何もPowerPointになっていなくても判断できるものです。 少しでも早く状況をつかんで判断を加速する

    時間という開発資源を失ってしまう方法 - Qiita
    ozomatli
    ozomatli 2018/02/05
    日本の大企業が、技術の優位性をどんどん失ってきている理由の1つは、時間という開発資源の重要性を気にしていないことではないかと私は疑っています。
  • Web Developer Roadmap 2018が出たので2017年版と比較してみる - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 先日Web Developer Roadmapが2018年版に更新されました。(kamranahmedse/developer-roadmap) 簡単に言えばWebに携わっている人が何かを勉強&実装する際に迷ったら見ろ!って感じのやつです。 チョーヤバ/ナウい/MK5の三段階で世にある技術を区別しています。更に大きな枠としてFront-end/Back-end/Dev Opsと分けられています。 正直Dev Opsはさっぱりピーマンなのであまり触れられませんが、2017と2018で変わったところがあれば注目して書いていこうかなって記事で

    Web Developer Roadmap 2018が出たので2017年版と比較してみる - Qiita
  • うまくメソッド名を付けるための参考情報 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    うまくメソッド名を付けるための参考情報 - Qiita
  • 正規表現のパフォーマンスの話をされても全くピンと来なかった僕は、backtrackに出会いました。 - Qiita

    となります。 (もちろん、上のパタンは、デタラメなものも引っかかるので、正しくないけど、そういうのはいったん無視。 感覚的には下の方がよさそうだけど。どういうことですか? ステップ数を見てみる! https://regex101.com/#pcre この素晴らしいサイトを利用します。 123-4567とのマッチングを考えます。 まず、/^\d{3}-\d{4}$/ はこんな感じで、7ステップ 一方、/^.*-.*$/ は..12ステップ ということで、.* の方がステップ数が増えてパフォーマンスが悪くなっていそうです。 (実際パフォーマンスはこのステップ数に依存しそうなので、悪くなっていると思います。後で時間測ります。 バックトラック(BACKTRACK)と出会いました。 上のツールを使うことで、正規表現の処理順序が視覚的に理解できます。 左から比較処理をしていくのですが、ステップ3を比較

    正規表現のパフォーマンスの話をされても全くピンと来なかった僕は、backtrackに出会いました。 - Qiita
  • 悪いREGEXと良いREGEXと最良REGEX - Qiita

    ​2つレゲックス patternを見ると、どれが良いですか、すぐに答えられます。 **基的に、レゲックス pattern は長ければ長いほど良いです。**もちろん、正解なければなりません。 なぜは? 普通は、なんでも検索するとき、くわしく情報を入力すると、結果が正しくなって、時間もかからない。これも一緒。 ​ #3.マッチする入力とマッチしない入力​ 1. [(.)]\s+(.)\s--\s:\s+(.) ​ 2. [([12]\d{3}-[01]\d-[0-3]\dT[0-2]\d:[0-6]\d:[0-6]\d +#\d+)]\s+(.)\s--\s:\s+(.)​ [2016-05-02T16:05:18 #92430] INFO -- : Served asset /navi/hu-0005-03/style.css - 304 Not Modified (1ms)​ (1)すべ

    悪いREGEXと良いREGEXと最良REGEX - Qiita
  • Android開発を受注したからKotlinをガッツリ使ってみたら最高だった - Qiita

    関連記事 この記事も古くなりましたね。執筆時の実装バージョンKotlin 0.12から1.0.2へのアップグレード対応をした際の知見を記事にしました。 Kotlinを実案件で使いました 先日、僕の勤め先のQonceptは『リアル鬼ごっこ』×富士急ハイランド 巨大遊園地からの逃走を開発、リリースしました。 富士急ハイランドで実際に鬼ごっこをする企画で、一般のお客さんがスマホで専用アプリを使いながらクリアを目指します。園内には鬼役のスタッフや、ゲーム進行に関わる設備などがあり、これらとスマホがiBeacon(BluetoothLE)を用いて連動することで、ダメージを受けたり、アイテムを使用したり、クイズを解いたりなどします。 Qonceptの開発範囲は、iOSアプリ(とAppleWatchアプリ)、Androidアプリ、サーバサイドでした。 受注確定となった時点で、残り日数と開発者リソースに対

    Android開発を受注したからKotlinをガッツリ使ってみたら最高だった - Qiita
  • コードレビューに費やす時間を短くする - クックパッド開発者ブログ

    はじめに こんにちは、広告事業部の芳賀(@func09)です。普段はクックパッドの広告配信周りや純広告・タイアップ広告などの商品開発を行っています。 私が広告事業領域の仕事をするようになって、そろそろ1年になるのですが、初めはエンジニア以外の人(営業、編集、広告入稿、レポート、メール配信、などなど様々な担当者がいます)と業務をすることが多くてコミュニケーションが上手くいかず業務がスムーズに進まないことがありました。 当たり前のことではありますが、エンジニアにしかわからない言葉は使わないとか、できるだけ相手の業務を理解し相手の考え方や視点に立って話すなど、ちょっと工夫することで、長引きがちなMTG相談がすんなり終わったり、お互い良い気分で終わることが多くなって、費用対効果が高いなと感じています。 一方でエンジニア同士のコミュニケーションでも時間がかかってコストが高いと感じることがあります。

    コードレビューに費やす時間を短くする - クックパッド開発者ブログ
  • うまくクラス名を付けるための参考情報 - Qiita

    クラス名には、多くの場合"名詞"を用います。メソッド名の場合は動詞や助動詞を用いて命名しましたが、クラス名は何かしらの責務を持つモノとして捉えるため、名詞を用いることになります。 一方、インタフェースの宣言をする場合、そのインタフェースの名前に"形容詞"を用いることがあります(例:Iterable、Closeable等)。形容詞を用いることで、クラスの持つ性質を説明的に見ることができるようになります(Iterableな配列のList実装 -> ArrayList等)。 この記事は、どのような名詞や形容詞がクラス名やインタフェース名として用いることが出来るかを一覧し、できるだけクラスやインタフェースの役目を端的に表せるようなリファレンスとして活用できるものを目指していきたいと思います。 自分自身がクライアントアプリケーションのバックグラウンドを持っている為、多分にそこで用いる命名方法が含まれ

    うまくクラス名を付けるための参考情報 - Qiita
  • スレッドセーフという幻想と現実 - yohhoyの日記(別館)

    この記事はC++ Advent Calendar 2013の15日目にエントリしています。 内容はC++標準ライブラリとスレッドセーフに関する解説になります。 flickr / rennasverden もくじ What's スレッドセーフ? スレッドセーフという幻想 基型とデータ競合 C++標準ライブラリとデータ競合 C++標準ライブラリ:シーケンスコンテナ編 C++標準ライブラリ:連想コンテナ編 スレッドセーフ RELOADED 基的なスレッドセーフ保証 std::shared_ptr<T> std::rand() std::cout (文のみ約9000字) はじめに マルチスレッド対応の点では他言語に遅れを取っていたプログラミング言語C++ですが、C++11ではようやく標準ライブラリにスレッドサポートが追加されました。C++11スレッドサポートではスレッドクラスstd::thr

    スレッドセーフという幻想と現実 - yohhoyの日記(別館)
  • コーディングのアンチパターンを自分なりにまとめてみた - ブログなんだよもん

    コードレビューをしてると「なんじゃこりゃぁ!?」というコードにまれに出くわします。 既存のコードとの兼ね合いでなってる場合は、致し方無くても、新規コードまで真似するのは良くないですよね。 そろそろ新人エンジニアの中には「はじめてのこーでぃんぐ」をする人も現れるのではないでしょうか。 そんな時、参考にするのは当然、既存のコードでしょう。でも、果たして既存のコードは真似するべき綺麗なコードでしょうか? というわけで、私がレビュー時に良く注意する点をアンチパターンとしてまとめてみました。 ちなみに私はWeb屋さんなので、業界違うと微妙に違うところもありそうですけど、質的なところは変わらないと思ってます。 パターンの名前は一般的なのをWikipediaから引っ張ってきたり、自分で思いついたのを適当に書いたりしています。 太っちょメソッド 名前のとおり大きすぎるメソッドを作るアンチパターンです。

    コーディングのアンチパターンを自分なりにまとめてみた - ブログなんだよもん
  • いまさらですが、職業Javaプログラマーなら理解しておいてほしい「継承」の意味について - 達人プログラマーを目指して

    正しく意味を理解している方にとっては、まったく常識レベルの話であり、何をいまさらと思われる方々も多いかと思いますが、大規模案件のレガシーコードなど、私が仕事で見かけるJavaのコードを読むと、「このコードを書いたSEやPGの方々は、はたして継承の意味を正しく理解していないのではないか」と思われる設計のコードに出会うことが少なからずあります。現在では改良されましたが(Javaプログラミング能力認定試験の問題がかなり改善されていました - 達人プログラマーを目指して)、以前のJavaプログラム認定試験の問題は、そうした不適切な設計がされている典型的な例となっていたのですが、実際、SI業界ではあのような品質のコードのシステムが今でも現役で多数稼動しているというだけでなく、現在でも新たに生み出されているというのは残念ながら紛れもない事実のようなのです。 確かに新人研修で「哺乳類を継承して犬クラスと

    いまさらですが、職業Javaプログラマーなら理解しておいてほしい「継承」の意味について - 達人プログラマーを目指して
  • 1
Лучший частный хостинг