タグ

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

  • モナド則がちょっと分かった? - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? モナドを勉強しようとするとモナド則が立ちはだかります。しかしモナド則は意味だけでなく、それがモナドを勉強する上でどういう位置付けなのかも分かりにくいです。とりあえず棚上げしたまま分かる範囲のことから手を付けていましたが、ちょっと分かったような気がしたのでメモしておきます。 モナド則に関する現時点の理解ですが、正確さは保証できません。 これを読めばモナドが理解できるという類の説明(モナドチュートリアル)ではありません。 試験的にモナド則を図示しました。コードを図に転写して、多少の解釈を加えたものです。もし分かりにくければ無視しても構いませ

    モナド則がちょっと分かった? - Qiita
  • dtsmのご紹介 - Qiita

    2017/03/19 現在、dtsmは@typesの登場により、(結構前から)tsdと同じくdeprecatedになっています どうも、わかめです。 冬コミ 3日目 西く02aよろしくね! 1月で1人で104Pほど書いて死ぬかと思いました。 しかも仕事がクソ忙しいんですよ!!なんでじゃ!!! 自体について冬コミに前後して全文を公開する予定ですが、表紙データは配布しないこと、紙版が売れなくて赤字が出ると夏コミなどのやる気に大幅に影響することを鑑みてみなさん買ってくださると嬉しいです!オナシャス! さて、TypeScriptアドベントカレンダー18日目ということでご紹介するのはdtsm(.d.ts manager)です。 TypeScriptには型定義ファイルという、既存のJavaScript資産をTypeScriptで利用するための型のヒントファイルがあります。 その型定義ファイルはDef

    dtsmのご紹介 - Qiita
  • もうBabelじゃない - Bubleだ。 - Qiita

    JavaScript を書くとき、もはや新しい ES でないとストレスではないでしょうか。 だからこそ僕らは新しい ES で開発してから、ブラウザ対応のために Babel を使って ES5 にトランスパイルするというのが定石となっていました。 しかし、必要最小限の機能に絞って高速なトランスパイルを実現する Buble 1 が登場しました。 TL;DR Buble は、 Babel やその他のトランスパイラと比べて以下の点で異なります。 仕様への準拠ではなくブラウザで動くことを目指す 設定ファイルは不要 高速なトランスパイル Babel は新しい ES で書かれたコードを ES5 ( など )の仕様に準拠したコードにトランスパイルすることが目的です。一方で、新しい ES から ES5 への “完全” な変換は不可能です。 そこで Buble の取ったアプローチは、他仕様へのトランスパイルでは

    もうBabelじゃない - Bubleだ。 - Qiita
  • Hello Akka! 自分用日本語訳 - Qiita

    はじめに Play Frameworkのactivatorについてるサンプル"Hello Akka!"のテキストを(かなり雑に)日語に訳しました。各章がactivator uiに表示される説明テキストのページに対応してます。自分が勉強するついでに日語訳したものでスーパー雑です!あとオリジナルのテキストにはJavaScalaのそれぞれのソースに対する説明が併記されてますが、Java向けの説明は訳してません。 Source Code Akkaは高度な並列分散、fault-tolerantでイベントドリブンなアプリケーションをJVM上に構築するツールキットとランタイムだ。AkkaはJavaScalaどちらでも使える。Akkaのもっとも強力な機能はアクターモデルによる並列性で、このチュートリアルではそれについて学ぶ。 チュートリアルで扱うサンプルはとてもシンプルだ。サンプルではGreete

    Hello Akka! 自分用日本語訳 - Qiita
  • SparkでPostgreSQLデータを扱う - Qiita

    話題のApache Sparkでこんなことも出来るという話。Sparkのマニュアルを読んでいて見つけたので、試してみました。試した環境は CentOS 7.1 Apache Spark 1.4.1 PostgreSQL 9.4.4 です。 Apache Spark Sparkの説明は割愛。 高速な分散処理基盤であるApache SparkはHadoopやCassandraといったデータストアだけでなく、RDBMSに格納されたデータを取り出して処理することもできます。 なので、既存のデータを移行せずにSparkの高速処理の恩恵を受けることが出来ます。 PostgreSQLのテーブルをSparkにロード JDBC接続を利用するので、PostgreSQLのJDBC Driverが必要です。 今回はお手軽にspark-shellで操作することにして、

    SparkでPostgreSQLデータを扱う - Qiita
  • BigQuery をスキーマレスっぽく運用する方法 - Qiita

    3行でまとめ 1つの列に JSON 文字列を突っ込む JSON functions を使って、必要な値を取り出す 要するに RDB の JSON 型みたいな感じで運用しようということ。 どういう時に使うの? 「1時間後からログ分析するから」とぶっこまれた時。当然、スキーマは決まっていない。あとは、使い捨てのアドホックな分析とか簡易ETLツールとして使うと便利だと思う。 なお、この方法はコストもかかるし、速くもない、実際は BigQuery なので速いけど、相対的には速くないので、甘えずにスキーマはちゃんと決めるようにしよう。 手順 スキーマを準備

    BigQuery をスキーマレスっぽく運用する方法 - Qiita
  • Scala implicit修飾子 まとめ - Qiita

    Scalaには他の言語ではなかなか見かけない,謎の修飾子「implicit」が存在します。 僕もScala始めたばかりの時には,意味がわからず困惑しました。ぐぐっても個々の使い方は載っていても,まとまって解説しているところはあまりなく・・・。 そこで,多少なりScalaをかじった僕がまとめておこうと思います。 Scalaレベルはポケモンでいうと,まだ20〜30Lvくらいなので,ご了承ください。 ##1. implicitの概要 implicitとは「暗黙的な」という意味です。逆の意味をもつ単語はexplicit。 C#を使っている人は,これらの言葉を聞いたことはあるでしょう。 (しかし,ScalaのそれとC#のそれでは,全く意味は異なりますが・・・。) implicitには様々な使い方があります。その中で全てに共通するのは,「暗黙的に何かをしてくれる」という点です。 これだけ聞くと,「それ

    Scala implicit修飾子 まとめ - Qiita
  • Goを勉強しはじめた時にたどり着いたリンク集 - Qiita

    1ヶ月くらいGoの勉強をしたときにたどり着いたリンク集。 (適時追加中) ページ A Tour of Go - 最初にここ。ただし、量と途中のエクササイズの問題の分かりにくさで、最初から全てを理解するのは大変。 go-wiki tips的な Golang JP - Google+のコミュニティ build web application with golang - Goでウェブサービスを開発する場合の説明。 Go言語での構造体実装パターン - 構造体の使い方 Go Language Patterns - 『You should have already read the Go Tutorial and Effective Go. This site is the next step.』 スライド Go For Perl Mongers - YAPC::Asia TOKYO 2014のプレゼ

    Goを勉強しはじめた時にたどり着いたリンク集 - Qiita
    walk77
    walk77 2015/08/24
  • Goのカレンダー | Advent Calendar 2014 - Qiita

    URLYou can post either your article on Qiita or your blog post. About reserved postingIf you register a secret article by the day before the same day, it will be automatically published around 7:00 on the same day. About posting periodOnly articles submitted after November 1 of the year can be registered. (Secret articles can be registered anytime articles are posted.)

    Goのカレンダー | Advent Calendar 2014 - Qiita
    walk77
    walk77 2015/08/24
  • tmux の status line の設定方法 - Qiita

    status line の設定方法について調べたのでここにメモしておきます。 status line の構成 tmux の status line は下図のように 3 つの部分から構成されています。 status-left の部分はデフォルトではセッション名が表示されています。 status-right の部分はデフォルトでは現在のウィンドウのタイトルと、現在時刻が表示されています。 window-status にはデフォルトではウィンドウのインデクス、名前、フラグが表示されます。 # status line を更新する間隔を 1 秒にする set-option -g status-interval 1 # window-status を中央揃えで配置する set-option -g status-justify "centre" # status line の背景色を指定する。 set-

    tmux の status line の設定方法 - Qiita
  • マルチタブのコンソールConEmuでnyaosを使う - Qiita

    こんな感じにできます。 nyaosをタスクに登録 ConEmuは複数のシェルをtaskとして登録しておくことでタブごとに使うシェルを変更することができます。 サンプル画像だと通常起動のnyaosを2個と、標準のcmd.exe、それに管理者権限で実行してるnyaosが立ち上がってる状態です。 taskの登録は緑の+ボタンの右の▼からSetup tasksで設定画面を開いて、 +ボタンでtaskを追加してこんな感じで設定します。 標準のシェルをnyaosにする 次にStartup でnyaosタスクが起動するように設定する。 ショートカットも決めとこう んで Keys & Macroで Ctrl+Tで新しいタブを開く設定をShell("new_console:I")で行って、Ctrl+OにはSwitch previous consoleとかやっておくと幸せになれるんじゃないでしょうか? 確かC

    マルチタブのコンソールConEmuでnyaosを使う - Qiita
  • Windowsの標準のコンソールが糞なのでより良い物を探したけど見つからなかった - Qiita

    自分のブログに書いたものそのままなのですが、うちのブログにはほとんど人がこないのでこちらに記事を作りました。 http://programming.ironsand.net/2014/please-tell-me-better-console-in-windows/ 基礎知識 コンソールとシェルは別物です bashとかnyaosとかコンソールウィンドウの中で動くものがシェルです。この用語の違いをわかってないとそもそもコンソールというものを探すことができないので必須の知識になります。 シェルは nyaos がオススメ Windows上で使うシェルはcygwinのbashとかGit付属のbashとかMSYSあたりのbashとか試してみましたが、結局はちゃんとWindows用に作られてるnyaos が一番便利だという結論にたどり着きました。 コンソールを変えよう 標準のcmd.exeで起動するコ

    Windowsの標準のコンソールが糞なのでより良い物を探したけど見つからなかった - Qiita
  • 初心者向け、「上手い」シェルスクリプトの書き方メモ - Qiita

    ここ最近、沢山シェルスクリプトを書くようになりました。 元々あまりシェルスクリプトを書いたこと無かったので、色々と勉強しつつ書いてるのですが、 他のプログラミング言語とはちょっと違って独特なクセというか、発見の度におぉー!ってなることが沢山あって楽しいです。 そんなわけで、最近学んだり参考にした中で特に感動したシェルの上手い書き方をまとめてみます。 きっとまだ知らないこととかもっと上手くやる方法なんかが沢山見つかりそうなので、 もっといいやり方あるよ!って方はコメントください 何もしない : (コロン)コマンド シェルを書いていた時に非常に欲しかったコマンドがこれ!何もしない! : というコマンド(?)を利用すると、**何もせずに終了ステータス0(つまり正常終了)**を返します。 これが様々な事に使える万能コマンドで、これによって面倒なエラー処理を簡潔にできたり、 入力や出力のリダイレクト

    初心者向け、「上手い」シェルスクリプトの書き方メモ - Qiita
  • 気軽にプログラミングを始められるWebエディタ『runstant』作りました - Qiita

    7月19日. 久しぶりの3連休. 予定はぎっしりだった. だが神からのお告げがあった. なんか作れと. 気づいたらオレの指は Macbook Air の薄いキーボードの上だった. ってことで連休中にちょっとしたツール作りました. 気軽にプログラミングを始められるWebエディタです. 名前は runstant. run + instant の略で, インスタントラーメンのように一瞬で気軽に実行できるよって意味です. ログイン不要, サーバー通信なしで一瞬で プログラミングを始めることができます!! 一応, tmlib.js 公式エディタ的な 位置づけなのでデフォルトで tmlib.js のサンプルが入ってます. とりあえず触ってみてください -> こちら 特徴 ログインの必要ないよ 状態を hash で保存するのでサーバー通信しないよ html/css/javascript が書けるよ ちょ

    気軽にプログラミングを始められるWebエディタ『runstant』作りました - Qiita
  • MySQL InnoDBのIndex - Qiita

    mysqlのInnoDBではclustered indexというのを採用していて、indexを貼る際に注意が必要ということでメモ 結論から言うと InnoDBでは... * Primary Key(以下PK)はできるかぎり設定して、できるかぎりauto_incrementの整数型が良い * PKの検索は速いが、secondary indexやcount(*)での検索は若干遅い * PKのupdateは避ける * 無闇やたらとsecondary indexを付けない * covering indexを狙えると速い かんたんに解説 図とか用意したかったけど気力がなかった。 indexの構造 InnoDBのインデックスではB-Treeというデータ構造が使われている。B-Treeの解説はwikipediaに任せる。 ツリー構造の一番下のリーフブロックに目的の行の物理的な位置が記録されている。ルート

    MySQL InnoDBのIndex - Qiita
  • 脱初心者を目指すなら知っておきたい便利なVimコマンド25選 (Vimmerレベル診断付き) - Qiita

    はじめに: Vimならではの便利機能をマスターしよう! かれこれ数年前、僕がVim(というか、たぶんVi)と初対面したときは、「なんて使いにくいエディタなんだ!!」と最悪の印象でした。 しかし、周りのプログラマやネット上のエンジニアたちはみんな「Vim便利!」「Vim最高!」と言います。 なのでその言葉を信じ、僕も最悪の印象だったVimともう一度正面から向き合うことにしました。 そして、月日が過ぎ・・・僕もいつしか「Vim便利!」「Vim最高!」と叫ぶようになってしまいました!! これって洗脳? いやいや、洗脳じゃありませんw Vimにはメモ帳の延長線上にあるエディタでは実現できないような数々の便利な機能があります。 覚えるまでにはちょっと苦労しますが、覚えてしまえばメモ帳系のエディタでは追いつけないようなスピードでテキストを編集することができます。 とはいえ、そもそも覚える以前に「そんな

    脱初心者を目指すなら知っておきたい便利なVimコマンド25選 (Vimmerレベル診断付き) - Qiita
    walk77
    walk77 2014/06/13
  • Gradle使い方メモ - Qiita

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

    Gradle使い方メモ - Qiita
  • Java Servlet の ファイルアップロード処理でストリーミングを使う方法 - Qiita

    Java Servlet でファイルアップロード処理を実装する場合、 (というか multipart の受信処理を実装する場合、と書いたほうが適切かも) Apache Commons の ServletFileUpload クラスを使用するのが定石ですが、 大容量ファイルのアップロードで parseRequest メソッドを使うと parseRequest がなかなか復帰しません。 例えば、以下の様なコードの場合、 import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.fileupload.servlet.ServletFileUpload; protected void p

    Java Servlet の ファイルアップロード処理でストリーミングを使う方法 - Qiita
  • LOAD DATAした行数と、AUTO_INCREMENT値が一致しない。【バグフィックス済】 - Qiita

    新規に生成したテーブルに load data でデータを投入すると、auto_increment の値がおかしくなる事象が発生。 CREATE TABLE `hoge` ( `auto_id` int(10) unsigned NOT NULL AUTO_INCREMENT, `create_date` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`auto_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; LOAD DATA LOCAL INFILE 'hoge.txt' INTO TABLE hoge; ここで、hoge.txt は9807行とする。 Query OK, 9807 rows affected (1.10 sec) Records: 9807 Deleted: 0

    LOAD DATAした行数と、AUTO_INCREMENT値が一致しない。【バグフィックス済】 - Qiita
  • SpringMVCでリダイレクト先ページにパラメータを渡す方法 - Qiita

    コントローラのハンドラからハンドラにリダイレクトする際、パラメータを渡してリダイレクト先のJSP等に表示する方法。 Modelを使う 以下コントローラのサンプル。 //ここにアクセスすると... @RequestMapping(value = "/from", method = RequestMethod.GET) public String from(Model model) { //メッセージhogehogeを渡す model.addAttribute("message", "hogehoge"); return "redirect:/to"; } //こっちにリダイレクトする @RequestMapping(value = "/to", method = RequestMethod.GET) public String to(@Param(value = "message") Str

    SpringMVCでリダイレクト先ページにパラメータを渡す方法 - Qiita