タグ

#programmingに関するDoenのブックマーク (530)

  • 中学校で使われているプログラミングの教科書を全部購入して比較

    Jul 17, 2018 前回に引き続きプログラミング教育についての記事です。 ディスる前に知っておくべき「プログラミング教育」のこと 前回の記事でも触れたとおり、すでに義務教育である中学校でプログラミングの教育は行われています。 プログラミングに関する内容が含まれているのは技術・家庭の技術分野の「情報に関する技術」の領域です。 今回は現在日の学校で使われている教科書を大人買いして読み比べてみた私見を記事にします。 学習指導要領の中では「情報に関する技術」次のように定義されています。 この学習の内容は,(1)情報通信ネットワークと情報モラル,(2)ディジタル作品の設計・制作,(3)プログラムによる計測・制御の3項目で構成されている。(1)のア,イ,ウでは,情報に関する基礎的・基的な知識及び技術について,(2),(3)では,(1)のア,イ,ウで学んだ内容を活用したディジタル作品の設計・制

    中学校で使われているプログラミングの教科書を全部購入して比較
  • ゼロ幅文字にエンコードした隠し情報で、文書をリークしたメンバーを特定 | 秋元@サイボウズラボ・プログラマー・ブログ

    とある会員制掲示板からの文書の流出に困った運営者が、ユニコードの見えない文字「ゼロ幅文字(Zero-Width characters)」を使って流出させたユーザーを特定した、という話が出ていました。 数年前の話、Tom さんが所属していた競技ビデオゲームのチームでは、ログインが必要なプライベートの掲示板を使って連絡していました。その掲示板に書かれた秘密情報や戦術に関する重大アナウンスなどがしばしば掲示板外のウェブにコピペされ、チームにとって大きな問題となっていたそうです。 外部ユーザーの攻撃で中身が漏れたというよりは、メンバーの誰かがコピーしているのでは、と考えた Tom さんは、当時気になっていたユニコードのゼロ幅文字を使ったトリックを仕掛けたそうです。 ユーザーを特定する情報を、見えない文字に変換して埋め込む ログイン中のログインユーザーのユーザーIDを、一定のルールによってゼロ幅文字

    ゼロ幅文字にエンコードした隠し情報で、文書をリークしたメンバーを特定 | 秋元@サイボウズラボ・プログラマー・ブログ
  • 天才まくまくノート

    これからの構成管理は Ansible で! DevOps の要! Infrastructur as Code!

    天才まくまくノート
  • kotlinの良いところとモヤッとするところ

    趣味Android WearのWatch Faceを作っているのですが、せっかくなのでJavaではなくkotlinで書いてみました。以下のようなすごくシンプルなWatch Face(N88-BASICを模倣)なのですが、Javaではなく、あえてkotlinで書いたときに「お?これは!」と思った点を書いていこうと思います。 (追記 2016/01/16) 以下は主にAndroid開発者向けです。Java8は比較対象外です。 とにかくJavaのクラスが普通に使える 文法はkotlinで書いていくのですが、既存のJavaのクラスを全く苦労することなく使えました。AndroidのクラスライブラリにあるPointクラスを使いたい場合は、 val point = Point(100, 150) val x = point.x val y = point.y というように「普通に」使えます。当に何も

    kotlinの良いところとモヤッとするところ
  • JavaプログラマのためのKotlin入門 - Qiita

    KotlinAndroid の公式言語になることが Goole I/O 2017 で発表されました。 Java プログラマが Kotlin を始めることがこれから多くなると思うので、 Kotlin をスムーズに始められるように次の 3 点についてまとめます。 Javaとほぼ同じところ 新しい考え方が必要でつまづきがちなところ Kotlinならではの便利なこと すべてを一つの投稿にすると長くなるので連載形式とし、投稿では最初の「Javaと同じところ」について説明します。 Kotlinって何? 題の前に、 Kotlin について簡単に説明します。 まずは↓の Android のコードを見て下さい。これは Android Studio が生成するテンプレートの Kotlin 版です。 Android アプリ開発者であれば、初見でも概ね何をしているのかわかると思います。 class Ma

    JavaプログラマのためのKotlin入門 - Qiita
  • Android開発を受注したからKotlinをガッツリ使ってみたら最高だった - Qiita

    関連記事 この記事も古くなりましたね。執筆時の実装バージョンKotlin 0.12から1.0.2へのアップグレード対応をした際の知見を記事にしました。 Kotlinを実案件で使いました 先日、僕の勤め先のQonceptは『リアル鬼ごっこ』×富士急ハイランド 巨大遊園地からの逃走を開発、リリースしました。 富士急ハイランドで実際に鬼ごっこをする企画で、一般のお客さんがスマホで専用アプリを使いながらクリアを目指します。園内には鬼役のスタッフや、ゲーム進行に関わる設備などがあり、これらとスマホがiBeacon(BluetoothLE)を用いて連動することで、ダメージを受けたり、アイテムを使用したり、クイズを解いたりなどします。 Qonceptの開発範囲は、iOSアプリ(とAppleWatchアプリ)、Androidアプリ、サーバサイドでした。 受注確定となった時点で、残り日数と開発者リソースに対

    Android開発を受注したからKotlinをガッツリ使ってみたら最高だった - Qiita
  • 【2017年版】スマホアプリ開発環境の種類一覧と選び方

    新記事【2019年版】スマホアプリ開発環境のオススメ考察を投稿しました。 スマホアプリを開発するにはPC上に開発環境を構築する必要があります。 この開発環境を構築するという作業は結構大変です。 色々と必要なものをインストールしたり、PCの設定を変更したり、途中でハマってググってみたり、結構な労力を伴います。 AndroidiPhoneが出た当初、開発環境の選択肢は少なかったため迷うことはなかったのですが、最近は選択肢が多すぎて何を選べばいいのか分からない方は多いと思います。 基的に作りたいアプリのジャンルや方向性、個人のスキル、今までの経験など、様々な要因によって開発環境の最適解は異なります。 絶対これだ!というものはありません。 しかし、苦労して開発環境を構築し開発を始めた直後、たまたまググって見たサイトの情報で 「今の開発環境より、こっちの方がよくね?」 みたいな悲しい出来事は事前

    【2017年版】スマホアプリ開発環境の種類一覧と選び方
  • 真偽値を返す関数のネーミング - Qiita

    みんな exists を使ってます。 納得できようができまいが、exists なのです。 ソフトウェアの世界では、AppleMicrosoftGoogle が黒と言ったら黒です。 黙って従いましょう。 このように、関数名の表現に困ったら、世の中の API を参考にすると良いです。 非ネイティブの我々では思いつかないような的確な表現が見つかることもあります。 関数の名付け方 真偽値を返す関数は if 文で使われることが多いので、頭に if を置いて最もしっくり来る表現が良いと思います。 個人的には、真偽値を返す関数名を考えるときは以下のフォーマットに当てはめるようにしています。 if オブジェクト名 関数名 「項目が選択中だったら」なら "if item is selected" なので関数名は item.isSelected() となります。 同様に「項目が存在したら」なら "

    真偽値を返す関数のネーミング - Qiita
  • 『機装猟兵ガンハウンド』の全素材とプログラムなどが無償提供 夏休みの大人の自由研究に2Dアクションゲームを - ファミ通.com

    夏休みの自由研究に2Dアクションゲームを! ドラキューにて、プレイステーション4版『重装機兵レイノス』などを手掛けてきた富野裕樹氏が新会社ガルルソフトウェア研究所を設立。「世の中に2Dゲームの新作が次々に現れてくれることを期待して」(リリースより)、WindowsおよびPSP用2Dアクションゲーム『機装猟兵ガンハウンド』の全素材とプログラム、およびゲームを効率よく作れるゲームライブラリ“gxLib”の無償公開を開始した。 以下、リリースより。 株式会社ガルルソフトウェア研究所(大阪府吹田市、代表取締役 富野 裕樹)では世の中に2Dゲームの新作が次々に現れてくれることを期待してWindows/PSPで好評を博した2Dアクションゲーム「機装猟兵ガンハウンド」の全素材とプログラム、及びゲームを効率良く作れるゲームライブラリ「gxLib」の無償公開を開始しました。 「機装猟兵ガンハウンド」ではBG

    『機装猟兵ガンハウンド』の全素材とプログラムなどが無償提供 夏休みの大人の自由研究に2Dアクションゲームを - ファミ通.com
  • String型の半角文字の数を取得する方法はないでしょうか?ただし全角文字は半角文字2つ分と数えます。"abcの歌"->7(半3:全... - Yahoo!知恵袋

    Stringクラスの codePointAt (int) メソッドを使う方法もあるねぇ。codePointAt (i) は 0 から数えて i 番目の文字のコードポイント(※1)を返すんだ。例えば 「"abcの歌".charAt (2)」 は文字 「c」 のコードポイント 0x63 を返すよ。 これを使って、 ────────────────────────────── String s = "abcの歌" ; int 半角 = 0 ; int 全角 = 0 ; for (int i=s.length ()-1 ; 0<=i ; --i) .... { .... int cp = s .codePointAt (i) ; .... if (0x0<=cp && cp <= 0x7F) ++半角 ; /* ASCII文字 */ .... else if (0xFF61<=cp && cp<=

    String型の半角文字の数を取得する方法はないでしょうか?ただし全角文字は半角文字2つ分と数えます。"abcの歌"->7(半3:全... - Yahoo!知恵袋
    Doen
    Doen 2016/07/28
    今まで ShiftJIS に変換して数えてたけど、ベストアンサーのほうがよさそう
  • 入門書が教えてくれないJava 変数編 - プログラマーの脳みそ

    春なのでJava入門的なことを書こうと思い立ったので、入門書ではあまりとりあげられない部分を解説するコンセプトの入門記事を書いてみようと思う。(←ひねくれ者) 対象読者としては、Java言語の基礎を学んだがもう一歩踏み込んだ話が知りたいぐらいの初学者〜中級者を想定してる。上級者の方は記述に誤りがないかチェックしていただければ幸いだが、説明を簡単にするためにいろいろ端折っている点はご理解いただきたい。 今回は変数・フィールド編とした。筆者のやる気次第だがこのシリーズでいくつか書こうと考えている。 入門書が教えてくれないJava 変数編 (稿) 入門書が教えてくれないJava スコープ編 - プログラマーの脳みそ 初期値を指定しない変数宣言 変数宣言に際して初期値を設定しないことができる。 int i; この場合、このint i;がフィールドであるか、ローカル変数であるかで扱いが変わってくる

    入門書が教えてくれないJava 変数編 - プログラマーの脳みそ
  • 日本人が間違いやすいコーディング上の英語 - Qiita

    コードレビューしていく中で、コードのレビューというよりは英語のレビューをしている時があって、日人が特に間違えやすいと思われるポイントをいくつかまとめておきたいと思います。 下記はrubyのコードをサンプルにしています。特にrubyはコードを英文として読めるように書けるというのをこだわっているのでより英語表現を意識した書き方をしたいですね。 自動詞と他動詞 日語の自動詞と他動詞は、"を"をつけるかどうかの問題で動詞の問題ではないので、日人は自動詞や他動詞の意識が低いようです。英語では使い方をしっかりしないと意味のわからないメソッドが完成します。

    日本人が間違いやすいコーディング上の英語 - Qiita
  • 手続き型のダンジョン生成アルゴリズム | プログラミング | POSTD

    この投稿では、以前に TinyKeepDev が こちら で述べたランダムなダンジョンを生成する技法について説明しようと思います。元の投稿に比べて、もう少し具体的に話を進めるつもりです。まずは、以下に示したアルゴリズムの一般的な動作をご覧ください。 部屋の生成 はじめに、幅と高さを持つ部屋を円の中にランダムに配置しましょう。TKdevのアルゴリズムは、各部屋のサイズを生成するのに正規分布を用いています。これは一般的にとてもいいアイデアです。なぜかと言うと、これによってより多くのパラメータを扱うことができるようになるからです。幅/高さの平均と標準偏差間の異なる比率を選ぶと、通常は見た目の違うダンジョンとなります。 ここで実行すべき関数は getRandomPointInCircle です。 function getRandomPointInCircle(radius) local t = 2

    手続き型のダンジョン生成アルゴリズム | プログラミング | POSTD
  • モデルやメソッドに名前を付けるときは英語の品詞に気をつけよう - Qiita

    はじめに 他の人が書いたコードを読んでいるときに時々気になるのが、英語の間違いです。 特に動詞、名詞、形容詞の使い分けが間違っていたりすると、かなり違和感を感じます。 そこで今回はモデル(=クラス)やメソッドに名前を付けるときの基的な原則をまとめてみます。 また、英文法的に正しい品詞が選べるようになるための習慣についても最後に説明します。 想定する言語/フレームワーク この記事の説明ではRuby/Ruby on Railsを想定しています。 ただし、基的な考え方は他の言語でも同じように使えるはずです。 モデルの名前は名詞にする 例: 「支払い情報」を表すモデルを作りたい場合 × Pay ○ Payment 「支払う = payか。よし。」でモデルを作ってはいけません! payは動詞で、payの名詞形がpaymentです。 Payモデルではなく、Paymentモデルを作りましょう。 例:

    モデルやメソッドに名前を付けるときは英語の品詞に気をつけよう - Qiita
  • バグのリレー

    カムチャッカのPGが 再現不能のエラーに出くわしている時 メキシコのSEは 朝もやの中でミドルウェアのデバッグを待っている ニューヨークのPLが絶望しながら リスケしているとき ローマのPMは顔を赤く染める 取締役にウインクする この地球では いつもどこかで バグが起こっている ぼくらはバグをリレーするのだ 緯度から 緯度へと そうしていわば交替でソフトを守る 眠る前のひととき 耳をすますと どこか遠くで 致命的なエラーのBEEP音が鳴っている それはあなたの見過ごしたバグを 誰かがしっかりと受け止めた 証拠なのだ

    バグのリレー
    Doen
    Doen 2015/09/25
    タイトルのダブルミーニングが良い
  • ノウハウの共有文化がない場所にコードレビューをねじ込んでみた結果とか - タオルケット体操

    コードレビューをキメると品質も上がるし自分のレベルも上がるので最高」みたいな論が巷を賑わせていて、以前はそういうイケてる制度を指をくわえてみるのみだったのだけれど、最近職場と、それと個人的に関わったプロジェクトコードレビュー制を無理矢理交渉して導入してみた結果、世間のイケてる書籍やエントリから得られる情報とはまた少し違う知見が得られたので書いてみる。 割と泥臭かったり、あまり希望に溢れてたりはしない感じのエントリなのでそういうのは期待しないほうがいいです。 準備 些末なコードレビューを極力避けるために、コードの規約やスタイルについてはlintとフォーマッターを用意した。 他は無策。 結論 結論から言うと、理想的な運用は出来なかったものの、コードレビューについて世間で言われるような成果(作業を共有する意識、レベルの向上)は得られた。良かった。 ぶっちゃけ僕なんかが浅はかな考えで導入しても

    ノウハウの共有文化がない場所にコードレビューをねじ込んでみた結果とか - タオルケット体操
  • うまくメソッド名を付けるための参考情報 - Qiita

    クラス名編をつくりました あるメソッドを定義しようとするとき、そのメソッドを使う人達が名前からどんなことをするか理解できるようにするには、メソッドの内容に応じて適切な情報量の命名が求められます。 この記事では、メソッド名に用いることでどのような情報が提供できるかを見ていきたいと思います。 真偽値を返すメソッド 場所 単語 意味 例

    うまくメソッド名を付けるための参考情報 - Qiita
  • String.format("%d", i)で数字が出てくると思ってたら死んだ話 - Qiita

    あるSlackでの会話 何がおきているのか Android 端末でプラットフォームの API バージョンを出すのに、ちょっと色気を出して、 なんて書いたりします。で、だいたい android-22 みたいな感じになるんですけど、でもやっぱり世界ってのは広くて、ふと見たらなんか android-١٦ とか android-၂၂ とか不思議なやつがいるんですよ。 何それ読めない。 もしかして SDK_INT が変な端末がいるのかな??と一瞬考えたんですが、 Build.VERSION.SDK_INT は名前通りプリミティブな public static final int なので疑いようがなかった。 AndroidじゃなくてJavaの仕様 でよくよく調べると、 java.util.Formatter のドキュメントに Number Localization Algorithm なんてものが書か

    String.format("%d", i)で数字が出てくると思ってたら死んだ話 - Qiita
    Doen
    Doen 2015/07/31
    『String.format(Locale.US, "%d", 0) を使えよ、って話』
  • プログラムのインデントにスペースを使うという悪習

    タブではなく、スペースをインデントに使えというコーディング規約をよく見かけるけど、 タブのほうが便利じゃないかと思うわけ。 よくタブは環境によってインデントが崩れるというけど、 タブの数さえ揃えておけば、設定で一発でなおるけどどうなの? スペースだと、そもそも各環境で設定する必要が無いとか言う人いるけどさ、 それは表示だけの問題であって、入力の都合はぜんぜん考えてないよね。 スペースを4回だか8回押すとか、普通に考えて不毛だよね。 指疲れるわ。 だいたいのIDEはタブキーを押せば自動的にスペース4文字だか8文字に変換されるっていうけどさ、 たかだかインデントの為に、IDEを導入するコストと、設定ひとつ変えるコストはどちらが安上がりかって話。 PCの移行コストをかけたくないから、 できるだけ、ツールはカスタマイズせずにデフォルト設定がイケてるものを選ぶようにしている。 カスタマイズ前提のツー

    プログラムのインデントにスペースを使うという悪習
  • 今さら聞けない高性能エディタVim入門

    サクラエディタなど基的なエディタに慣れたら、次に気になるのはさらに高性能エディタの代表格、vimではないでしょうか?Vimはプログラムコードやシステム設定ファイルなどの編集で威力を発揮するためエンジニアにファンが多いのも特徴ですが、エンジニアを惚れ込ませるその高性能さは一度惚れてしまうと離れられなくなるほど。慣れるまでは少し大変かもしれない上級者向けエディタですが、今回はその苦労を補って余りある高性能エディタ、vimの魅力をご紹介しようと思います! "CodeCampus"はオンラインプログラミングスクール No.1のCodeCampが運営するプログラミング未経験の方のための学習メディアです CodeCampとは?(受講生体験記) 「エンジニアは女性のキャリアとして魅力的」未経験からの転職体験記リモートワーク×多拠点居住の新しい生き方を実現する。元バレエダンサーの挑戦普通の文系大学生/営

    今さら聞けない高性能エディタVim入門
    Doen
    Doen 2015/03/17
    使えるようになれば楽になるんだろうけど、慣れるまでが辛そう