タグ

プログラミングに関するNagataniのブックマーク (166)

  • オブジェクト指向のその前に-凝集度と結合度/Coheision-Coupling

    Jetpack ComposeとGraphQLによるServer Driven UI/jetpackcompose-grahpql-serverdrivernui

    オブジェクト指向のその前に-凝集度と結合度/Coheision-Coupling
  • 25年前の未来の言語の話 - Qiita

    私ごとですが、12月の9日に50歳になりました。そこでというわけでもないのですが、25年くらい前のプログラミング言語の技術について書きたいと思います。お話は大学院で学んだ動的型付けの並列オブジェクト指向の実装に偏っています。 背景 時は1990年代前半、今と同じようにCPUの性能は頭打ちになり解決策は並列化しかないということで盛んに並列処理の研究がされていました。もっとも、その後CPUは1000倍以上速くなっているのですが。 1981年にBYTE誌でSmalltalk-80を衝撃的に紹介されたのをきっかけにオブジェクト指向が注目されC++によって実用レベルで使われだしてきました。それとは別にSmalltalkのごく初期の実装(-72)にインスパイアされた、オブジェクト指向によく似た並列な計算モデルとしてアクターモデルというものが1973年に提唱されていてアクターモデルを応用した並列処理言語

    25年前の未来の言語の話 - Qiita
  • レトロゲームエンジン Pyxel でプログラミングを始めよう! - kitao's blog

    Pyxelの開発が一区切りしたので、改めて紹介記事を書いてみました。 [2020.4.4追記:最新版の紹介記事はこちらです] Pyxelって何? Pyxel(ピクセル)は、昔ながらのドット絵タイプのゲームを簡単に作れる「レトロゲームエンジン」です。 2018年7月30日にリリースされた、非常に新しいゲームエンジンなのですが、海外を中心に急速にユーザーが増えています。 github.com プロジェクトGitHubでオープンソースとして公開されており、公開4日でGitHubのデイリーランキングで全1億のプロジェクト中1位を獲得。ついでに作者である私もGoogle、Facebook、Microsoft等の企業アカウントを含む3100万人の開発者ランキングで1位になっています。(1位の座は48時間持ちませんでしたが…) GitHub上ではその後もスター数が増え続けており、現在は4000スターを

    レトロゲームエンジン Pyxel でプログラミングを始めよう! - kitao's blog
  • 大学でプログラミング教育のことについて発表してきました - パパ教員の戯れ言日記

    お世話になった先生に呼ばれました お世話になった大学の先生から Scratch Dayでイベントをやるから、発表をお願いできますか と呼ばれまして、発表をしてまいりました。 午前のプログラミング教育体験には、200人以上の子どもと保護者が来ておりました。 午後の発表もこの勢いだったら死ぬ と思っていたのですが、願いが通じたのか午後のパネルディスカッションは40名程度の参加になりました。 思わぬ伏兵が いや、人数だけを気にしていたのですが、まさかの伏兵がいたんです。 隣のクラスの先生とその息子。 いや、嘘でしょ。何も告知してないのに、なぜいるのか。 確かに、その先生(美人)は「今年はいい機会なのでプログラミング教育について勉強します!」って言って家庭科のレシピ作りの段階でブロックプログラミングを模して書かせたりと実践を積み始めている才女ですがね、職員室で馬鹿話ばっかりしているこの私が、くそ真

    大学でプログラミング教育のことについて発表してきました - パパ教員の戯れ言日記
  • Rubyコミッター・Yuguiに学ぶ、コードに書くべき「適切なコメント」と「適切な場所」 - エンジニアHub|Webエンジニアのキャリアを考える!

    Rubyコミッター・Yuguiに学ぶ、コードに書くべき「適切なコメント」と「適切な場所」 Rubyコミッター・園田裕貴(Yugui)さんが、長年の経験で体得したソースコードに書くべき「コメントの技法」を教えてくれました。 プログラミングにおいて、どんな初心者でも書けるけれど、適切に書くのは上級者でないと難しいもの。それがコメント(=ソースコードに書かれている注釈やメモ)です。 不適切なコメントをつけても、プログラムの動作には影響しません。しかし、書き方の巧拙によって、コードの可読性や理解のしやすさには雲泥の差が出ます。良質なコメントが良質なコードをつくるのです。 今回はRubyコミッターでありgrpc-gatewayの開発者でもあるSupership株式会社の園田裕貴(Yugui)さんに、優れたエンジニアがどんな観点を持ち、どんなコメントを書いているのかを聞きました。 園田 裕貴(そのだ・

    Rubyコミッター・Yuguiに学ぶ、コードに書くべき「適切なコメント」と「適切な場所」 - エンジニアHub|Webエンジニアのキャリアを考える!
  • プログラミングを教えるときの10のポイント (という論文の紹介)

    1. ギークの遺伝子なんてないことを心に留めようよく、「プログラミングには得意不得意がある(some kids get it, and some kids don’t)」とか、さらには「プログラミングには向いていない子がいる」とか聞きますね。 大学のコンピュータサイエンスの授業の成績分布が、とても良く理解できる生徒と何もわかっていない生徒にくっきりわかれる、という話も聞きます。当でしょうか?Patitsasらの最新の研究によると、実際にはそんなことはなく、くっきりと成績の分布が分れてしまったコンピュータサイエンス入門のクラスは、5.8%に過ぎなかったそうです。 この論文では、「プログラミングには得意不得意がある」という迷信は、プログラミングを学びだしたときに躓きがちな生徒でなく(意識的か無意識的かにかかわらず)、スムーズに学ぶ生徒の方へ教える時間や熱意を費やすことにつながり、ひいてはコン

    プログラミングを教えるときの10のポイント (という論文の紹介)
  • プログラマをクソコードで殴り続けると死ぬ - megamouthの葬列

    ここにクソコードがある。 誰が作ったかはわからぬ。それが、どのような経緯でクソコードとなったのか、 あるいは、最初からクソコードであったのか、それらは全てクソコード自身が知るのみである。 ファーストコンタクト ある日、営業からシステム案件を打診されたので見積もりして欲しい。というメールが来る。 とある企業の既存システムに機能を追加する簡単な案件ですが、なななんとソースや仕様書をご支給いただけます! と、それはサンタにプレゼントが貰えると信じて疑わぬ子供のような真っ直ぐなメールである。 ソースコードが入った圧縮ファイルを受け取ったプログラマは、早速、コードを読んでみる。 そのシステムが当にいいコードで書かれているかを判断するには時間がかかるが、 クソコードであるかはおおよそ30分でわかる。 インデントがタブとスペースどちらかに統一されていないとか、フレームワークの誤用があるとか、またはフレ

    プログラマをクソコードで殴り続けると死ぬ - megamouthの葬列
  • 個人開発のやっていき方

    2017年7月20日に行われた Rails Developers Meetup #3 の発表資料です。

    個人開発のやっていき方
  • ある文系プログラマがテックリードを任されるまでに学んだこと ── 最前線で生き延びる4つの戦略 - エンジニアHub|若手Webエンジニアのキャリアを考える!

    ある文系プログラマがテックリードを任されるまでに学んだこと ── 最前線で生き延びる4つの戦略 コンピュータサイエンスの専門教育を受けず、20代半ばで格的なプログラミングを始めた文系エンジニアが、いかに学び、考え、生き延びてきたのかを伝えます。 こんにちは。白山(@fushiroyama)と申します。現在は新聞社のデジタル事業部署で、モバイルアプリ開発のテックリードをしています。 自分のエンジニア人生を振り返ると、これまでの道のりは決して平坦ではありませんでした。コンピュータサイエンスの専門教育を受けず、格的にプログラミングを始めた年齢も23、4歳と決して早くありません。 そんな自分が、いかにして開発チームのリーダーを任せてもらえるまでになったか? 考えてみると、次の4つの戦略で生き延びてきたようです。 自分だけの居場所を見つける 必要な知識を効率的に取捨選択する 他のエンジニアに差を

    ある文系プログラマがテックリードを任されるまでに学んだこと ── 最前線で生き延びる4つの戦略 - エンジニアHub|若手Webエンジニアのキャリアを考える!
  • 「センスがない」のほとんどは、単なる練習不足に過ぎない - GoTheDistance

    4月からプログラミングを教える仕事を定期的に行っていて、集合研修という形が1つ、実験台としてプログラミングに興味がある学生の甥っ子に対してマンツーで教えています。自分の教えている内容がどう伝わるか、どんなイメージ絵を描けばいいのか、どの順番で説明すればよいのか。それらを検証するためです。 で、そんな中、甥っ子がポロッと漏らしました。 「おれ、やっぱりプログラミングのセンスが無いんだと思う。教えてもらっても全くわからないことが多いし...」 「ちげーだろ。お前は単なる練習不足にすぎない。2〜3回しか練習していないのに、どうやってオレと同じレベルで物事が判断できるんだって話。ちょっとしか練習してないのにセンスもクソもない。漢字の書き取りにセンスが必要か? 100回while文書いてみたか? 書いてないだろ? 」 「あ・・・(察し」 センスは練習不足の免罪符じゃない 彼が言っていたセンスがあると

    「センスがない」のほとんどは、単なる練習不足に過ぎない - GoTheDistance
  • プログラミング教育での悪い癖 - ビスケット開発室.

    先日,中学生にビスケットの授業をやったのですが,プログラミング教育の悪い癖が出てしまったので,ちょっと書いてみたいと思います. 1回目は90分でビスケットランドと感染やジャンケンなどをやりました.これはこれで定番な内容でそこそこ上手く行ったと思います.普段,幼稚園児を相手にしている反応の大きさと比べたら小さな反応でしたが. で,2回目で彼らにはもっと難しいことに挑戦してもらおうということで,倉庫番を作ってもらいました. 最近の人たちにはこのゲームはそんなに知られていないので,まずは簡単に説明してから,6名くらいのグループに1台,倉庫番が入ったタブレットを渡して遊んでもらいました. その後,ビスケットで倉庫番の作り方を説明して作ってもらいます.作り方の説明は一番遅い人に合わせてやっているので,すぐできてしまう人は暇なようで,たとえば,斜めに動けるようにするとか,いろいろと余計なものを作ってし

    プログラミング教育での悪い癖 - ビスケット開発室.
  • 66歳からプログラミングを始め、自作の罠で年間90頭の猪を狩る猟師がいるらしい | Tech2GO

    更新日: 2017年9月26日公開日: 2017年5月18日66歳からプログラミングを始め、自作の罠で年間90頭の猪を狩る猟師がいるらしい こんにちは!Tech2GO編集部の岸です! 皆さんは「猟師」と聞いてどんな印象を持っていますか?「田舎」「銃を撃って鹿や猪を狩る」「当に猟師なんて存在するの?」などでしょうか? 実は私も滋賀県で猟師として活動しながらメディア「Tech2GO」にて勤務しています。猟師がIT系の会社にいるなんてびっくりですよね。ちなみに普段僕は鹿を狩っています。 ↓こんな感じです。 そんな、普段出会うことの少ない猟師が「Ichigo Jamを使った獣用の箱罠を自作」し成果を上げていると聞き、シニアプログラミングネットワーク #1に登壇されるとのことで滋賀から東京まで行ってきました! 「ichigojam」とは、子供向けの安価なプログラミングが可能なパソコンのことです

    66歳からプログラミングを始め、自作の罠で年間90頭の猪を狩る猟師がいるらしい | Tech2GO
  • プログラミングを始める動機はどこにあるのか、の話 - たごもりすメモ

    あるいは「高校生からはじめるプログラミング」の話。 こちらのKADOKAWA様からいただきました。ありがとうございます。なぜ自分に……*1などと思わなくもなかったけど、ありがたく眺めさせていただきました。今となってはこういうガチ初心者向けの教を眺める機会なんて皆無だしなあ。 SAOのコンテンツ力が表紙/裏表紙と章立てのページに発揮されてるけど、他のページはごく普通のプログラミング教で、特に中身との連携はなかった。これで売上とか変わるのかな。変わりそうだなあ。 で、ざらっと眺めたあと、タイミングよくプログラミングを始める動機ってなんなんだろうな、と思ったので、それに絡めて書く。 の中身 最近のプログラミングの導入ってそもそも何をやるの、みたいなのがぜんぜん分かってなかったので、ちょっと新鮮だった。思えば技術要素を特定しない「プログラミング入門」のというのは人生で初めて読んだかもし

    プログラミングを始める動機はどこにあるのか、の話 - たごもりすメモ
  • 円周率の16進数表現100億桁目を求めてみた! ― 円周率の世界記録をどのように検証するか ― - プログラムモグモグ

    あなたは円周率を何桁言えますか。3.14159…という、あの数字です。 円周率の小数部分は無限に続き、循環することもありません。 古来より、数学者は円周率の値を様々な幾何学的な近似や公式を用いて計算してきました。 その桁数は計算機の発明により飛躍的に伸び、収束の速い公式の発見や効率の良いアルゴリズムの発明などによって加速してきました *1。 5年前、私がまだ学生だった頃、円周率1億桁の計算に挑んだことがありました。 私にとって高精度計算の初めての挑戦で、様々な試行錯誤で苦労したのをよく覚えています。 itchyny.hatenablog.com 2017年現在、円周率計算の世界記録は22兆桁です。 円周率計算の歴史をご覧いただくとよく分かると思いますが、近年の円周率計算の世界記録からは次のような特徴が読み取れます。 2002年に1兆を超え、最新の記録 (2016年) は22兆桁 (10進数

    円周率の16進数表現100億桁目を求めてみた! ― 円周率の世界記録をどのように検証するか ― - プログラムモグモグ
  • 私たちはいかにして環状線で”悪さをする列車”を捕まえたか | プログラミング | POSTD

    文:Daniel Sim 分析:Lee Shangqian、Daniel Sim、Clarence Ng ここ数ヶ月、シンガポールのMRT環状線では列車が何度も止まるものの、その原因が分からないため、通勤客の大きな混乱や心配の種となっていました。 私も多くの同僚と同じように環状線を使ってワンノースのオフィスに通っています。そのため、11月5日に列車が止まる原因を調査する依頼がチームに来た時は、ためらうことなく業務に携わることを志願しました。 鉄道運営会社SMRTと陸上交通庁(LTA)による事前調査から、いくつかの電車の信号を消失させる信号の干渉があり、それがインシデントを引き起こすことが既に分かっていました。信号が消失すると列車の安全機能である緊急ブレーキが作動するため、不規則に電車が止まる原因となります。 しかし8月に初めて発生した今回のインシデントは、不規則に起こっているように見えるた

    私たちはいかにして環状線で”悪さをする列車”を捕まえたか | プログラミング | POSTD
  • 闇のDevOps DevOpsと業績評価 – ところてん – Medium

    ここから、DevとOpsが協力すればより効率的になる=DevOps、という言葉が生まれました。 当時は大企業においてはDevとOpsが分かれていることが当たり前だったのです。そして、大企業における当たり前が、当たり前ではないことに気付き始め、DevOpsを実現するためのツールができ始めたころでもあります。 ではなぜ、大企業ではDevとOpsが分かれているのが当たり前だったのでしょうか? ハードウェアの時代その昔、産業の主役はハードウェアでした。 そのため、多くの企業はハードウェアを作ることに対して最適化が行われました。 ハードウェアには研究開発、製造、運用サポートといった大きな区分けが存在します。そして、それぞれの仕事において要求する人材レベルは異なります。 加えて、大量生産された製品の運用サポート(設置作業員、サポートセンタ)には、大量の人員が必要になってきます。 したがって、組織を研究

    闇のDevOps DevOpsと業績評価 – ところてん – Medium
  • どうぶつしょうぎ名人 - まめめも

    どうぶつしょうぎ AI を作りました。絶対に勝てません。無力感を味わってください。 ref: http://mame.github.io/dobutsu-shogi-master どうぶつしょうぎとは 3 マス x 4 マスの単純化された将棋です。ライオン(王相当)、ぞう(1 マスしか進めない角行)、キリン(1 マスしか進めない飛車)、ひよこ(歩相当、にわとりに成ったら金相当)の 4 種類の駒を動かして、相手のライオンを取るか、トライ(ライオンを一番奥の行まで運ぶ、ただし直後に取られる場合はだめ)に成功すれば勝ちです。詳しくは Wikipedia の記事を見てください。 どうぶつしょうぎは後手必勝であることが知られています(研究報告)。つまり、後手が正しくプレイする限り、先手は絶対に勝てません。どうぶつしょうぎ名人は常に正しくプレイするので、先手のあなたは絶対に勝てません。 なんで作ったの

    どうぶつしょうぎ名人 - まめめも
  • 「最初に学ぶべきプログラミング言語」 - mizchi's blog

    初心者に最初にぶち当たるのが『環境構築』という大きな壁なんですよね。そこで何割の人がスタートラインにすら立てずに挫折するだろうか…5割は超えるかもしれない…— ビタワン@社畜ちゃん②巻2/27発売予定 (@vitaone_) 2017年2月5日 環境構築が壁で、楽しい(かどうかは人によるが)プログラミングにたどり着けなくてモチベーションが、というのはわかるが、環境構築を経験してその辺の洞察身につけてもらわないと現場で困る、というような話もあって、二ヶ月速習でiOSエンジニア、みたいな講習はその視点欠けててダメ— 現場の声 (@mizchi) 2017年2月5日 よほどよくできた環境でもない限り、何作ろうとしても初動でうまいこといくケースが少ないので、それを解決するための勘と体力は絶対に必要なんだよなー— 現場の声 (@mizchi) 2017年2月5日 僕も完全独学でプログラミング始めたの

    「最初に学ぶべきプログラミング言語」 - mizchi's blog
  • 56歳からコードを書き始めて食べていく方法

    私は56歳、最近プログラミングを始めたんだ。 なぜかって?やりたいからに決まっているじゃないか。ようやく最近コツをつかめてきてね。でもコツをつかめたからといって簡単にはいかない。正直なかなか手こずっている。でもいいんだ。 アルゴリズムに挑戦して我を忘れるのは楽しいし、まだテストしたい事があって「あと数分だけ」と繰り返し自分に言い聞かせるのもいい。「今度こそ上手くいったかも、、」とドキドキしてから「やったぞ!ついに動いた。」となる瞬間も大好きだ。 でもこんな私には今まで趣味と呼べるものが何ひとつなかった。自分に見返りがない事に時間を費やすのは嫌だったんだ。ただ楽しみのためだけに何かをするのが好きじゃなかったのさ。休みの日にやる事といったら、ちょっとした小遣い稼ぎになるような事ばかりだった。 オーケー。もちろんコーディングだって小遣い稼ぎさ。上手くやればかなり稼げる。これだってあなたから見れば

    56歳からコードを書き始めて食べていく方法
  • プログラミングを勉強するなら広い意味での環境構築は大事だなと感じた話、あるいはN予備校の良さを再確認した話 - 時代と寝た女

    2017 - 01 - 09 プログラミングを勉強するなら広い意味での環境構築は大事だなと感じた話、あるいはN予備校の良さを再確認した話 N予備校プログラミング勉強記 N予備校でプログラミングを学び始めて4カ月が過ぎました。 その間に、プログラミングを勉強する上で一番大事なのは環境構築だなと、ものすごく感じました。 直接的な意味で言えば、今N予備校で勉強中のNode.jsを使い始める時に行った環境構築です。 最近のプログラミング学習サイトだと、環境構築無しですぐにプログラミングができます、っていうのを売りにしている運営会社をよく見かけますけど、N予備校の場合はその環境構築にしっかりと時間を割きます。 ここにはカリキュラム作成者の意図が明確に反映されていて、最初に苦労するであろう環境構築ができるようにならないと、現場で使えるプログラマーにはならないという考えのようです。 僕も初心者ながらに色

    プログラミングを勉強するなら広い意味での環境構築は大事だなと感じた話、あるいはN予備校の良さを再確認した話 - 時代と寝た女