タグ

プログラミングと技術に関するanimistのブックマーク (22)

  • 栃木はどれだけ丸いのか 47都道府県丸さランキング|柞刈湯葉

    地図を見ていてふと「栃木県って丸いな〜。こんな丸い県ほかにないんじゃないか?」と思い、国土交通省が公開している国土数値情報・行政区域データを用いて47都道府県の丸さを比較してみることにした。年末年始というのはこういう検証のために存在する。 シルエットクイズでも難問として知られる栃木県比較方法ひとくちに「丸さ」と言ってもいくつかの測定基準があるが、今回は「その県と同じ面積の円に、県の何%を収めることができるか」で測る。この条件であれば小笠原諸島のように極端に離れた離島があっても、大きな不利にならない。詳細は以下のとおり。 円の中心は%が最大になるよう調整する。 地図はメルカトル図法を用いる。 湖や河川などの水系は、土地と同様に扱う。 元データは国土数値情報・行政区域データを用いる。下記サイトから誰でもダウンロードできる。 技術的な詳細はどこか別の機会にまとめるとして、さっそく「都道府県丸

    栃木はどれだけ丸いのか 47都道府県丸さランキング|柞刈湯葉
    animist
    animist 2022/01/18
    小説家、というの肩書きの方だけど、そもそもコンテンツクリエイターとしての能力がスゴいのだな、というのが良くわかる
  • 都道府県丸さランキング 製作ノート|柞刈湯葉

    この記事は前回の「47都道府県丸さランキング」の製作ノートである。「ああいう検証記事はどういうテンションで作ってるのか」を知りたい非プログラマに向けて書いた。初歩的なことしかやってないので職業プログラマが見ればイライラする思うがご了承願いたい。 今回の目的は、県の丸さを「その県と同じ面積の円に、県の何%を収めることができるか」として定量化し、そのランキングを作ることである。 「丸さ」の例地図を扱う、といっても画像データを扱うわけではない。地図はそもそも測量とかで得られた数値データから作るものであり、そして数値データの方がプログラム的には扱いやすい。なので「数値地図」というものを探す。国土交通省が出している国土数値情報を使う。 伊能忠敬の時代は日地図を国外に持ち出すだけで大罪になった(シーボルト事件)が、いまや国が積極的に公開しているのだから大したものである。 データは「XML」という形式

    都道府県丸さランキング 製作ノート|柞刈湯葉
    animist
    animist 2022/01/18
    「日本でいちばん正規分布っぽい山は香川県の飯野山なのか?」 >「日本でいちばん正規分布っぽい山は香川県の飯野山なのか?」 次回作に期待!!
  • プログラマーから見たPDFファイル - アンテナハウス PDF資料室

    更新日: 2020年8月14日 このページの目的 プログラマーは、クライアントから提供されたPDFファイルで、その要求を実現させようとしたとき、PDFのどんなところを見ているのでしょうか。このページでは、ちょっと珍しい視点でPDFファイルを解き明かしていきます。 自分でプログラムを書いてPDFファイルからテキストデータを取り出したいという人も、ぜひご一読ください。 はじめに PDFファイルをクリックすると、あたかも紙に印刷したかのように、どんなマシンでも同じような見た目で文章や画像がディスプレイに表示されます。 この単純な事実は、日常的にPDFファイルを利用していると当たり前に感じられるかもしれません。しかし、よくよく考えると驚くべきことです。 いったい、どのような仕組みがあれば、「過去から現在に至るさまざまな種類のコンピューターで見た目を変えずに同一の紙面を再現する」という目的を達成でき

    プログラマーから見たPDFファイル - アンテナハウス PDF資料室
  • なぜCを学ぶべきなのか - 立命館大学情報理工学部セキュリティ・ネットワークコース プログラミング言語サポートページ

    プログラミング言語としてのCは、初学者にとっては難しい言語であるのは確かです。中には、初心者が学ぶべき言語ではないと言い出す人もいます。ですが、私たちセキュリティ・ネットワークコースの教員は、我々のコースの学生は早期にCを学ぶべきであると考え、このカリキュラムを設定しています。以下に理由を列挙します。 Cはコンピュータの構造に深く根ざした言語なので、コンピュータそのものの学習を同時に進めることで、相互の理解が深まると考えています。例えば主記憶(メモリ)上にプログラムとデータの双方が置かれるフォン・ノイマンアーキテクチャや、メモリ上のデータ配置の問題、エンディアンの問題などを直接感じられるのはCならではだと思います。 CはOSや、コンパイラなどの言語処理系、組み込み機器などで広く使われており、その構造や動作と深く関わっているため、セキュリティとネットワークの理解のために欠かせないからです。

    なぜCを学ぶべきなのか - 立命館大学情報理工学部セキュリティ・ネットワークコース プログラミング言語サポートページ
  • テキシコー [総合 小学校3・4・5・6年生、中・高] | NHK for School

    魅力的な映像やアニメーションを使って、プログラミング的思考(テキシコー)の面白さを伝え、その思考を育むプログラミング教育番組です。

    テキシコー [総合 小学校3・4・5・6年生、中・高] | NHK for School
  • 「Railsは終わった」と言われる理由 - Qiita

    はじめに Rubyは死んだ、Railsは時代遅れという人が最近増えてきたように思えます。 私自身RubyRailsを書いて3年位経ちますが、「終わりつつあるな」と実感することが多いです。 そう思った経緯を記事に書いていきます。 Railsの特徴 Railsの特徴というか、流行した要因としては以下の5つが大きいと私は思っています。 テンプレート、パーシャル、レイアウトをERBを使ってすばやく構築できる Active Recordによってデータベースを簡単に定義、操作ができる アセットパイプラインによってcss、jsを管理することができる チュートリアルが充実している Rubyという柔軟性の高い言語によって開発することができる 私はRailsはこの5の柱によって支えられていると思っています。 これらの5の柱のメリットにより、Railsは大流行しました。 すばやく簡単にプロダクトを作ること

    「Railsは終わった」と言われる理由 - Qiita
  • Ruby on Jets | Serverless Deployment Service

    Jets: Serverless Deployment Jets is a Deployment Service. Jets makes it easy to deploy and run your app on Serverless. It packages up your code and runs it on AWS Lambda. Jets can deploy Rails, Sinatra, Hanami, and any Rack app. Learn More!

  • 新しいフレームワークを学ぶならTodoMVCではなくRealWorldを参考にしよう - Runner in the High

    よく新しいフレームワークを学ぶにはTodoアプリを作ってみるのがよい、と言われる。実際、Todoアプリを様々なフレームワークで作ってみたサンプルをまとめたサイトもあったりする。 ところが、実際に業務で作るようなアプリケーションはTodoアプリの範疇を超えている。とくにSPAにもなると、画面遷移やWebAPI連携、大規模な状態管理などなどの条件が増えるので、Todoアプリを作っているときには考慮できていなかった大変さが出てくる。 そこで参考になるのが RealWorld example apps と呼ばれるプロジェクト 端的に言うと、TodoMVCの大規模版。 規定のスペックに沿って、様々なウェブフレームワークで作られたアプリケーションのリポジトリがリストアップされている。 スペックについて "Conduit" is a social blogging site (i.e. a Medium

    新しいフレームワークを学ぶならTodoMVCではなくRealWorldを参考にしよう - Runner in the High
    animist
    animist 2019/06/11
    Todolist だけじゃ足りないから、実際必要そうなところをある程度網羅しているものを学べ、というのよいな
  • なぜコンピュータを学ばなければならないのか 21世紀の君主論

    国際基督教大学における、グローバル情報学という学部1年生向けの講義で、ゲスト講師をした際の講義資料です。

    なぜコンピュータを学ばなければならないのか 21世紀の君主論
  • Ruby でパーサーコンビネータを使った CSV ファイルのパース処理 - RParsec 使用 - なんとなくな Developer のメモ

    id:fits:20101226 や id:fits:20101231 で実施したパーサーコンビネータによる CSV ファイルのパース処理を RParsec を使って JRuby でやってみました。 環境は以下の通り。 JRuby 1.5.6 RParsec 1.0 サンプルのソースは http://github.com/fits/try_samples/tree/master/blog/20110103/ 事前準備 - RParsec のインストール RubyGems を使って RParsec をインストールしておきます。 インストール > gem install rparsec CSVファイルのパース 以下の CSV ファイルをパースしてみる事にします。 test.csv 1,テスト1,"改行 含み" 2,test2,"カンマ,含み" 3,てすと3,"ダブルクォーテーション""含み"

    Ruby でパーサーコンビネータを使った CSV ファイルのパース処理 - RParsec 使用 - なんとなくな Developer のメモ
  • 一時期プログラミングのデザインパターンというものが大流行しましたが、現在ではどのように評価されているのでしょうか?

    回答 (5件中の1件目) この質問にかなり先行して2015年、Quora(家)で投げかけられた質問として、 Why do some functional programmers criticize design patterns in OOP languages as a sign of language deficiency, while Monad is also a design pattern? なぜ、関数型プログラマらは、オブジェクト指向(OOP)言語のデザインパターンを、言語の欠陥の象徴だと批判するのでしょうか?モナドもデザインパターンじゃないんですか? があります。...

    一時期プログラミングのデザインパターンというものが大流行しましたが、現在ではどのように評価されているのでしょうか?
  • 床井研究室 - 第12回 模様を付ける

    877.fm 実は今日知ったんですけど, 和歌山市内にある "バナナ FM" (877.fm, エフエム和歌山) は, 株式会社ではなく NPO 法人なんですね. この放送局は空中線電力が 20W しかなく, サービスエリアが和歌山市とその周辺くらいしかありません. 番組内容も独自のもので, メジャーなタレントを呼ぶとかそういうこともなく, 時には高校のブラスバンドの演奏を流したりして, それはもう地味というか, 地元に密着した内容になってます. どこかのテンションがやたら高い放送局と違って DJ も日常会話のように自然にしゃべっていて, 気負いがありません. いいです. 日々の生活に実にフィットします. CM にも「近所のあの店が CM してる!」という親しみやすさがあります. 私はこの放送局と縁もゆかりもありませんが, 永く続いて欲しいと思ってるので, 皆さん応援してあげてください.

    床井研究室 - 第12回 模様を付ける
  • ググるのをやめるとプログラムの生産性が上がるかもしれない - メソッド屋のブログ

    今日はプログラミングの生産性に対して気づきがあったのでシェアしてみたい。 なぜ米国の人は生産性が高いのだろう プログラミングの生産性に関しては以前から興味がありいくつかのポストで考えたことをシェアしてきた。私は職業柄、いろんな国でいろんな人々とプログラミングを一緒にする機会が多い。その時に頻繁に感じるのは、平均的に言うと、アメリカの人プログラマが生産性が高い確率が高くて、しかもコードもきれいだという傾向にある。アメリカでお客さんと一緒にコードを書くと、お客さん自体が物凄く良く知っているし、実行力もある。アメリカの次と言うことでいうと、英語がネイティブの国もそれに近く、フランスなどの言語が近いところが続く感じなので、英語が物凄く影響すると思っていたし、実際すると思う。そのあたりの話はこちらのポストに書いてみた。 simplearchitect.hatenablog.com 定義での理解と、例

    ググるのをやめるとプログラムの生産性が上がるかもしれない - メソッド屋のブログ
    animist
    animist 2018/09/25
    理解と仮説と結果
  • プログラミング初心者のうちに身につけたい3つの習慣 | Social Change!

    プログラミング技術さえ身に付けば、プログラマとして一人前と言えるでしょうか? プログラミングを始めたばかりのうちは、プログラミング言語の習得や周辺の知識を得ることばかりに目がいきがちですが、それだけでは一流のプログラマになれません。(プログラミング言語を学びたいならこちら:写経で身につけるプログラミングの基) プログラマとして成長するためには、プログラミング技術を学ぶだけではなく、良いソフトウェアを作るための良い習慣を身に付けることが大事になります。初心者のうちに良い習慣を身につけておけば、ただ知識を追い求めるのではなく地に足をつけた成長ができるはずです。 記事では、私自身も先人たちから学んだプログラマが身につけたい3つの習慣について書いています。 自分で書いたすべてのコードを説明できるようになろう プログラミングは全て、明確な判断の結果です。if文を使うべきかどうか、どのAPIを使う

    プログラミング初心者のうちに身につけたい3つの習慣 | Social Change!
  • 「女性エンジニア少ない問題」を解決するために、機械学習で男性エンジニアを女性に変換する

    2018年4月21日、株式会社サイバーエージェントが主催するイベント「Battle Conference U30」が開催されました。30歳以下のエンジニアによる30歳以下のエンジニアのための技術カンファレンスであるイベントには、さまざまな領域で活躍する若手が登壇。企業の枠を超えて、自身の技術・事業・キャリアに関する知見を発表しました。「機械学習ブームの裏側に」に登壇したのは、ヤフー株式会社データプラットフォーム部の池上哲矢氏。「女性エンジニアが少ない」という問題に対して、機械学習を用いて解決を試みた、ユニークな取り組みを紹介します。 「連続最適化」を研究し、ヤフーへ 池上哲矢氏(以下、池上):ご紹介に預かりました、ヤフー株式会社の池上哲矢と申します。 今日は「機械学習ブームの裏側に」というタイトルで、発表させていただきたいと思います。こういったイベントは初めてで、すごく緊張しているんで

    「女性エンジニア少ない問題」を解決するために、機械学習で男性エンジニアを女性に変換する
  • 「早すぎる最適化は諸悪の根源」について - Qiita

    この、ドナルド・クヌース先生の有名な格言について考えてみます。 プログラムのコードをきれいな状態に保つことと、実行速度の向上や必要なリソースの削減といった最適化を図ることとは両立しない場合が多々あります。こうした場合にどちらを優先すべきか?という問いに対し、クヌース先生は「まずコードをきれいにしろ」と答えています。 ソフトウェアのユーザにとって、コードがきれいかどうかは何の価値もありません。対して実行速度などは使いやすさに直結する重要な要素です。それなのになぜ、きれいなコードのほうが優先されるべきなのでしょうか? きれいなコードとは? なぜ最適化と両立しない? まず考える必要があるのは「きれいなコード」とは何か?ということです。 それは、開発者がコードを眺めて「なんて美しいんだ!」と悦に入るためのものではありません。 きれいなコードの条件として、大きく以下の2つが挙げられると思います。 ・

    「早すぎる最適化は諸悪の根源」について - Qiita
  • 技術なきマネジメントの衰退とその対策 - メソッド屋のブログ

    今回は、マイクロソフトにいて自分が感じているIT業界の大きなスタイルの変化の兆候とその対策について書いてみた。今回もいつも通り、単に自分の意見をシェアしているだけであって、他の人にどうこうしろと言いたいわけではない。ただ、日IT業界が米国に追いつき、追い越すための議論のきっかけになるといいなと思っている。自分も楽しみながらも、もがいていることと、そこで見えた光について書いてみたい。 世界は「技術力」の重視に向かっている 私のキャリアは、某大手SIerを12年勤めた後、ITコンサルティング企業に3年在籍して、主に超上流を実践した。その後独立し、ビジネスモデリングから、アジャイルや、DevOpsの導入支援、マネジメント、開発などを実施していた。 私がマイクロソフトを受けてみようと思ったのは、友人からの推薦の要素が大きかったのだが、その背景では、海外で勤務したいという希望があったのと、「技術

    技術なきマネジメントの衰退とその対策 - メソッド屋のブログ
  • SIerの下請け開発者ってレベル低すぎない? - UXエンジニアになりたい人のブログ

    ネット上ではSIer批判=技術のことをわかっておらずプログラムも書けずPMも出来ない非効率でダメダメな上流工程と、 人月単位での労働力提供という業界の慣習に縛られ、持ち前の優秀な技術力・知識を生かせず非効率な作業を強いられているかわいそうな下請け開発者、という構図が確立されているように思います。 自分が関わるまでは、まあそうなんだろうなと思っていましたが、しかし実際にそういう立場のひとと関わりをもつにつれて、どうもそうではないのではないかと思うようになりました。このあたりの実情を書いていこうと思います。 なお、先に言っておきますが記事で書くことは、上流工程がどうのとか、業界の多重請け負い構造がどうのとか、給料が安くてとか労働条件が過酷でとか、そういう話とは全く関係がなく、純粋にプログラミングのスキルの話だけです。 対象はおもに詳細設計、実装UTだと思ってもらえれば。外部仕様が決まった状態

    SIerの下請け開発者ってレベル低すぎない? - UXエンジニアになりたい人のブログ
    animist
    animist 2017/02/13
    この方は苦労されたんだろうがそれ見て笑ってるだけじゃ藁人形サンドバッグにして喜んでるのと変わらんから自分も精進しよう
  • 量産型プログラマを撲滅したい

    プログラマの生産性の差は、出来る人と出来ない人で10倍とも100倍とも言われる。そんな馬鹿な、と思われるかもしれないが、事実だ。 むしろ、一緒に働かせると、出来るプログラマが、下手に作られたプログラムの修正をしなければいけなくて、全体の生産性を落とすことになる。 つまり、出来ないプログラマはチームで働くと、生産性をマイナスにするのだ。厳しいことを言えば、いない方がマシなのである。 ソフトウェア開発にの手はいらないのだ。 では、出来ないプログラマとはどんな人たちか。 コピペで書くプログラマだ。他で動いているプログラムをコピペして、なんとなく直して書いているプログラマだ。 なぜプログラムが動くのか、どう書けば動くのか、わかっていない。 ただ沢山のプログラムを書くだけの量産型プログラマだ。こういう人のプログラミングは、デバッグさせてみて、横で見てるとすぐにわかる。 まず、エラーメッセージを見な

    animist
    animist 2017/01/26
    ドウモ、量産型=プログラマ、デス
  • クソコードを変態コードにしてやった【勉強会報告】|TechRacho by BPS株式会社

    matsuです。初めての投稿でドキドキです。よろしくお願い致します。 先日社内で、真面目にやるのもいいけども、事をしながら聴くような勉強会もしたいねということで「ゆるふわ勉強会」が開催されました。 そこで発表された中から、トップバッターで出て来てくれました@kazzさんの『クソコードを使おうとしたら変態コードになった話(実は関数型プログラミングの話)』を紹介します。 ちなみに、ここで言う「クソコード」とは「メソッドを利用する人のことを考えないコード」を指しています。(※2016/08/04 「利用者のことを考えないコード」から文言変更) この発表は以下の方を対象にしています。 「クソコード」=「メソッドを利用する人のことを考えないコード」に苦しめられている方 関数型プログラミングに興味があるかもという方 何かにつけて寛容な方 そして、この発表の中では、以下の4つがキーワードになります。

    クソコードを変態コードにしてやった【勉強会報告】|TechRacho by BPS株式会社