タグ

programmingに関するkazuauのブックマーク (18)

  • 「ZigはCよりも速いです。」をVector/SIMD最適化で検証する

    「パフォーマンスについて言えば、ZigはCよりも速いです。」 この一文は Zig 言語の公式サイトの詳細な概要に実際に書いてある文章です。 その理由としていくつか挙げた上で最後にちらっと「ZigSIMD ベクトル型を直接公開しており、移植性の高いベクトル化コードを簡単に記述することができます。」と書いてあります。今回の記事では画像処理っぽいお題を使って実際に SIMD 最適化される様子を検証してみます。 ベンチマーク環境 OS: Ubuntu20.04 on WSL2 on Windows11 CPU: AMD Ryzen 9 5900X 12-Core Processor お題 一般的な画像データ構造の表現である、幅×高さ×4(RGBA)の長さを持つ8bit整数の配列を受け取り、in-placeでRGBの値を 10 加算して明るくするという関数を考えます。Aの値は元のままとします。

    「ZigはCよりも速いです。」をVector/SIMD最適化で検証する
    kazuau
    kazuau 2023/01/22
    “SIMD に対応する機能を持っている言語を私は他に知りません” .NETがだいぶ前から標準として持っているのでは? C#でVector<T>を適切に使うとSIMD最適化してくれるはず
  • 初学者に教えたい、MicrosoftがGitHubで公開している教材が最高だった! - Qiita

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

    初学者に教えたい、MicrosoftがGitHubで公開している教材が最高だった! - Qiita
    kazuau
    kazuau 2021/11/22
    “Web Development For Beginners”は日本語版もあります。「初心者向け Web 開発 - Learn | Microsoft Docs」
  • C Is The Greenest Programming Language

    Have you ever wondered if there is a correlation between a computer’s energy consumption and the choice of programming languages? Well, a group of Portuguese university researchers did and set out to quantify it. Their 2017 research paper entitled Energy Efficiency across Programming Languages / How Do Energy, Time, and Memory Relate?  may have escaped your attention, as it did ours. Abstract: Thi

    C Is The Greenest Programming Language
    kazuau
    kazuau 2021/11/21
    初回実行ならビルド時も含め、反復実行なら初回は省くべきだと思うがどうか。ビルド含めず初回実行だとネイティブコンパイラー有利で中間言語キャッシュは不利になりそうで、結果はそれを示唆してそうに見える。
  • C言語のないプログラミング

    大昔のプログラミングとかさ、どうやってたの まじで全部機械語なの? 機械語の値をメモリに打ち込んで動かしてたの? UI表示とか1ドットずつ表示させないといけないんじゃないの? 人の力じゃどうしようもなくない? ぜんぜん想像つかないんだけど anond:20210420103403

    C言語のないプログラミング
    kazuau
    kazuau 2021/04/21
    カラー液晶がメインの演出用になってから数年くらいの頃のパチンコの話しようか?(もちろん全部アセンブラです)
  • オブジェクト指向プログラミングとドメイン駆動設計を学ぶのに適切な書籍とおすすめの読む順番 - Qiita

    オブジェクト指向プログラミングが学べる書籍たち もし私が今から最初から学ぶならこの順番でこの読むだろうという紹介です。 新人プログラマの方々は右も左も分からないというところからスタートとなるため、オブジェクト指向プログラミングを学ぶときに何から学べば良いか全くわからないという状況かと思います。 オブジェクト指向プログラミングを学んでいると自然と出会うドメイン駆動設計についても同様です。 そうした方々が書籍から学ぼうとした場合に、少しでも効率良く進められる順番を示してあげられれば良いなと思って紹介します。ただし、各書籍についての詳細な説明は書いていません(というか結構忘れててかけない)…。 なお、前提言語はJavaで言語構文にも十分詳しいことが大前提です。 以降、オブジェクト指向プログラミングはOOPと略します。 現場で役立つシステム設計の原則 OOPらしさの雰囲気がわかります 入り口に最

    オブジェクト指向プログラミングとドメイン駆動設計を学ぶのに適切な書籍とおすすめの読む順番 - Qiita
    kazuau
    kazuau 2021/04/19
    “言語はJavaで言語構文にも十分詳しいことが大前提”でOOP入門ってそんなゆがんだ育ち方してる人が多いもんなんでしょうか?どうやって学んできたんだろう
  • 「正直9年経ったいまでもfor文ググってる」 - Qiita

    「正直9年経ったいまでもfor文ググってる」 という議論記事があった。正直なところ私もググる方の人だ。私の感想: ポンとテキストエディタだけ渡された時に書けるか自信ないぞ...IDEがあればまあ大丈夫かなあ。 JavaScriptだけじゃない。言語色々扱うしという言い訳。正規表現とか毎度調べる。 だから世の中にチートシートというものがあるのだ。お気に入りチートシート多数。 実戦でどうしているか?結局周りのソースを見て馴染む書き方にしていますよ多分。 暗記するかしないかは受験勉強みたいなもので、コーディング面接に受かるなら必要。暗記そのものには意味はないとは思う。 競技プログラミングが使えないとかいう論もあったな。 ググり力も大事。 でも「最低限」もできないのはやはり恥ずかしい気持ちはある。 なんかこれ英語できるできないと似てるな。英語なんてGoogle翻訳、DeepL翻訳あればいいけど、実

    「正直9年経ったいまでもfor文ググってる」 - Qiita
    kazuau
    kazuau 2021/03/25
    C,C++,C#,Java,JavaScriptあたりのforループ構文の基本形は全部一緒だから、さすがに覚えるのではないか。for...ofとかfor...inとかだと混乱するかもしれないけど
  • free-programming-books/books/free-programming-books-ja.md at main · EbookFoundation/free-programming-books

    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

    free-programming-books/books/free-programming-books-ja.md at main · EbookFoundation/free-programming-books
    kazuau
    kazuau 2021/01/26
    このレポジトリ自体眺めるの面白そう
  • DI (依存性注入) って何のためにするのかわからない人向けに頑張って説明してみる - Qiita

    追記 2022/11/12 追記 この記事読んで、DI 便利だなって思ったらこちらも併せて読んでみてください。クリーンアーキテクチャーの開設の中で依存性逆転の説明が出てきます。難しいかもしれませんが、一度理解すればつぶしが効く考え方なので腰を据えて読んでみてください。 文 ここでは、最近のそこそこの規模のアプリだと大体使われてる(と私は思ってる)Dependency Injection(DI)について、何故使ってるのか?というのを私の理解で書いていきたいと思います。 今回の対象言語は C# ですが、DI 使ってる言語であれば大体同じ事情なのかなと思います。 単体テストしたいよね アプリケーションを作るとうまく動いているかテストをすると思います。 たとえ、そのアプリがハローワールドだとしても動かして目視で確認してると思います。 もうちょっとアプリの規模が大きくなってくるとクラス単位やクラス

    DI (依存性注入) って何のためにするのかわからない人向けに頑張って説明してみる - Qiita
    kazuau
    kazuau 2020/07/10
    著者のプロフィールにちょっと引いてしまった。愛が重すぎる。
  • 動詞を三人称単数化することでBoolを返すことを表せる - Qiita

    iOS系の動画を扱うフレームワークの中に AVplayerViewController というクラスが存在します。 このクラスのメソッドを調べてみると 動詞を三人称単数化して Booleanを返すアクセッサメソッドがいくつか用意されていることに気づきました。

    動詞を三人称単数化することでBoolを返すことを表せる - Qiita
    kazuau
    kazuau 2019/08/13
    userExistsはdoesUserExistと同義だと思えばよくて、そう考えればisUserExistsがなぜおかしいのかは分かるはず。
  • FizzBuzzを題材にユースケース層についてを考えるのはおそらく無意味な気がする - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く

    やんざむ先生のこのツイートを見て考えたことをまとめます。 UseCase がわからない... FizzBuzz で 「3の倍数のときは fizz が返る」 「5の倍数のときは buzz が返る」 「3の倍数かつ5の倍数のときは fizzbuzz が返る」 「3の倍数でも5の倍数でもないときはそのままの数字が返る」 これは— Yuki Anzai (@yanzm) February 15, 2019 結論を先に書くと、「これはそもそも問い自体が不適切である」(しかし強いて言えばEntity)という立場をわたしは取ります。以下、まじめにFizzBuzzを設計しながら考えてみます。 ひとまず、出発点は上にあるツイートの疑問から出発するとしましょう。 まず前提として、ユースケースってどういう役割か まず前提として、ぼくはユースケースを「ドメインモデル(このツイートで言うところのEntity)やイン

    FizzBuzzを題材にユースケース層についてを考えるのはおそらく無意味な気がする - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く
    kazuau
    kazuau 2019/02/19
    なんかサンプルが見たことない言語だ(なんとなく読めるけど)。当てずっぽうだがScalaかな?
  • paiza.IO Online editor and compiler

    Password confirmation Required Password does not match. OK

    paiza.IO Online editor and compiler
    kazuau
    kazuau 2015/06/04
    github連携に要求する権限が大きすぎて、躊躇する
  • 私がコーディングで垂直方向にそろえるインデントをとる理由 | POSTD

    先週、 Hacker News上で興味深い議論が行われました 。テーマは Linux Kernelのコーディングスタイル についてです。 議論の中で私は、 コーディングで垂直方向にそろえるインデントをとるべきか というささやかな聖戦を仕掛けました。私は全面的に賛成です。理由を説明しましょう。 垂直方向にそろえるインデントをとるとは? 簡単な例を挙げてみます。 int robert_age = 32; int annalouise_age = 25; int bob_age = 250; int dorothy_age = 56; ちょっと見ただけで、「bob_age」がおかしいと分かるでしょう。また、目視であちこち探さなくても、全ての値が整数であることが簡単に確認できます。 この考え方は 一般的に 共有 されているわけではありません。ですので、なぜ 多くの 人たち がこれを有効なスタイルガ

    私がコーディングで垂直方向にそろえるインデントをとる理由 | POSTD
    kazuau
    kazuau 2015/01/20
    表示列をアラインさせるためにtabを1つ挿入しよう。それをきれいにそろえて表示するのは表示するツールの仕事、というHard Tabが扱いづらいので廃れてしまった昔ながらの発想に立ち返ることになりそう。
  • Coding Games and Programming Challenges to Code Better

    Level up your coding with games, puzzles, and challenges.

    Coding Games and Programming Challenges to Code Better
  • クラスの命名のアンチパターン - Qiita

    昔から「名は体を表す」と言ひます。クラスの名前がクラスの果たす役割と一致してゐるかどうか常に考へ続けませう。 ImageInfo, AccountData, etc. Info って何やねん? Data って何やねん? ImageInfo って Image とはどう違ふねん?? FooInfo や FooData よりも好ましいかもしれない名前の例: FooAttribute, FooProperty, FooMetadata, FooDescription FooConfiguration, FooSetting, FooParameter FooResult, FooStatistics, FooSummary FooBuffer, FooList, FooCollection, ... ProductListItem, TranslationTableEntry, etc. Prod

    クラスの命名のアンチパターン - Qiita
    kazuau
    kazuau 2014/09/05
    ProductListItemはProductを参照するListItem<T>の派生なんじゃないかと思ったり思わなかったり。
  • dfltweb1.onamae.com – このドメインはお名前.comで取得されています。

    このドメインは、お名前.comで取得されています。 お名前.comのトップページへ Copyright © 2020 GMO Internet, Inc. All Rights Reserved.

    dfltweb1.onamae.com – このドメインはお名前.comで取得されています。
  • Webサービスを作りたい人が、素早くプログラミング言語を学べる15サイト - paiza times

    Photo by Daniel Cukier コーディング転職サイトpaizaを運営している関係上、「Webサービスを作りたいけど、プログラミング言語をどこから学んだらよいか?」という質問をよく受けることがあります。今回はプログラマ視点でプログラミングを学ぶときにつまずやすいポイントと、プログラミング言語の基礎を簡単に楽しく学べるサイトをまとめてみました。 最近はオンラインでプログラミングを勉強できるWebサービスが多数登場してきているので、以前よりプログラムを学ぶコストはぐっと下がっています!! 目次 ・プログラミング言語を学ぶときに躓くポイント ・学ぶ言語を選ぶのに役立つサイト ・すぐ書きはじめられるプログラミング学習サイト ・講義型のプログラミング学習サイト ・少しコードに慣れてきてからお勧めのサイト ・さらにスキルアップするのに最適なサイト ・基礎文法をマスターしたいなら(おまけ)

    Webサービスを作りたい人が、素早くプログラミング言語を学べる15サイト - paiza times
  • 灘高校生 「いまさらエクセルを学ぶより、プログラミングを学ぼう。できて当たり前の時代が来る」

    技術 引用元:東洋経済オンライン (上略)厳密には、今さら「デジタルネイティブ」にはなれないので、「デジタル強者」を目指しましょうか。今さらエクセルを使ってドヤ顔するなら、プログラミングを学びましょう。なぜか? プログラミングは楽しいからです。エクセルは仕事の生産性を上げますが、プログラミングは、仕事の生産性を上げるだけでなく、仕事や日常生活をもっと楽しくしてくれます。プログラミングを知っているだけで作業を効率化できたり、自分がコンピューターでつくるモノをもっと魅力的にできることが数えきれないほどあります。そして、創造欲を思い切り発揮することができる(下略)5 :名無しさん@13周年:2013/10/22(火) 13:07:21.09 ID:CqaLXzD50 未だにマクロでどうこうしようとする人間いるからなあ 9 :名無しさん@13周年:2013/10/22(火) 13:08:50.13

    灘高校生 「いまさらエクセルを学ぶより、プログラミングを学ぼう。できて当たり前の時代が来る」
    kazuau
    kazuau 2013/10/23
    Excelもプログラミングを練習する環境としては悪くないと思うよ。ただしVBAはやめとこうね,Visual Studio Toolsを使いましょう。
  • プログラムのソースをタブでインデントする奴は素人wwwwww : IT速報

    1: フェイスロック(庭) 2013/09/23(月) 19:22:00.91 ID:OxVand5mP BE:296952454-PLT(12001) ポイント特典 ソニー・コンピュータエンタテインメント ワールドワイド・スタジオプレジデントの吉田修平氏に直撃! 最近はエンジン、ツールが発達していますので、昔のようにすべてを学んで、プログラミングする必要はないですから、ゲームを開発する環境自体も整ってきています。 http://headlines.yahoo.co.jp/hl?a=20130922-00000002-famitsu-game 999:名無しのプログラマー 2099/99/99 99:99:99 ID:ItSoKuHou インデントってのはこんなかんじ。 会社によってはというか、ほとんどの会社の場合はコーディング規約で決まってると思います。 コーディング規約というのは、会社

    プログラムのソースをタブでインデントする奴は素人wwwwww : IT速報
    kazuau
    kazuau 2013/09/24
    昔はviの場合、sw=4 ts=8 に設定しておいて、インデントはCTRL+Tで、てのが一般的じゃありませんでした?ハードタブが8以外の環境で開くとグチャグチャになるけどね。
  • 1