タグ

algorithmとdevelopmentに関するuchiuchiyamaのブックマーク (20)

  • 配色はセンスじゃない、UIデザインで色をかんたんにキメるメソッド|Taiki IKEDA|note

    今日は先日勝手にリデザインしたPolipoliのデザインを使って、UIデザインを行う時に僕が普段どのように色を選択しているのかをとても正直に書いていこうと思います。僕がこれから記す方法に則って色を選べば、誰でもナウでヤングなアプリを作ることができます。 はじめるよ レイアウトに関してはルールに則って並べればオワ、オワリです。 1. メインカラーを選ぼう まずはじめにメインとなるカラーを決めます。Polipoliのテーマカラーはピンクなのでブラウザの検索欄に「pink flat ui design」と打ち込みます。イメージに近い色が出てきたらスポイトで吸い取りましょう。著作権にはくれぐれも注意してください責任は負いません。 Polipoliに関しては最初からメインカラーが決まっていたので「#E9546A」を使おうと思います。 2. アクセントカラーを選ぼう Coolors.coというサイトに

    配色はセンスじゃない、UIデザインで色をかんたんにキメるメソッド|Taiki IKEDA|note
  • シェルスクリプトで安全簡単な二重起動防止・排他/共有ロックの徹底解説 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに シェルスクリプトで二重起動防止やロックをする方法を検索すると、いろいろな方法や書き方が見つかりますが、どれを使えばよいのか、当に正しく動くのか、不安になりますよね? ディレクトリ (mkdir) やシンボリックリンク (ln) を使った独自実装の例も見かけますが、エラー発生時や予期せぬ電源断、CTRL+C で止めたときなどでも問題は発生しないのでしょうか? まず、ディレクトリやシンボリックリンクを使った独自実装はしない。これを肝に銘じてください。シェルスクリプトでのロック管理はとても難しく、一般的な排他制御の知識に加えて、シ

    シェルスクリプトで安全簡単な二重起動防止・排他/共有ロックの徹底解説 - Qiita
  • 計算量オーダーの求め方を総整理! 〜 どこから log が出て来るか 〜 - Qiita

    NTT データ数理システムでリサーチャーをしている大槻 (通称、けんちょん) です。今回は計算量オーダーの求め方について書きます。 0. はじめに 世の中の様々なシステムやソフトウェアはアルゴリズムによって支えられています。Qiita Contribution ランキング作成のために用いるソートアルゴリズムのような単純なものから、カーナビに使われている Dijkstra 法、流行中のディープラーニングに用いられている確率的勾配降下法など、様々な場面でアルゴリズムが活躍しています。アルゴリズムとはどんなものかについて具体的に知りたい方には以下の記事が参考になると思います: アルゴリズムとは何か ~ 文系理系問わず楽しめる精選 6 問 ~ アルゴリズムを学ぶと $O(n^2)$ や $O(n\log{n})$ や $O(2^n)$ といった計算量オーダーの概念が登場します。こうした記法を見ると

    計算量オーダーの求め方を総整理! 〜 どこから log が出て来るか 〜 - Qiita
  • プログラミング入門者からの卒業試験は『ブラックジャック』を開発すべし - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに 4月もそろそろ後半。(執筆時) 新人研修でプログラミングを勉強している方は、そろそろ実践的な内容を取り組んでいる方も多いと思います。 課題をこなしていく中で、「そろそろ俺も出来るようになってきた」と自信を付けてくる方も多いはず。 一方で、**「何に使うんだこれ」「何が便利なんだろう」**と、初めてやる方にはメリットが分かりにくい技術があるのも事実。 例えばメソッド、クラス。極めていく中ではとても重要な技術なのですが、とっつきにくく感じるでしょう。 よく入門のときに使う、「Dogクラス」とか「walkメソッド」だと、なにが便利な

    プログラミング入門者からの卒業試験は『ブラックジャック』を開発すべし - Qiita
  • the-offline-cookbook-ja/ja.md at master · kuu/the-offline-cookbook-ja

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    the-offline-cookbook-ja/ja.md at master · kuu/the-offline-cookbook-ja
  • Workflow Engine をつくろう! Part 1(Task の依存関係の解決) - Qiita

    Part 1 Task の依存関係の解決 Part 2 Workflow の冪等性 Part 3 Task 間でのデータのやり取り Part 4 Task の並列実行 Workflow Engine って何? Workflow Engine と言っても多機能なものから、シンプルなものまで様々なものがあります。そこで、主旨がぶれないように、この記事での Workflow Engine は、以下の要件を満たすソフトウェアとします。 Workflow Engine とは、依存関係のある複数の Task を、意図した順番通りに実行するもの この記事では、この要件を満たす Workflow Engine を Ruby でつくる方法について解説します。 依存関係を記述する 依存関係を解決するコードを書く前に、依存関係を記述する方法をまず決めましょう。 依存関係を記述するには、luigi のように Ta

    Workflow Engine をつくろう! Part 1(Task の依存関係の解決) - Qiita
  • GoFの23のデザインパターンを,Javaで活用するための一覧表 (パターンごとの要約コメント付き) - 主に言語とシステム開発に関して

    GoFデザインパターンの一覧表と,活用のためのコメント,および入門者が独学するためのリンク集(サンプルコード付き)。 入門者の独学を支援するために,このページのURLを提示して熟読させ,各パターンを短時間で効率よく学んでもらう。 デザインパターンはプログラマの常識だ。 Java使いかどうかは問わない。 にも関わらず,入門書を買ったまま,途中で挫折する人が多い。 挫折の原因は,パターンの数が23もあって,多いからだろう。 全パターンをすんなり覚えてもらうためには,各パターンごとに 「要するにこういう目的のパターンなんだ。」 「10文字で表現すると,パターンの意味はこうなんだ。」 という要点・質を,短いコメントで伝えれば助けになるだろう。 こういった学習を通して,Java言語の「設計思想」も併せて感じ取ってゆけるはず。 全パターンの一覧表(要約コメント付き) 全パターンについて,10文字以内

    GoFの23のデザインパターンを,Javaで活用するための一覧表 (パターンごとの要約コメント付き) - 主に言語とシステム開発に関して
  • 認証(Authentication) と 承認(Authorization) の違い

    認証 ( Authentication ) サービス へ アクセス してきた ユーザー が 「人であるかどうか」 を検証する。 承認 ( Authorization ) サービス へ アクセス してきた 認証済みユーザー が 「指定した リソース へ アクセスできるかどうか」 を制御する。 認証 ( Authentication ) と 承認 ( Authorization ) を含めたサーバー処理の流れ 今回、以下のサイトを参考にしました。 IPA - IPA セキュア・プログラミング講座: Webアプリケーション編 IPA ISEC - 第2章 アクセス制御 ユーザ認証 IPA ISEC - 第2章 アクセス制御 アクセス認可 ITメディア エンタープライズ - 認証と認可の違い 最後に… このブログに興味を持っていただけた方は、 ぜひ 「Facebookページ に いいね!」または

    認証(Authentication) と 承認(Authorization) の違い
  • reduce関数は結構有用っていうお話 - あと味

    JavaScriptに限った話ではないのですが、reduce関数を持つプログラミング言語がいくつかあります。 JavaScriptに関しては、一応、ECMAScript5の仕様に登場するようで、将来的にはどのブラウザでも使えるようになりそうな気配はあります。 Standard ECMA-262 また、MDCではreduceのアルゴリズムが掲載されているので、これを利用すれば現時点でもどのブラウザでもreduce関数を利用することができます。 reduce関数とは? MDCに掲載されている文章を引用します。 配列の(左から右へ) 2 つの値に対して同時に関数を適用し、単一の値にします。 JavaScriptのreduceは、配列のメソッドです。左ら右へとありますが、右から左へ関数を適用するreduceRightという関数もあります。*1 どういう時に使えるか 元となる配列があって、それを累積

    reduce関数は結構有用っていうお話 - あと味
  • 1時間以内に解けなければプログラマ失格となってしまう5つの問題が話題に | ソフトアンテナ

    プログラマの素養を確認するための簡単な問題として有名な「FizzBuz」問題。ただしこれだけ有名になってしまうと、プログラムの能力を試験するための新たな問題が必要とされているかもしれません。 経験豊富なソフトウェア開発者、Santiago L. Valdarrama氏が、「ソフトウェアエンジニアならば1時間以内に解けなければいけない5つの問題」を出題し、Redditなどで話題となっています。 その5つの問題は以下の通りです。 問題1 forループ、whileループ、および再帰を使用して、リスト内の数字の合計を計算する3つの関数を記述せよ。 問題2 交互に要素を取ることで、2つのリストを結合する関数を記述せよ。例えば [a, b, c]と[1, 2, 3]という2つのリストを与えると、関数は [a, 1, b, 2, c, 3]を返す。 問題3 最初の100個のフィボナッチ数のリストを計算す

    1時間以内に解けなければプログラマ失格となってしまう5つの問題が話題に | ソフトアンテナ
  • 相変わらず半端ないディープラーニング、感動した最新の研究結果を2つ

    ディープラーニングが猛威を振るっています。私の周りでは昨年から多く聞かれるようになり、私も日経BPさんの連載で昨年5月にGoogleの買収したDeep Mind社について触れました。今年はさらに今までディープラーニングについて触れていなかったメディアでも触れられるようになってきましたね。例えば、イケダハヤトさんも先日。高知でも話題になっているのですね。 私事ですが、今度湯川鶴章さんのTheWaveという勉強会で、人工知能とビジネスについて一時間ほど登壇させていただくことになりました。有料セミナーということです。チャールズべバッジの解析機関についてはこのブログでも以前触れましたが、「機械が人間を置き換える」みたいな妄想は100年位は言われていることですね。「解析機関」「機械学習」「人工知能」「シンギュラリティー」など、呼び名はどんどん変わり、流行り廃りもありますが、最近ロボットの発達も相まっ

    相変わらず半端ないディープラーニング、感動した最新の研究結果を2つ
  • 自然言語処理に新風を巻き起こしたWord2Vecとは何か - 日経BigData

    言語データの分析と応用のために自然言語処理と呼ばれる分野で長年研究が行われて来た。同分野が昨年から大きく沸き立っている。米グーグルの研究者であるトマス・ミコロフ氏らが提案した手法「Word2Vec」が、いくつかの問題について従来のアルゴリズムよりも飛躍的な精度向上を可能にしたのだ。 この手法によって得られるベクトル空間には、今まで定量的に捉えることの難しかった言葉の「意味」を極めて直接的に表現しているかのような性質が認められている。今年9月、当社がスポンサー参加した自然言語処理系の研究発表会「NLP若手の会 第9回シンポジウム」でも、多くの研究がWord2Vecに関連したテーマについて取り上げていた。今後、意味解析、文書分類、機械翻訳など様々な分野でWord2Vecの応用が期待されている。 「意味ベクトル」の驚異的な性質 Word2Vecは、その名前の表す通り、単語をベクトル化して表現する

    自然言語処理に新風を巻き起こしたWord2Vecとは何か - 日経BigData
  • プログラマのための文書推薦入門 (社内勉強会の発表資料) - y_uti のブログ

    勤務先の社内勉強会で、機械学習を用いた文書推薦*1に関する基的なことがらについて説明しました。その資料を公開します。 プログラマのための文書推薦入門 from y-uti 数学やコンピュータサイエンスを専門的に学んでいないエンジニアでも理解しやすいように、できるだけ数式を使わずに説明したつもりです。厳密性にはこだわっていないので、専門家からはあちこちツッコミを受ける内容かもしれません。 プログラマ向けということで、実際にコンピュータ上で動作を確認できるように、Wikipedia のデータを対象にして類似文書検索を行うスクリプトを作成しました。GitHub に置いてあります。 y-uti/document-recommendation · GitHub *1:推薦というより情報検索、類似文書検索という方が適切だったかもしれません。

    プログラマのための文書推薦入門 (社内勉強会の発表資料) - y_uti のブログ
  • 一目見ただけで通じる表現方法 | カメリオ開発者ブログ

    戦略コンサルタントとして仕事をしていたとき、大企業の戦略会議に向けてスライドを大量に製造していました。そこで叩きこまれたことは今でも大事にしており、特に紙にメッセージを落としこむ上で重要なこととして以下の2つのことを意識するようにしています。 一目見た時に、文字を読む前から正しい印象が伝わるような構成になっていること 言葉が「クリスタライズ」されていて、端的でありながら細かいニュアンスまで伝えること 重役会議など、そもそも時間のない人たちに話を聞いてもらい、誤解を生まないように議論を進めていくのは容易ではなく、特に第一印象でコケると聞く側が全くお留守になってしまうという状況を生み出します。 一方で、ストーリーというのはどんなに端的に表しても長くなっていくものです。結局のところ1行にまとめることができるお話だけで済むほど世界は退屈な所ではないからです。だからこそ第一印象で相手の興味をひくこと

    一目見ただけで通じる表現方法 | カメリオ開発者ブログ
  • プログラマの為の数学勉強会

    2013年 プログラマの為の数学勉強会 資料 第1回:イントロダクション 第2回:浮動小数点数・極限・微分 第3回:微分法の応用・多変数関数の微分法 第4回:微分法の応用(続き)・方程式の数値解法 第5回:微分方程式の数値解法・積分法 第6回:数値積分法・積分法の応用 第7回:行列・ベクトル・ガウス消去法 第8回:行列式・逆行列・連立一次方程式の直接解法 第9回:線型空間・線型写像・固有値固有ベクトル(その1) 第10回:線型変換・固有値固有ベクトル(その2)・内積空間 第11回:連立一次方程式の反復解法・二次形式・多変数関数の極値・重積分 第12回:確率論入門 第13回:情報量・エントロピー・重要な確率分布・大数の法則・中心極限定理 第14回:擬似乱数の生成法・推定 第15回:検定 第16回:検定の続き, 回帰分析 第17回:回帰分析の続き 第18回:ベイズ統計

  • 加畑さんインタビュー:衝突しない文字列を作るお話 [[JAWS DAYS 2013 Araki room]] #jawsug

    加畑さんインタビュー:衝突しない文字列を作るお話 [[JAWS DAYS 2013 Araki room]] #jawsug 2013年春、東京ビッグサイトへ集結せよ!という掛け声で、3月の15日、16日の二日間アマゾンウェブサービスのユーザグループであるJAWS-US (Japan AWS User Group)が全国から一同に会してユーザカンファレンスを行いました。当日のタイムスケジュール、資料、動画はこちらから参照できます。 荒木が進行した「荒木の部屋・AWSサポート出張所(松井の部屋)」についてはUstream中継の記録がいつでもご覧いただけます。記事はそこでの会話内容、プレゼンテーション内容を元にしています。一連の記事はこちらで順次追加公開していきます。 ユニークなIDをどうやってコスト安く=O(log2)で作るかというマニアックなお話(Youtubeはこちら)。 乱数はかぶる

  • ジャンル別ゲームの作り方とアルゴリズムまとめ - ネットサービス研究室

    ゲームの作り方とアルゴリズムをジャンル別にまとめてみました。ゲーム制作や、プログラミングの勉強用にご活用ください。言語別ゲームプログラミング制作講座一覧もあわせてお読みください。 リンク切れがおきていたものは、URLを表示しておくので、Internet Archiveなどでキャッシュを表示させてみてください。 RPG ゲームの乱数解析 乱数を利用した敵出現アルゴリズムの解説 各種ゲームプログラム解析 FF、ドラクエ、ロマサガのプログラムの解析。乱数の計算など ダメージ計算あれこれ(http://ysfactory.nobody.jp/ys/prg/calculation_public.html) ダメージの計算式 エンカウントについて考えてみる エンカウント(マップでの敵との遭遇)の処理方法いろいろ RPGの作り方 - ゲームヘル2000 RPGのアルゴリズム ドルアーガの塔 乱数の工夫の

    ジャンル別ゲームの作り方とアルゴリズムまとめ - ネットサービス研究室
  • http://ja.doukaku.org/

  • Execute Around Method - Standing on the shoulder of giants

    必ず対で実行しなければならない処理がある場合は、ブロックを受け取るメソッドを定義しましょう。 振る舞いの実現に関するパターンです。 ファイルをオープンしたら最後に必ずクローズしなければいけないといった、必ず対で実行しなければならない処理を実現したい場合、最も単純な実現方法は対の処理をそれぞれ独立したメソッドとして公開することです。 class File def open ... end def close ... end end f = File.new f.open ... f.close しかし、この実現方法だと、インタフェースとして以下のような問題が残ります。 対で実行する必要があることを利用者が知らなければならない どのようなケースでも処理が対で実行されることをそれぞれの利用者が保証しなければいけない このような問題は、対の処理の間で実行したい処理をブロックとして受け取るメソッドを

    Execute Around Method - Standing on the shoulder of giants
  • Data Structures

    In today’s fast-paced digital landscape, businesses depend heavily on technology to drive their operations. When systems fail, employees can face…

  • 1