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

  • アルゴリズムとは何か!? ~ 文系理系問わず楽しめる精選 6 問 ~ - Qiita

    今の場合は A さんが 31 歳の場合のストーリーでしたが、A さんが 20 歳~ 35 歳のうちのどの年齢であったとしても、似たようなストーリーで必ず 4 回の質問で当てることができます!(他の例も是非考えてみてください。) ちなみに、このような「真ん中で切ってどちらかに絞って行く」タイプのアルゴリズムには二分探索法という名前がついています。応用情報技術者試験でも頻出のテーマですので馴染みのある方も多いと思います。 1-2. つまり、アルゴリズムとは 上の年齢当てゲームという問題では、相手の年齢を当てる「方法・手順」を二分探索法に基づいて導きました。このようにアルゴリズムとは、 問題を解くための方法・手順 のことです。さて、アルゴリズムと聞くと「コンピュータ上で実装されたプログラム」のことを思い浮かべる方も多いと思いますが、必ずしもコンピュータと関係がある必要はなく、日常生活でも多々登場

    アルゴリズムとは何か!? ~ 文系理系問わず楽しめる精選 6 問 ~ - Qiita
  • 格安スマートリモコンの作り方 - Qiita

    材料費400円の赤外線送受信器を、1,800円のラズパイZeroに載せて、Google Homeから操作する方法を、ゼロから丁寧に解説します。 安くても高機能 むしろ市販のスマートリモコンではできない、きめ細かな操作も簡単に実現できます。(例えば こんなこと ができます。) 簡単 電子回路を作ったことのない初心者でも作れるよう、電子部品の買い方から、丁寧に説明します。 電子工作の基 ラズパイでの電子工作が初めてなら、こちら → Raspberry Piの電源でLEDを1個光らせてみる - ツール・ラボ (素晴らしく丁寧な解説なので、予備知識ゼロでも理解できるはず。) ここで紹介するスマートリモコンの回路も、まずはブレッドボードを使って、半田付けをせずに試作します。 試作品をしばらく使ってみて問題がないようなら、基板に半田付けして完成させます。 半田付けが初めてなら、こちら → うまくいく

    格安スマートリモコンの作り方 - Qiita
  • PHP+HTML+JSでレスポンシブ対応のロールプレイングゲーム作ってみた - Qiita

    セーブデータ管理をMySQL、メインの処理をPHP、フロントの表示周りをHTML+CSS+JS(jQuery)、フロントとバックの通信をajax通信でやっています。 普通の動的Webサイトで使われている技術のみを使っています。 『リブラの見た夢 ONLINE』 https://libra-online.laineus.com (chrome以外未検証) 昔流行った『FF Adventure』みたいなCGIゲーム的なものですかね。 ページ遷移こそしないものの、ボタン押したりするたびにHTTPリクエストが発生します。 セーブデータはサーバーに保管されるので、他のプレイヤーが育てたキャラと非リアルタイムな対戦ができます。 Webサイトだからできるレスポンシブ対応なゲームになっています。 一つ一つがHTMLのDOM要素で作られているので、デベロッパーツールで要素検証したり、ブラウザのウィンドウ幅動

    PHP+HTML+JSでレスポンシブ対応のロールプレイングゲーム作ってみた - Qiita
  • 図で理解するJavaScriptのプロトタイプチェーン - Qiita

    JavaScriptのリファレンスといえばMDNですよね。 JavaScriptで調べものをする際に、真っ先に見る方も多いでしょう。 そんなMDNですが読めていますか? 例えばArrayのページを見てみましょう。 さらっと書かれているprototype JavaScriptを理解するにはプロトタイプチェーンを知る必要がある 記事の目的 プロトタイプチェーンを理解する MDNをより読めるようにする JavaScriptのObjectやArrayなどの基型の構造を理解する 確認環境や記述について Chrome 52のコンソールで動作確認 ES5で記述 説明のしやすさを重視、プロトタイプをあらわすのに__proto__を使って記述 まずはオブジェクトについてみていく シンプルなオブジェクトを作る

    図で理解するJavaScriptのプロトタイプチェーン - Qiita
  • JavaScriptの「&&」「||」について盛大に勘違いをしていた件 - Qiita

    論理演算子「&&」「||」について JavaScriptの基である論理演算子の && || について、 根的に勘違いをしていたことに最近気付いたので自戒の意味を込めてここに記します。 論理演算子の使い道 1. お馴染みの使い道「条件処理」 JavaScriptには皆さんご存知の通り論理演算子&& ||が存在します。 それぞれ「AND」「OR」という意味で、条件処理の中で使うことが多い演算子です。 // aとbに0または1を足し続ける // aとbのどちらかが最大値に達すると終了 var a = 0, b = 0, max = 50; // 条件式その1 AND while (a < max && b < max) { // 0または1を足す a += Math.round(Math.random()); b += Math.round(Math.random()); console.l

    JavaScriptの「&&」「||」について盛大に勘違いをしていた件 - Qiita
  • https://qiita.com/merrill/items/079999aa064f0df9baf7

  • https://qiita.com/tukiyo3/items/e471101095f054e3f029

  • 珍しいCSSプロパティたち - Qiita

    あまり見かけない、かつ実用的なCSSのプロパティをまとめました。 他プロパティに依存するプロパティは割愛します。 ブラウザ対応状況はCan I Use等でご確認ください。 紹介するCSSプロパティ will-change scroll-behavior resize object-fit と object-position appearance user-select font-feature-settings text-rendering font-smoothing hyphens pointer-events will-change 予め演算処理をさせておくプロパティです。 これから変化する スクロール位置 / 要素 / プロパティ を値に設定すると、事前に変化をブラウザに知らせる事ができます。 アニメーションのカクつきを、いくらか抑えることができるでしょう。 ただ、何にでも指定して

    珍しいCSSプロパティたち - Qiita
  • iOSでのOpenGLをちゃんと理解する(GLKitでブラックボックスになっている部分を理解する) - Qiita

    最近はiOSでOpenGLをやるにもGLKitがあるので初期設定などスキップできて非常に便利になりました。反面、OpenGLの基礎を学ぼうにもブラックボックスな部分が多くなってしまいiOS開発を通して汎用的なOpenGLの基礎知識を得るのは難しいかと思いました。そんなOpenGLの基礎をあらためてしっかり理解したかったり、僕のようにOpenGLES1.1が強制される環境で開発している方向けにGLKitを使わずにOpenGLで描画する方法をまとめました。 改めて下記環境での記事です。 iOS Swift OpenGL1.1 GLKitを使用しない 動くコードをGithubに用意してあります。 https://github.com/ykensuke/OpenGLSample 画面に三角形を描画するサンプルです。 題ですが、GLKitなしでOpenGL1.1をswiftで書くとこんな感じのコー

    iOSでのOpenGLをちゃんと理解する(GLKitでブラックボックスになっている部分を理解する) - Qiita
  • 「ソフトウェアエンジニアならば1時間以内に解けなければいけない5つの問題」をHaskellでやってみた - Qiita

    Haskellだと問題1が一番難しいともっぱらの噂の問題をやってみました。 問題1 forループ、whileループ、および再帰を使用して、リスト内の数字の合計を計算する3つの関数を記述せよ。 再帰のコードが一番簡単なので、まずはそれから。 ではついに一番難しいforループとwhileループのコードを書いてみましょう。 まず問題になるのが、Haskellにはfor文もwhile文もないというところです。まずはforループを作らなければなりません。そもそもforループ、whileループというのが、何を示すのか?というのがあんまり自明ではないのですが、C言語でのforループとwhileループだと考えましょうか。 for :: Monad m => a -> (a -> Bool) -> (a -> a) -> (a -> m ()) -> m () for init cond incr body

    「ソフトウェアエンジニアならば1時間以内に解けなければいけない5つの問題」をHaskellでやってみた - Qiita
  • iTunes APIを使ったiOSアプリハンズオン(Swift) - Qiita

    https://itunes.apple.com/search?term=beatles&country=JP&lang=ja_jp&media=music { "resultCount":50, "results": [ { "wrapperType":"track", "kind":"song", "artistId":136975, "collectionId":458032395, "trackId":458032429, "artistName":"ビートルズ", "collectionName":"1", "trackName":"Let It Be", "collectionCensoredName":"1", "trackCensoredName":"Let It Be", "artistViewUrl":"https://itunes.apple.com/jp/artis

    iTunes APIを使ったiOSアプリハンズオン(Swift) - Qiita
  • WebAPIリクエスト仕様書としてcurlコマンドのご提案 - Qiita

    WebAPIの仕様を記述する方法はいくつかあると思う。 普通に日語で記述する JSON Hyper-Schema、WADL、RAML、Swaggerなどを使う 仕様書の代わりにプログラムを書く HTTPメッセージそのものを記述しておく でも、文法にばらつきがあったり、読みにくかったり、ツールのセットアップが面倒だったり、どれもイマイチな所があって、手軽な方法が欲しいと思っていた。 何気なくcurlコマンドのオプションを調べていたら、「もうこれでAPIドキュメント扱いにしちゃえばいいんじゃね?」と思えてきたのでメモしておく。 curlコマンドのおさらい curlコマンドはlibcurlの付属コマンドで、最近のUnix系OSなら大抵最初から入っていると思う。コマンドの詳細はmanを読んでいただければ。 cURL - How To Use (マニュアルページ日語訳) curlコマンドのオプシ

    WebAPIリクエスト仕様書としてcurlコマンドのご提案 - Qiita
  • mermaid.jsが素晴らしいけどなかなか使ってる人見かけないので実例晒す(追記あり) - Qiita

    mermaid.jsとは JavaScriptのチャート作成ライブラリです。他にも似たようなのは色々ありますが、これ一でフローチャート、シーケンス、ガントに対応してるので、個人的にお気に入り。 http://knsv.github.io/mermaid/ サイトの各チャートのページ見ると書き方と何ができるかはわかるので、ご覧あれ。 僕の使い方 JSのライブラリを自分でインポートして何かすることはほとんど無くて(後述の理由からガントだけJSで使ってるけど)、基的には以下の2つの方法で使ってる。 Haroopad フリーでクロスプラットフォーム(OS X, Win, Linux)なMarkdownエディタ。 v0.13からmermaid.jsがインテグされているので、何もしなくてもそのまま使える。 mermaid.jsのグラフの書き方は、コード表記で、言語をmermaidにしてあげるだけ。

    mermaid.jsが素晴らしいけどなかなか使ってる人見かけないので実例晒す(追記あり) - Qiita
  • Webパフォーマンス管理の基本 1 - Qiita

    はじめに Webパフォーマンスはパフォーマンスエンジニアリングの1つの分野 Webパフォーマンス管理は、Webサイトの非機能要求の性能や可用性を扱います。 専門用語では、コンピュータの登場と時期を同じくして登場したパフォーマンスエンジニアリングという分野に属します。 パフォーマンスエンジニアリング パフォーマンスエンジニアリングとは、Wikipediaでは以下のように記載されています。 Performance engineering encompasses the techniques applied during a systems development life cycle to ensure the non-functional requirements for performance (such as throughput, latency, or memory usage) w

    Webパフォーマンス管理の基本 1 - Qiita
  • モダンJavaScriptアプリケーション開発 in Salesforce - Qiita

    はじめに HTML5でのアプリケーション開発は、エンタープライズ向けアプリケーションでも当たり前のようになってきました。これはSalesforceにおけるアプリケーション開発でも同じです。 Salesforceでのアプリケーション開発はVisualforce/Apexで行うというのが数年ほど続いてきたので、HTML5つまりJavaScriptを主体とするアプリケーション開発にはなれていないベンダーも多数あるかと思います。自分は創業当時からJavaScriptでのSPA(Single Page Application)をメインプロダクトに据えた会社を運営しており、Salesforceのパートナーとしても長いことやっていますので、このあたりのノウハウは比較的多い方です。そのためこのエントリはそれなりに説得力を持ってお届けできるとは思います。 真っ先に行うべきこと もしあなたがSalesforc

    モダンJavaScriptアプリケーション開発 in Salesforce - Qiita
  • JavaScriptはオブジェクトについて参照渡しだなんて、信じない - Qiita

    おはようございますの人もいれば、こんにちはの人もいて、こんばんはの人もいれば、スラマッパギの人もいますね。ということで日はどうも、まとめてスラマッパギ。 えーと、今日はちょっとした発表があります。といっても当にちょっとしたものなので、ちょっとだけ耳を傾けてお聞きください。ええ、JavaScriptの代入についてです。そう、値渡しだの参照渡しだのダマシだの「村長だ、ワシ」だの、そんな話です。 ということで、ちょっとこれから始めようかなと、ちょっと思います。 さっそくだが、見よ!この値渡しを! var a, b; a = ["hoge", "fuga"]; b = a; // 値渡し b; // => ["hoge", "fuga"] b[0] = "hogera"; b; // => ["hogera", "fuga"] a; // => ["hogera", "fuga"] 値渡し!

    JavaScriptはオブジェクトについて参照渡しだなんて、信じない - Qiita
  • JavaScriptを読んでて「なにこれ!?」と思うけれど調べられない記法8選。 - Qiita

    JavaScriptを読んでいると、「あれ、、、なにこれ?この書き方。。。」と思うことがたまにあります。この際の厄介なことは、どうやって調べたらいいかわからないことです。Google先生に聞こうにも、その書き方をなんと呼ぶかわからないので聞けない。 そんな「なにこれ?」を厳選してみました。覚えておくと、将来スッキリとする時が来るでしょう。 1. なみなみ、ふにゃふにゃ言ってる

    JavaScriptを読んでて「なにこれ!?」と思うけれど調べられない記法8選。 - Qiita
  • Gitでやらかさないための事前予防策 - Qiita

    Gitでやらかした時に使える19個の奥義を書いてやらかしたときになんとかリカバリできるようにした。 今回は、そもそもやらかさないようにしたいよねっていうお話。 コミット編 .gitignoreを細かく指定しておく .gitignoreを指定しておけば余計なファイルをコミットしちゃうことを予防できます 過去に似たようなプロジェクトがあるのならそれを流用しましょう。 ないのであれば.gitignore.ioで生成してそれをカスタムしましょう。 ワイルドカード指定やディレクトリまるごとの指定は副作用ある可能性があるので慎重に。 コミットメッセージのフォーマットを決めておく コミットメッセージのフォーマットを決めておけば書き直したいということも減ります コミットメッセージをやらかして直したいと思うことはよくあります。 そういうのって案外コミットメッセージが自由すぎることが問題だったりします。 ある

    Gitでやらかさないための事前予防策 - Qiita
  • フロントエンド開発の3ステップ(npmことはじめ) - Qiita

    スライド 当記事は以前勉強会でLTしたものです。 スライドは下記にあります。 フロントエンド覚えること多すぎ問題 モダンなフロントエンド開発で、入門記事を探そうとすると、 まずwebpackTypeScript, Babelによるビルド環境構築から始まる記事が多くヒットします。 ですが、Node.jsの初心者がいきなり複数のツールを習得しようとすることが 挫折の原因になっていると感じています。 ですので、まずNode.jsをインストールした直後から、必ず使うことになる、 npmの機能をまず覚えておきましょう。 フロントエンド開発で覚えるべき3つのコマンド 以下の3つだけ覚えておきましょう。 npm init npm install npm run これだけ覚えれば、ひとまずフロントエンド開発を進めることができます。 完璧なワークフローを構築するのは、書いているアプリが大きくなってきてから

    フロントエンド開発の3ステップ(npmことはじめ) - Qiita
  • Pythonで機械学習アプリケーションの開発環境を構築する - Qiita

    Python機械学習アプリケーションの開発環境、具体的にはNumpy/Scipy/scikit-learnを導入する手順について解説します。 なお、環境はPython3ベースを想定しています。 Minicondaベース(推奨) 機械学習系のパッケージはコンパイルが面倒なものが多いため、コンパイル済みバイナリをインストールできるconda(Miniconda)での環境構築を推奨します。 まずはPython体(Python3想定)、パッケージ管理ツールであるpip、仮想環境を作成するvirtualenv、といった基的な環境の構築を行います。 ※virtualenvについては今回(condaを使う場合)は不要ですが、Pythonで開発を行うなら入れておくべきパッケージなので併せて入れておきます。 Mac/Linux デフォルトのPythonと分けてインストールするため、pyenvを利用しま

    Pythonで機械学習アプリケーションの開発環境を構築する - Qiita