タグ

programmingに関するtomoyaのブックマーク (41)

  • 技術力の向上に、issueをちゃんと書けるになる訓練をするのが良いのではと思った - Magnolia Tech

    とりあえず技術力を上げたいなら、適切にissueが書ける訓練をした方がいいし、添削してくれるひとを身近に探した方がいい issueがちゃんと書ける言語化能力は全ての第一歩— magnoliak🍧 (@magnolia_k_) 2021年3月2日 技術力の高い人の特徴の一つとして、言語化能力の高さが有るのではないか。 それは、自然言語なり、コードなり、さまざまな方法で「形」にしないといけないから。 その中でもissueは比較的短い文章で「件名」「概要」「意図した動作」「実際に起きた動作」「起きた時の条件」を端的、かつ明確に書かないといけない。 GitHubもissueは、以前は単なる自由記述だったけど、次第にプロジェクトごとのテンプレートが用意されるようになったので、何も教育も基準もルールもない状態で適切なissueを書くのは誰にでもできる、というわけではなかったのではないか。 なので、ま

    技術力の向上に、issueをちゃんと書けるになる訓練をするのが良いのではと思った - Magnolia Tech
    tomoya
    tomoya 2021/10/15
    同様の話で適切なTODOリストを作れるかどうかというのもあると思う。ただどちらかというと、技術力というよりは業務遂行能力な気もしますけど。
  • AIコード生成と著作権

    6月30日、GitHub CopilotというAIプログラミングツールのテクニカルプレビューが発表されました。 コメントなどから自動的にコードが生成されるアニメーションは、とてもセンセーショナルで今後のプログラミングのあり方を変えてくれそうな予感がします。AIコード生成は以前からTabnineなどがありましたが、GitHubが参入したことで、今後より一般的に普及しそうです。 そんな中、AIコード生成とGPLライセンスについてのツイートが少し話題になっているのを目にしました。 github copilot はgplのコードを学習してんならgithub copilotが生成するコードはgplなコードのderivative worksでしかあり得ねえだろうが、という指摘がされており一考の価値がある https://t.co/pacomctOzW — 7594591200220899443 (@s

    AIコード生成と著作権
    tomoya
    tomoya 2021/07/01
    基本的に著作権は難しく考える必要はないのですが、AIが入ると難しくなりますね。
  • プログラマーテストの原則 by Kent Beck

    チョコレート対バニラTDD対BDD。このテストツール対あのテストツール。テストビフォー対テストアフター対これは動くから俺を信じろ。ある時期から、こうした詳細に関する議論には飽きてしまった。もっと原則について議論したい。 詳細に関する議論はなかなか結論に至らずに、話が行ったり来たりする。チョコレート対バニラ。チョコレート。バニラ。チョコレート。バニラ。 詳細の議論に負けを認めさせられるようなことがあっても、その譲歩は絶対的なものではない。私の状況がチョコレートを勧めているのに、私にバニラをべさせてくれと言えるだろうか? これでは埒が明かない。 原則一方、原則は議論を生み出す基盤になる。原則には賛成しても状況が違っているのなら、答えは違ってくるかもしれないが、そこで論争になることはない。原則が、異なる状況における異なる答えを生み出したのである。 詳細で論争するよりも、原則で論争したほうが生産

    プログラマーテストの原則 by Kent Beck
    tomoya
    tomoya 2019/10/24
    繰り返し、何度でも、心に留めよう
  • プログラミング必須英単語600+ | プログラミング英語検定

    概要 プログラミングをする際には、APIリファレンスやソースコードのコメントなどを英語で読むことが求められます。場合によっては英語で関数名を付けたり、ちょっとしたマニュアルを書いたりする機会もあります。ただしプログラミング時に求められる英単語は、一般的な英語で求められる英単語とは異なります。 必須英単語リストでは、プログラミング時に求められ、特に目にすることが多い英単語を以下のカテゴリーに分けて選定しています(注1)。プログラミング英語の学習や知識確認にご活用ください。

    プログラミング必須英単語600+ | プログラミング英語検定
    tomoya
    tomoya 2019/09/06
    これ、普通に良いのでは?
  • Haskell社内勉強会とHaskell学習ツールの紹介 | IIJ Engineers Blog

    Haskellユーザーグループ(愛称 Haskell-jp)発起人の一人にして、Haskell-jpで一番のおしゃべり。 HaskellとWebAssemblyプリキュアとポムポムプリンをこよなく愛する。 こんにちは。IIJ-IIの山悠滋です。 今日はここ数ヶ月私と有志で行っている、Haskellの社内勉強会と、そこで使用している自作のHaskell入門ツールについて紹介します。 Haskellの社内勉強会について 「社内勉強会 失敗しながら学ぶHaskell入門タイム」と称して、私はこれまでに8ヶ月近くもの間、週1回Haskellの勉強会を開催してきました。 この手の勉強会は連続して参加することが前提となっているため、どうしても最初の回から少しずつ人数が減っていくという残念なことになりがちですが、どうにか私含め4~5人程度を維持してここまで30回、18個目の課題まで進めることが出

    Haskell社内勉強会とHaskell学習ツールの紹介 | IIJ Engineers Blog
    tomoya
    tomoya 2019/07/31
    IIJには山本という姓のHaskellの達人が集まる性質がある。
  • 僕が毎日学習するために実践している方法

    継続的な学習は、僕の中で近年のひとつの大きなテーマとなっています。といっても、どうすれば継続学習ができるのかという話ではなく、世の中には日々の学習を行わない人がいるけど、どうして学習をしないのか、というのがこのテーマの中心課題です。 今回は、そのテーマについて論じる前に、僕が日々実践している学習方法を紹介したいと思ったのでブログに書いておきます。 毎日学習するための方法 # 僕が実践している毎日学習するための方法はとても簡単で、具体的には次の通りです。 特定のリポジトリを毎日git pullして、追加されたコミットを見る 面白い変更があればシェアやメモする 見ての通り、とても簡単です。僕は毎日これを1日の作業開始前に行っています。 毎日リポジトリをチェックすることで得られるメリット # これを続けていることで得られるメリットは色々ありますが、僕が考える代表的なものは次の通りです。 そのプロ

    僕が毎日学習するために実践している方法
    tomoya
    tomoya 2019/02/18
    オススメです。
  • ゆーすけべー日記

    __papix__ 君が主催をして開催している Perl入学式 というイベントがあります。Unix/Linux/OSXの環境構築から始まり最終的にはWebアプリケーションをつくるハンズオン形式の勉強会を今年は年6回に分けて開催しているようです。かなり丁寧にPerlを教えているという印象があって、それがどんな雰囲気か以前から気になっていたのですが、昨日「Perl入学式 in 東京 #2」にサポーターとして途中から参加させてもらいました。 簡単に感想を述べると「これはすごくいい」。肝は最適な練習問題が所々出され、するとみんな黙々とコーディングし始めるんだけど、それが終わると、参加者同士でコードを見せ合って「これで合ってるかな?」「私はこんな風に書いたよ」と言うようなコミュニケーションが生まれてたりしているのです。正直その様子を見て感嘆しましたよ。 *追記「Perl入学式の補講があるらしいよ!」

    ゆーすけべー日記
  • 『リーダブルコード』を読むことはプログラマとしてのたしなみ

    なんだかんだ言ってこの業界、読めるよりも動くコードが重視されて来た と感じています。 動くだけで読むのが苦痛なコードって、ちゃんと読めるコードにするまで の時間を、これから読む人や修正する人に預けているだけなんですよね。 書く回数より読む回数の方が圧倒的に多いのです。そしてそれは、ビジネ ススピードに直接繋がります。 私は今まで、読めるコードになるように丁寧に書いて来たつもりです。で も「ここまで丁寧に書くのは自己満足なのでは?」と思うことはよくあり ましたし、コードレビューの時も指針となるものがありませんでした。 書を読んで「ああ、ここまで書いて良いのね」とある意味救われました し、いくつかの間違いにも気づきました。コードレビューの時も自信が持 てそうです(笑)。 プログラマ初心者は先輩のクソコードに染まる前に読むべきだし、日々良 いコードを書こうと奮闘しているプログラマも読むべきでし

    tomoya
    tomoya 2012/10/31
    最低限のたしなみという感じですかね。
  • Javathcript - Javascript with a lisp

    Javathcript allows you to script your web pages in a simple lisp variant. Once you include Javathcript.js, any script tags in your document with type="text/lisp" will be evaluated. It will also download lisp files (only from the original server), if you have a script tag that has a src attribute. Finally, you can also evaluate lisp code from javascript using Javathcript.eval(lispString). While it

    tomoya
    tomoya 2012/08/17
    面白いんだけどなー
  • 珍説「あご髭がプログラミング言語成功の鍵」:髭ギャラリー

    tomoya
    tomoya 2012/06/20
    "しかし、さらに非凡なのは彼らがたくわえていた素晴らしいあご髭なのだ。" ふいたw
  • 自分がエンジニアとして働くために学んできたことをまとめてみる - smellman's Broken Diary

    id:sinsoku さんが今までソフトウェア開発について勉強してきたことのふりかえりというエントリで学習してきたことをふりかえっていて、僕も転職を機会にまとめてみようかと思います。ただし、僕はエンジニアという大まかな括りで書いてみます。 とりあえず、期間はアルバイト時代からケイビーエムジェイ入社までの期間です。 アルバイト一社目 Linkedinには社名を書いていますが、社名は伏せておきます。よくわからないけど。 主な業務内容はVisual Basic 6でのGIS開発でした。当時はまだGoogle Mapsとか無かった時代で、G-XMLの動向についてが注目されていたような時代です。 アルバイトだったので研修などはありません。いきなり数万行(数十万行かな?)のVisual Basicのソースコードを渡されて改修するというものでした。 最初の一ヶ月程度はVisual Basic自体に慣れる

    自分がエンジニアとして働くために学んできたことをまとめてみる - smellman's Broken Diary
    tomoya
    tomoya 2012/05/24
    smellman の半生みたいな何か
  • 「あとで捨てることになるコードのテスト」について - @kyanny's blog

    同僚とこんな話をした。 例えば「キャンペーンサイトとプレゼント応募フォーム」のような、一時的にしか使わないことがわかっているコードに対するテストをどの程度書けば良いのか?納期は迫っていて、他にもっと優先度の高い仕事もあるとする。最低限 200 が返ってくることだけをテストすれば良いのか、 POST したらどのようなリソースが作られるかまで厳密にテストすべきなのか。 そのとき述べた僕の意見を書いてみる。 追記 同僚の名誉のために補足すると、その時は「不安な部分をテストすべき」という当たり前な結論に落ち着いたのだけど、そもそも詳しく聞いてみたら「僕ならここは不安だから書くと思う」と考える部分については、彼はすでに書き終えていて、その上でさらに厳密にテストを追加すべきだろうか?という問題意識を持っていた、という。なので、以下に意識高そうなことをつらつら書いているけど、同僚氏のほうが僕よりよっぽど

    「あとで捨てることになるコードのテスト」について - @kyanny's blog
  • ぼくはこうしてプログラミングを覚えた

    オリジナルはココです。フェイスブックのエンジニアでで史上ベスト3に入るといわれるEvan Priestley氏への質問「どうやってプログラミングを覚えましたか」に対する人からの答えです。 手短かに言えば 何年もの歳月の賜物というか。ぼくはただひたすらプログラミングが大好きで、(フェイスブックで働いていた)過去4年間、ほとんど他のことをしていない。その前も2.5年ほどプログラマーとして働いていたし、そのさらに前も6年くらい趣味でプログラミングをしていた。ぼくは高校も大学も中退しているので、それで空いた時間もプログラミングに費やした。つい最近フェイスブックを辞めたけど、未だに起きている時間のほとんどはプログラミングだ。 もっと詳しく言えば 月並みだが、ぼくはちっちゃい頃からコンピューターが好きで、我が家にあったヤツで(最初はMac Plusで途中からIIsiになった)で散々遊んだ。8歳か9歳

    tomoya
    tomoya 2011/07/22
    "ぼくは独学でプログラミングを覚えたドロップアウトで、まともな教育も受けていない。それに、それまでもぼくは様々な分野で自分よりも何倍もスゴい人たちに出くわしてきた。" わかるわー。
  • プログラミング用フォント Ricty

    お知らせ Ricty および Ricty Diminished は、2010 年代前半には欧文・和文合成プログラミング用フォントとして先駆的でしたが、現在は前時代的な存在となっています。不具合もいくつか確認されています。良質なプログラミング用フォントが数多く登場していますので、それらの利用をおすすめします。 序文 Ricty(リクティ)は Linux 環境での研究・開発を想定したプログラミング用フォントです。テキストエディタやターミナルエミュレータ、プログラミング言語やマークアップ言語に対する使用に適しています。Inconsolata と Migu 1M の合成、および、プログラミング用フォントとしてのいくつかのチューニングを行う生成スクリプトを配布しています。Inconsolata 作者の Raph Levien 氏、Migu 1M 作者の itouhiro 氏、M+ M Type-1

  • concurrent.el リリース - 技術日記@kiwanami

    今まで何の説明も無しに自分のアプリで使ってきた謎ライブラリ concurrent.el ですが、一区切りが付いた気がしましたのでリリースしたいと思います。 この記事では concurrent.el の基盤である deferred.el について簡単に紹介して、 concurrent.el の機能と適用例を紹介します。 あらすじ deferred.el復習 concurrent.el紹介 機能一覧、コード例 cacoo.elでの設計解説 deferred.el 紹介 deferred.el の詳しい使い方やAPIなどはREADMEの文書がまとまっていますので、手っ取り早く使いたい人はそちらを参照してみてください。 おそらく、他の言語でDeferredに慣れていればすぐに使えるのではないかと思います。 deferred.el リリース - 技術日記@kiwanami (リリース記事:慣性スクロ

    concurrent.el リリース - 技術日記@kiwanami
    tomoya
    tomoya 2011/04/21
    なんか凄い広がってきた。いつか jQuery ならぬ eQuery みたいな言語拡張が出来て、誰でもお手軽 Elisp という未来もあるのかも。
  • erefactor.el - まにっき

    最近、長年書き溜めた色んな elisp を公開してます。 Emacs Lisp の refactoring 用ツールをまとめた erefactor.el を公開しました。 http://www.emacswiki.org/emacs/erefactor.el https://github.com/mhayashi1120/Emacs-erefactor erefactor.el は大きく三つの機能に分けられます。 symbol 名の変更 ローカル変数 highlight 外部 elint 似た機能を持つ elisp として https://github.com/mitsuo-saito/auto-highlight-symbol-mode がありますが、あちらは色々な言語用の汎用版で、こちらは Elisp 限定版と捉えればよいと思います。highlight 機能が被ってしまったので、その場

    erefactor.el - まにっき
  • デバッグの第一歩!Emacs Lisp関数をトレースする方法 - http://rubikitch.com/に移転しました

    Emacs Lispのデバッグをしているとき、特定の関数呼び出しをトレースしたいことがあります。 関数呼び出しのトレースとは、呼び出した関数の引数の値と、返り値をチェックすることです。 もちろん、関数が呼び出されたかどうかもわかります。 トレースの実現にはadvice機能を使っています。 M-x trace-functionでトレースするM-x trace-functionは、特定の関数をトレースします。 このコマンドは、トレース対象関数と出力バッファを聞いてきます。 出力バッファはデフォルトで*trace-output*なので、そのままにしておくのが無難です。 複数の関数をトレースする際に出力がごちゃごちゃになるのが嫌ならば別のバッファ名にしておけばいいです。 その後でトレース対象関数を呼び出したら、トレース結果を表示します。 M-x trace-function-backgroundで

    デバッグの第一歩!Emacs Lisp関数をトレースする方法 - http://rubikitch.com/に移転しました
  • ブログ書いた #shibuyalisp - わからん

  • 非同期と継続と私 - 技術日記@kiwanami

    非同期のプログラミングの解説の中にはよく「継続(渡し)」が良く出てきます。継続といえば Scheme の call/cc ですが、やっぱり JSDeferred のサンプルのページにも出てきます。直感的にはあんまり関係ないような気がしますが、関係があるようです。 さらに、非同期と遅延評価の関係も気になります。非同期は「結果が後で来る」感じですが、遅延評価は「必要になるまで結果を計算しない」ということで、後回しにする感じが似ています。 今回、deferred.el を作った後にこれらについて考えてみたところ、なんとなく自分の中で実用的な結論に達したのでまとめてみました。以下、その過程とまとめです。 あらすじ 継続渡し(CPS)と非同期 CPS変換から非同期化 Deferredで非同期化 遅延評価と非同期 遅延関数のCPS変換から非同期化 Deferredで非同期化 明示的形式と暗黙的形式 継

    非同期と継続と私 - 技術日記@kiwanami
  • deferred.el の出来るまで:Emacsでの非同期処理 - 技術日記@kiwanami

    Emacsでの非同期処理は大変 これまでEmacsのGUIアプリをいくつか書いてみて、非同期の処理を何とかしたいと思ったことが deferred.el を書こうと思った動機です。 Emacs Lisp上でコマンドを非同期で処理しようと思うと、コールバックをつなげたり、正しくエラー処理を行うために、かなり長いコードを書く必要があります。また、最近はWebにアクセスする機会も多いのですが、これも非同期で処理するとなるとまた面倒です。非同期をやめて、ブロックする(Emacs全体が固まる)コードで書けば楽なのですが、それではユーザー体験としてマイナスになってしまいます。 特に大変だったのが cacoo.el を作っているときでした。 cacoo.el では、以下のような流れで画像を表示します。 Webから画像取得(wget) 画像サイズ取得(identify) 画像リサイズ(convert) 表示

    deferred.el の出来るまで:Emacsでの非同期処理 - 技術日記@kiwanami
    tomoya
    tomoya 2010/10/10
    要望・調査・設計・実装までの流れ