タグ

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

タグの絞り込みを解除

Programmingに関するkirakkingのブックマーク (357)

  • AWSがプログラミング言語「Rust」に期待する理由

    印刷する メールで送る テキスト HTML 電子書籍 PDF ダウンロード テキスト 電子書籍 PDF クリップした記事をMyページから読むことができます Amazon Web Services(AWS)は、同社のエンジニアたちがプログラミング言語「Rust」を使っている大きな理由として、エネルギー効率の高さを挙げる。 Rustは最も若いプログラミング言語の1つだ。バージョン1.0に到達したのはほんの7年前にすぎないが、CやC++で書かれた大規模なコードベースへの採用に大きな期待がかかる。Graydon Hoare氏の個人的なプロジェクトとして始まったRustは、2010年にMozillaの研究プロジェクトとなり、現在ではAmazonGoogleMicrosoftの支持を得ている。 Rustは、JavaJavaScriptPythonほどの人気はないかもしれないが、Linuxカーネ

    AWSがプログラミング言語「Rust」に期待する理由
  • サーバサイド開発にKotlinを全面採用! ビヘイビア駆動開発(BDD)をマイクロサービスに導入するNewsPicksが求める開発者体験は? - はてなニュース

    ソーシャル経済メディアNewsPicksを開発・運営する株式会社ニューズピックスは2021年9月、これまでサーバサイドの主要な開発言語としてきたJavaに代えて、Kotlinをメインに採用する方針を明らかにしました。 ▶ NewsPicksのサーバーサイド言語をJavaからKotlinに切り替えるために - Uzabase Tech Androidアプリだけでなくサーバサイドも「Kotlinで開発できるようにする」というこの宣言の背景には、数年間にわたってマイクロサービスを中心にKotlinを採用してきた実績と知見の蓄積があるだけでなく、そういった現場からの挑戦をよしとするNewsPicksエンジニア風土も大いに追い風となっています。 この挑戦をどのように進めようとしているのか? 開発者体験(DX)をどのように高めようとしているのか? NewsPicksのCTOを務める高山温さん(上写真

    サーバサイド開発にKotlinを全面採用! ビヘイビア駆動開発(BDD)をマイクロサービスに導入するNewsPicksが求める開発者体験は? - はてなニュース
  • お役立ち Twitter Bot を作りながら学ぶ AWS ドリル ~第 1 回 おはよう Bot 編 - builders.flash☆ - 変化を求めるデベロッパーを応援するウェブマガジン | AWS

    ソリューションアーキテクト (SA) の金澤 (@ketancho) です。2022 年になりましたが、皆さまいかがお過ごしでしょうか ? 新年を迎えたので、「今年は○○をやるぞ !」と思われている読者の方も多いのではないでしょうか ? 〇〇に AWS に関わるワードが入っているといいなーと思いながらこれを書いているのですが、私の場合は「今年は AWS を使いはじめたい方々が楽しく学べるコンテンツを作るぞ !」が抱負だったりします。(それと少しでいいから痩せたいです。) 昨年末に子どもにアドベントカレンダー (ブログではなくお菓子とかおもちゃとかが入っている方) を初めて買ってあげたのですが、思っていた以上にウケがよく、お父さんは鼻高々でした。もしかしたらそんな形で、窓を開けると AWS のサービスが毎月ひとつずつ出てきて、それを使って読者の皆さまが楽しく遊びながら学べるようなカレンダーが

    お役立ち Twitter Bot を作りながら学ぶ AWS ドリル ~第 1 回 おはよう Bot 編 - builders.flash☆ - 変化を求めるデベロッパーを応援するウェブマガジン | AWS
  • TeXで使うプログラミング言語まとめ

    TeX & LaTeX Advent Calendar 2021の24日めの記事です。昨日は @wtsnjp による「jlreq + expl3 で学会文書クラスを作った話」でした。他人が使う文書クラス作るのまじすごい) TeXを使っている人たちはよく「コマンド」とか「マクロ」とか「プログラム」について話しています。そういう会話を耳にして「TeXではプログラミングができる」ことを知り、興味を持ったものの、具体的にどこから始めればいいかわからない人も多いでしょう(ほんとに多いのか?)。 ここでちょっとした落とし穴があります。一口に「TeXでプログラミング」といっても、目的や手段や用途に応じて文法や機能や表現能力がまったく異なるいくつかのプログラミング言語があり、それらを使い分ける必要があるからです。つまり「プログラミング言語」という観点から言うと、TeX来の目的である「文書の組版」でプ

    TeXで使うプログラミング言語まとめ
  • Nintendo Switch™ ネイティブバイナリへの Go コンパイルを成功させた話

    記事は「Go Advent Calender」25 日目の投稿です。 Happy Holidays! EDIT (2022-01-03): There is an English version of this article. tl;dr いままでは Go プログラムを Nintendo Switch 上で動かすために WebAssembly に一度変換し、それを C++ に変換してコンパイルするということを行ってきました。今回、 Go の Nintendo Switch 向けネイティブコンパイルに成功し、実際に手元でゲームを動かすことができました。手法として、システムコール呼び出しを C の関数呼び出しに置き換えるように -overlay オプションを指定してビルドしました。また、 -overlay オプションに指定する JSON を生成するパッケージ Hitsumabushi を開

    Nintendo Switch™ ネイティブバイナリへの Go コンパイルを成功させた話
  • 新言語『TypoScript』を作った - Qiita

    この記事は、クソアプリAdvent Calendar2021の20日目(ホノルル時間)の記事であると同時に、GMOペパボエンジニア Advent Calendar 2021の21日目(日時間)の記事でもあります。 みなさん、TypeScript使ってますか?TypeScriptJavaScriptの世界に秩序をもたらす素晴らしい言語ですね。 しかし世界には光の秩序だけでなく闇の混沌も必要です。 という訳で、JavaScriptに闇の混沌をもたらす新言語を作ってみました。 その名も『TypoScript』です。 TypoScript is 何 TypoScriptとは何か。まずはこちらのコードをご覧ください。 function fizz_buzz(count) { for (var i = 1; i <= caunt; i++) { if (i % 3 === 0 && i % 5 ==

    新言語『TypoScript』を作った - Qiita
    kirakking
    kirakking 2021/12/20
    そうそう発生しないけど、同じレーベルシュタイン距離の変数を複数用いたとき、どれが参照されるのか一見して分からないところが非常にクールだと思った(実装的には直近の名前っぽい)。
  • RustでJSONパーサーをフルスクラッチで実装する - Qiita

    この記事はRust Advent Calendar 2021 カレンダー2の1日目の記事です。 はじめに エンジニアは一度はJSONパーサーをフルスクラッチで実装したほうが良いという天啓を受け、RFC 8259を読みつつRustでJSONパーサーを実装してみました。パーサーの実装は面白く勉強になり満足しましたが折角なのでhands-on形式の記事にしようと思いこの記事を書きました。 Rustの基的な文法が分かる方向けに記事を書きましたが、これからRustを勉強してみたい方にもぜひ挑戦してほしいです。 複雑な機能は使っていないので、分からない文法や標準ライブラリは公式ドキュメントを読めば十分補完できると思います。 The Rust Programming Language 日語版 Rust by Example 日語版 monkey-json 記事ではRustでJSONパーサー(mo

    RustでJSONパーサーをフルスクラッチで実装する - Qiita
  • 初学者に教えたい、MicrosoftがGitHubで公開している教材が最高だった! - Qiita

    はじめに エンジニアやデータサイエンティストの人材育成のためのオープンソースな教材を探していたらMicrosoftGitHubでかなり質の高い教材をweb開発、データサイエンティスト、機械学習、IoTの四項目を対象に提供してるのを発見したため共有したいと思う。 正直、マイクロソフトと聞くとGoogleやらFacebookに比べていけてないイメージを持っていたけど、実際にMicrosoftGitHubレポジトリを見て、彼らはここ数年で大きく変わったように思える。特に人材育成や学習教材に関しては世界一かもしれないなんて思っています。記事では筆者が自信を持っておすすめするMicrosoftのオープン教材を紹介するのでぜひ自身の勉強や人材育成に生かしてもらえれば記事を執筆した甲斐があります。(もちろん僕がお勧めしているだけでなくてGitHubのスター数も多く世界的に認められています!) こ

    初学者に教えたい、MicrosoftがGitHubで公開している教材が最高だった! - Qiita
  • 『詳解Rustプログラミング』(Rust in Action)を読みました - Don't Repeat Yourself

    先日発売になった『詳解Rustプログラミング』というをひとまず一通り軽く読んでみました。実は原著の Rust in Action をすでに読んでしまっていたので、内容の流れは把握していたのですが、私は一応日語ネイティブなので日語の書籍は非常に嬉しいですね。 詳解Rustプログラミング 作者:Tim McNamara翔泳社Amazon Rust in Action 作者:McNamara, TimManning PublicationsAmazon 書をまず読んで最初に思い出したのは、私も大好きな『低レベルプログラミング』というでした。このは C とアセンブラで書かれているのですが、これを Rust でやり直す感覚を覚えました。コンピュータサイエンスやコンピュータアーキテクチャの話題が豊富で、大学のコンピュータサイエンスの講義を受けているような印象を持ちました。 低レベルプログラ

    『詳解Rustプログラミング』(Rust in Action)を読みました - Don't Repeat Yourself
  • マイクロソフト、Excel関数ベースのローコード言語「Power Fx」をオープンソースで公開。さまざまなソフトウェアでの採用が可能に

    マイクロソフト、Excel関数ベースのローコード言語「Power Fx」をオープンソースで公開。さまざまなソフトウェアでの採用が可能に Power Fxはマイクロソフトにとって初めてのローコード開発向けのプログラミング言語です。 Power AppsやPower Automate、Power BI、Power Virtual Agentsなどから構成される同社のローコード/ノーコード開発ツール製品群「Power Platform」のロジックの記述に用いられるプログラミング言語として、今年の3月に発表されました。 Introducing Microsoft Power Fx, a single computer language for logic customization across the #PowerPlatform. Learn how you’ll be able to go

    マイクロソフト、Excel関数ベースのローコード言語「Power Fx」をオープンソースで公開。さまざまなソフトウェアでの採用が可能に
  • Rust初心者殺しの文法10選 - Qiita

    概要 この記事ではRust初心者が驚いたり混乱させられたりするようなRustの文法を10項目集めてみました。 これらの項目は知らないと理解できなかったりコンパイルエラーに悩まされたりする一見厄介なものたちなのですが、そのような直感的でない挙動を敢えてさせているところには重要な意味が込められていることが多いです。 そのため、これらの項目を通してRustが目指しているものや実現したい機能の一部を垣間見ることができると思います。 1. デフォルトの代入がムーブ Rustの最大の特徴が所有権の概念であることは有名ですが、それでもなお初心者殺しになるのがムーブです。 以下のコードがコンパイルエラーになるメジャーな言語は現状Rustくらいしか無いでしょう。 let mut a = vec![1, 2, 3]; let mut b = a; // ここでaの持つベクタの所有権がbにムーブされ、aは無効に

    Rust初心者殺しの文法10選 - Qiita
    kirakking
    kirakking 2021/11/04
    Rustはよく分からないけど、関数型言語界隈でよく見る機能(型構成子、関数と式、パターンマッチング、パラメトリック多相の記法)がよく取り込まれている。流石モダンな言語。
  • 128ビット符号付き整数の最大値は素数 - Rustで任意精度整数演算

    概要 2^n-1 型の数はメルセンヌ数と呼ばれ、更に素数である場合にメルセンヌ素数といいます。記事では、メルセンヌ数に対する高速な素数判定法であるリュカ・レーマーテストを、Rustの任意精度演算用クレート rug を利用して実装します。 実行環境 CPU: Intel Core i7 1.8GHz メモリ: 16GB OS(ホスト): Windows 10 Home 21H1 WSL2: Ubuntu 20.04.3 rustc: Ver. 1.55.0 cargo: Ver. 1.55.0 符号付き整数型の範囲について Rustには組み込みの整数型として 8,\,16,\,32,\,64,\,128 ビット整数[1]がそれぞれ符号付き・符号なしで備わっています[2]。そのうち符号付き整数は、他の多くの言語と同様、2の補数によって負の数が表現されます。したがって、ビット数 n = 8,

    128ビット符号付き整数の最大値は素数 - Rustで任意精度整数演算
    kirakking
    kirakking 2021/09/30
    サラッと読めるのにメルセンヌ数に基づいた素数判定の流れが頭に入るすごい力作だった。やっぱり整数論面白いなあ。
  • Go、D言語、Nim、Rust製マルウェアが増えている怖いワケ

    攻撃者は、新種のマルウェアの作成に「風変わりな」プログラミング言語を使うことが増えている。これには、新しくてあまり一般的ではない言語を使うと攻撃の検出を回避し、分析を妨げる効果があるという前提がある。 関連記事 Go言語に注力するDynatrace JavaPHPからの移行も簡単、改めてGo言語がオススメな理由 関数型言語「Erlang」のススメ──なぜCやJavaではダメなのか? Microsoftがプログラミング言語「Rust」への支援を強化 「Rust」はなぜクラウドネイティブ開発者の間で大人気なのか? BlackBerryのリサーチおよびインテリジェンスチームは、一般的ではない言語のサイバー犯罪分野での利用に注目している。 「マルウェアの作成者は、新しい技術を活用するためにスキルと行動を適応させ、変化する能力で知られている」と話すのは、BlackBerryのエリック・ミラム氏(脅

    Go、D言語、Nim、Rust製マルウェアが増えている怖いワケ
  • CPUとGPUのマルチスレッディングの違いについて - arutema47's blog

    "Locality is efficiency, Efficiency is power, Power is performance, Performance is King", Bill Dally マルチスレッディングとは? CPUGPUのマルチスレッディングの違いをブログにまとめていたけど例によって誰も興味なさそう— arutema47 (@arutema47) 2021年8月16日 つぶやいたら読みたい方が多そうだったので完成させました。 マルチスレッディングとはメモリ遅延を隠蔽しスループットを上げるハードウェアのテクニックです。 ただCPUGPUで使われ方がかなり異なるため、その違いについて考えてみる記事です。 (SIMDについて並列プログラミングの観点から触れるべきでしたが、時間無いマルチスレッディングに注目するため初版では省きました。) 記事について 記事はCPUとG

    CPUとGPUのマルチスレッディングの違いについて - arutema47's blog
    kirakking
    kirakking 2021/08/28
    CMU Parallel Computer Architecture and Programming チェックしてみよう。
  • 再帰的な構造のデータの同値性判定はどうしたらいいか - 貳佰伍拾陸夜日記

    数日前にTwitterで, JavaScriptのオブジェクトに対する===の挙動が初心者には難しいみたいな話を見かけた. 発端や周辺の議論をちゃんと追いかけてないからとくに出典は貼らない. たぶん元々の話は「へぇ, こういう挙動なんだ, 簡単ではないね」くらいの話だったのかもしれない. 自分のタイムラインの観測範囲では「そうだそうだ, (参照の同一性ではなく)同値性にしとけばいいのに」と思っている人もそれなりにいそうに見えた. 個人的にも同値性が簡単に確認できるとよい気はするものの, 「なんでそうしないんだ, オブジェクトの中身を確認していくだけだろ!」みたいな簡単な話ではないことも知っているため, 以下のようなツイートをしたのだった. JavaScriptのオブジェクトの同値性、再帰的な構造とか作るとぜんぜん自明じゃないんだよなぁ。リンクの構造は違うけどプロパティを辿ったときのパスはど

    再帰的な構造のデータの同値性判定はどうしたらいいか - 貳佰伍拾陸夜日記
    kirakking
    kirakking 2021/08/24
    Isabelle とか coq だと同一性の実装どうなっているんだっけな。inductive definition とかの周辺確認しないと。
  • 書評:並行プログラミング入門 - Software Transactional Memo

    TL;DR 並行処理を実装する人のこれからのスタンダードになる一冊。買い。 並行プログラミング入門 ―Rust、C、アセンブリによる実装からのアプローチ 作者:高野 祐輝 オライリージャパン Amazon 買ったら思いの外早く届いたのでパラパラと読み始めたら一気に読み終えてしまった。 総評 敢えて雑な喩え方をするなら The Art of Multiprocessor Programming (通称TAoMP) の内容を薄めてRustやアセンブラや計算モデルを足したようなだった。 日語の書籍としてはかなり珍しくWait-Free, Lock-Free, Obstruction-Freeの違いなどを適切に論じており、TTAS Lock, MCS Lock, TL2といった日語では希少な情報が書かれているレアなである。これらに付いて論じている日語のは知る限り (TAoMPと昔僕

    書評:並行プログラミング入門 - Software Transactional Memo
  • Haskell に IDE はないのか?──独断と偏見による Haskell の IDE 十年史

    答え:Haskell に IDE はずっとある、今ならHLS使え(内容を読む気がないようという人向けの答え) はじめに 2021年2月現在、Haskell の IDE 環境は Haskell Language Server (HLS) の登場により劇的な進化を遂げていますが、日の Haskell コミュニティではその前身の Haskell IDE Engine (HIE) の情報がまだ氾濫しており、十分な周知に至っていない現状があります。 稿では、こうした現状を打破すべく、2021 年 2 月現在の Haskell の IDE 環境を取り巻く現状と、そこに至るまでの歴史を完全に独断と偏見で紹介します。より多くの人に HLS の存在を周知し、皆さんの Haskell Life の一助となれば幸いです。また、HLS の前身である HIE は必ずしも快適に動作するとは言い難かったため、HLS

    Haskell に IDE はないのか?──独断と偏見による Haskell の IDE 十年史
  • 戦国時代だったテキストエディタ界をVisual Studio Codeが天下統一しつつある

    テキスト編集だけでなく、表計算やイラスト作成など、何かの目的を達成しようとした際には「どのツールを選ぶのか」が問題になってきます。テキストエディタの世界でVisual Studio Codeがその地位を不動のものにしつつある点について、ロビン・クリーンさんがデータをまとめています。 The Era of Visual Studio Code | Roben Kleene https://blog.robenkleene.com/2020/09/21/the-era-of-visual-studio-code/ ツール選びの一つの考え方は、「一番寿命が長いツールを選ぶ」というものです。どんなに慣れ親しんだツールであっても、開発が終了してしまうと新たなツールの使い方をまた最初から学びなおす必要があり、そうした苦労を避けるには人気があって長く使われているツールを選びたいところ。表計算やイラスト

    戦国時代だったテキストエディタ界をVisual Studio Codeが天下統一しつつある
    kirakking
    kirakking 2021/07/24
    VS codeはCUIのオーパーツ的なvimやemacsと比べるとGUIベースであるという時点で使いやすいのだけど、特化エディタに慣れていると細かい部分でストレスたまるのよね。Neovim on VS codeに移ろうかなあ。
  • ゲームエンジンはアートである - 8 年以上自作ゲームエンジンをメンテし続けている話|Hajime Hoshi

    自分は Ebiten という 2D ゲームエンジン (ゲームライブラリ) を趣味で開発しています。使用しているプログラミング言語は Go です。 2013 年 6 月に最初のコミットを行ったので、現在 8 周年の 9 年目です。 Ebiten は「くまのレストラン」などのモバイル及び Nintendo Switch 向けゲームで使われており、一定の実績があります。 ゲームエンジンの開発は一朝一夕では終わりません。UnityRPG ツクールといった既製品がある中、ゲームエンジンをわざわざ自作することは酔狂かもしれません。ではなぜそのようなことをしたのでしょうか。端的に言うと「ミニマムな API で実用的な 2D ゲームが作れるかどうか」ということを証明したかったのです。自分の美的感覚の追求です。この目的に気づいたのは割と最近のことです。やっていくうちに「自分がやりたかったのはこういうこ

    ゲームエンジンはアートである - 8 年以上自作ゲームエンジンをメンテし続けている話|Hajime Hoshi
    kirakking
    kirakking 2021/07/12
    くまのレストランが独自エンジンであるEbitenを使っているのってこういう背景があったのか。/使ってくれる人が居てこそだけど、楽しそうでいいなエンジンの自作。
  • 「はじめてゲームプログラミング」の衝撃

    エンジニアの間で話題沸騰「はじめてゲームプログラミング」 6月11日に発売され一時トレンドにも載るほど。 「ナビつき!つくってわかる はじめてゲームプログラミング」。 「ノード」をつなげてプログラミングしてゲームを作っていきます。 例えば「Lスティックノード」と「ヒトノード」を繋いでLスティック操作ができるようになります。 チュートリアルでは「おにごっこゲーム」や「マリカ」みたいなものを作れちゃいます。 私ももちろんプレイして実況配信なんてやってみたのですが節々で「プログラミング学習」という点で衝撃を受けました。 今回はその衝撃を紹介していきたいと思います。 約束された「完成したときの達成感」 「ナビつき!」というタイトルの通り、チュートリアルが懇切丁寧です。 失敗につながるようなメニューは無効化されていますし、しばらく迷って画面上で進捗を出せないでいるとアシストしてくれます。 「完成」す

    「はじめてゲームプログラミング」の衝撃
    kirakking
    kirakking 2021/06/14
    個人的に感心したのはコンポーネント間のI/Fに割り切っている設計である事と、ちゃんとゲームプログラムに必要な要素を学ぶようになっている事。レッスン2からカメラ設定やオブジェクトの判定の作り方やるからね。