自分は、ぐるぐる思考をしてしまう。 ストレスを受け流せる人、受け流せない人 - 黒猫のひとりごと 止めたくてしょうがないこのぐるぐる思考。 実際に自分がやっているこのぐるぐる思考を止める方法を書く。 あくまで、一時的に止める方法であり、根本的な解決は認知治療など別の手段を使う方がよい。 結論からいうと、気にしてもしょうがないため、違う思考をする。 しかし、そんなこといっても止められないという人(自分)もいるので、具体的にやっている方法を書く。 自分は、ぐるぐる思考を止めるに、以下の3ステップを踏んでいる。 1.思考のクセを知る 2.気づき 3.コーピング 「1.思考のクセを知る」は、最初に実施するだけ。実際にぐるぐる思考が起ったら、「2.気づき」「3.コーピング」を実施する。 1.思考のクセを知る まずは、自分の思考のクセを知るために、自分の思考を振り返る。 例えば、納期が短い仕事を受けて
最近色々あって仕事でGo言語を使っています。 色々割り切っている言語なので、こんなこと言ってもしゃーないんですが、言語設計はミスってるんじゃなかなぁ、と思わざるを得ない点が多々あります。 使い始めて1か月くらいなので間違ったことを書いているかもしれませんので、何かあれば指摘していただけるとありがたいです。 本文ではネガばかり羅列していますが、ランタイムとツール周りは気に入っています。 Goのランタイムを使う、もっと洗練されたAlt Go的なものがあるといいのに(もしくはジェネリクスのったGo2を早くリリースしてほしい)、と思う日々です。 追記: なんか意図とは違った受け取られ方をしている方もいるので追記します。 この記事はあくまで、「Go言語を学ぶにあたって躓いた点」を列挙し、まとめ、理由を考えてみる(教えてもらう)ために書いたものです。 Go言語自体はDisってますが、Go言語ユーザーを
糖類の上@お仕事募集中 @tinouye ITや音楽系の執筆、翻訳等承ります。 IT/セキュリティ周りが専門。日経系で書評書いたり、CDや演奏会の解説書いたり人文系全般も。古楽と現代音楽、現代美術が関心領域。猫成分が多め。 Renaissance, baroque, contemporary music & art. IT/Security pro. 糖類の上 @tinouye 10年以上前からずっと気になっている画題。 赤ん坊をこういう産着でぐるぐる巻にしている絵は山程あるけれど、ネコに同様の着せ方をして餌(たいていおかゆ)を与える絵が何点もあるのは、どういう寓意や比喩があるのかと思うのだけど、どなたか知っている人おしえてほしい。 pic.twitter.com/ZIBKGcQ4RD
by Marcin Wichary 1995年にリリースされたMicrosoftのWindows 95は、Windowsとしては初めてコマンドプロンプトに依存せずグラフィカルユーザーインターフェース(GUI)ベースで操作できるOSで、一般家庭へのPC普及に一役買ったといわれています。そんなWindows 95について、海外のQ&AサイトであるStackExchangeで「Windows 95ではマウスカーソルを動かすと処理速度が上がったのはなぜですか?」という質問が投稿されました。 Why did moving the mouse cursor cause Windows 95 to run more quickly? - Retrocomputing Stack Exchange https://retrocomputing.stackexchange.com/posts/11533/r
点を用意してxy平面上でぐるぐる回します。 その1段上(つまり高さ方向に1進んだ地点)に、1つめの点が1周する間に2周するような点を用意します。 3段目には、1つめの点が1周する間に3周するような点を置きます。 段目には周するような点を、そうですね、60個程度重ねてみましょう。 ウオエアなんだこれ!!! めっちゃきもい!!! 楽しい!!!!! 隣の点を線分でつないでみるとこんな感じになります(gifアップロード容量制限により途中まで)。 う〜ん気持ち悪いですねぇ〜 特にこの、 動き始めの部分がめっちゃきもい ほら。ニュンってなってきもい それぞれの点は、単にずっと同じ速度で回転しているだけです。ただそれだけなのにこんなに気持ち悪くなるなんて面白さを感じます。 キャンプファイヤーみたいなやつ 今回の制作物は3Dで、めずらしくz軸があるんですよねえ。いままでフーリエ装置や人体模型などいろいろな
1. はじめに 仕事の都合で DB/SQL の性能問題を調査する機会が少なくありませんが(決してメインの仕事ではないですが)、その中でよく出くわす問題の1つに「ぐるぐるSQL」(もしくは「ぐるぐる系」)といわれる、ループで大量の SQL 文を呼び出しているものがあります。 感覚ですが、私の周りでは OLTP 系システムの DB/SQL の性能問題の原因の割合は以下のように感じています。 30%:ぐるぐる SQL 20%:SQL 文の書き方が不適切 15%:索引がない or 不適切 15%:パーズが遅い 10%:データモデルがおかしい 10%:その他 (大昔は2番目 / 3番目がほとんどだったのですが、最近はなぜがぐるぐる SQL が多い…) ぐるぐる SQL の実装では、ネットワーク通信や、アプリ側のクエリ生成 / 結果データ構築、DB 側のクエリ受信 / 結果送信といった、処理の本質的で
java-jaで例外処理の話をしてきました - 西尾泰和のはてなダイアリー を読んで。 Maybe は値があるかないかを型で表すことができます!そう、直和型なんです!とか言われてもイミフだと思うのです(リンク先のエントリがそう説明してるわけではないですが)。 Java の語彙で Maybe の説明をできたら嬉しい人もいるんじゃないかなぁ、とかなんとか。 ただし、書いてたら結構長くなりました。時間がある人はどうぞ。 Maybe? null より安全に「値がないこと」が扱えるものだよ スタート地点としてはこれでいいでしょう。 以降で、「なんで安全なの?」という全うな疑問に答えてみたいと思います。 問題点 int で説明すると煙に巻いてしまうような気がしたので、User クラスを見てみます。 import java.util.*; class User { final String name;
在宅勤務が続く中、書類作成のためやむを得ず出社したら会社の駐車場に見慣れない車が2台止まっていた 上司に相談すると、「動かせないようにチェーンでぐるぐる巻きにしてやれ」と言われたので、2台の車輪をチェーンで巻いて南京錠でロックしてその日は帰宅 ところがその車実は取引先のお偉いさんの車だったようで、社内は犯人捜しで大騒動になっているという 上司に相談すると「黙ってればバレやしない 絶対に誰にも黄蓋するなよ」と口止めされてしまった 確かにこのまま黙っててバレなければいいのだが、もしバレたときには間違いなく上司はシラを切るだろうし自分の単独犯にされてしまいかねない 多少怒られるのは覚悟で謝罪すべきなのだろうか
id:perlcodesample さんの 変数に型がないということの利点について考える - サンプルコードによるPerl入門 から。 ううむ。 けれども、型がないということは、本当に素晴らしいことです。 型がないことによって、たくさんの面倒から解放されるからです。 冒頭のこれが、「静的型付き言語にはメリットが(ほとんど)ない」と言っているように思えてしまいます。 コメントのやり取りを見ても、ある程度そう考えているように受け取れます。 勘違いなどが多く見られたので、補足というか、反論というか、そんな感じのことを書きます。 追記: ごく一部、このエントリを「動的型付き言語と静的型付き言語を比べて、静的型付き言語の方が素晴らしい言語である」ということを言うためのものだと勘違いしている人を見かけました。 このエントリは、そこについては言及していません。 あくまで、元記事で「動的型付き言語のメリッ
アンダースタンディング コンピュテーション―単純な機械から不可能なプログラムまで 作者: Tom Stuart,笹田耕一(監訳),笹井崇司出版社/メーカー: オライリージャパン発売日: 2014/09/18メディア: 大型本この商品を含むブログ (2件) を見る 一番最初にはっきりさせておきますが、Rubyは嫌いな言語です。 が、この本はRubyが嫌いな自分でもいい本だと言える*1本でした。 自分が対象読者に入っているかどうかは実際に読んでみるまで微妙かな、と思っていましたが、とても楽しめました。 以下、書評です。 Rubyという選択 説明用のコードとして本書はRubyを使っていますが、 これに関してはその理由が1章にあります。 私はその明瞭さと柔軟さに魅かれてRubyを選びました また、続けて 本書にはRuby独自の機能に依存しているところはありません。 そのため、もしあなたにとってわか
These turkeys trying to give this cat its 10th life pic.twitter.com/VBM7t4MZYr — J... (@TheReal_JDavis) 2017年3月2日 【動画】ネコの周りを回るシチメンチョウの群れ 米マサチューセッツ州の住人が、仕事に出かける途中で奇妙な光景に出くわした。野生のシチメンチョウ(七面鳥)の集団が、死んだネコを囲んでぐるぐると回っているのだ。(参考記事:「動物大図鑑 シチメンチョウ」) 「うちではイヌを3匹飼ってますし、魚の水槽も4つあります。自然が好きで、野生動物と触れ合うのを楽しんでいます」と話すのは撮影者のジョナサン・デイビス氏。2017年3月2日、携帯電話でこの動画を撮影した。「こんな光景には、滅多にお目にかかれません」 デイビス氏がツイッターに投稿したこの動画は、あっという間に拡散。まるで儀式
ここでは、Java SE 5.0 以降を知っている人が C# 2.0 を使うことになった場合を考える*1 *2。 あと、ライブラリについては触れないことにする*3。 命名規約 まず、命名規約が全然違う。Java ではメソッド名にキャメル形式*4を使うけど、C# では Pascal 形式*5を使い、Java では定数名に大文字アンダーバー区切り*6を使うけど、C# では Pascal 形式を使う。 C# に関する命名規約としては、ここだとかここだとかにあるので、参考にするといい。 間違っても、オブジェクト倶楽部のは参考にしないこと*7。 struct の扱い Java ではユーザ定義型は全て参照型だけど、C# では値型も作成できる。また、標準ライブラリの中に struct で定義されたものもある。 で、何にはまるかというと、struct は class と違い、「値渡し」される*8、つまりコ
もっぱら工場とか団地とかジャンクションを愛でています。著書に「工場萌え」「団地の見究」「ジャンクション」など。(動画インタビュー) 前の記事:どうしても「キリン」をたくさん作りたい > 個人サイト 住宅都市整理公団 上のGIFアニメが結論なので、ここから先はその解説になりますが、まあ聞いてくださいよ。これ、ほんと作るのたいへんだったんだから!(あとのページで動画版も用意してあります) スカイツリーをこのようにぐるぐる回してみようと思ったのは "How to Spin a Camera Around the CN Tower" という動画がきっかけだった。カナダのトロントにあるタワーをスピンさせているもの。どうやって作ったのかまでも解説している映像だ。 つまりこれは「まっすぐ海へ行く」のまっすぐじゃないバージョンだ。 すごい。おもしろい!ぼくもやってみたい! スカイツリーを中心とした円を描き
TDD Advent Calendar 2011 の 4 日目の参加エントリです。 前半では、TDD を学ぶ前に身に付けておくといいと思う基礎体力について書きました。 後半は、まぁ、その。後悔はしていません。反論ウェルカム、議論しようぜ。 不安をテストに 「レッド - グリーン - リファクタリング」は、TDD の根っこの部分であり、これ自体が「どう TDD をやればいいか」を教えてくれるものではありません。 それに対して、「不安をテストに」というのは、「どう TDD をやればいいか」という指針を与えてくれる言葉です。 この言葉自体は、TDD Boot Camp で自分のものにできました。 不安については、テスト駆動開発入門では (言及されているものの) 自然に組み込まれていて、最初に読んだときには全然気づきませんでした。 しかし、TDDBC で id:t-wada (和田さん) に短くて
気に入らない所を直して pull request 投げたら、取り入れられたので、8 日前に書いたエントリが過去のものとなっちゃいました。 関数型 以前の JSX では、関数型は function(: int): string のように書く必要がありました。 これはこれでそのまま使えるのですが、新たに (int) -> string という形式にも対応しました。 ちなみに、複数引数はカンマ区切りで (int, boolean) -> string のようになります。 カリー化された関数は、 function(: int): function(: number): string の代わりに (int) -> (number) -> string と書けます。 引数を囲むカッコは、(今のところ) 省略不可能です。 これには 2 つの理由があります。 この機能を追加したとき、JSX のパーサの能力
C# のコーディング規約としては、オブジェクト倶楽部のもの (PDF) が有名だけど・・・正直、これ使いたくない。 冒頭に「このドキュメントは Java コーディング標準(オブジェクト倶楽部バージョン)、VB.NET コーディング標準を C#用に変更したもの」なんて堂々と書いてる時点で・・・ で、この規約のどこが駄目なのか、なぜ駄目なのか、どうすればいいのかをまとめてみた。 なんだかんだで長文エントリ。 追記: ちなみに、C# の規約としてはクラス ライブラリ開発者向けのデザイン ガイドラインで十分だと思う。 更に追記: ブコメで教えてもらったんだけど、どうやらクラス ライブラリ開発のデザイン ガイドラインの方が新しいらしい。 2. ファイル構成 (1) ファイル名 public クラスはそのクラス名の 1 ファイルにする。 例:public class Customer は、Custom
David RevoyさんのGmicのColorize機能のチュートリアルの翻訳です。線画からのベタ下塗りの工程を、バケツやブラシなしに魔法のように簡単に済ませることができるかも?調整も簡単! Gmicはスタンドアロンのプログラムとしても、Gimpのプラグインとしても使えます。チュートリアルでは、Gimpから使う方法と、コマンドラインからGmicを使う方法(そしてKritaで結果をインポートする方法)の両方が紹介されてます。 (10/16:gmic_gimpの64bit版について追記しました。Gimpプラグインのページでは32bit版のリンクがメインになってますが、パッケージダウンロードページには64bit版があるようです。G'MIC - Browse /windows at SourceForge.net) (2015/5/30追記:Krita2.9からこのColorize[intera
遅延評価については以前も書いてるんですが、そのときは結論なしでした。 が、ちょっと考えるところがあって、言語を Java に絞って自分の考えを明確にしておきます。 結論から書きましょう。 「Java(とC#) で遅延評価って書いてあるものは遅延評価ではない」です。 Java における「評価」とは まず一番最初に、Java で「評価」って言うと、どういうことを指すのかを確認しておきます。 言語仕様の該当部分を要約すると、こんな感じでしょうか。 プログラム中の式を評価すると、結果は 変数 値 無し のうちのどれかとなる。 評価した結果が値になる、というのはいいでしょう。それ以外の 2 つを軽く説明します。 評価の結果が「変数」とは? コメント欄で指摘が入っています。 代入の結果は変数ではありません(15.26)。 結果が変数となるのは、ローカル変数、現在のオブジェクトやクラスの変数、フィールド
あちこちのサイトを見てると、間違った解釈をしてるのが多い。カプセル化なんて、情報隠蔽まで含んでるのが常識になりつつあるような。。。ここまで一般化してると情報隠蔽してるのがカプセル化というのが常識なのかも。 カプセル化・情報隠蔽・データ抽象化 - 今日の役に立たない一言 − Today’s Trifle! − カプセル化と情報隠蔽、データ隠蔽の違いがよくわからくなったので、手持ちの本で調べてみた。 基準 基準としては、 カプセル化、情報隠蔽、データ隠蔽の関係 カプセル化は隠蔽を含んでいるかどうか 対象はクラスのみか、そうでないか などなど。 一番目はそのまんま。二番目は、 // 隠蔽せずともカプセル化か class Hoge { int hoge; // なんかhogeを使うメソッド } // 隠蔽しなければカプセル化ではないか class Piyo { private int piyo;
すごいHaskellたのしく学ぼう! 作者: Miran Lipovača,田中英行,村主崇行出版社/メーカー: オーム社発売日: 2012/05/23メディア: 単行本(ソフトカバー)購入: 19人 クリック: 552回この商品を含むブログ (36件) を見る 今話題の、すごい Haskell たのしく学ぼう!を読んだのですが、ちょっと思ったことがあるので書評と合わせて書いておきます。 思ったこと 関数型言語がこれほど話題になるのはとても嬉しいことです。 しかし、一方で懸念点もあります。 ノリで「すごい」とだけ言う人たちがいる その人たちに乗せられて (自分には合わないのに) 買ってしまって、挫折してしまう人が出てきそう この本は、いい本です。 翻訳の質も素晴らしく、読んでいて「読みにくいな」と思った部分はありません。 それに加え、訳注と Appendix も素晴らしい。 しかし、誰にで
注意!このエントリは既に古いので、JSX の進化速度が半端ない - ぐるぐる〜もあわせて読んでください。最新のコードを参照するのが手っ取り早いです。 JSX なる言語がリリースされました。 この言語が謳っているのが、 高速 安全 簡単(生産性が高い、とも) という 3 点です。 高速と安全はまぁいいでしょう*1。 問題は、はたしてこの言語は簡単なのか?という点です。 簡単かどうかは人によるのでアレなのですが、まぁ一部の人にとっては簡単とは言えない (というか書く気がしない) 書き方を強制されるのです。 関数型 数値を受け取って文字列を返す関数を表す型は、JSX では以下のように書きます。 function(:number):string これ単体で見ると分かりやすそうな気配はします。 では、これ読めますか? function f(g: function(:number):number):
50年生きることもあるイタヤラ(Epinephelus itajara)も、米フロリダ・キーズ諸島で奇妙な円を描いて回転しているところが目撃された。(Photograph By David Doubilet, Nat Geo Image collection) 数カ月にわたる根気強いデータ収集と検査の結果、科学者は米フロリダ沖で魚がぐるぐると回りながら死ぬ原因を突き止めた。有毒な藻類の組み合わせが原因だったのだ。 2023年11月、フロリダ・キーズ諸島の住民が、絶滅危惧種であるノコギリエイ科のスモールトゥース・ソーフィッシュ(Pristis pectinata)などの魚が円を描いて泳ぎ、その後死んでしまうことに気づき始めた。科学者は後に、ブダイの仲間やオオメジロザメ(Carcharhinus leucas)、イタヤラ(Epinephelus itajara)など、80種類以上の魚でこの現象
id:repeatedly から無言の圧力を受けたので書きました。 タイトルは釣り。そもそも自分が Git マスターしてないし。突っ込み歓迎。超歓迎。 一応、このエントリだけで一つの Git リポジトリをそれなりに操れるようになることを目指してます。なので、コマンド一つ一つに対する説明じゃなくて、やりたいこと一つ一つに対する説明が中心です。え?それ最速マスターじゃない?きーこーえーなーいー。 あと、他のバージョン管理システム、例えば Subversion や Mercurial が使えることを前提としています。誰か「バージョン管理システム基礎最速マスター」とか書かないの? インストール Windows と Debian しか分かりませんので、自分のシステムに読み替えて行ってください。あと誰か Mac ください。 インストールも設定も終ってるよ!って方はリポジトリの作成までひとっ飛び。 Wi
Twitterしてたら目に入ったので軽く。 Javaにおけるnull。これまでとこれから この後のスライドで、 Scalaにおける「何もないもの」の分類はやり過ぎ感はある と言われているんですが、ある程度は誤解に基づく意見だよなぁこれは、ということを言っておこうかなと。 Scalaについて 日本では説明が不要なくらいScalaって有名になってると思うんですが一応。 ScalaはJVMの上で動作する、(クラス指向の)オブジェクト指向プログラミングと関数型プログラミングを融合させた言語です。 そして、Scalaのコア機能はどちらかというとオブジェクト指向プログラミング寄りです。 オブジェクト指向プログラミングをベースに、関数型の色々なものを実現している感じです*1。 オブジェクト指向プログラミング的な機能として真っ先に思いつくのは何でしょうか? 割と上位の方に、「継承」とか「型階層」とか来るん
女性の買い物は長いとは、世界中どこの国でも言われることなのだが、男性と女性の間では、これが欲しい!と思ってから購入するか、しないかの判断を下すプロセスが、これほどまでに違うというちょっとジョークめいたチャート図が海外サイトなどで話題となっていた。 男性は理論的な判断を下すが、女性はかなり紆余曲折するということがわかるそのチャート図とやらを見ていくことにしよう。 この画像を大きなサイズで見る※画像クリックで拡大表示 via:onlyinfographic ・原文翻訳:LK 女性、男性といっても人によって違いがあるのだろうけれど、女性であるパルモの場合には、「なにこれ欲しい」の後、「そういえば前に買ったアレに合わせたら最高かも。」、とか「次にあるイベントで使えるかも。」とか、「1つ持っててもいいかも。」とか脳内でイメージを膨らませ、「買わない」という選択肢を脳内が勝手に排除するシステムが作動し
27日午前8時ごろ、滋賀県南おうみ市で「子供たちが横断歩道内をぐるぐる回り続けている」と110番通報があり、駆け付けた署員が立ち往生した児童ら14人を救出、保護した。全員けがはなかった。横断歩道の模様が途中で弧を描くように書き換えられていたことから、南おうみ署では何者かによるいたずらと見て調べを進めている。 立ち往生が起きたのは同市の堂巡交差点。通報した男性によると「通学中の子どもたちが困った顔で横断歩道をぐるぐる回りながら歩いていた」という。事故があった横断歩道は途中から大きく左にカーブを描いており、児童らは模様に沿って歩き続けて抜け出せなくなったものとみられる。 通報を受けた南おうみ署員が白線を書き足して分岐させて安全な場所まで誘導し、児童13人と成人男性1人を救出。中には2時間近く横断歩道を回り続けていた児童もいた。 模様を無視して直進しなかった理由について、救出された男子児童(10
テーマファイル「train」 Odometerの使い方 Step 1: 外部ファイル 当スタイルシートとスクリプトを外部ファイルとして記述します。 スタイルシートはさまざまなテーマが用意されています。 <link rel="stylesheet" href="odometer-theme-car.css" /> <script src="odometer.js"></script> 要素を指定する時にjQueryのセレクタを使用する時は、jquery.jsを加えます。 Step 2: HTML オドメーターを表示する要素を配置します。 「123」は初期表示の数字です。 <div id="odometer" class="odometer">123</div> Step 3: JavaScript innerHTMLで最終的に表示する数字を指定します。 テキストの場合は、innerTextで
rebase 便利だよ、というだけのエントリです。 AA で書いてる部分は時間があれば画像に置き換えます。 rebase とは ブランチを作成した場所を変更することと理解しています。つまり、そのブランチの「親」を変更する、ということです。 もう少し動作に踏み込むと、指定したコミットの後ろに現在のブランチで行ったコミットをリプレイするように適用します*1。単なるリプレイではなく、その過程をいじくれるのが rebase のすごいところです。 単純な rebase はたとえばこんな感じです。 以下のようなリポジトリの状態があったとして (現在チェックアウトされているブランチは dev ということを表すのに * を使っています)、 1---2---3 *dev / A---B---C---D master次のコマンドを実行します。 $ git rebase masterこれにより、リポジトリの状態
デモ:Around Other Things 回転の中心に他のエレメントを置いたデモ。 Roundaboutの使い方 Roundabouの実装方法を簡単に紹介します。 詳しい実装方法については「Learn」をご覧ください。 Roundabout -Learn HTML ぐるぐる回転させる各エレメントをリスト要素で実装します。 <ul> <li></li> <li></li> <li></li> <li></li> <li></li> </ul> 外部ファイル 「jquery.js」と当スクリプトを外部ファイルとして記述します。 <script src="jquery.js"></script> <script src="jquery.roundabout.js"></script> JavaScript jQueryのセレクタで指定し、Roundaboutを実行します。 <script>
元ねた:Javaを使うなら必ず覚えておきたいデータ構造 - 配列・リスト・マップ - いろいろ解析日記 なんか色々と足りないよね、ってことで、色々と補足を。 配列 配列の生成 配列に含める要素が既に分かっている場合、例えば、 String[] strs = new String[2]; strs[0] = "hoge"; strs[1] = "piyo"; このような場合、以下のように記述できる。 String[] strs = { "hoge", "piyo" }; 独自のクラスだったとしても、 Hoge[] hs = { new Hoge(), new Hoge() }; と、普通に可能。 これを使うと、引数を 2 つ受け取って配列にまとめて返すメソッドは、 Hoge[] toArray(Hoge a, Hoge b) { Hoge[] result = { a, b }; retur
値渡しと参照渡しは、分かってしまえば何も難しいところはないんだけど、分かるまでにちょっとした壁があるというかなんとうか・・・ てことでちょっとまとめておきますねー 値渡し (call-by-value) と参照渡し (call-by-reference) の違い 値渡しと参照渡しの違いは、「呼出し元の値自体を変更できるかどうか」と説明されることが多い。 しかし、例えば Java ではミュータブルなオブジェクト *1 を渡した場合、呼出し元の値自体を変更できるという勘違いをする可能性があるため、この説明はあまり好ましくない。 そのため、参照渡しを「呼出し元の別名を渡している」と覚えるのが分かりやすいと思う。 値渡しは「何かの値をコピーして渡している」と覚える*2。 Java の場合 Java には値渡ししか存在しないが、「参照型」のためにややこしく感じる。 参照型は参照渡しとは無関係で、C
先日のエントリの反応として、多値の批判をしているように受け取られた方がいました。 実際には、多値の批判をしているのではなく、Go言語の「多値とそう見えるけど違うものがある」という仕様を批判したものでした。 また、タプルにこだわっているという受け取り方をした方もいました。 このエントリでは、「タプルにこだわっているのではない、多値にこだわっているのだ」ということを説明しようと思います。 このエントリで出てくるコードは言及がない限り妄想上のもので、実際の言語のコードではありません。 長いから3行で。 スタックマシンと多値は仲良し。継続と多値も仲良し。 多値は多値、タプルはタプル、みんなちがってみんないい。 多値とは、カンマで区切られた単なる複数の値だよ。妄想だけどね。 これで満足して仕事に戻っていただいて構いません。以下オマケ。 多値とタプルの違い まず、多値とタプルの意味的な違いについてをは
async/await不要論 from bleis tift 3/23 に開催された、並列/並行基礎勉強会で「async/await 不要論」という発表をしてきました。 一番言いたかったこと 一番言いたかったことは、実は並列とかとは全く関係ないことです。 それは、言語への機能追加に関することです。 C# は 5.0 で非同期処理のための専用の構文として、async/await を導入しました。 これは、F# が計算一般という抽象度の高いものための汎用的な構文として、コンピュテーション式を採用しているのとは対照的です。 専用の構文を用意するかしないかは、その言語を取り巻く環境次第です。 専用の構文の利点と欠点 専用の構文の利点は、その使用用途が明確であるというところにあります。 そのため、書き方さえ覚えてしまえば、その裏で何がどうなるかなどを一切気にせずに使えてしまえたりします。 欠点は、専
何なんでしょうね。分かりません。 自分の頭の中をとりあえず整理するためのエントリなので、あなたの頭を混乱させるだけになるかもしれません。 もし混乱してしまったら忘れてください。え、無理?忘れてください。 自分の考えを明確にしたので、こちらをどうぞ。 遅延評価いうなキャンペーンとかどうか - ぐるぐる~ これは遅延評価ですか? 関数を渡すだけ // Scala def hoge(f: Unit => Int) = for (i <- 1 to 2) println(f()) (* F# *) let hoge f = for i in 1..2 do printfn "%d" (f()) この関数に渡す f は 2 回実行されます。そのため、f の中で画面出力をしていた場合、2 回出力されます。 これは遅延評価でしょうか?俺は違うと思います。 ここは多くの人で合意が取れると思ってます。 Sc
映像:竹内泰人 音楽:野口 亜依子 http://www.myspace.com/nogchiaiko 1枚写真を撮って、1歩移動。それを24時間繰り返しました。その写真で映像を作りました。写真の位置や角度を修正して(自分の目で確認して手作業で修正)写真の中の風景がぶれないようにしました。 公衆電話 撮影時間:20分 1周した映像を繰り返してます。 踏切 撮影時間:1時間 1周した映像を繰り返してます。 公園 撮影時間:17時間+7時間 夜中の0時から撮影。 夕方になって幼稚園児たちとお母さん方がやってきて撮影を続けてたら通報されました。 職務質問を受けて、撮影は中断。 次の日の同じ時間+同じ場所から撮影を再開。 雨が降ってきたけど続行。 このときはデジカメのバッテリーが1つしかなかったので2時間に1回は充電のために帰宅。 厳
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く