CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

このコーナーでは、2014年から先端テクノロジーの研究を論文単位で記事にしているWebメディア「Seamless」(シームレス)を主宰する山下裕毅氏が執筆。新規性の高い科学論文を山下氏がピックアップし、解説する。 Twitter: @shiropen2 Microsoft Researchに所属する研究者らが発表した論文「CodePlan: Repository-level Coding using LLMs and Planning」は、単なる一部のコード編集にとどまらず、リポジトリ全体のコーディング作業を計画的に自動編集するための大規模言語モデル(LLM)を使用したフレームワークを提案する研究報告である。 近年、LLMによるプログラミングの自動化が進展を見せている。「Amazon Code Whisperer」「GitHub Copilot」「Replit」などのツールは、自然言語の意
High Performance Browser Networking © Ilya Grigorik Performance is a feature. This book provides a hands-on overview of what every web developer needs to know about the various types of networks (WiFi, 3G/4G), transport protocols (UDP, TCP, and TLS), application protocols (HTTP/1.1, HTTP/2), and APIs available in the browser (XHR, WebSocket, WebRTC, and more) to deliver the best—fast, reliable, an
閏年(うるうどし)の話題。 Twitterで見かけた話題で「西暦1年は閏年かどうかぱっとわからん人おる?」という些か煽り気味のツイートを見かけたのだけども、反射的に「閏年じゃないに決まってるじゃん」とぱっと答えてしまわないだろうか。本当にそうだろうか? そう単純な話なのだろうか? プログラミングを学んでカレンダーを扱うことを学ぶ際に置閏法についても簡単に触れられることがある。置閏法というのは閏年や閏月(太陰暦では1年が13ヵ月になるケースがあり追加の月を閏月と呼ぶ)をどのようなルールで挿入するかという話で、まさにアルゴリズムであるからプログラミングの話題と相性がいい。 置閏法 現代の西暦の置閏法(ちじゅんほう)は 西暦を 400 で割り切れる年は閏年 上記以外で西暦を 100 で割り切れる年は平年 上記以外で西暦を 4 で割り切れる年は閏年 上記以外は平年 といった手続きで閏年(つまり2月
config.md 参考 http://hr-sano.net/blog/2014/10/26/1729/ JSON https://ja.wikipedia.org/wiki/JavaScript_Object_Notation メリット Python標準に含まれている 仕様が厳格に決まっている デメリット ファイル内にコメントが書けない 末尾コンマ消し忘れるとエラー カッコ多い 書くの簡単じゃないかも 例 一つにまとめる場合 [ {"path": "C:\\Download\\paper", "extension": ["pdf", "doc"], "destination": ["C:\\Dropbox\\論文\\*", "C:\\My Documents\\査読\\*"]}, {"path": "C:\\Download\\music", "extension": ["mp3",
大量の文章から学習することで、多言語を取り扱う能力だけでなく、高度な推論能力まで手に入れました。 GPT-3.5、とりわけその初期モデルのCodexはGitHubに存在する5400万の公開リポジトリから採取された159GBのPythonコードでGPT-3をfine-tuning(微調整)することで生まれました。ChatGPTがとりわけPythonが得意なのはここから来ています。 ChatGPTの学習データを考えることはその能力を発揮させるときに極めて有効です。質問時も以下のように、『涼宮ハルヒの憂鬱』というライトノベル作品について日本語で聞いたときはSOS団の略称を間違えるなどしますが、英語ではほぼ期待通りの回答を見せます。 図1 『ハルヒの憂鬱』について日本語で聞いた場合の回答 図2 『ハルヒの憂鬱』について英語で聞いた場合の回答 知ったかぶりをするChatGPT ところで、ChatG
[JavaScript] URLを文字列結合で組み立てないために、url-cheatsheetを作った URLを文字列結合で組み立てると色々問題が起きやすいので、それを避けるためにURL APIやURLSearchParams APIでURLを組み立てるパターンをまとめたチートシートを作りました。 azu/url-cheatsheet: URL manipulation cheatsheet for JavaScript URLにユーザーが入力した文字列を含めるときはencodeURIComponentでエスケープする URLはプレーンな文字列ではなく構造化された文字列(文字の並びに意味がある文字列)として扱わないと、さまざまな問題を抱えやすいです。 たとえば、次のように文字列結合でURLを組み立てるとパストラバーサルの問題があります。 name に ../../adminのような文字列が
よく新しいフレームワークを学ぶにはTodoアプリを作ってみるのがよい、と言われる。実際、Todoアプリを様々なフレームワークで作ってみたサンプルをまとめたサイトもあったりする。 ところが、実際に業務で作るようなアプリケーションはTodoアプリの範疇を超えている。とくにSPAにもなると、画面遷移やWebAPI連携、大規模な状態管理などなどの条件が増えるので、Todoアプリを作っているときには考慮できていなかった大変さが出てくる。 そこで参考になるのが RealWorld example apps と呼ばれるプロジェクト 端的に言うと、TodoMVCの大規模版。 規定のスペックに沿って、様々なウェブフレームワークで作られたアプリケーションのリポジトリがリストアップされている。 スペックについて "Conduit" is a social blogging site (i.e. a Medium
21世紀に入ってまったく別物と言えるプログラミング言語に進化したC++。本連載では、Modern C++と称されるC++について、Modern C++らしい言語仕様をピックアップし紹介していきます。第1回は、かつてのC++の当たり前が今では通用しないことを紹介します。たとえばインスタンスの生成にnewを、破棄にdeleteをというのが常道でしたが、もはやそれらは非推奨なのです。導入として、このようなかつては常識だったことが非推奨になっているという状況を、いくつかのトピックスを通じてお話しします。 はじめに C言語から派生したオブジェクト指向プログラミング言語であるC++は、21世紀に入ってまったく別物とも言えるプログラミング言語に成長していきました。それは、Modern C++と称されています。1990年代にC++を触っていたプログラマが現在の仕様を知れば、隔世感に苛まれるのではないでしょ
秋のブログ週間の9本目のエントリーになります。この企画もこんなに書く人が出てくるように育っていいですね。 「中間層を増やして柔軟性を高めるのがソフトウェアの歴史」 これは大学時代に2つ上の先輩が言っていた言葉です。例えばマシン語を直接書くのではなく、アセンブラで書けば、変換(コンパイル)の手間はかかりますが、他のCPUへの移植はしやすくなります。高級アセンブラと名高いC言語を使えばさらに移植性は上がります。C言語で書かれたVMを使う言語、例えばJava、Python、Rubyなんかはさらに移植性は上がります。 ストレージもそうです。最終的にストレージはビット列を保存するものですが、それにOSのファイルシステムというレイヤーがあり、そこにスキーマで管理されたデータを入れるDBMSが乗っかり、SQLなどの問い合わせ言語でデータ取得できるようにします。DBMSを挟むことで、レプリケーションでバッ
エンジニアの鈴木(泰)です。 今回は、multiprocessingとthreadingとasyncioの違いとはなんだろう?という問に挑戦してみたいと思います。 この問の答えをグーグル先生に聞いてみると、非常にたくさんの情報がヒットします。しかしながら、どの情報も断片的なものばかりで(本記事もそうなのかもしれません)、色々と本を読んだりネットを漁ったりして、情報を補完しなければなりませんでした。 本記事は、僕が調べた限りの情報を集約し、この問に対する結論を1つの記事にまとめたものとなっています。 前提 マルチプロセスとは マルチスレッドとは Pythonにおけるマルチスレッド 本題 マルチプロセス(multiprocessingライブラリ)を利用したほうが良い場合 cpu_sec.py cpu_multiprocessing.py cpu_threading.py cpu_asyncio
本書『サバイバルTypeScript』は実務でTypeScriptを使う開発者のための入門書です。そして、このページはTypeScriptの特徴を最速で把握できるよう、数百ページからなる本書のコンテンツをつまみ食いした要約です。 » 本書ついて詳しく知る » とにかく今すぐTypeScriptを書いてみたい TypeScriptとはJavaScriptのスーパーセットとなるプログラミング言語。静的型付け言語であり、プログラムの正しさが静的に検査できる。ライブラリやIDEなどの開発環境が充実しており、大きなエコシステムを持っている。Microsoftが2012年に開発し、オープンソースで公開した。» TypeScriptの特徴について詳しく知る » TypeScript誕生の背景について詳しく知る TypeScriptはJavaScriptのスーパーセットスーパーセットとは、元の言語との
JavaScript/TypeScriptの高速フォーマッター「Rome Formatter」リリース。Rust製でPrettierより約10倍高速と JavaScriptのツールチェインを統一的に提供することを目指した「Rome Tools, Inc.」(以下、Rome Tools)は、JavaScriptおよびTypeScriptのコードの書式を高速に整えるフォーマッター「Rome Formatter」をリリースしました。 Release of the Rome Formatter, a super fast formatter for JavaScript, with a focus on Prettier compatibilityhttps://t.co/2iXq5Gm5K3 — Rome Tools (@rometools) April 5, 2022 Rome Toolsは、
プロになるJava―仕事で必要なプログラミングの知識がゼロから身につく最高の指南書 作者:きしだ なおき,山本 裕介,杉山 貴章技術評論社Amazon 予約していたので、早速届きました。 Javaを使ってプログラミングを学ぼうとする人は、とりあえずこれ買っておけばいいんじゃね?っていう全部入りの1冊ですね。 JDKのインストールから、IDE/REPLの使い方、基本的な文法、エラーメッセージの読み方、オブジェクト指向、関数型プログラミング、各種ツールチェーン(ユニットテスト、ビルドツール、バージョン管理)と、全部入りの全部入り。 全般的に単なる文法の解説に終始せず、初学者がつまづきやすいところにページを割いているところが良くて、特に「最初からIDEを使う」と、「エラーが出ることと、その読み方を最初から書いていること」、「理解が難しそうな”ループ”の概念にフォーカスしていること」あたりは、上手
Excelの新機能「Lambda関数」によって「Excelの数式がチューリング完全になった」とナデラCEO。プログラミング言語としてのExcel数式であらゆる計算が可能に マイクロソフトCEOのサティア・ナデラ氏は、Excelの新機能である「Lambda関数」の登場をとりあげ、「世界で最も人気のあるプログラミング言語、Excelの数式が、チューリング完全になった」とツイートしました。 Excel formulas, the world’s most popular programming language, is now Turing-complete. Go check it out! https://t.co/qkw3Bmt1gp — Satya Nadella (@satyanadella) February 9, 2021 Lambda関数は、上記のツイートが示す図にあるように、E
あなたがもしPythonを作る前のGuidoに憑依して - ネットリサーチ - livedoor ニュース が面白すぎた。2位と3位の すべてを式にする lambdaの構文を変える は、同じ願いを別の言い方でしてるような気がした。lambdaにifとforを入れたいをかなえるには、ifとforを式にするか、lambdaに文が入るようにするか、どちらか一方だし。 それはさておき、このエントリの本題は、「Pythonにはselfが要る」というGuidoさんの主張について、具体例で理解することです。「こうだったらいいのにな」逆の視点、もしselfがないとどう困るのか、を考えましょう。 そこで、Pythonとは別の母親から産まれた双子、JavaScriptを例に、thisについて考えてみます。Pythonに対して、JavaScriptは「メソッド定義の第一引数に余分なアレがないこと」が特徴でしたね
≫ 【2週間無料!】初心者でもホームページが作れる!高速・安定・快適なレンタルサーバー みなさんこんにちは、文系出身のエンジニアのちょまど(@chomado)です。大手外資系IT企業でDevRel (Developer Relations) のお仕事をしています。 今回の記事では、プログラミング言語の歴史について書きたいと思います。私はもともとプログラミング言語が大好きで、歴史には大変興味があったので、今回、たくさん色々調べたり、ベテランの先輩エンジニアの方々に当時の様子をお聞きしたりして(ありがとうございます!)、記事にまとめました。 また、今回、Google Developers Expert の田中洋一郎さん (@yoichiro) に記事のレビュー(査読)や助言をしていただきました。誠にありがとうございました! そもそもプログラムとは? プログラムとは、コンピュータへの命令を記述し
Jeff Atwood / 青木靖 訳 2007年3月22日 以下に私の選ぶプログラミングの6大10項目リストを挙げておく。取り上げた順序には特に意味はない。このエントリを簡潔なものにしておきたいので、それぞれの項目は短い要約を引用するに留める。興味を引くものがあれば、ぜひリンクをたどってオリジナルの作者の考えについてもっと詳しく読むことをお勧めする。 [ 訳注: 要約だけで意味が取りにくいものに簡単な説明をつけた。] ジェラルド・ワインバーグの「エゴレスプログラミングの十戒」 自分が誤りを犯すということを理解し、受け入れること 。 自分と自分のコードは別物である。 どんなに「空手」を学ぼうと、いつでもあなたよりもっと詳しい人間がいる。 相談せずにコードの書き直 しをしない。 自分より無知な人に対しても尊敬と敬意と忍耐を持って接すること。 世界で唯一変わらないのは変わるということだけ。 唯
今日は、Visual Studio 2019 Launch Event in Tokyo で登壇してきました。 資料はこちらです。 Visual Studio 2019 の個人的なお勧め機能(発表時点) from 一希 大田 www.slideshare.net とりあえず個人的に便利だと思ってる機能とかを中心に色々話したのですが、その中で一つだけ覚えてもらいたい機能として Ctrl + . のショートカットを紹介しました。 何が起きるの? クイックフィックスを起動するショートカットになります。マウス操作でいうところの電球マークをクリックする操作になります。 出来ること 色んなことが出来ます。 名前変更 前にも書きましたが編集名やクラス名の変更が出来ます。 blog.okazuki.jp 変えたい変数やクラス名を普通に変更して Ctrl + . を押して Enter。 個人的には Ctrl
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く