GoogleメッセージをKDDIが採用、そして、+メッセージへの期待 デバイス・IoT 傍島康雄 41 2024-05-23 第814回1500円以下で買えるRaspberry Pi PicoサイズのRISC-VボードなMilk-V DuoでUbuntuを動かす OS・デスクトップ 柴田充也 407 2024-05-22
Dmitri Gribenko氏によるBlog記事 "I Do Not Know C" より訳出。原文および訳文のライセンスは CC BY-SA 3.0 に従う。 この記事の目的は、皆に(とくにCプログラマに)「C言語分かってなかった」と言わせることです。 C言語の死角は思っているよりも身近にあり、よくある単純なコードですら 未定義動作(undefined behavior) を含む可能性があると示したいと思います。 記事は質問に対する回答の形をとります。全ての例示コードは別々のファイルに分かれていると考えてください。 (訳注:Qiita/Markdown表現の制約から、読中ネタバレ防止のため文章順序を変更しています。前半には質問のみを、後半には質問と回答の対を訳出しました。) 質問編 1.
インストール方法 インストール方法は pip を使って行うのが手っ取り早くて便利です。 pip install pyautogui 残念ながら pip でインストールするだけでは Windows では画像処理系がちゃんと動かない様子。 IOError: decoder zip not available pngファイルを扱おうとすると上記エラーが頻発します。 そのため、PILというライブラリをインストールしましょう。 pip install Pillow 使い方 指定画像をクリック import pyautogui image_path = "#set your image file path here" location = pyautogui.locateOnScreen(image_path) buttonx, buttony = pyautogui.center(location)
「どうせなら、切りとる部分は二流のエンジニア発言か、法律の循環的複雑度計算の部分だよねー。pv的にも」 先日掲載した開発者イベント「デベロッパーズサミット2015」基調講演記事について読者のおひとりからそんな声をいただいた。リクエストにお答えして、ドワンゴ川上量生会長兼CTOが法律の循環的複雑度(とはなんぞや)について語ったところを書いちゃおうと思う。めちゃ面白い話なのだ。 ドワンゴでCTOとしてやった唯一の仕事 まずドワンゴ川上会長はCTO(チーフ・テクニカル・オフィサー)という肩書きでありながら、本人いわくCTOらしい仕事をしておらず「象徴CTO」(川上会長)のような存在だ。そんな中でCTOとしてやった唯一の仕事が「循環的複雑度」の話だ。 循環的複雑度とは何か。要は、プログラムにどれだけバグが出やすいかを判別するための計算方法だ。 さかのぼること2年前、ドワンゴの生放送サービスである「
Haskellでの合成可能なオブジェクトの構成とその応用 木下郁章, 山本和彦, 2015 Haskellで状態を管理する際は、 一般的に代数データ型や型クラスが用いられるが、 データが拡張できないか、動的な性質を持たない。 そのためHaskellは、 複雑な状態を扱う問題領域には適していないと考えられてきた。 一方で、一般的なオブジェクト指向言語では、 オブジェクトを提供することでこの問題領域で成功を収めている。 本論文では、Haskellの言語仕様を変更することなしに、 オブジェクト指向言語から着想を得たオブジェクトを実現する。 本論文で提案するオブジェクトは圏を構成し、合成を用いて継承を表現できる。 また、終了する運命にあるオブジェクトやストリーミングなどに応用でき、 複雑な状態を扱うゲームの実装にも使われている。 論文をダウンロード(PDF) PPL 2015 発表スライド ここに
はじめにいつもお世話になってます! 助かってます! ありがとうございます! 解説サイトの人は特にありがとうございます! How to doは多いけど、Why I did in this wayで書かれてる記事が極端に少ないことたぶん備忘録として書いている人が多いと思うんだけど、マニュアルのような書き方が多い気がします。いやまあマニュアルがないよりは遥かに嬉しいことなんですが。重ね重ねいつもありがとうございます。 『AしてBしてCすると、コレができる! かんたん!』で終わっていることが多いです。多いというか、ほぼこれです。 『ほげほげのためにA、もげもげのためにB、FUBARのためにCすると、コレができる』というように書いてくれると相当嬉しいです!別に『これこれをクリックして…』とか『bashとはうんたらかんたら』とか詳細を書かなくてもいいので、こういう目的のためにやったと書いてくれると嬉し
本当はエスケープシーケンスのことを調べていたのだが、その前にASCIIコードについて調べることになってしまった...。文字コードの基本として知っているつもりだったASCIIコードについて、あらためて見直してみると、実は本当の意味をよく分かっていなかったことに気づいた。 ASCIIコード表 ASCIIコードは、7ビット(2進数7桁)の文字コードであり、全部で128のコードが定義されている。 最も基本的な文字コードであり、その他多くの文字コードはこのASCIIコードと互換性を維持している。 00 10 20 30 40 50 60 70 00 NUL DLE SP 0 @ P ` p 01 SOH DC1 ! 1 A Q a q 02 STX DC2 " 2 B R b r 03 ETX DC3 # 3 C S c s 04 EOT DC4 $ 4 D T d t 05 ENQ NAK % 5
「駅すぱあと」を支える開発 〜9262の可能性を繋げ!〜(DevLOVE関西Ver) というイベントが開催された。 ぼくも会場係としてスタッフ参加。 「駅すぱあと」の歴史から技術、開発のマネジメント手法に至るまで、幅広い話が聞ける良いイベントだった。 いろいろな話が聞けたのだけれど、僕は特に佐藤さんの「『駅すぱあと』新しい開発基盤の研究」がおもしろかった。 まだ開発途中で、実際の駅すぱあとには組み込まれていないそうなのだけれど、佐藤さんは「駅すぱあと」の運賃計算のDSLを研究・開発しているという。 曰く、鉄道の運賃計算は泥沼である。単純に距離や、目的地までの駅数などで運賃が算出できればよいが、鉄道の運賃計算には無数の特例がある。 下記リンク先に、JRの運賃の特例計算が列挙されているので、ちょっと見ていただきたい。 ……お分かりいただけただろうか。現在の「駅すぱあと」では、これらの特例がすべ
品川女子学院で中学1年生を対象に特別講義を行うことになりました。 学校からは「なぜプログラミングが必要なのか、人生の選択肢としてプログラミングを身につけることがどう役立つのか、ということを教えて欲しい」という依頼だったので、中学生に話をするのは慣れていないのですが、僕なりに中学生の女子達の興味を惹きつけるにはどのように話をすればいいか考えました。 会場は体育館だったので、スクリーンが用意できず、手元に配布したiPadでスライドを確認できるようにしつつ、話を聞いていて適宜感じたことや疑問に思ったことを自由に入力して欲しい、というやり方でスタートしました。 私がこの講義で子どもたちに伝えたかったことはいくつかありますが、ひとつは「なぜプログラミングを学ぶ必要があるのか」ということです。 そこで、まず、NintendoDSを作った岩田さんも、iPhoneを作ったスティーブ・ジョブズもプログラマー
コミケで、ニッチでエッジな本を手に入れた いつもは『マンガで分かるプログラミング用語辞典』を描いている、クロノス・クラウンの柳井です。コミケには、途中で数年のブランクがあったりしながら、20年ぐらい前から参加して、同人誌や同人ゲームを売ったり買ったりしています。 実はコミケには、本屋で売っていないような、ニッチでエッジなプログラミングや、ハードウェアや、IT技術の同人誌が売っています。そういった本のことや、売っている場所、初心者向けコミケガイドについて、第1回の記事で書きました。また、気になるサークルについて、第2回の記事で書きました。 第3回目の今回は、実際にコミケに行って入手してきた本の紹介です。27冊、合計金額9290円分、合計ページ数1506ページです。年始にすべて読みました。というわけで、それらの本の情報と簡単な感想を書いていきます。 というわけで、第1回、第2回の記事と併せて、
先週、 Hacker News上で興味深い議論が行われました 。テーマは Linux Kernelのコーディングスタイル についてです。 議論の中で私は、 コーディングで垂直方向にそろえるインデントをとるべきか というささやかな聖戦を仕掛けました。私は全面的に賛成です。理由を説明しましょう。 垂直方向にそろえるインデントをとるとは? 簡単な例を挙げてみます。 int robert_age = 32; int annalouise_age = 25; int bob_age = 250; int dorothy_age = 56; ちょっと見ただけで、「bob_age」がおかしいと分かるでしょう。また、目視であちこち探さなくても、全ての値が整数であることが簡単に確認できます。 この考え方は 一般的に 共有 されているわけではありません。ですので、なぜ 多くの 人たち がこれを有効なスタイルガ
あいさつ 計算機による一階述語論理の決定不能の取り扱い方を調べる中で コンビネーター理論の理解が深まったので筆を取る事にした. このたぐいのテクを用いると、識別子に依らない関数の再帰を定義出来る(!!) # Zコンビネーター Z = ->(f) { ->(x){ f.( ->(y) {x.(x).(y)} ) }.( ->(x){ f.( ->(y) {x.(x).(y)} ) } ) } # 識別子に依らずに階乗を定義! Z.(->(_){ ->(n){ n == 0 ? 1 : n * _.(n-1) } }).(5) # => 120 以下説明 自分の理解度の確認のためにも用語を1つ1つ丁寧に積み重ねて分かりやすくしたつもり. λ式とは λ式なんていかがわしい言葉を使っているがメチャ簡単な事、でも実は難しい. 皆さんおなじみ2次関数
追記 こんな記事を読むより、まともな関数型プログラミング言語を使ってまともに関数型プログラミングを学ぶほうが、関数型プログラミングについてよほど正確な理解を得られます。少しでも関数型プログラミングに興味のある人は、まずは真面目なHaskellの教科書やすごいH本を読んだり、やさしいHaskell入門を読んだりしながら、実際に関数型プログラミングのコードを書いてみることをお勧めします。 繰り返しますが、この記事はあんまり読む必要はないです。関数型プログラミングを理解するには実際に自分でコードを書いてみるのが一番です。関数型プログラミングあるいは関数型プログラミング言語を理解するもっとも確実な方法は、Haskellをあなたのマシンにインストールして何かまとまったアプリケーションを書いてみることです。Haskellでアプリケーションが書けたら、自分は関数型プログラミングを理解しているし使えると胸
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く