タグ

関連タグで絞り込む (215)

タグの絞り込みを解除

Programmingに関するxiangzeのブックマーク (395)

  • Git中級者に送る便利なコマンド群 - カイワレの大冒険 Second

    Gitを使っていて、ちょくちょく便利だなと思うコマンドに出会うので、メモ残しておきます。実際中級者の方には物足りないかもしれませんが、とりあえず。目次は以下。 自分がいじったファイルを一旦退避させたい ツリーが今どういう状態になっているか確認したい 今まで作業をやったことを振り返って、特定の過去に戻りたい リモートブランチをチェックアウトしたい コンフリクトがあったファイル一覧を表示したい 間違ってremote masterブランチにpushしてしまったので、取り消したい マージコミットを消したい 過去のまとまったコミットをまとめたい ここから載せるサンプルは、以下のフローが既に処理された前提で話します。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 # 適当にファイル作成、push $ touch sample.txt

  • Multi-Language IPython (Jupyter)�setup � Random Research (Ruminations)

    The IPython notebook project (which I adore) is about to be renamed to Jupyter to better reflect the fact that it can be used with other languages besides Python. At the moment that is under heavy development and probably quite unstable but I found myself aching for an IR-Notebook. So here is a guide to set up a multi-language Jupyter notebook (meaning that you just start the server and can select

    Multi-Language IPython (Jupyter)�setup � Random Research (Ruminations)
  • Golang で心を無にしてコードを書く // Speaker Deck

    LINE Developer Meetup #11 での LT スライド。Golang の語り尽くされたであろう、単純さについて入門的にふれる話。 6/22 19:00 宮崎開催! LINE Developer Meetup #11 - connpass http://connpass.com/e…

    Golang で心を無にしてコードを書く // Speaker Deck
  • 任意の長文を勝手にHello Worldのソースにする

    「○○○は、Hello Worldを表示するプログラムだったんだよ!!」 「Ω ΩΩ<な、なんだってー!?」 来プログラム言語といえばはじめに文法が決まっていて、そこに文法に従った文字列を入れると実行可能な何かができあがるというのが普通の流れです。 これを逆にしたらどうなるかと思ったのが今回の話題です。つまり、欲しい出力結果があって、適当な文字列があったとき、それをプログラム言語にするようなインタプリタを出力するプログラムを作ろう、というものです。メタプログラミングという用語をはじめて聞いたときに浮かんだ個人的イメージだったり。 もう少し動機を素直に言うと、Brainfu*kの仲間を見てふと思ったのです。Brainfu*k風のプログラム言語ってたくさんあるのですが、どれも来の雰囲気を損なわないような入力文字列の例(だいたいHello World)を頑張って作っているじゃないですか。 名

    任意の長文を勝手にHello Worldのソースにする
  • CUDA kernel return value shortcut - Next MIDI Project

    CUDA の kernel 関数からの戻り値を毎回 cudaMemcpy したくない時につかう template<class T> class CudaValue { private: T* ptr; public: CudaValue() { cudaMalloc(&ptr, sizeof(T)); } ~CudaValue() { cudaFree(ptr); } operator T() { T ret; cudaMemcpy(&ret, ptr, sizeof(T), cudaMemcpyDeviceToHost); return ret; } CudaValue& operator=(const T& rhs) { cudaMemcpy(ptr, &rhs, sizeof(T), cudaMemcpyHostToDevice); return this; } T* get() {

    CUDA kernel return value shortcut - Next MIDI Project
  • ClojureでunfoldとHylomorphism

    unfold unfoldは, fold(reduce)の双対として定義される関数で, リストを生成する一種のジェネレータのような働きをするものです. 畳み込み関数に対応する, 要素を展開する関数とみなすことができます. Clojureだとiterateが一番近い関数でしょう. user> (take 10 (iterate (partial + 2) 0)) (0 2 4 6 8 10 12 14 16 18) Haskellでは, foldが二種類あり, foldrとfoldlで, 右から畳み込みと左から畳み込みに対応しています. Clojureのreduceは, foldlに相当します. そして, foldr/foldlそれぞれにunfoldr/unfoldlが定義できますが, 以下の文章では, foldlを前提に話を進めます. (Haskellのfoldとunfoldrについてはこ

  • Spaghetti Source - 各種アルゴリズムの C++ による実装

    ACM/ICPC(プログラミングコンテスト)系列の問題を解くことを目標にして,各種アルゴリズムを C++ で実装してみた.極めて意地が悪い類の問題には対応していないし,特定の入力に対して高速に動くということもない.計算量も最良とは限らない. これらを参考にする方への注意とお願い: これらの記述は正確とは限りません.参考文献を参照することを強く推奨します.間違っている場合は是非教えてください. これらのプログラムは間違っているかもしれません.各人で検証することを強く推奨します.バグがあれば是非教えてください. 分類が怪しいので,これはこっちだろう,ということがあればコメントを下さると助かります. 注意! 現在書き換え中 TODO 分類を正しく行う. 全体的に説明と使い方を詳しく. Verify していないものを Verify. ボロノイ図(いつになることやら……) 基 テンプレート グラフ

  • Rubyで実行可能な遺書 - Line 1: Error: Invalid Blog('by Esehara' )

    近況 はじめに 恥の多い生涯を送って来ました。 自分には、人間の生活というものが、検討つかないのです。 このような身分の人間が、稀代の文豪と比較されるのも痴がましいのですが、自分は時折、まるで「太宰治のやうだ」と比喩ーーもしかすると揶揄なのかもしれませぬがーーされることが多くありました。 今日は舶来の行事であるところのエイプリルフウルが行われ、企業が浮かれ気分で犬にも与えられぬようなサイトを立ち上げるのが流行るので御座います。自分は、性根が心の底から腐っており、「ふん、莫迦々々しい」などと不貞寝し、一晩明けました。 「おれはどうしたのだろう?」と自分は思いました。というのも、自分の部屋、少し小さすぎるが見慣れた部屋が、どうもイツモの感じではありません。テーブルの上には、マックブックの他に、睡眠薬であるカルモチンがコロコロと転がっているではありませんか。自分はレヰルズで生計を立てるルビヰスト

    Rubyで実行可能な遺書 - Line 1: Error: Invalid Blog('by Esehara' )
  • Understanding object-oriented programming in Julia – Inheritance (part 2)

    Understanding object-oriented programming in Julia – Inheritance (part 2)
  • ちょっと変わったLisp入門 - @IT

    Lispの一種であるScheme。いくつかある処理系の中でも気軽にスクリプトを書けるGaucheでLispの世界を体験してみよう(編集部) 「Gaucheでメタプログラミング」と題して、これからGaucheを使ったプログラミングの連載を書かせていただきます吉田裕美です。よろしくお願いいたします。 Gaucheとは 今回の連載で取り上げるGaucheはハワイ在住の日ハッカー、川合史朗さんが作った、Lispの一種であるSchemeのオープンソース処理系です。 Gaucheの特徴は、PerlRubyのように気軽に使える軽い処理系だということです。Perl同様に正規表現や文字列操作が行え、ちょっとしたツールの作成にも使えます。しかし、非常に強力なCommon Lisp風オブジェクトシステムを持ち、Lispならではのマクロに加え、Webやグラフィックスなどの豊富なライブラリも持っているので実用

    ちょっと変わったLisp入門 - @IT
  • "トピックモデルによる統計的潜在意味解析"を読んでLDA(Latent Dirichlet Allocation)を実装しました - EchizenBlog-Zwei

    "トピックモデルによる統計的潜在意味解析"という有益な書物が発売されたので読んでみました。 それなりに高度な話題を簡潔に解説した素晴らしいで、これを読んだことでよくわかっていなかったCollapsed Gibbs Sampling版のLDAを実装することができました。 トピックモデルに興味がある人は何がなんでも買ったほうがよさそう。 https://github.com/echizentm/LDA LDAがどういうものかわかっていればp.40〜p.57あたりを読むだけでいけそうです。前にLDAを作ったときは元論文に書いてある変分ベイズを使ったやり方をしていたのですが、多分Collapsed Gibbs Sampling版のほうが簡潔にかけるし直感的にもわかりやすいので良い気がします。 githubにおいてあるサンプルを実行すると以下のような感じになります。 apple(果物、企業)やor

    "トピックモデルによる統計的潜在意味解析"を読んでLDA(Latent Dirichlet Allocation)を実装しました - EchizenBlog-Zwei
  • 平方数かどうかを高速に判定する方法 - hnwの日記

    平方数とは、ある整数の平方(=二乗)であるような整数のことを言います。つまり、0,1,4,9,16,...が平方数ということになります。 ところで、与えられた整数が平方数かどうかを判定するにはどうすれば良いでしょうか。与えられた整数の平方根の小数点以下を切り捨て、それを二乗して元の数になるかどうか、というのがすぐ思いつく実装です。 <?php function is_square($n) { $sqrt = floor(sqrt($n)); return ($sqrt*$sqrt == $n); } しかし、平方根の計算は比較的重い処理です。もっと高速化する方法は無いのでしょうか。 多倍長整数演算ライブラリGNU MPには平方数かどうかを判定するmpz_perfect_square_p関数が存在します(PHPでもgmp_perfect_square関数として利用できます)。稿ではこの実装

    平方数かどうかを高速に判定する方法 - hnwの日記
  • Julia Documentation — Julia Language 0.3.13-pre documentation

    Docs » Julia Documentation View page source Julia Documentation� Manual Standard Library Developer Documentation Manual� Introduction Getting Started Variables Integers and Floating-Point Numbers Mathematical Operations and Elementary Functions Complex and Rational Numbers Strings Functions Control Flow Scope of Variables Types Methods Constructors Conversion and Promotion Modules Metaprogramming

  • PsychNewsDaily

  • 配列を高速に探索するTips - Qiita

    [追記]気づいたらいつの間にか50ストックを超えていました。みなさんありがとうございます。[/追記] どうも、Opera Nextに(色んな意味で)驚きを隠せないあらっきぃです。 大抵の場合はArray#indexOfで事足りるんだけど、時々高速に配列に要素が存在するか調べたくなることがあります。 例えばこんな風に、要素数100000の配列があったとします。 var arr = (function(len) { var i, arr = []; for(i = 0; i < len; i++) arr.push(~~(Math.random() * len)); return arr; })(1000000);

    配列を高速に探索するTips - Qiita
  • 勝利のためのD言語 | POSTD

    私は転向しました。新たな言語を見出したのです! そうそう、ぜひ パート2 も読んでくださいね。 さて、ご存知のとおり、Pythonには様々な良いところがあり、非常に多くの分野で目覚ましい働きをします。しかし増え続けるこの業界の需要を満たすように作られたものではありません。もちろん、Pythonで大規模なプロジェクトを構築することはできます(私も構築したことがあります)。しかし検討段階から実際の開発段階に入ると、ものすごくコストがかかります。当に高いのです。CPUの1サイクルあたりの仕事で換算すると、途方もない額になります。 C10M問題 は、 C10K問題 の繰り返しです。つまり、現在のコモディティ・ハードウェアは1秒に数百万パケットの処理が可能となっていますが、実際にそんな数字に達することはめったにありません。例えば、私が一時期働いていた会社はAWSを使用しており、要求を受け入れログを

    勝利のためのD言語 | POSTD
  • pyparsing

    We are sorry, but the site you are looking for no longer exists Wikispaces was founded in 2005 and has since been used by educators, companies and individuals across the globe. Unfortunately, the time has come where we have had to make the difficult business decision to end the Wikispaces service. We first announced the site closure in January 2018, through a site-wide banner that appeared to all

  • 競技プログラミング特有の変な実装テク - ichyo.jp

    初めに この記事はCompetitive Programming Advent Calendar 2014の15日目の記事です. 競技プログラミングでは,アルゴリズムをひらめく力や,数学やアルゴリズムの知識量などが強さを決める大きな要素ではありますが, もちろん,プログラミングを使った競技である以上は,コードの実装力が勝敗を分けることもあります. 例えば,ICPC系のコンテストでは,アルゴリズムを考える能力よりも,実装量の多いプログラムをいかにバグなく高速に実装するかが重要な 問題セットが与えられることが時々あります. 競技プログラミングと無縁なプログラマーは,実装力と聞くと, クラスの構造をうまく設計したり,変更に強い美しいコードを実装する能力だと想像する人がいるかもしれません. ですが,プログラミングコンテストに必要な実装力は,そうした保守性や拡張性ではなく, 「目的の処理をシンプルな

  • .NET開発における非同期処理の基礎と歴史

    連載:C# 5.0&VB 11.0新機能「async/await非同期メソッド」入門 第1回 .NET開発における非同期処理の基礎と歴史 鈴木 孝明 2012/08/31 ■.NET Frameworkにおける非同期処理実装技術歴史 それでは、.NET Frameworkがこれまでに提供してきた非同期処理実装技術の進化の歩みについて、復習も兼ねながら見ていこう。大まかにいうとFigure 3のようになる。

  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知