programmingに関するyad-ELのブックマーク (1,615)

  • linuxカーネルで学ぶC言語のマクロ - Qiita

    はじめに 記事は電子書籍版もあります。 linuxカーネルはC言語のマクロを駆使して書かれています。それらのうち、凝ったマクロになじみの無い人には初見では意図がわからない&わかってみれば面白いであろうものをいくつか紹介いたします。対象読者は、C言語のユーザだけれども、マクロは定数定義くらいにしか使わないというライトなマクロユーザです。 マクロを使用する場所に依存するエラーを防ぐ 次のマクロは、二つの引き数の値を置換するだけの単純なものです。

    linuxカーネルで学ぶC言語のマクロ - Qiita
  • Rust は何が新しくないのか - ろじかるんるんものがたり

    disclaimer 追記で注意書き足すのはどうなんでしょうね。ということで追記です。 別にギョムでガンガン書いてるとかではないです。 ノミコンの方も含めてドキュメント全部読んだ、API 一通り眺めた、型推論というかリージョン推論部分の概要眺めた、関連する論文読んだ、言語触った、程度の人間が書いてます。 正しくない、不正確な部分もあると思います。 雑です、すいません。 TL;DR 的には、C++ 置き換えるための言語として作られたので当然 C++ にあった概念引き継いでますよみたいな話です。 以下追記前の元の全文。 以下の記事が結構人気と聞きました。 Rustは何が新しいのか(基的な言語機能の紹介) - いもす研 (imos laboratory) ここでは、記事中の「新しくない」部分を historical な話を交えて説明する形で何か書きたいと思います。 記事を否定するようなものでは

    Rust は何が新しくないのか - ろじかるんるんものがたり
  • 20170127-learning-tensorflow-3hours

    ニューラルネットワークを用いた機械学習の「ディープラーニング(深層学習)」は人工知能(AI)開発に欠かせない技術であり、AI以外にもGoogleフォトの画像の自動タグ付け機能やAmazonのレコメンド機能など、すでに実用化されている技術に活用されています。そんなディープラーニングを開発者が学習するためのとっておきの方法をGoogleのクラウド開発者がブログで紹介しています。 Learn TensorFlow and deep learning, without a Ph.D. | Google Cloud Big Data and Machine Learning Blog  |  Google Cloud Platform https://cloud.google.com/blog/big-data/2017/01/learn-tensorflow-and-deep-learning-w

    20170127-learning-tensorflow-3hours
  • データサイエンティスト(本物)は決して幻の職業などではない - 渋谷駅前で働くデータサイエンティストのブログ

    かつて拙著出版の際に大変お世話になった技術評論社(技評)さんから、『データサイエンティスト養成読』改定2版のPRとして以下の記事がリリースされていました。この記事がもう何と言いますか、「読めばそのままデータサイエンティスト(物)もしくはグローバルにおけるData Scientistのスキル要件になっている」ほどの素晴らしい記事なので、ぜひ皆様にはご一読をお薦めいたします。 ちなみにここであえて「物」と銘打ったのは、少し前にもどこかで論じられていた記憶があるのですが、要は「なんちゃってデータサイエンティスト」は含まないということです。僕の知る限り、日国内でデータサイエンティストと言うと「データサイエンティスト(カナ)」と方々から侮られるのが常なのですが、それはそもそも後述するように数年前に大量に発生したデータサイエンティスト(物)でも何でもない専門的スキルに乏しい人々のことが世間で

    データサイエンティスト(本物)は決して幻の職業などではない - 渋谷駅前で働くデータサイエンティストのブログ
  • 私たちはなぜReactではなくVue.jsを選んだのか | POSTD

    Qwintryチームは最近、既存のすべてのプロジェクトフロントエンドVue.jsに移行しはじめました。新しいプロジェクトでもVue.jsを使います。 レガシーなDrupalのシステム(qwintry.com) ゼロから新しく書きなおすqwintry.comのブランチ Yii2で動くb2bシステム(logistics.qwintry.com) その他、比較的小さめのプロジェクト(ほとんどは、PHPとNode.jsでバックエンドを構築しているもの) プロジェクトの規模についていうと、 Qwintry は世界中で約50万人の顧客が使っています。アメリカドイツに倉庫を持っていて、アメリカ国内 最大の郵送先 のひとつで、東欧や中東への出荷に注力しています。Qwintryは、アメリカのオンラインストアでグッズを購入する人たちのためのツールです。私たちの倉庫に届いた荷物をコントロールパネルで管理で

    私たちはなぜReactではなくVue.jsを選んだのか | POSTD
  • 遊びながらプログラミング学習--ペーパークラフトロボット「Kamibot」

    Kamibotは、6~12歳程度の子どもを対象にしたプログラミング学習用のロボット。 専用アプリにより、ロボットを操作できるだけではなく、ロボットの各種動作をプログラミング可能。楽しく遊びながらプログラミング学習ができるという。 名前の由来は、「紙(カミ)」と「ロボット」で、子どもたちがペーパークラフトをロボットに付けて遊べるコンセプトで開発されている。 Kamibot体は、駆動系の2つのDCモータと上部を回転させるサーボモーターを備えている。また、黒いラインを認識するIR(赤外線)センサを底部に備え、ライントレース走行に使用できる。前面にあるのは、障害物までの距離を測る超音波距離センサ。このほか、色を表現するためのLEDを搭載している。バッテリにはUSBミニケーブル経由で充電でき、連続稼動時間は約120分程度。

    遊びながらプログラミング学習--ペーパークラフトロボット「Kamibot」
  • はてなブックマーク数が多い2016年のアドベントカレンダーの記事(途中経過) - 唯物是真 @Scaled_Wurm

    去年書いたスクリプト↓がだいたいそのまま動いたのでアドベントカレンダーのはてなブックマークの合計数のランキングと記事別のランキングを今年も出してみた sucrose.hatenablog.com 全件記事を見たわけではないので変なゴミが混じっているかも 今年はディープラーニングの記事がたくさんはてブを集めていて人気を感じる ↓最終結果も出した はてなブックマーク数が多い2016年のアドベントカレンダーの記事 - 唯物是真 @Scaled_Wurm カレンダーの合計ランキング 順位 カレンダー名 はてなブックマーク数 1 システムエンジニア 3070 2 DeepLearning 1593 3 LITALICO Engineers 1535 4 N高 1504 5 Shell Script 1433 6 Fujitsu 1398 7 転職(その2) 1354 8 トレタ 1222 9 UI

    はてなブックマーク数が多い2016年のアドベントカレンダーの記事(途中経過) - 唯物是真 @Scaled_Wurm
  • 「小学校プログラミング教育必須化」の正体とは? 有識者会議の委員が明かす (1/3)

    関連キーワード 教育IT | 教育 | プログラミング 政府は2016年4月に開いた産業競争力会議の中で、2020年度を目標に小学校におけるプログラミング教育必須化(注)の方針を発表した。これを機に教育関係者や関連企業などを中心に、同分野への関心は高まりを見せ、さまざまなメディアでプログラミング教育の話題が登場する機会が増えた。 ※注:現状ではプログラミングを学ぶ新たな必修教科を設けるわけではなく、既存教科の中にプログラミング教育を盛り込む方針なので、区別のため「必修化」ではなく「必須化」と記載。 「当に小学生にプログラミング教育が必要なのか」「教員にプログラミングが教えられるのか」など、プログラミング教育の導入については依然として議論があり、課題も山積みだ。一方で過渡期ともいえるプログラミング教育の将来に可能性を感じ、新規参入を目指す関係者の動きも広がっている。 プログラミング教育は現

    「小学校プログラミング教育必須化」の正体とは? 有識者会議の委員が明かす (1/3)
  • 子どもがいる家庭で使うRaspberryPi&Slack

    皆さんRaspberry Pi使ってますか?買ったけど使いみちが無くてほったからかしと言う方も多いのでは無いでしょうか。今回は、幼稚園~小学生くらいのお子様がいる家庭のリビングで使うRaspberry Pi(+ちょっとだけSlack)と言う内容です。電子工作はありません。 この記事は、家庭を支える技術 Advent Calendar 2016 – Adventar の13日目の記事として書きました。 色んな問題点 最近、子供が成長し写真や家族写真を撮らなくなった RasPi内の音楽再生をスマホで操作するのが面倒くさい 学校に出る時間など子どものルーチン的な事に関して毎日言うのが面倒 子どもに直接注意するのはエネルギー使う(宿題やったの?とか、自分の物くらい片付けて欲しいとか) 今日の予定や何ゴミかなど、スケジュールをいちいちスマホで見るのが面倒 と言うことで… 家ではこんな感じで使ってます

    子どもがいる家庭で使うRaspberryPi&Slack
  • 3分ではじめるWebtask - yoshidashingo

    セクションナイン の 吉田真吾(@yoshidashingo)です。 各社FaaSプラットフォームを提供していますが、Auth0という認証SaaSの別プロダクトであるWebtaskの話をServerlessconf Londonで聞いているところなので聞きながら試してみてます。 Getting Started Webtaskのサイトにアクセスします。 https://webtask.iowebtask.io GithubやFacebookなどでログイン(アカウント作成)します。 wtクライアントをインストールします $ npm install wt-cli -g ちなみにこのクライアントはオープンソースで開発されています。 github.com 環境の初期化をします $ wt init <作成したアカウントのメールアドレス(https://webtask.io/cliにあらかじめ表示されて

    3分ではじめるWebtask - yoshidashingo
  • Trema/Pioでパケットを作ろう(1) - # cat /var/log/stereocat | tail -n3

    trema/pio でいろんなパケットを作ってみよう! という話です。 Trema の packet generate/parse の機能が Pio として分離されています。こいつを使えば任意のパケットの生成・送受信機能を作れる。はず。ということで作ってみました。可変長フィールドのある物にいきなり手をつけるのは大変そうなので、最も単純であろう UDP についてどんな感じでやれるのか、作るに当たってどういうことに気をつければ良いのか、という話を記憶に残っている範囲で書いてみます。 道具 trema, pio は gem 版のみ使用 (ソースからビルドした物は今回使っていません) trema/0.4.3 pio/0.4.2 ruby/2.0.0p247 on Ubuntu 13.04 (64bit) 最初は ruby1.8.7 な環境使ってたんですが、最近 Trema が 2.0 でも動くよう

    Trema/Pioでパケットを作ろう(1) - # cat /var/log/stereocat | tail -n3
  • 「子どもプログラミング教育 サポーター養成講座」開催報告(1) : コーダー道場こだいら ブログ

    コーダー道場こだいら ブログ 東京都小平市で活動中の小中高生のコーディングクラブ「コーダー道場こだいら(CoderDojo Kodaira/小平道場)」の運営ブログ。 CoderDojo Kodaira ホーム CoderDojo Japan CoderDojo.com 小平道場の活動日は月に1回。場所は西武拝島線萩山駅から徒歩5分の「元気村おがわ東」2階「あすぴあ会議室」。 個性的なメンバーがゆるゆると創作活動を楽しんでいます。参加希望の若者&ボランティアの方々は当会公式サイトをご覧下さいませ。 こんにちは、道場主の「とが」です。 去る10月15日、市民学習奨励学級「子どもプログラミング教育 サポーター養成講座」第1回を開催いたしました。長々しい名前ですが、要するに、子ども達がいつも使っているあれやこれやを大人達が勉強する講座です。 ということで今回は、市民学習奨励学級の開講の経緯の話と

    「子どもプログラミング教育 サポーター養成講座」開催報告(1) : コーダー道場こだいら ブログ
  • 低レベルアクセスへの入り口(1):io.Writer

    今回は、Go言語がOS直上の低レイヤーを扱いやすくするために提供している io.Writer インタフェースの紹介をします。Go言語がシステムプログラミングを簡単に行える言語でありつつも、それなりに少ない記述量で比較的高速で、それでいて多くのことが達成できるのは、これから説明するようなインタフェースにより、低レイヤーが扱いやすい構造になっているからです。インタフェースと、インタフェースに対して提供されるさまざまなサービス関数が、Go言語の安い、早い、うまいの秘密です。 io.WriterはOSが持つファイルのシステムコールの相似形 前回の記事では "Hello World!" プログラムの関数呼び出しをデバッガーでたどり、最後にシステムコール syscall.Write() が呼び出されているようすを見ました。OSでは、このシステムコールを、ファイルディスクリプタと呼ばれるものに対して呼び

    低レベルアクセスへの入り口(1):io.Writer
  • どうしてWaltsを開発したのか - そして昨今のFlux - Qiita

    まずFluxとはなんだろうか。Fluxの解説はすでに多数掲載されているが、ここでは「データフローを一方向としたアーキテクチャ」と定義したい。 そもそも、FluxというのはObserverパターンにちょっとした規則を設けて、かっこいい名前を与えたに過ぎないのだが、現代のフロントエンドはこのFluxを見事に受け容れた。なぜか。それは開発者が秩序を求めたからである。 これは、拡大し続けるフロントエンド・サイドの開発規模に対して、従来のMVC、正確には複数のViewと複数のControllerが相互にデータを受け渡し合うアーキテクチャがスケールしなくなったことに起因する。(ここではMVCを厳密に定義していない。GUIアーキテクチャについてなのかバックエンド・アーキテクチャについてなのか判然とさせないまま、俗語的に用いている) シングルトンという名でごまかした巨大なグローバル神オブジェクトを至る所で

    どうしてWaltsを開発したのか - そして昨今のFlux - Qiita
  • 複雑なJavaScriptアプリケーションを考えながら作る話

    autoscale: true theme: Plain Jane,5 複雑なJavaScriptアプリケーションを考えながら作る話 自己紹介 Name : azu Twitter : @azu_re Website: Web scratch, JSer.info #jsprimerを書いています JavaScript入門書に興味ある人はウォッチ :star: :warning: 注意 :warning: 作成するアプリケーションによって必要な構造は異なります 今回の話はある程度の規模で複雑性を持つクライアントサイド ライブラリ抜きで数万LOC >= 長期的にメンテンナンスや変更が発生するアプリケーション サーバサイドレンダリングはしないクライアントアプリケーション 3行でOK 複雑なJavaScriptアプリケーションを作るにあたりドメインモデルをどう実装するか悩んだ 色々と試行錯誤した

  • Elmで始めるFunctional Reactive Programming

    ※注意 現在のElmは、これを書いた時とはかなり別物になっています。そのためElmを学ぶにはこの資料は適切ではありません。Functional Reactive Programmingの習得には参考になると思います。 ===== ElmはHaskellと同じく純粋関数型言語のひとつで、ブラウザ上で動くアプリケーションの作成に特化しています。目に見えるものがすぐに作れるなど、関数型プログラミングやFRP(Functional Reactive Programming)の入門によい面がいくつかあります。JavaScriptなど型のない手続き型言語に慣れた人向けに関数型プログラミングのイメージを掴んでもらうことを目的にしています。Read less

    Elmで始めるFunctional Reactive Programming
  • 関数型リアクティブプログラミング言語Elmに学ぶ フロントエンド開発の新しい形 【前編】

    前編では、Elm言語の基礎とFRPのエッセンスについてコードを通じて学びます。 後編では、実際にElmを使ってアプリケーションを作る方法と、その際に重要になるアーキテクチャを学びます。 なお、執筆時点でのElmのバージョンは0.15.1です。 注意! Elmはバージョン0.17で大きな変更がありました。現在は「関数型リアクティブプログラミング」のための言語ではありません。 参考:A Farewell to FRP(さらば FRP) また、言語自体のシンタックスやライブラリのAPIも以前とは大きく変わっています。これからElmを始める方は、必ず公式ドキュメントを参照してください。 公式ガイド FRPとは何か リアクティブプログラミングの直感的な説明としてよく挙げられるのが、Excelのような表計算ソフトです。 例えば、セルの間にC1 = A1 + B1という関係があるとします。 このように宣

    関数型リアクティブプログラミング言語Elmに学ぶ フロントエンド開発の新しい形 【前編】
  • 「プログラミング教育」はICTを活用した新たな“学び”のシンボル――小学校で成功させるためのポイントと実践事例

    特集:小学生の「プログラミング教育」その前に 政府の成長戦略の中で小学校の「プログラミング教育」を必修化し2020年度に開始することが発表され、さまざまな議論を生んでいる。そもそも「プログラミング」とは何か、小学生に「プログラミング教育」を必修化する意味はあるのか、「プログラミング的思考」とは何なのか、親はどのように準備しておけばいいのか、小学生の教員は各教科にどのように取り入れればいいのか――特集では、有識者へのインタビューなどで、これらの疑問を解きほぐしていく。 今回は、プログラミング教育を積極的に実践している小金井市立 前原小学校 校長の松田孝氏に話を伺った。 子どものプログラミング教育をめぐる動きでは、政府の新たな成長戦略で2020年度から小学校のプログラミング教育がスタートすることが2016年4月19日に発表されている。また総務省は、「若年層に対するプログラミング教育の普及推進

    「プログラミング教育」はICTを活用した新たな“学び”のシンボル――小学校で成功させるためのポイントと実践事例
  • Electronプログラミング入門 — インストールからミニブラウザ構築まで

    Electronプログラミング入門 — インストールからミニブラウザ構築まで 古川陽介 Electronとは、デスクトップクライアントを作るためのフレームワークです。クロスプラットフォームで動作することをサポートしているため、Electronで作ったアプリケーションはMacWindowsLinuxの環境でも動作します。Atomと呼ばれる GitHub社製のエディタがあります。 ElectronはAtomを作る際にフレームワークとして作られました。以前はAtomShellと呼ばれていましたが、Electronとして名前を変更し、2016年にはversion 1.0がリリースされるまでに成長しました。 ElectronはJavaScript / HTML / CSSを使ってクライアントアプリケーションを作成します。中のアーキテクチャはChromiumとNode.jsで作られており、Web開

    Electronプログラミング入門 — インストールからミニブラウザ構築まで
  • Apple、プログラミング言語「Swift」の学習用ツール「Swift Playgrounds」をiOS 10搭載iPad向けに提供 

    Apple、プログラミング言語「Swift」の学習用ツール「Swift Playgrounds」をiOS 10搭載iPad向けに提供