タグ

ブックマーク / gihyo.jp (59)

  • ウェハースケールCPUの誕生――Cerebrasのクレイジーな挑戦 | gihyo.jp

    2019年11月、スパコン(スーパーコンピュータ)のトップカンファレンスであるSC19で、小形のAI専用スパコンがデビューをはたしました。「⁠CS-1」と名付けられたそのマシンは、ウェハースケール、つまり30cmシリコンウェハーを一枚まるごと使った巨大なCPUをもち、その広大な領域に埋め込まれた40万ものコアに、ターゲットのニューラル・ネットワークをそっくり全部マッピングして並列動作させます。 このあまりにもシンプルで、かつ壮大なアイデアをストレートに実現したのはCerebras Systemsというスタートアップ・カンパニーです。 筆者はいくつものスタートアップ、とくにハードウェア・システムを開発する企業を見てきました。Cerebrasについても二年ほど前から何度か訪問して開発状況などを見てきましたが、これほど野心的なスタートアップは滅多にありません。 このCerebrasの技術について

    ウェハースケールCPUの誕生――Cerebrasのクレイジーな挑戦 | gihyo.jp
    stealthinu
    stealthinu 2020/01/31
    とても良い記事。Cerebrasすごい。『人々は並列度の高いプログラムをうまく作る方法を突き止めることができなかった。しかしニューラルネットワークはそれをほとんどタダで我々にくれた』
  • micro:bitであそぼう! たのしい電子工作&プログラミング

    このの概要 micro:bitで今すぐ手軽に作品作り! micro:bitは,小さい体の中にたくさんの機能が詰め込まれた,IoT時代の申し子ともいえるプログラミング入門キットです。 プログラミングを始めるにあたり,面倒なソフトのインストールは一切不要。 ブラウザーさえあれば,すぐにプログラミングが始められます。 プログラミングもブロックを組み立てるだけなので,子供から大人まで簡単にマスターできます。 このでは,身の回りの物で簡単に作れて,たのしくあそべる作例を32も収録しています。 ぜひこの面白さを体験してみてください! こんな方におすすめ 電子工作,プログラミングをたのしみたい小学生以上の子どもたち

    micro:bitであそぼう! たのしい電子工作&プログラミング
    stealthinu
    stealthinu 2018/12/07
    micro:bitっていうブラウザ上でビジュアルプログラミングでプログラミング組めてIoTできるものがあるっぽい。
  • 須藤功平さん「My way with Ruby」 〜RubyKaigi 2018 基調講演 2日目 | gihyo.jp

    2018年5月31日から6月2日までRubyKaigi 2018が仙台国際センターにて行われました。記事は2日目の基調講演の内容をレポートします。 須藤さんは「My way with Ruby」というタイトルで、自身とRubyの関わりについて発表しました。須藤さんは自身のRubyistとしての活動を「フリーソフトウェアを使ってRubyでできることを増やす」「⁠ライブラリのメンテナンスをする」という2つにまとめています。実際にメンテナンスしているライブラリの数は130個ほど。非常に数が多いのですが、それぞれ須藤さん自身が必要に駆られて作ったと言います。今回の発表ではそのソフトウェアの一部を、作成したきっかけとともに振り返っていきました。 記事ではその中でも特にRabbitとData Processingに関するものについて紹介します。 Rabbit Rabbitは世界で唯一の「Rubyi

    須藤功平さん「My way with Ruby」 〜RubyKaigi 2018 基調講演 2日目 | gihyo.jp
    stealthinu
    stealthinu 2018/06/25
    『自身のRubyistとしての活動を「フリーソフトウェアを使ってRubyでできることを増やす」「⁠ライブラリのメンテナンスをする」という2つにまとめ』すとうさんすごい。ぶれない。
  • 第35回 OPTIMIZE TABLEでテーブルを最適化する | gihyo.jp

    MySQLを開発環境等で実行していると、容量が足りなくなってしまうことはありませんか? そんな時にDELETE文を実行して容量を空けようとしても、削除したはずのデータのディスク領域が何故か解放されなくて困ってしまうことがあるかと思います。 そこで今回はOPTIMEZE TABLE構文を使って、ディスク領域を最適化する方法を紹介したいと思います。 検証環境 今回は第23回 mysqlslapを使って負荷テストをしてみようで使用したCentOS7にSysBenchをインストールして実行しています。MySQLのバージョンは5.7.17を使用しています。 また、今回使用するデータは「第2回 MySQLにはじめてのデータを入れてみる」で紹介をしている郵便番号のテーブルを用いて紹介を行います。 削除した時のテーブルのサイズを確認する CentOSを使ってyumでMySQLをインストールした場合に、テー

    第35回 OPTIMIZE TABLEでテーブルを最適化する | gihyo.jp
    stealthinu
    stealthinu 2017/09/19
    mysqlでdeleteでデータを削除してもDBのファイルサイズは変わらない。optimize tableすると削除した分だけファイルサイズが小さくなる。ただバージョン依存で動きが違うっぽいことが書いてある。
  • 2017年7月28日号 18.04 LTSでのデフォルトデスクトップアプリケーションの調査、オープンソースカンファレンス 2017 Kyoto、Ubuntu16.10 “Yakkety Yak”のEOL | gihyo.jp

    Ubuntu 16.10 “Yakkety Yak”のEOL Ubuntu 16.10 “⁠Yakkety Yak⁠”が7月20日でEOLになりました。16.10を利用しているユーザーは原則として17.04へ更新することが推奨されます。 その他のニュース Ubuntu 16.04 LTSのHWEが4.10ベース(=zestyベース)になりました。これに伴い、HWE Edge(⁠「⁠次」のHWE)がartfulを指すように更新される予定です。 今週のセキュリティアップデート usn-3274-2:ICUのセキュリティアップデート https://lists.ubuntu.com/archives/ubuntu-security-announce/2017-July/003942.html Ubuntu 12.04 ESM用のアップデータがリリースされています。CVE-2017-7867, C

    2017年7月28日号 18.04 LTSでのデフォルトデスクトップアプリケーションの調査、オープンソースカンファレンス 2017 Kyoto、Ubuntu16.10 “Yakkety Yak”のEOL | gihyo.jp
    stealthinu
    stealthinu 2017/07/28
    『もちろん信仰上の理由でBasic Text Editorとして「Emacs」「⁠Vim」等を記入することを妨げるものではありません』ネタに走らずちゃんと大人の回答しようね、と先回りして牽制されてる図。
  • 第18回 Linuxカーネルのコンテナ機能 [7] ─ overlayfs | gihyo.jp

    今回からはLXCがコンテナイメージを置く領域に使えるいろいろなストレージバックエンドを利用し、LXCを便利に使う方法を紹介していきます。 LXCでいろいろなストレージバックエンドを利用する方法を紹介する前に、今後コンテナでの利用が増えそうな、3.18カーネルで新たに追加されたoverlayfsについて紹介しておきましょう。 タイトルは「Linuxカーネルのコンテナ機能」としていますが、これまでの機能と同様にoverlayfsもコンテナ専用として使う機能ではありません。名前空間やCgroup以上にコンテナ以外でさまざまなシーンで使えそうですね。 overlayfsとは overlayfsはunion filesystemの実装の1つで、ディレクトリを重ね合わせて1つのディレクトリツリーが構成できます。 話題のDockerが持つ特長として、よくコンテナイメージの差分管理ができることが挙げられま

    第18回 Linuxカーネルのコンテナ機能 [7] ─ overlayfs | gihyo.jp
    stealthinu
    stealthinu 2017/04/19
    overlayfsについての解説。というかdockerでどうやって差分イメージが作られてるのかこれ読むとわかるという。これdockerでの応用例しらないとなにがうれしいのかなかなかピンとこないと思う。すげえ。
  • 第452回 Ubuntu 16.10リリース記念オフラインミーティング参加レポート | gihyo.jp

    2016年12月17日(土)に「Ubuntu 16.10リリース記念オフラインミーティング16.12」が開催されました。今回はこのイベントについて、一般参加した筆者がレポートします。 なお、レポートは筆者個人の理解の範囲で執筆していますので、一部不正確な記述があるかもしれないことをお断りしておきます。 Ubuntuイベントとの関わり 筆者はStellariumというプラネタリウムソフトの翻訳に参加しています。Ubuntu Japanese Team主催のイベントにはたびたび一般参加しています。いつかスタッフや発表をやってみようと思いつつ勇気を出せませんでしたが、今回思い切ってUbuntuオフラインミーティングのレポートを寄稿させていただくことになりました。このような記事を執筆するのは初めてですが、Ubuntuオフラインミーティングの魅力を十分にお届けできればと思います。 Ubuntuオフ

    第452回 Ubuntu 16.10リリース記念オフラインミーティング参加レポート | gihyo.jp
    stealthinu
    stealthinu 2017/01/12
    『ここ最近,参加者の間で「オフラインミーティング=唐揚げ」と認識されている』唐揚げ12Kgとか… もうUbuntuというと唐揚げしか思い浮かばないレベル。
  • 第447回 Unity 8をちょっとだけ体感してみる | gihyo.jp

    Unity 8」はUbuntuの次世代インターフェースとして開発しているデスクトップUIです。先日リリースされたUbuntu 16.10では、最初からインストールされるようになりました。そこで今回はこのUnity 8を使う方法を紹介します。 Unity 8の進捗どうですか 「次世代インターフェースとして開発している」とか「次のリリースからUnity 7から移行する見込み」なんて言われてから幾星霜、ようやく「Unity 8」がUbuntu 16.10では最初からインストールされるようになりました。ただ、最初からインストールされているとは言っても、標準の環境になったわけではなく、あくまで「お試しできる」状態でしかありません。しかも試せる環境は原則として、IntelかNvidiaのGPU向けのオープンソースドライバーを使っている環境、もしくはKVM上の仮想マシンのみとなります。 Unity 8

    第447回 Unity 8をちょっとだけ体感してみる | gihyo.jp
    stealthinu
    stealthinu 2017/01/12
    『デスクトップ版のUnity 8がようやく一般ユーザーに試してもらえる品質になったということでもあるのです。すみません言い過ぎました。安心してください,いつもどおり見切り発車もいいところといった品質です』
  • 2016年11月21日 MicrosoftがBash on Windowsユーザに注意喚起「Linuxファイルを作成/変更してはダメ、絶対!」 | gihyo.jp

    Linux Daily Topics 2016年11月21日MicrosoftがBash on Windowsユーザに注意喚起「Linuxファイルを作成/変更してはダメ、絶対!」 サティア・ナデラがCEOに就任して以来、「⁠Linux Love」「⁠オープンソースLove」とことあるごとに訴えているMicrosoftだが、ときにはその愛をもってしてもどうしてもできないことがある。 11月17日(米国時間⁠)⁠、Microsoftのシニアプログラムマネージャで"Bash on Windows"プロジェクトのリーダーでもあるRich TurnerはMicrosoftの開発者向けブログで「どんな環境であっても、Windowsアプリやツール、スクリプトを使ってLinuxファイルを作成/変更しないで!」とBash on Windowsユーザを中心に強く注意を促した。Windowsツールを使ってLin

    2016年11月21日 MicrosoftがBash on Windowsユーザに注意喚起「Linuxファイルを作成/変更してはダメ、絶対!」 | gihyo.jp
    stealthinu
    stealthinu 2016/11/22
    Cygwin的に使えるものというよりVM上のLinux的に使うもの、という認識じゃないといかんのね。
  • 第6回 クラウドサービスの比較:AWS、Windows Azure、さくらのクラウド | gihyo.jp

    今回でこの連載も最終回です。これまでAmazon Web Services、さくらのクラウド、Windows Azure、Google App Engineについて触れてきました。最終回ということでこれらのベンチマークを比較してみたいと思います。 unixbenchで比較 Amazon Web Services(AWS⁠)⁠、さくらのクラウド(以降さくら⁠)⁠、Windows Azure(以降Azure)は、IaaS(仮想サーバ)がありますが、Google App EngineはPaaSなので単純な比較はできません。まずは前者の3つについて、比較をしてみましょう。 今回はパフォーマンス計測の定番、unixbenchで比較をしてみました。 https://code.google.com/p/byte-unixbench/ 計測対象は下記の通りです。 ディスクについては、AWSではProvis

    第6回 クラウドサービスの比較:AWS、Windows Azure、さくらのクラウド | gihyo.jp
    stealthinu
    stealthinu 2016/07/06
    クラウドサービスのマシン速度ベンチ。2013年の記録。unixbenchで比較している。記事中インデックススコアはSS20-61を1としてと書いてあるが正しくは10。
  • 第6回 UNIXプログラミングの勘所(3) | gihyo.jp

    ネットワークプログラムとSIGPIPE 「私の書いたサーバが突然死するんです。どうしてでしょうか」という質問を受けることがあります。これは多くの場合、SIGPIPEの処理を忘れていることが原因です。SIGPIPEとは、切断されたネットワークソケットなどにデータを書き込もうとした際に送出されるUNIXシグナルです。特に設定しない限り、プロセスはSIGPIPEを受け取ると強制終了されます。そのため、通信が突然切断される可能性のあるTCPサーバにおいては、SIGPIPEを無視するよう設定する必要があります。 # デフォルトの動作(SIGPIPEの場合はプロセスの終了)に設定 $SIG{PIPE} = 'DEFAULT'; # SIGPIPEを無視するよう設定 $SIG{PIPE} = 'IGNORE'; # SIGPIPEを受信した際に実行するサブルーチンリファレンスを # 設定 $SIG{PI

    第6回 UNIXプログラミングの勘所(3) | gihyo.jp
    stealthinu
    stealthinu 2016/01/05
    perlのCGIなどでクライアントの接続が切れている状況で出力しようとするとSIGPIPEが発生してその時点でperlが死ぬ。$SIG{PIPE}を設定するか時間掛かる処理はforkしておく。
  • PHPの生みの親、ラスマス・ラードフ氏インタビュー | gihyo.jp

    PHPの生みの親⁠⁠、ラスマス⁠⁠・ラードフ氏インタビュー 2015年12月に無事公開されたPHP7。その公開に先立ってPHPの生みの親であるラスマス・ラードフ氏に話を伺う機会がありました。英語で行われた一時間のインタビューは長大ですがラスマス氏の思想がよく分かる話題が多く、可能な限りそのままの形でお伝えすべく、その模様すべてをお届けします。 なお、インタビューは10月に開催されたPHPカンファレンス2015の講演終了後に行われ、リリースに関する話題などはその時点でのものです。 現在の仕事と生い立ち ―――― まずは、PHPを作ってくださってありがとうございます。今日の基調講演もすばらしかったです。 ラスマス:ありがとうございます。 ―――― いきなりですが、個人的な質問から始めてもいいでしょうか。 ラスマス:どうぞ。 ―――― Etsyではどのようなお仕事をなさっているんですか? ラスマ

    PHPの生みの親、ラスマス・ラードフ氏インタビュー | gihyo.jp
    stealthinu
    stealthinu 2015/12/16
    よいインタビューだった。PHPを作った思想が言語によく現れてる。
  • 本日12月1日より、2015年の技術系Advent Calendarが各所ではじまる | gihyo.jp

    日12月1日より、プログラマやエンジニア、企業、学生、団体などの有志による2015年の技術系Advent Calendar(アドベントカレンダー)が各所ではじまり、一日目を担当する人の記事が公開されてきている。 一般的なAdvent Calendarは、12月25日のクリスマスを楽しみに待つために、12月1日から24日までのカレンダーの日付それぞれの部分が扉になっており、1日ずつその日の日付の部分を開くと天使や動物の絵などが見えるという仕組みになっている(もちろん、様々なバリエーションがある⁠)⁠。 これに発想をえて、技術系Advent Calendarでは基的に、12月1日から25日までの25日間、特定のプログラミング言語縛りなどの緩やかなルールで、毎日別の人(日付を埋めるために同じ人が複数回担当することもある)が自分のblog等にて記事を書くという形式になっている(特設サイトを用意

    本日12月1日より、2015年の技術系Advent Calendarが各所ではじまる | gihyo.jp
    stealthinu
    stealthinu 2015/12/09
    アドベントカレンダー文化がすごい広まってる!見きれん。
  • 第33回 enc2xs:標準の文字コード表にはない文字を変換する | gihyo.jp

    Encodeを使っても文字化けするとき Encodeは特定のエンコーディングにしたがって配列されたバイナリを「文字列」に置き換えるためのモジュールですが、かならずしもすべてのエンコーディングがあらゆるバイナリの組み合わせに対応しているわけではありません。 たとえば、「⁠シフトJIS」環境における機種依存文字の例としてよく取り上げられる丸付き数字をEncodeのお作法通りにdecode、encodeする場合、「⁠シフトJIS」だからと思って安易にshiftjis系列のエンコーディングでdecodeしてしまうと、丸付き数字のマッピングデータがないため「?@」のように文字化けを起こしてしまいます。 use strict; use warnings; use Encode; my $binary = pack('C*', 0x87, 0x40); # ①; my $string = decode(

    第33回 enc2xs:標準の文字コード表にはない文字を変換する | gihyo.jp
    stealthinu
    stealthinu 2015/11/02
    perlでSJISの丸囲み数字が「?@」とかに化けるのはcp932でデコードすれば良い。
  • 第5回 MySQLチューニング(4) SQLチューニング基礎 | gihyo.jp

    スロークエリログの出力フォーマット スロークエリログはデフォルトではログファイルに出力されます。log_outputをTABLEに設定すると、mysqlデータベースのslow_logテーブルに出力されます。カンマ区切りで「FILE,TABLE」と設定すると、slow_logテーブルとログファイルの両方に出力されます。なお、log_outputは一般ログ(General Log)とスロークエリログの両方に影響しますので注意してください。 slow_logテーブルはCSVストレージエンジンを利用しているため、CSV形式のデータファイルをコピーして各種のツールで集計も可能です。テーブルに出力している場合のmysqldumpslowに類似した集計は下記のSQL文で可能です。 図2 mysql.slow_logテーブルからmysqldumpslow同等の集計を行うSQLmysql> SELECT

    第5回 MySQLチューニング(4) SQLチューニング基礎 | gihyo.jp
    stealthinu
    stealthinu 2015/03/31
    log_queries_not_using_indexesしたときmin_examined_row_limitで最低何行以上フルスキャンした場合という条件つけれる。/slow_queryとの併用するとand条件になってしまうので良くない感じ…
  • 第2章 関数プログラミングのパラダイム―命令プログラミングと何が違うのか | gihyo.jp

    この章では、命令プログラミングと関数プログラミングのパラダイムの違いを理解するために、簡単な計算問題を取り上げます。 命令プログラミングと関数プログラミング 当たり前過ぎて意識されていないかもしれませんが、改めて命令プログラミングのパラダイム(以下「命令型」と略記)を説明すると、次のようになります。 命令を列挙する(典型的には命令である文をセミコロンで区切って並べる) 状態がある(状態とは再代入可能な変数のこと) 再代入を使って状態を変化させる 一方、関数プログラミングのパラダイム(以下「関数型」と略記)は次のようになります。 関数を引数に適用する 状態はない (値を破壊したくなったら)新たな値を作る 状態がないので、変数の値は変わりません。これが関数プログラミングを永続データプログラミングと定義した理由です。しかし、関数型で当に問題が解けるのか疑問だと思います。これから簡単な計算問題を

    第2章 関数プログラミングのパラダイム―命令プログラミングと何が違うのか | gihyo.jp
    stealthinu
    stealthinu 2015/03/04
    写経してるが、こんな簡単なサンプルなのに呪文書いてる気分だ…
  • 第1章 関数プログラミングは難しくない!―初めて学ぶ人にも、挫折した人にもきちんとわかる | gihyo.jp

    [入門]関数プログラミング―質の高いコードをすばやく直感的に書ける! 第1章関数プログラミングは難しくない!―初めて学ぶ人にも、挫折した人にもきちんとわかる マルチコア環境が身近になった影響からか、勉強熱心なプログラマの間で関数型言語が話題になっているようです。関数型言語が奨励する関数プログラミングでは、これまで命令型言語で習得した、命令プログラミングの再代入を使う技法があまり通用しません。そのため、「⁠関数型言語は難しい」と言って途中で投げ出してしまう人も多いようです。 この特集では、関数プログラミングの習得を一度諦めてしまった人や、これから始める人のために、関数プログラミングのポイントをできるだけわかりやすく説明します。 筆者がわかるようになるまで 実は筆者も長い間、関数プログラミングを習得できませんでした。筆者は、長年Emacs Lispを使って、Mewというメールリーダーを開発して

    第1章 関数プログラミングは難しくない!―初めて学ぶ人にも、挫折した人にもきちんとわかる | gihyo.jp
    stealthinu
    stealthinu 2015/03/03
    山本和彦さんの関数プログラミング入門記事!これは期待。
  • 弊社ホームページ改ざんに関するお詫びとご報告 | gihyo.jp

    弊社ホームページにおいて、2014年12月6日11時~14時のあいだ、第三者からの不正アクセスによりサイトが改ざんされていた事が判明いたしました。ご利用頂いておりますユーザの皆さまにおかれましてはご迷惑をお掛けいたしまして、深くお詫び申し上げます。 なお、現在は被害を受けたサーバは復旧作業を実施済みです。ご利用ユーザーの皆さまの個人情報流出等は、現在のところ確認されておりません。 被害対象サイト/コンテンツ URL:http://gihyo.jp 改ざん内容とその影響 サーバの中身を入れ替えられ、外部のサイトにリダイレクトされるように設定されていた。 リダイレクトされていたサイト(アクセスしないようご注意ください⁠)⁠ www.koushin-lawfirm.net live.livelistingreport.com 現在把握している改ざんされていた可能性がある期間 2014年12月6日

    弊社ホームページ改ざんに関するお詫びとご報告 | gihyo.jp
    stealthinu
    stealthinu 2014/12/08
    技評のページがVPSコンソールから乗っ取られた経緯。詳細が結構つっこだとこまで書かれてて参考になる。フィッシングサイトのアカウント取得手段はソーシャルだったのかな?
  • 本日12月1日より、プログラマ有志による2014年の技術系Advent Calendarが各所ではじまる | gihyo.jp

    日12月1日より、プログラマ有志による2014年の技術系Advent Calendarが各所ではじまる 日12月1日より、プログラマ有志による2014年の各技術系Advent Calendar(アドベントカレンダー)が一日目を担当する人のblogではじまっている。技術系Advent Calendarの数の増加傾向は今年も続いており、Qiitaを利用したものがとても多くなっている。 一般的なAdvent Calendarは、12月25日のクリスマスを楽しみに待つために、12月1日から24日までのカレンダーの日付それぞれの部分が扉になっており、1日ずつその日の日付の部分を開くと天使や動物の絵などが見えるという仕組みになっている(もちろん、様々なバリエーションがある⁠)⁠。 これに発想をえて、技術系Advent Calendarでは基的に、12月1日から25日までの25日間、特定のプログラ

    本日12月1日より、プログラマ有志による2014年の技術系Advent Calendarが各所ではじまる | gihyo.jp
    stealthinu
    stealthinu 2014/12/01
    今年のadvent calendarまとめ。postfixにちょりっと参加。
  • Day1:まずはゲームの土台作り! | gihyo.jp

    Unityを使えば、個人でも短期間でゲームが作れる 「ゲームを作りたい!」 誰もが一度は思ったことがあるのではないでしょうか? 私もそうでした。しかしいざゲーム開発のを読んでみると、C++で書かれた難解で膨大な記事に圧倒されて自分には無理だと諦めていました。 ですが、私はこれまでに2か月間で2つのゲームを作ることができました。なぜ、そのようなことができたのか? その答えは「Unityを使ったから!」です。 Unityを使えばC++の難解で膨大なコードを書く必要がありません。ゲームのオブジェクトをGUIで配置して、それらを操作するスクリプトを少し書くだけで、ゲームを作ることができます。スクリプトを書くのに使うプログラミング言語は、C#、UnityScript(静的型付JavaScript⁠)⁠、Boo(静的型付Python)から選ぶことができます。 また、Unityではゲームに使用する3D

    Day1:まずはゲームの土台作り! | gihyo.jp
    stealthinu
    stealthinu 2014/10/06
    unity入門記事。せめて触っておかないとな。