タグ

関連タグで絞り込む (396)

タグの絞り込みを解除

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

  • 線形代数演習講義へのjulia導入を考える

    記事はJulia Advent Calendar 2022の12/23の記事です。 東京大学で働いている松井と申します。 線形代数の講義における演習(実際にコードを書き行列演算を行う)の重要性を感じています。 そのためにjuliaを使えないかと思い至り、pythonとの比較に焦点を当て思っていることを述べます。 線形代数における演習の意義 線形代数は工学全般において重要で基盤的な学問体系ですが、なかなかとっつきにくいものです。その理由の一つは線形代数の諸アルゴリズムは最終的には計算機で実行するにも関わらず、学生は自分の手を動かしてコーディングする機会が少ない点だと感じます。多くの大学のカリキュラムでは大学初年次に線形代数講義があると思いますが、座学がメインであることが多いと思います。当は、座学と並行して実際にコーディングして行列演算を行う「演習講義」があれば、理解が深まるだろうと感じま

  • プログラマーの教養としての原則

    参考 プリンシプル オブ プログラミング - 3年目までに身につけたい一生役立つ101の原理原則 発行: 2016/3/23 著者: 上田 勲 まえがき プログラマーの世界で語り継がれる原則や格言を知ることは、その共通の言語や道徳を理解する手助けとなります。 『プリンシプル オブ プログラミング』(以下、プリプロ)は、統一された語句と形式により、先人のプログラマーたちが重要視していた思考法やアプローチを、微妙な概念の違いに気を使うことなく理解できるよう構築されています。この記事では、このを読む上で役立つ101の原則マップと原則から抽出した価値観をまとめます。プリプロを読む際のガイドになればと思います。 一方で、プリプロに収録されていないウィットに富んだ原則や格言も多く存在します。この記事では、主に私の現場で重要視しているプリプロの101の原則以外の原則・格言も追加で紹介します。 プログラ

    プログラマーの教養としての原則
  • プログラミングの終焉と生存戦略|k1ito

    この文章は何: 近年の生成AIブームにより、革命的なまでにプログラミングという仕事の形は変わることが予想され、実際、今までにない速度で世界が効率化され様々なサービスがローンチされていく中「使う側」としても「作る側」としても「IT業界(特にSaaS業界など)での生存」は難しくなっているように感じます。正解を知っていたらとっくに僕は大儲けをしているわけですが、当然わかるはずもなく生存戦略に苦しむだけの中での寝言です。 まとめと結論めいたもの:AI技術の発展により「プログラミング」と呼ばれる「人間の仕事を機械に引き継ぐ行為」のほとんどはゼロコストで行えるようになり、少なくとも今ほどの価値や競争優位の源泉とはならないだろう。今やるべきは、AIを自社の競争優位の源泉とするべく、まるで人材投資のようにAIへの引き継ぎ書を書くことと、AIの研修制度を作ることかもしれない。 プログラミングという仕事の終焉

    プログラミングの終焉と生存戦略|k1ito
    skypenguins
    skypenguins 2024/02/05
    言われた通りにしかコーディングできないCode Monkeyは淘汰されるってだけで、本来の意味でのプログラマー(ソフトウェアエンジニア)は生き残るのでは?
  • データ指向プログラミングの真実をお話しします

    Project Amberの文脈 サイズの小さいアプリケーションも扱うようになった。 システム全部をJavaで作る訳じゃなくなった オブジェクトではなく、データをやり取りするようになった。 そこでプレーンデータをモデル化し、処理するより良い方法が必要 代数データ型 (Record, switch式, sealed)

    データ指向プログラミングの真実をお話しします
    skypenguins
    skypenguins 2023/11/11
    クラスじゃなくて型の時代…つまりJuliaの時代ってことですね
  • 「Real World HTTP」著者・渋川よしき氏が「最新情報は追わない」と断言する理由

    フューチャーアーキテクト株式会社 シニアアーキテクト 渋川 よしき 技術研究所、DeNAを経て現職。技術書の執筆や翻訳も手がけ、「実用Go言語」「Real World HTTP」「Goならわかるシステムプログラミング」の執筆、エキスパートPythonプログラミングの翻訳などを行う。2023年5月に翻訳書「ソフトウェア設計のトレードオフと誤り」を、7月に「エキスパートPythonプログラミング改定4版」を上梓。 技術や業界など仕事についての情報収集の基盤として多くのエンジニアを支えていたTwitterが、以前とは異なる姿となってゆく今、必要な情報を過不足なく収集しインプットする方法に悩みを持つ人も少なくありません。 「アフターTwitter時代の情報収集」と題したこの連載では、業界をリードする方々に、Twitterの変化によって普段の情報収集の方法がどう変わったか、欲しい情報を効率よく集

    「Real World HTTP」著者・渋川よしき氏が「最新情報は追わない」と断言する理由
  • 「マクロを組める事務職」を狙え

    https://anond.hatelabo.jp/20230917223337 一般論として、40歳未経験エンジニアを雇ってくれる企業はほぼ存在しないと言っていい。 奇特な会社は雇ってくれるかもしれないが、22歳新卒をよちよちするのと40超えのおっさんをよちよちするのだったら100人中99人は22歳を選ぶ。 その上で、だ。40歳がプログラミングを学んで業務で価値を出しうる唯一と活路と言えるのが掲題の「手作業でちまちまやんなきゃいけないことをマクロで秒で終わらせられる事務職」なのである。 この話のポイントは、世の中には「どう考えても手入力させるには無駄極まりない」にも拘わらず「エンジニアの稼働費用と派遣社員の稼働費用を取ったら『エンジニアなら1時間で終わらせられる仕事』を『派遣社員に2日かけてやらせる』のが経済合理性がある」という現象があちこちに転がっているということだ。 これを書いてる増

    「マクロを組める事務職」を狙え
    skypenguins
    skypenguins 2023/09/19
    数年後、そこにはネットからコピペしたマクロでセキュリティ事故やらかしてガン詰めされる増田が!
  • Open Interpreter - 自然言語でコーディングを実現するオープンソースツール|masia02 (CipherWeb,LLC.)

    Open Interpreterは、自然言語でプログラミングができるようになる、興味深いオープンソースツールです。機能呼び出し型の大規模言語モデルを利用して、PythonJavaScript、Bashなどのコードをローカルで実行できるのが大きな特徴です。インストールと利用は簡単で、コーディング作業の効率化を図れそうなツールです。 Open InterpreterとはOpen Interpreterは、GPT-3.5やGPT-4またはCode Llamaなどの大規模言語モデルを利用して、自然言語でのコード実行を可能にするオープンソースのツールです。 コマンドラインインターフェース上で言語モデルと対話することで、PythonJavaScriptなどのコードをローカルマシン上で実行できます。複雑なロジックのコーディングもステップごとに指示できるので、開発効率の大幅な向上が期待できます。 公式

    Open Interpreter - 自然言語でコーディングを実現するオープンソースツール|masia02 (CipherWeb,LLC.)
  • Postman “APIファーストの世界” コミック

    Postmanでは、将来全てのものがAPIで繋がると考えています。 “APIファーストの世界“コミックを読むことで、何故、またはどのようなAPIファーストの世界が実現するのかが理解できます。

    Postman “APIファーストの世界” コミック
    skypenguins
    skypenguins 2023/08/22
    コンピュータの歴史は抽象化の歴史ということにちゃんと言及してる良コミック
  • How To Become A Hacker: Japanese

    なぜこんな文書を書いたか わたしは Jargon Fileの編集者で、またその他似たような有名文書いくつかの著者なので、しばしば熱心なネットワーク初心者から「ウィザード級の大ハッカーになるにはどうやって勉強すればいいの?」といったようなお尋ねメールを頂きます。でもかつて 1996 年に、こんな大事な問題を扱った FAQ や Web 文書 はみあたらないことに気がつきました。というわけで、これを書き始めました。多くのハッカーがいまやこれを決定版と見なしているし、つまり実際に決定版なんだと思います。でも、この問題について自分が唯一無二の権威だと主張するつもりもありません。気にくわなければ、自分なりのヤツをどうぞ。 この文書をオフラインで読んでいるなら、最新版は次のところにあります。 http://www.catb.org/~esr/faqs/hacker-howto.html なお、この文書の

  • How To Become A Hacker

    Link to "Things Every Hacker Once Knew." Mention USB-stick distros. Many updated translation links.

  • 競技プログラミングをしなくても知っておきたい計算量のはなし

    これは ミライトデザイン Advent Calendar 2021 の 14 日の記事です 最近ふぐひれ酒が飲みたくて仕方ない ほげさん ( zenn ) です 今日は計算量について超ゆるふわに紹介してみようと思います 「競技プログラミングとかやらんし」「Web サービス作るのにいらんし」などと思った方! 大量リクエストの対応やバッチ処理など、案外役に立つかもしれないですよ! どういうときに計算量を考えるか 計算量とは、処理の効率などを示す尺度のことです この記事では処理時間についてのみ紹介します まずはサンプルコードと実行結果を見ながら、代表的なケースとインパクトを見てみましょう データ構造をちょっとだけ気にする ロジックをちょっとだけ気にする アルゴリズムをちょっとだけ気にする の三立てでサクサクいきますよ ケース 1: データ構造をちょっとだけ気にする 最後の要素を取得するのは、配

    競技プログラミングをしなくても知っておきたい計算量のはなし
  • GitHub - yuru7/juisee: Juisee は、欧文フォント JuliaMono と日本語フォント LINE Seed JP を合成したプログラミング向けフォントです。

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - yuru7/juisee: Juisee は、欧文フォント JuliaMono と日本語フォント LINE Seed JP を合成したプログラミング向けフォントです。
    skypenguins
    skypenguins 2023/06/23
    JuliaMonoってJuliaのドキュメントで使われてるフォントか
  • Pythonコードを35000倍に高速化したい

    はじめに Pythonは世界的にも人気のあるプログラミング言語ですが、実行速度については課題があります。Pythonの実行速度を高速化したい、という要求は根強く、これまでにも様々な処理系が開発されています。 この記事はPythonで書かれたコードを35000倍に高速化するにはどのような方法があるかについてまとめたものです。 この記事は: Pythonで書かれたアルゴリズムを35000倍に高速化する 事前コンパイル、並列化、SIMD演算を駆使する 最終的に44000倍まで高速化できた なぜ35000倍? 2023年5月2日にModular社よりPythonの使いやすさとC言語の性能を兼ね備える新しいプログラミング言語、Mojoの開発について発表がありました。低レベルのハードウェア向けにコンパイル可能なこと、文法的にはPythonを踏襲しており、既存のPythonライブラリを利用可能であること

    Pythonコードを35000倍に高速化したい
  • デバッガと和解せよ

    2022/08/28 Kernel/VM探検隊online part5 (https://kernelvm.connpass.com/event/256248/) の @nullpo_head (https://twitter.com/nullpo_head) の発表資料です。 ptraceを使って対象コマンドの全子プロセスにattachしてDwarfを見つつデバッグしたいプロセスを探し、最終的には他のデバッガに処理を流すような不思議なデバッガ(?)を作ることで、zero configurationでvscodeでブレークポイントを打ったプロセスのデバッグを始めてくれる dbgee (https://github.com/nullpo-head/dbgee) という便利ツールを作ったときの話をしました。

    デバッガと和解せよ
    skypenguins
    skypenguins 2023/05/04
    その点、VSCodeのPythonデバッガやIntelliJデバッガは楽に使えてすばらしい
  • さらばAPI、Twitter専用ガジェット「TW BOY」を作って遊ぶ|fabcross

    2023年2月、Twitter APIの有料化が発表された。私も個人制作者としてTwitter APIを使ったサービスを作っていたことがあるので、一時代の終わりを感じて、しみじみとした気分になってしまった。 有料化されるまでは、まだ少し時間があるようだ。最後にTwitter APIを使った何かを作ってみたい。せっかくなので、個人でしか作れないようなものがいい。専用ガジェットなんてどうだろうか? Twitter専用ガジェットを作る Twitter APIみたいなWeb APIは、いきなり仕様が変わることがあるのでガジェットとの相性が悪い(ファームウェア更新が必要になる)。かつてタカラトミーから「ついまる」という、ツイートを音声で読み上げるおもちゃが発売されていたけれど、これも現在では使用不可能になっている。 だがここで、あえて専用ガジェットである。単に私の趣味の問題でもあるのだけど、「それし

    さらばAPI、Twitter専用ガジェット「TW BOY」を作って遊ぶ|fabcross
    skypenguins
    skypenguins 2023/04/11
    公式上は「いいね」に変わったのに、一貫して「ファボ」って呼んでるところが郷愁に浸ってるようでおもろい
  • GPTでソースコードからpatchを生成し続けたらプログラミングを自動化できるのでは???? - laiso

    と思ってやってみたら結構実現できてウケたので解説します。 はじめに 最近のGPT(LLMs)アプリケーション開発界隈は「プロンプトの内容を試行錯誤して結果を期待する」フェーズから「LLMsの特性を生かした今までできなかった自動化を実現」という段階が訪れつつあって楽しい時期です。 LlamaIndexというOSSではDBのスキーマと自然言語からSQLを自動生成してその場で実行するというクレイジーな機能があるのですが(A Guide to LlamaIndex + Structured Dataを参照) これと同じ発想でソースコード全体からpatch(patch - Wikipedia)を生成してその場で適用するというアイデアを思いついたのでしばらく検証していました。 「コミットメッセージを先に書いてそれを満すコミットをGPTに生成してもらう」ようなイメージ。 書いたコードはpmonというコマ

    GPTでソースコードからpatchを生成し続けたらプログラミングを自動化できるのでは???? - laiso
  • Webサーバーアーキテクチャ進化論2023

    はじめに 最近プログラマーとしてのキャリアに一区切りつけようと思っており、これまでのプログラミングの勉強の集大成となるブログを書きたくなったので書く。初めてプログラミングをして、フロントエンド開発をして、サーバーから値が返ってきたときは「どういう仕組みで値が返ってきたんだ?」と疑問に思っていた。ずっと理解したくて理解できていなかった。だからずっと勉強していた。そして最近になってようやく自分の言葉で説明できるようになった気がしたのでブログを書きたい。 2015 年版が自分の原点であり、この記事を書くモチベーションになった このような記事は実は過去に存在している。 FYI: https://blog.yuuk.io/entry/2015-webserver-architecture その記事はサーバーがどういう仕組みで動いていて、どのように進化し、2015 年に至るかを解説してくれた記事だ。自

    Webサーバーアーキテクチャ進化論2023
    skypenguins
    skypenguins 2023/03/31
    ワイが大学の授業の課題としてCでHTTPエコーサーバ書いたときはselect使った記憶あるけどepoll使うのがふつうなのか
  • python的な書き方を学ぶと良い話 - Qiita

    はじめに Pythonは可読性が高く、ライブラリが豊富というメリットがあります。一方で、遅いから使いたくないと言われることもあります。たしかにコンパイル方式の言語に比べれば遅い部類ではあります。しかし、実際のところではpython的な書き方を分からず、他の言語の流儀でコーディングをしたことに起因して処理時間がかかっているケースも見受けられます。 例えば総当り計算や画像処理に多重ループを使う、といったものです。記事では多重ループを例にして、python的な書き方に書き換えることで、どのような変化があるか紹介します。それを通してpython的な書き方を学ぶ意義について説明したいと思います。 対象の読者 他の言語からpythonに入った方(組み込みC言語からpythonに入った過去の私) 例: 総当りの計算をする 数列に対して、それぞれの要素同士に対して総当りで何らかの計算をするコードについて

    python的な書き方を学ぶと良い話 - Qiita
    skypenguins
    skypenguins 2023/03/26
    「Python的」っつーか、計算量の多いアルゴリズムやめて、線型代数を学んで適切なライブラリを使いましょうって話じゃねーの?CでもCUDAとか使えば速くなるでしょう
  • 【AtCoder】中卒の主婦が青コーダーになったおはなし【競技プログラミング】 - Qiita

    はじめまして。mayocornです。 先日のABC281で青コーダーになりました! 経歴 20代の主婦。旦那は競プロやってないです。 中学卒業→高校入学→高校中退→バイトを転々とする(ITに関してはSESで半年ほど働いた経験あり)→今の住所に引越してきてからは無職 趣味ゲームで、最近やっているタイトルはファイアーエムブレムエンゲージ、Splatoon3です。音ゲーやカードゲームに熱中してた時期もありました。CHUNITHMは旧レートでベスト枠15.3くらい。でものめりこむほどお金がかかるのでやめました。競技プログラミングは何問解いても無料なので続けられてます。 学力に関して話すと、高校数学は確率、論理と集合がちょっとわかるくらいで三角関数、微分積分、行列あたりは全然分かりません。青パフォーマンスをとるのにこのへんの知識が必要になったことはなかった気がします。(私が参加した回の中では) 競

    【AtCoder】中卒の主婦が青コーダーになったおはなし【競技プログラミング】 - Qiita
    skypenguins
    skypenguins 2023/02/12
    毎日問題解くのがキモなんかな?一時期やってたけど飽きたんだよな…
  • Juliaの素晴らしきエコシステム - SEむううみんのプログラミングパラダイス

    はじめに 例えばあなたが通りすがりJuliaプログラマに、Julia言語の何が素晴らしいのか聞いてみたと仮定しよう。おそらくその人は目を爛々と輝かせながら、いくつかの機能をまくしたてるだろうが、そのうちの一つに多重ディスパッチが挙げられることにほとんど疑いの余地はない。多重ディスパッチ・・・どっしりとした重厚さを感じる響きだ。 多重ディスパッチとは何かというと、同じ名前だが引数の違う関数をいくつも定義することができて、実際に呼び出される関数が、実行時の引数の型によって決められる機能のことを指す。「それって、関数のオーバーロードの事だよね!?」と思ったあなた。素晴らしい。わたしはあなたのような人に会いたかったのだ。多重ディスパッチとオーバーロードは少し違う。ほんの些細な違いに思えるが、その差が無視できないほどになることもあるのだ。あなたに多重ディスパッチのめくるめく世界を紹介しよう。 モジュ