最近継承してないな〜
![継承って結局いつ使うの?](https://cdn-ak-scissors.b.st-hatena.com/image/square/b1638cdb5807a4788e4ba3c1109a984166e095fc/height=288;version=1;width=512/https%3A%2F%2Fanond.hatelabo.jp%2Fimages%2Fog-image-1500.gif)
将棋駒画像分類の話の続きのような、あんまり関係もないような。 memo.sugyan.com memo.sugyan.com 結局、素材を組み合わせて自動で生成しただけの駒画像ではやはりデータが足りていないようで、「やはりもっと様々な画像から人力でラベル付けしてデータセットを作っていく必要がありそう」ということになった。 とはいえ、インターネットから画像を拾ってこようと思うと、例えば以下のような感じで (引用元: フリー写真素材ぱくたそ) 多少ならともかく 斜めの角度から写っているものは、そのまま矩形に切り出して学習用画像データに利用するのは難しそう。 これらはうまいこと変形して使いたい。 いわゆるperspective projectionの逆変換のような操作が必要になる。 JavaScriptを使ったCanvas APIでの変換では簡単な拡大・縮小などの変換は可能だけど こういったpe
はじめに サイボウズさんの ImageMagick の利用をやめる記事について少し思う所を書きます。否定というよりアシストのつもりです。(2018年08月26日投稿) さようなら ImageMagick 自分のスタンスを3行でまとめると、 policy.xml で読み書き出来るファイル形式を絞れば、いうほど怖くはない ただ、ImageMagick に限らずサーバサイドで動かすのは手間と覚悟が要る Yahoobleed の件でコード品質が信用ならないと言われたら、ごめんなさい 「ImageMagick を外した理由」 サイボウズさんのブログでは、2017年の ImageMagick 脆弱性報告数が多いので駄目との事です。 脆弱性 ImageMagick には脆弱性が大量に存在します。 2017 年に報告された ImageMagick の脆弱性は 236 件 でした。 大量にある上にリモートコ
コンピューターを使って、子どもたちに、論理的に考える力を身につけてもらう「プログラミング教育」が再来年から小学校で必修になるのを前に、人気の家庭用ゲーム機を使って作曲に挑戦する授業が17日、天童市で行われました。 天童市の寺津小学校は、教育委員会から委嘱されて、プログラミング教育の必修化に向けた取り組みを進めていて、17日の授業には5年生17人が参加しました。 子どもたちは3人から4人のグループに分かれると、家庭用ゲーム機と専用のソフトを使って、さっそく曲作りに挑戦しました。 コントローラーを使った簡単な操作で、さまざまな楽器の音を再現できるようになっていて、子どもたちは「この音がいいね」と意見を出し合いながら、ドラムやベースなどの音を組み合わせて思い思いに曲を作っていました。 参加した女の子の1人は、「ゲーム機を使った曲作りは楽しかったので、もっと勉強したいです」と話していました。 作曲
こんにちは、Webチームの柴山(@shikeapp0909)です。 今回は、弊社Webアプリ「mamanoko」の一部に処理高速化のためにGoを導入したので、どのように導入したかをご紹介しようと思います。 Railsで開発しているWebアプリ内にどのようにGoを取り入れたのか、実際のコード例を交えながら解説していきたいと思います。 なぜRails環境にGoを導入したのか そもそもなぜGoを導入することになったのかと疑問に思われるかと思います。 mamanokoはメディアサービスのため、ライターさんに文章を書いていただいています。複数のライターさんがおり、文章量も膨大になるため、表記揺れや誤字がどうしても出てきてしまいます。 そのため、文章校正が必要であり、以前からその機能を提供していました。 しかしこの文章校正の機能は記事の文章に対して表記揺れなどチェックしたい単語を総なめする処理をしてい
魔法学校テクノロジアとかいうやつ どっかの電気屋でチラッと見たことあるんだけど、ここを変えるとこうなる、というのがリアルタイムで分かるようになってて感動した。 ほとんどのプログラミング本や講座はほぼ学校の教科書でつまらんしわかりにくいし楽しくもない。 分かる人向け・才能がある人向けの講座だ。 ディズニーのはゲーム形式みたいだし楽しさしかなさそう。 とりあえず体験版申し込んだ。 プログラミング挫折勢だけど手を出す価値あるかなぁ。 取り扱い言語がいいのか悪いのかもわからん。 HTMLとCSSは理解済みだから学習必要ないけど。 どのレベルまで学習できるのかはしらん。 JavaScript/HTML/CSS/Processing/Shader jsは知ってるけどプロセッシングとかシェーダ?とかは初めて聞いた 10万かけて学ぶ価値はあるのだろうか
どうも、さっそ (@satorusasozaki) です。 ぼくは「シリコンバレーで世界を変えるプロダクト作る!」という目標を掲げ、3年前に渡米しました。最初の2年間はエンジニアとして活動し、3年目に現地で出会った4人の仲間とスタートアップを始めました。1年少し続けたのですが解散することになったので、今日は以下の3点を中心に、振り返りを書いてみたいと思います。 ・シリコンバレーで現地の人とスタートアップを創業するまで ・スタートアップな生活 ・スタートアップが解散する理由 シリコンバレーで現地の人とスタートアップをするのはどんな感じなのか、できるだけ具体的に想像していただけるように、私生活など、仕事以外のことも織り交ぜながら書いていきたいと思います。これからサンフランシスコ・シリコンバレーに来て何かやってみたいという人のお役に立てれば嬉しいです。 ・・・ スタートアップを始めるまで最初に、
「3台のディスプレイで描かれる広大なステージ」「魚介類を模した巨大ボス」「プレイヤーの選択で攻略ルートが分岐」など、画期的な設計で知られるアーケードゲーム「ダライアス」(1986年/タイトー)。この名作シューティングを、個人でメガドライブへ移植した猛者が現れました。完成度半端ない。 実機で動く私家版ダライアス 多関節で動くボスの挙動もばっちり デモ画面までていねいに作られています 作者のHIdecade(@AC_Hidecad)さんは、開発の経緯を自身のブログ「Arcade Cabinet」につづっています。もともと3画面構成の原作を1画面仕様で再構成し、ボスのアニメーションやステージの地形など、細部までメガドライブの性能で再現。これら全て、私蔵のオリジナル版を目で見て参考にして作った(いわば“目コピ”)というから驚きです。 参考にしたオリジナル版ダライアス(なんと筐体もHidecadeさ
2018/6/4 公開していたサービスはAPIのリクエスト数上限を超えたため、停止いたしました ここでは元々作成したサイトも紹介していましたが、F5攻撃を受けたことでAPIのリクエスト数上限を超えてしまいました。 元々勉強の為に作成した物だったのでこのまま対策方法を学ぶのも時間が掛かりそうでしたのでサービスは終了させました。 今後のために対策方法がわかれば、次のサービスを公開する際に一緒に共有しようと思っています。 ここには公開手順のみ残して置きますのでよければ参考にしてください。 本文 自分で作ったwebサービスを公開したことがなかったので、知見を広げる為にもやってみようと思いました。 同じように、知識が浅い人、作ったサービスを公開したいけど何をすればいいかわからないという人の参考になればと思います。 公開手順 GitHubに登録 もしかしたら最初にやるべき事なのかもしれないですけど、ノ
人工知能(AI)の中で最も多くの技術革新を起こしているディープラーニング(DL、深層学習)で、ビジネスチャンスをつかむために必要なことは何か。日本ディープラーニング協会(JDLA)理事長を務める東京大学の松尾豊特任准教授は、「やったもの勝ちだ」と強調する。今、必要なのは、ただ知ることではなく、行動するための知識だ。 薄く広くでは負けてしまう -DL活用の現状をどうみていますか。 「DLは数十年に1度の技術革新だ。画像や音声などの処理に強みを発揮し、医療や監視カメラで活用が進む。ロボットや機械は対象を認識する目を持ち、動きが高度になる。言葉にひも付けて理解できるようになり、言葉から知識を獲得できるようになる」 -日本の現状は。 「多くのビジネスチャンスが転がっているが、日本ではDLの活用が進んでない。やらない理由を探しているようにも見える。産業の戦いでは、『どうやって稼ぐか』を考え、逆算して
Help us understand the problem. What is going on with this article? 2018/07/05 追記 JavaScript と漸進的型付について詳しい mizchi さんが記事を書いたので、併せて読むと良さそうです。 漸進的型付け言語の時代に必要なもの 前置き RubyKaigi2018 の発表で型の導入の検討についての話がいくつかあったものの、 Matz 自身は型アノテーションに否定的であるという発言をしているとのことを受けて、自分の意見の表明として書いている。 筆者は Ruby に育てられて Ruby は好きであるが、業務経験は主に JavaScript(TypeScript) や Python(Type Hinting) が多く、漸進的型付けによるコードの健全化を経験した上で、型付きの方が好きであるという立場である。 なお
はい。 ああ、近所の通り魔は捕まったそうです。これで背後を警戒しなくてよくなりますね(尚、実際は数日で忘れて背後なんか見なくなってた) さて、なぜかヨーロッパの人達はレトロゲームが大好きなようでTwitter等でよく反応をもらう(日本人より多い)のですが、その中で Mode 7 使わないの?使ってよ、と言われて、せっかくなので全機能制覇を目指してテストプログラムを作ってみました。 Mode 7 というのはF-ZEROやパイロットウィングスみたいな……と言えばもう伝わったかと思いますが、巨大な一枚絵をグリグリ回すスーファミ独特の疑似3Dのことを指しています。(尚、下に書きましたが技術的には「画面モード7」の応用例として疑似3Dがあるだけで、疑似3DのことをMode 7と呼ぶのは俗称です) ↓結果としてはこんな感じに 実は「画面モード7」自体には3D機能は無く平面の変形機能を提供するだけで、遠
最近巷では俄に型システムについての言及が増え、型システムポエマーが増えてる気がするので自分もその時流に乗りたい。 完全にポエムだけどなんかあったら随時指摘ください。直します。 TL;DR 言いたいことはまとめると次 型システムは程度問題なのでちょうどいいところを探すべき 型は万能でも強さが正義でもない(だから未だに研究されてる) よく知りもしないくせに計算機科学を侮辱するのはやめろ 予防線 あくまでポエムですので中身はないです 私は型理論専攻で学位はとったものの研究者ではないのであまり信用しすぎないように 型システムの過去 型システムは大まかに次のような利点があるとされてきた(個人的主観) 「異常」なプログラムを検出する仕組み 静的解析による分かりやすいエラーメッセージ 型そのもののドキュメント性 IDEでのcompletionに貢献 最適化に貢献 (数学に正しく裏打ちされたsemanti
現在、C++によるプログラミングの入門書を書いているので、初心者のプログラミングの学習過程にとても興味がある。私自身も初心者の気持ちを取り戻すためにHaskellを学んでみた。最初の数日は頭が痛くなるほど難しかったが、そこを過ぎてみれば後は楽になってしまった。結局、初心者の気持ちはあまりわからなかった。結局、プログラミングの基礎はすでに学んでしまっているので、 先日、FizzBuzzがわからないから教えてくれという知人がいたので、これは初心者の気持ちを知るいい機会と話を聞いてみたところ、想像を絶する世界が見えてきた。 まずこれが動かないと悩んでいたコードだ。 for ( int i = 0 ; i <= 100 ; i++ ) { } else if ( i % 15 == 0 ) { Debug.log("FizzBuzz") ; } else if ( i % 3 == 0 ) { D
パラメータを決める 次に関数に渡すパラメータを決めます。 関数の名前で表現されている処理を実現するには、どれだけのパラメータがあればよいか? と考えてみましょう。 今回の例でいえば「お客さんの年齢」と「日付」があれば、すべてのチケット価格が計算できます。 ということで、age と date の2つのパラメータを渡すことにします。 function calculateTicketPrice (age, date) { } パラメータの名前も、なにを表しているかわかるようにしてくださいね。 くれぐれも「hensu」とか適当な名前をつけたり、同じ変数にぜんぜん違う値を繰り返し代入したりすることのないようにしましょう。 テストを書く 次にユニットテストを書きましょう。 テストは常に更新される仕様書です。 業務ロジックをテストに説明させておけば、関数の仕様をコメントにいちいち書く必要などありません。
こんにちは、本業の稼働が 100% フロントエンドになっちゃっていてそろそろデータをいじりたいヌノカワです。 先日、qiita で日本一マクドナルドから遠い場所という記事を見つけて読んでみたんですが、探索する過程が意外とアナログなところも含めて面白かったです。 ただ、800 を超えるいいねをもらってるのを見て、謎のジェラシーと対抗心が生まれ、地理空間演算で「本当に」日本一マクドナルドから遠い場所を突き止めてみようというのが主旨です。 qiita の当記事では、マクドナルドの地点からバッファー (地点を中心とした円) を生成して徐々に半径を広げ、かすかに残っている陸地を (目視で!) 絞って行くというハートウォーミングな内容です。そこをもう少し論理的に探索してみましょう。 私が考えたアプローチはこんな感じでございます。 1. マクドナルドの地点を母点としたボロノイ図を生成する 2. ボロノイ
プログラミング教育や子育てに通じるかもしれないプログラミングが大嫌いになった体験談をよかったら聴いて欲しい。こんな悲しい子どもが2度と生まれてはいけない 自分が小学生のころのこと、まさに昭和の全盛期と言っていい時代だった。経済は発展し新しい文化や文明の利器が世の中には溢れ出していた。 その中の一つが全ての小学生が夢中になったファミリーコンピューター、通称ファミコンだった。 僕たちはファミコン世代とも呼ばれ外で遊ぶことが減った最初の世代だ。ゲーム機本体を持っていることは最高のステータスであり、人気ソフトを持っているとそいつの家はたまり場になる。特にゲームのうまいやつはヒーローだった。 そんな時「ゲームが欲しい欲しい欲しい欲しい欲しい欲しい欲しい欲しい欲しい欲しい欲しい欲しい」とねだる少年に手を焼いた父親は一冊の本を買ってきた。うろ覚えだが多分、C言語のプログラミング系雑誌だったと思う。そして
はじめに 当たり前だと思うのですが、意外と守られていないことがあります。その1つの例として、条件分岐でのbooleanの扱いを挙げてみます。 ~~タイトルには「Javaでは」と書きましたが、おそらくどの言語でも同じです。~~JavaScriptなど他の言語では当てはまらないので取り消します1。 何がダメか 明確にコーディング規約で否定しているケースもありますが2、Javaでは以下のようなコードは書いてはいけません。 if (isAdmin == true) { // isAdminがtrueのとき } if (isAdmin == false) { // isAdminがfalseのとき }
まえおき 巷では「プログラマーになりたい人に初学者にとって、ポインタという考え方がわけわかめ」という話がよくあります。 そこでいろいろな人が「ポインタは住所だ」とか「変数がハコで」とか手を変え品を変え分かりやすいように説明してくれています。 それでもなお「ポインタがわかりづらい」という人が後を絶ちません。 もういっそのこと、例え話をやめてド直球で攻めたらいいんじゃないでしょうか。 Hello, Worldより簡単に サンプルコード 以下のコードを考えます。 void main() { int a; int b; int c; a = 1; b = 2; c = a + b; } 「#include <stdio.h>」なんていう謎のオマジナイはこの際ナシです。あんなもの無くたってC言語は成り立ちます。 まぁ見ての通り、どこにも何も出力されませんが。 このプログラムは、「c = a + b」
なにをやったの ふらっと外に出てみたらちょうど空が夕焼けていて「ずいぶん日が短くなってきたなあ」とか、あるいは夜、なんとなく空を見上げてみたら綺麗な満月で「もうひと月たったか」とか、そんな、ふと時の流れを感じる瞬間が僕は好きです。 が、社会人になってから、退社したら外はもう夜、という日がほとんどになって、そんな瞬間を感じることが減ってしまったなあとふと思いました。 そんなわけで、その時刻の空の色(イメージ)、月齢、天気を反映した時計ウィジェットを作ってみました。モードラインなどに置いておくと、ふと目をやったときに、ちょっとほっこりできるかもしれません。 スクリーンショット モードラインに設置 色のサンプル インストール GitHub: https://github.com/zk-phi/sky-color-clock load-path の通ったディレクトリにダウンロード (clone)、
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く