普通のプログラマの普通の設計 2022-01-26 本編(雑談)の前振りスライドです。 https://modeling-how-to-learn.connpass.com/event/231669/
JavaやCで組むのは他人のためのプログラムで、Pythonで組むのは自分のためのプログラム、という違いがないかなという話。 TIOBEでとうとうPythonが1位になったというニュースが流れてました。 https://internet.watch.impress.co.jp/docs/yajiuma/1357645.html でも、Pythonが1位になったとはいえ、CやJavaであったような、世の中のプログラム全部Pythonになるみたいな雰囲気はないなと思いました。 で、こんなツイートをしたわけです。 PythonがJavaやCを抜いて1位になるのは、JavaやCが担っていたところがPythonに置き換えられたのではなくて、他人のためのプログラミングではなく自分のためのプログラミングが増えたということじゃないかなと思う。https://t.co/LeM3ADCwAA— きしだൠ(K1
“けしからん”天才プログラマーはなにを考える? 登大遊氏を形成した歴史と日本のこれから けしからん本屋とけしからん大人たちが僕を育てた 天才プログラマー登大遊氏をかたちづくった「あの本屋」 例えば自分がエンジニアを目指したとき、どのように視野を広げればいいのか、漠然と不安を抱えたことはありませんか。そんな時、自分とは異なる“天才”の頭の中はどうなっているのか、その中身を覗いてみたいと思いませんか? そこで今回は、天才プログラマーとしても知られる登大遊氏に、その考え方や思想の根源がどこにあるか、ちょっと頭の中を覗かせてもらいました。まずは、登氏がプログラミングに出会った幼少期について。 雑誌やマニュアルを読んで学んだ幼少期 ーーまず、登さんの幼少期についてお尋ねします。登さんは、小学生2年生の頃に自宅にあるPCでプログラミングをはじめたとのことですが、当時はどのように勉強されていたのでしょう
ソフトウェアのレビュー 先日はバグを見つける事について話した. 今日もちょっと関連してソースコードのレビューについての話だ. プログラマであるわたしはプログラムを作る.それと同時にバグも作る.一番いいのはバグを作らない事だが,残念ながらだれしもバグは作る.どのようにしてバグを作り込むかを分析すればひょっとしたらバグを埋め込まないプログラムの作り方を発見できるかもしれないが,現時点での研究もバグに関する理解も進んでいないので当面はバグはそこにあるものだという前提で物事をすすめていかないといけないであろう.とはいうものの,バグの少ないコードを書くプログラマも世の中にはいる.できればそのコツというかノウハウを学びたいものであるが残念ながらそれはある種黒魔術のようなもので素人には手が出せない神秘である. バグを埋め込んだのならそれをできる限り早く発見してできる限り早く修正したい.ソースコード100
はじめまして、horinoAです。1970年生まれ、50歳になります。 今は某小売のWebマーケティング部門で社内SEとしてVBAやらPowerShellやらで分析用のPostgresSQLをたたいたりの仕事を週4日、子どものためのプログラミングコミュニティCoderDojoのご縁で知り合った方から紹介された子どもプログラミング教室で軽く講師のお手伝いをさせていただいています。のんびり仕事しながら今は放送大学情報コースで計算機科学を基礎から勉強しているところです。 ※2022/8現在追記 結局2022年初頭より技術者派遣でフルタイムに戻っちゃいました。でも週3日在宅でやっぱのんびりVBAやらPowershellで社内データの分析用DB整備(Postgresかかりきりよ・・)したり謎の古Saas、設定したりJSで機能追加(dom久々に直叩きした・・)してます。 発端になった記事や他の方の記事
機械学習, データサイエンスを志向してPythonを勉強したり,この辺のエントリーで本を読み漁ったりすると*1, もしかして, 私の仕事ってプログラミングで楽になるのでは!? と気がつく(もしくはそういう記事・本を読んで触発される)瞬間があるかと思います, この本とかあの本とか. このエントリーではそんな素晴らしい学び*2に対して,一つの回答を示してみたいと思います. TL;DR(ここは読んでほしい) プログラミングで解決できる「退屈なこと」とは「回数が多く, 属人性が少ない」作業のことである. 属人性がある仕事はプログラミングをする前に因数分解しよう or 「仕事ごっこ」だったらやめる努力をしよう. Pythonで「退屈なこと」をやるなら,「退屈なことはPythonにやらせよう」もいいですが,「できる仕事がはかどるPython自動処理 全部入り。」が個人的にはおすすめです. 言いたいこと
「Shaderって何それ?」ってレベルから、Shaderを雰囲気で理解できるレベルになりました(多分) ここまで到達できたのは、”間違いなく”先人たちの最強すぎる情報のお陰様です。 そんな役立った有用すぎるShader学習リンクを紹介していきます! 2019/3/19 追記 まんてらさんによるシェーダーの解説スライドを追加しました! シェーダーについて無知であっても、噛み砕いて解説してくださっております。シェーダー学びたい初心者は必見です! 対象レベル Vertex/Fragment Shader(頂点/フラグメントシェーダー)を一から学ぶ予定の方 Shaderやろうとして、何度も挫折した方 Shaderを雰囲気で理解してみたい方 ※注意 Geometry ShaderやCompute Shaderは含まれていません。理由は私がまだ使えないからです(^p^) こちら扱えるようになったら、ま
文系でプログラマーになったけど色々失敗して3年半で会社を辞めた話|denkigai|noteという記事を読みました。 この記事に書かれていることが私の身にも覚えがあります。特に私と同い年の方のようなので自分に重ねてしまうところもあります。 ですが多少似たところはあってもやっぱり他人なので全然違う体験もしています。そういう体験を書いてみようと思います。もし該当記事を読んで絶望した人がいるなら別の例もあるよということで参考にしてください。 私は「パソコンの中身が知りたい。多分プログラミングとかいうやつを勉強したら分かる気がする。」くらいのモチベーションでプログラミングをはじめました。 ゴールがあやふやですし、結局のところ「プログラミングをする」が目標になってるので迷子になるのは必至ですね。実際そういう時期がありました。 そんな私でも今はプログラマとして生きています。以下に、私が遭遇した課題とそ
かれこれ30年以上もこの業界でプログラムを毎日のように書いて来た私。当然、自分なりの働き方のノウハウみたいなものも会得して来たつもりだ。以前ここに「私のとっておきのプログラミングスタイル」というエントリーを書いたので、まだ読んでいないプログラマーの方にはぜひとも読んでいただきたい。 ちなみに、そんな中でも後輩とか部下に教えるのが一番難しいのが、「スタートダッシュでできるだけはやくめどをつける」という仕事スタイル。どのエンジニアも、ちゃんと説明すればこの働き方の効用は理解してもらえるのだが、実際の現場でちゃんと実行できる人は100人に1人もいない。 「人はみな怠惰だから、締め切りに迫られなければがんばれないんだ」と言ってしまえばそれまでだが、「まがりなりにもプロとして仕事をする限りは、ペース配分ぐらいはちゃんと考えて仕事をすべき」というのが私の主張。トップクラスのマラソンランナーでペース配分
こんにちは、ニュージーランドで働くプログラマのはっしーです。 「プログラマはプライベートでも勉強して当然」なんて話をよく聞きますが、実際に仕事以外で勉強をしている人はどれくらいいるでしょうか? かくいう僕も海外で働きだしてからは、あまりプライベートで技術の勉強をしてきませんでした。 しかし最近、ふとしたことからモチベーションを取りもどし、毎日1時間はプログラミングの勉強にあてる生活を送っています。 今回は、最近プライベートでの勉強から遠ざかってしまったあなたのために、「勉強への熱を復活させるコツ」、そして「少しずつでも勉強を継続させる方法」をお伝えします! 履歴書を更新してみよう 勉強への熱を復活させるコツはひとつ。勉強しないとやべぇという感情を自分のなかで起こすことです。じゃあどうすれば「やべぇ」と感じることができるのか? そのためにぜひやってもらいたいのが、「履歴書の更新」です。 会社
先週末にサポーターズさん主催の【まつもとゆきひろ氏 特別講演】20代エンジニアのためのプログラマー勉強法 に参加してきました! これまで技術的なことしか書けていなかったのですが、とても学びが深い講演会だったので初めて雑記的にまとめを書いてみようと思います。 内容濃すぎ && 80分 という講演会だったのでざっくりまとめです! 講演会の様子はyoutubeで配信もされたので、このブログの最後にURL貼っておきます。 以下Matzさんによるプログラマー勉強法まとめ 今回「勉強」という言葉を使ったのはあえてミスリードを誘う目的。 具体的には「(学校)勉強」には「苦手を克服するべき」というメタファーがある。 「苦手を克服するべき」は社会人の勉強では間違い。 学生と社会人の勉強の違い9つ 1.満点VS満点なし 社会人の勉強に満点がない、つまり上限がない。平均値や偏差値がないから学生時代の常識が通用し
この記事は、iOSDC Japan 2018 で発表した「圏論とSwiftへの応用」の補足 - Qiita の続きです。 今回は、数学科でもコンピュータ科学出身でもない、単なるiOSエンジニアである筆者が、数学の 「圏論」 に興味を惹かれ、その流れで iOSDC Japan 2018 で登壇発表に至るまでの、 圏論のオススメ勉強法(プログラマ向け) について紹介したいと思います。 登壇資料参考: iOSDC Japan 2018 「圏論とSwiftへの応用」発表スライドメモ - Qiita iOSDC Japan 2018 で発表した「圏論とSwiftへの応用」の補足 - Qiita アジェンダ 手元の圏論の本をそっと閉じる Bartosz Milewski先生の動画を見る iPad Pro と Apple Pencil で絵を描く 手元の圏論の本をそっと閉じる 巷には、圏論の名著といわれ
〜ノンプログラマーでも、ルーティン業務を「自動化」できる!社員の3人に1人が「Zapier」を活用し、全社で400以上のワークフローを自動化した事例〜 ルーティン業務を自動化したいけれど、その仕組みを作れるエンジニアのリソースが足りない…という課題をお持ちではないだろうか。 株式会社メルカリでは、このような課題を解決するため、ノンプログラマーに向けた「業務自動化の勉強会」を2017年10月より開始。 ▼実際の「業務自動化の勉強会」の様子 これまでに、総務・経理・PR・経営企画など多岐にわたる部署から120人以上が参加し、累計で自動化されたワークフローは400を超えるという。 そこで活用されているのは、1,000種類以上のWebアプリケーションを連携し、ワークフローを簡単に自動化できる「Zapier」だ。 例えば、総務の「全社会議のSlack通知」、PRの「曜日別の当番通知」、全社で月2,0
用語は形式的なものではなく感覚的なものであることをお断りしておきます。 言語・フレームワーク・プラットフォーム まず最初に触れるものでとっつきやすい。何か使えないことには話になりません。多くの人が、勉強というとまずここ。 何かすでにつかえる人が新しく勉強することは、生産性をあげない。そのプラットフォームを初めて採用するときの準備が減らせる。どちらかというと仕事の選択肢を増やす感じですね。 深く知ることは、最適なコードを書きトラブルを減らしトラブルが起こったときの対策も早くなるので、生産性があがります。ただ、ある程度の深さ以降は生産性への寄与度がさがるので、その点では深くまで勉強する必要はありません。 プロダクトの使い方なので、プロダクトの寿命が勉強成果の寿命です。実際に使わないものの勉強は無駄になるし、使われなくなったら無駄になる。寿命もそう長くないです。 「プログラマは勉強してもすぐ使わ
今日もプログラマになる勉強する人のところで話をしてきました。 で、また適当にいろいろ書いてました。 http://www.slideshare.net/nowokay/20140228-31742219 今日は特に、この図の内容についてまとめておきます。 ※ このエントリは、主に今日の話を聞いた人を対象としています。前提や補足については省略しています。 まずはプログラミング言語を プログラマというのは、利用者に直接サービスを提供することはできません。コンピュータの上でプログラムを動かして、そのプログラムを使ってもらうことでサービスを提供します。 ※組み込みは前提から外しています。 そのプログラムも、コンピュータで動くものを直接記述することは現実的にできません。 なんらかのプログラミング言語で、プログラムを書くことになります。つまり、プログラマの仕事は直接的にはプログラミング言語をいじくる作
「この辺を勉強してどういう良いことがあったか教えて欲しい。」というコメントがついてた。 良いこととして、一番は、まあ勉強するのが楽しくなった、ということなのだけど、それは循環してるので置いておいて。 実務的に一番いいのは、プログラムを組むのが楽になったということ。 とくに、本質的な間違いが少なくなっていくので、後戻りが減るというのが楽。組んでみたけど動かない、途中でそれ以上組めなくなる、というのが少ない。まあ、ミスはあるので、そこの修正はするけど。 あと、できないことができないとわかりやすい。そのデータの持ち方でそのデータ数でその処理ではその精度の要求は満たせない、ということが原理的に判断しやすくなる。なので、むだな努力をしない。そして、どの条件を緩和すれば要求が満たせるかにも気づきやすい。 初見のライブラリや言語、ツールの理解が早くなる、とかも。 もちろん、前のエントリにも書いたように「
プログラマというのは、道具に慣れることが、実力があがることにならないのですよね。だから、勉強せず業務経験だけだとレベルが低いままということになってしまう。 Javaを10年さわり続けて、Strutsを5年さわり続けても、それだけでは、与えられた画面を手際よく作成できるようになるだけで、たとえばStrutsすらよりよく使えるようになるわけではなかったりする。 Javaにしても、「volatileってなんですか?」という問いに、まあ知らないのはしかたないとしても、解説を見ながらですら答えられない可能性がある。 プログラムの反復生産は、プログラミング能力の向上にあまりつながらない。設定や記述に慣れるだけだ。そして、この「慣れ」というのには「難しいからそもそも実装を回避する」というようなものも含まれる。実力の向上は、作業ができるレベルで止まってしまう。 プログラマとしての実力をあげるための勉強が自
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く