タグ

ブックマーク / qiita.com (301)

  • .NET 5 を使いたい理由6選 - Qiita

    速いので使いたい 私の場合、ここ数か月で一番素晴らしいニュースだと感じたブログがこれでした。 https://devblogs.microsoft.com/dotnet/performance-improvements-in-net-5/ .NET5 がどれだけパフォーマンス向上のために努力してきたかという内容です。 ものすごいボリュームで読むのが大変でしたが、満足感のある記事でした。 この記事を読んだだけでも、早く.NET 5 を使いたいという気持ちになりました。 パフォーマンスが良くなったという知らせはいつでもエンジニアの気持ちを高揚させるのだと思います。 使いたい理由1 : GCが高速化した いくつものアプローチを重ねたことが記されていました。 GCが到達可能オブジェクトをマークする処理の情報を他のスレッドでも流用できるようにして、各スレッド内の同処理の作業量を一部省略可能にした G

    .NET 5 を使いたい理由6選 - Qiita
    ghostbass
    ghostbass 2020/11/28
    課題はLTSサイクルが業務用途にはあまりに短い事… .NET FrameworkのEOL以降どうなるんだろう
  • Delphi なんかで開発していて恥ずかしくないよ? - Qiita

    リプライ Delphiなんかで開発していて恥ずかしくないの? https://qiita.com/e99h2121/items/e5b823ae69ce418ea235 があったので勝手にリプライ記事です。 この記事を読むと(なぜか) Delphi がやり玉に挙げられただけで別に Delphi をことさらおとしめている訳では無いようです。 とはいえ、恐らく昔ながらの Delphi しか知らないのかな~と思います。 ということで、拙作 Delphi Community Edition の記事からの抜粋になりますが、まずは最近の事情を紹介します。 最新の Delphi の IDE 現在の Delphi はこのような見た目で他の開発環境にも劣らない感じになっています(ダークテーマ, Wikipedia より拝借)。 向こうの動画は XE2 という9年も前のバージョンを貼っています。どうして。 最

    Delphi なんかで開発していて恥ずかしくないよ? - Qiita
    ghostbass
    ghostbass 2020/11/27
    C#/Xamarin + VisualStudio …
  • 近すぎると小池都知事が『密です。』と連呼するデバイスを作ったら腹筋が崩壊したので、皆さんにも試して欲しい。 - Qiita

    システムの概要 LINE Notifyの設定 今回、密な状態になってしまったことを、LINE Notifyを利用して通知を出すようにします。 1) LINE notifyにログイン https://notify-bot.line.me/ja/ 2) ログイン後、マイページに進む 3) アクセストークンの発行に進む 4) トークン名を入力し、1:1を選択するとトークンが発行できる アクセストークンの発行方法については、 LINE Notifyのnpmライブラリ作った を参考にしてください。 mitsuDeath.jsのコード 'use strcit'; const axios = require('axios'); // axiosの呼び出しを追加 const qs = require('querystring'); // 送信するデータの整形 const Obniz = require('

    近すぎると小池都知事が『密です。』と連呼するデバイスを作ったら腹筋が崩壊したので、皆さんにも試して欲しい。 - Qiita
    ghostbass
    ghostbass 2020/11/26
    なまえが "mitsuDeath" なあたりに強い意志を感じる
  • 「この位置にprintfが無いとなぜか動かないんだ。」 - Qiita

    #include <stdio.h> void fizzbuzz(int n) { int next; int i = 1; do { printf(i % 15 ? i % 5 ? i % 3 ? "%d\n" : "Fizz\n" : "Buzz\n" : "FizzBuzz\n", i); if (i++ >= n) next = 0; } while (next); } int main(void) { printf((char[]){""}); // この位置にprintfが無いとなぜか動かない fizzbuzz(100); } gcc 10.1.0 を使用し、コンパイラが感知したミスには警告を出力してくれる様 -Wall -Wextra を指定し、最適化指示なしでコンパイル、動作させたところ動作するが Wandboxで実行 main() の中の何も出力していない printf(

    「この位置にprintfが無いとなぜか動かないんだ。」 - Qiita
    ghostbass
    ghostbass 2020/10/19
    「動作している風なのは偶々の結果でありプログラムが正しい訳ではない」「自分の書いたコードを信じてはいけない」肝に銘じる
  • なぜ我々は頑なにforを避けるのか - Qiita

    動機 前回の記事を投稿したことを某SNSで通知したところ、そのSNSでこんなコメントをいただいた。転記する許可を取ったわけでは無いので私なりに要約させていただくと、 なぜそんなトリッキーな書き方をしてまでforを使うのを避けるのか そんな書き方をして可読性を下げるくらいなら素直にforを使う方が良い ということだと理解している。 なるほど、一理ありそうだ。しかし一方で、前回貼ったStackOverflowのQ&Aはなかなかの人気記事(質問に1243ポイント、回答に最大で1559ポイント)なので「多少トリッキーなことをしてでもforを書きたくない!!」という意見をもつプログラマも一定以上いるのだろう。当然私もその1人だ。 ということで、この記事で「なぜそこまで意固地になってまでforを書きたくないのか」を説明することにする。 尚、今回は前回の記事つながりで言語はJavaScriptを使うが、

    なぜ我々は頑なにforを避けるのか - Qiita
    ghostbass
    ghostbass 2020/09/30
    そこにある失敗は現時点でのべてらんなら大抵経験してるからな…(ただしベテランでもかたくなにforeach使わない種族がいるけど)
  • PHPでパスワード比較に==とか===使っちゃだめって知ってた? - Qiita

    PHPerの皆さん、重要な文字列を入力データと保管情報を比較するときに比較演算子("=="とか"===")使ってませんか? これ実は使っちゃだめなので、気をつけましょう。 なぜだめなの? (2020/8/31修正) 関数名をtypoしていたため修正しました。(正)memcmp・(誤)strcmpです。 PHPを含む多くの言語では、文字列を比較する際に内部で memcmp() を使います。 通常の(厳密なセキュリティを必要としない)ケースでは、比較演算子を使うことはまったく問題ありません。 パスワードなど絶対に推測されてはいけない文字列を比較する場合、この関数は脆弱といえます。 memcmp() は内部で1バイトずつ比較検証するため、応答時間をもとに先頭から何文字正解だったか推測できます。 このような攻撃を「タイミング攻撃」といいます。 どうすればいいの? PHPでは、ハッシュ値を用いて文字

    PHPでパスワード比較に==とか===使っちゃだめって知ってた? - Qiita
    ghostbass
    ghostbass 2020/08/29
    どうせハッシュしてるしpassword_hash()したバイト列と保存したバイト列を単純に比較したところで「パスワード文字列の何文字目まで一致している」なんかわかるはずないと思います。
  • VSCodeでDraw.ioが使えるようになったらしい! - Qiita

    追記 versionによっては設定を変えないとエクスポートができないようです。 エクスポートできない方はこちらの記事をご参考に設定いただくとエクスポートできるかもしれません。 現状バージョン0.4ではこちらの設定が必要となります。 VSCodeDraw.io Integration使用時にエクスポートできないことがある問題への対処 2020/10/18追記 現在のバージョン0.7ではdrawio拡張子のエクスポートがうまくいかないようです。 その場合はオフラインモードに移行変更していただくか、drawio.pngやdrawio.svg拡張子でファイルを作成してもらうことで直接編集もできた上で、エクスポートとせず末尾の拡張子ファイルとして利用することができます。 はじめに VSCodeで簡単にDraw.ioで描画できるようになったみたいなので、 導入方法と使い方を備忘として残していきます。

    VSCodeでDraw.ioが使えるようになったらしい! - Qiita
    ghostbass
    ghostbass 2020/07/27
    bookmarkしたと思ったけどなかった
  • 【PHP8.0】PHPにヌルセーフ演算子が導入される - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    【PHP8.0】PHPにヌルセーフ演算子が導入される - Qiita
    ghostbass
    ghostbass 2020/07/21
    面白そう/言語間の差がなくなっていく
  • DI (依存性注入) って何のためにするのかわからない人向けに頑張って説明してみる - Qiita

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

    DI (依存性注入) って何のためにするのかわからない人向けに頑張って説明してみる - Qiita
    ghostbass
    ghostbass 2020/07/10
    メソッドのそこかしこに現れる new FooService()を排除するためには超有能。スタティックおじさん連中は new ()するのが嫌なのか、 FooService.DoWhat()とかやりたがるけれどもマルチスレッド環境でそんな恐ろしい事はできないし。
  • LINQ とっかかりと自分が書く時に考えていることと注意点 - Qiita

    LINQ っていいですよね。2007 年に登場してるので、13 年前の技術です。枯れに枯れてる技術です。 LINQ to XXXX という感じで色々なものに LINQ 出来たりしますが、今回は LINQ to Objects についてのみ書きます。配列やリストに対してやる LINQ のことです。 今回のコードは全て Try .NET にコピペして試せる感じのコードを書くつもりです。 ということで徒然なるままに書いて行きます! LINQ の前に LINQ に入る前に以下のコードを見てください。 var array = new[] { 1, 2, 3, 4, 5 }; foreach (var x in array) { if (x % 2 == 0) { Console.WriteLine(x); } } 説明するまでもないとは思いますが 1 〜 5 までの数字の入った配列から偶数だけ抜き出

    LINQ とっかかりと自分が書く時に考えていることと注意点 - Qiita
    ghostbass
    ghostbass 2020/07/06
  • 数学記号がわからないならプログラムを書けばいいじゃない。 - Qiita

    とある数学(というか数字)嫌いマンの伝説 数IIIと数Cをなんとなくのコレクション精神で履修してみるも、何もかも意味がわからない 原因をたどったらそもそも数Iあたりから既によくわかっていなかった 飲み会に行くと割り勘の計算ができない むしろ1000円上乗せぐらいならあげるからよしなにやっといてという気持ち なぜかプログラムは一般人レベルぐらいには書ける で、なんで今更? なんか分析とかやってみたいの!かっこよさそうじゃん? 最終的には未来を予測してこの世界の神になるんじゃ! というわけで神を目指す数学嫌いマンは着々と数学の復習をしていったわけですが....。 数学記号あるじゃないですか。なんすか、あれ。知らんし。 そこで思いついたのです。 数学記号がよくわからないならプログラムで実装してみたら良いのでは、と。 Σを実装してみる とりあえず手始めにΣの意味を忘れてしまったので、自分で実装して

    数学記号がわからないならプログラムを書けばいいじゃない。 - Qiita
    ghostbass
    ghostbass 2020/07/03
    まあ、その通り/いろいろ思うところはある
  • 「ビジネスロジック」とは何か、どう実装するのか - Qiita

    アプリケーション開発で、「ビジネスロジックは分離しろ」だとか「Controller にビジネスロジックを書くな」といったことをよく言われると思います。 しかし、ビジネスロジックという言葉の意味を聞いたり調べたりしてみても、「システムのコアの部分」とか「システムの目的になる処理をするところ」みたいなことを言われたりして、よく分かりませんでした。 そんな中、クリーンアーキテクチャや DDD の戦術的設計について学ぶことで、「ビジネスロジックとは何か」、「ビジネスロジックはどう実装するか」について、自分なりの考えが整理されてきたので、この記事ではそれをまとめます。 ※ 曖昧な言葉を自分としてどう使っているかという話になります。違う意味で使う方もいると思うので、ご注意ください ビジネスロジックとは何か 「システムのコアの部分」とか「システムの目的になる処理をするところ」といった説明も正しいとは思い

    「ビジネスロジック」とは何か、どう実装するのか - Qiita
    ghostbass
    ghostbass 2020/06/29
  • 2020年20年目を迎える IE6 に対応した SPA を TypeScript で作る - Qiita

    現況 Internet Explorer 6 は 2001/8/27 にリリースされまして、ブラウザシェアは現在 0.01% となっております。 ちなみに2年前に調べた時は0.1%強だったのでかなり減っています。 使ったもの Lang: TypeScript UI: Hyperapp v1 i18n: i18next HTTP client: jQuery 1 CSS: Cascade Framework Icon: Material design icons Hosting: Google App Engine IE6 に対応することとは IE6 環境を用意する TypeScript を ES3 ベースに独自の実装を加えた JScript に変換する バージョン毎に実装が異なるスタイルと向き合う Web API を JSONP で作る TLS 1.0 に対応したサーバに設置する というこ

    2020年20年目を迎える IE6 に対応した SPA を TypeScript で作る - Qiita
    ghostbass
    ghostbass 2020/03/24
    もう…休ませてやれよ…
  • 4歳娘「パパ、具体的な名前をつけないで?」 - Qiita

    ↓新作もよろしくやで! ジェネリクスをもう少しだけ使いこなす。 コロナウィルス対策でリモートワークしてみたらReduxVuexのメリットが分かった 36歳ザコーダーの休日 ワイ「何やこのコード、全然動かへんやん」 ワイ「怖いな~怖いな~…なんか嫌だなあ~」 よめ太郎「(何で自分が書いたコード見て稲川淳二みたいに怯えとんねん・・・)」 よめ太郎「(そんな鳥肌立つようなクソコード書いてんのかいな・・・)」 娘(4歳)「ねぇ、パパ」 ワイ「なんや、娘ちゃん」 娘「ちょっと、作ってほしい関数があるの」 ワイ「またかいな」 ワイ「娘ちゃんはホンマに関数が大好きやなぁ」 ワイ「しゃあない、パパはプログラミング苦手やけど、頑張って作ったるわ」 娘「ありがとう、パパ」 今回の要件 ワイ「ほんで、今回はどんな関数を作ればええんや?」 娘「えっとね」 娘「'あ'という文字列を渡したら」 娘「['あ', 'あ

    4歳娘「パパ、具体的な名前をつけないで?」 - Qiita
    ghostbass
    ghostbass 2020/03/19
    適切な抽象度があって、それなりに何者かがわかる必要があればそれなりの名前を付ける。IQueryableならTEntityとかTRecordとか付けるが、Filter<T> みたいなのはTのままにする。
  • 【C#】わかった"つもり"になれる「ラムダ式」解説 - Qiita

    この記事について この記事ではC#の「ラムダ式」についてなんとなくわかったつもりになれるを目標に説明をします。 そのため多少端折ってたり、厳密じゃない説明もでてきます。ご了承ください。 もし厳密な解説を知りたい方は、次の記事がオススメです。 【LINQの前に】ラムダ式?デリゲート?Func?な人へのまとめ【知ってほしい】 この記事で出てくる用語 ラムダ式 デリゲート Action Action<T> Func<TResult> Func<T, TResult> はじめに ラムダ式って何 C#に限らず、プログラミングをしていると「ラムダ式」という用語を耳にすることがあります。 果たしてこの「ラムダ式」とは何をするためのもので、あるとどうして嬉しいのか、それぞれ解説していきます。 「その場で」関数を書ける機能がラムダ式 「ラムダ式」という名前からしてかなりいかつい印象をうける人もいるでしょう。

    【C#】わかった"つもり"になれる「ラムダ式」解説 - Qiita
    ghostbass
    ghostbass 2020/03/13
    最近はLINQの条件式で使うよりも状態によって変わるロジックそのものをラムダにまとめる方が多いな
  • プログラムの可読性を上げるための条件分岐を減らす方法7個 - Qiita

    Help us understand the problem. What is going on with this article?

    プログラムの可読性を上げるための条件分岐を減らす方法7個 - Qiita
    ghostbass
    ghostbass 2020/02/18
    ブレースなしは1行で終わるときだけ許容する派(改行入れたらブレースを付ける)/複雑な1個の式より単純な式が複数ある方が読みやすいのでこういう例もあり。
  • JSON にもコメントを書きたい - Qiita

    そう、JSON にはコメントを記載するための構文がないのです。近年では設定ファイルなどで利用されることも多い JSON ですが、コメントによる説明が不要なキーを名付けることは現実的ではありません。どうしよう、困ったな。 TL;DR コメントをつけるだけなら JSONC を使いましょう。 (2020-02-17追記) 各フォーマットの比較などに使えるデモページを公開してみました。 (2020-03-15追記) 続編を書きました。 どうしても JSON にコメントを書きたい 同じようなことに悩む先人は多いため、インターネット上には様々なアイデアが提案されています。 たとえば JSON Schema Core Draft 2019-091 では以下のような記述があります: 8.3. Comments With "$comment" This keyword reserves a location

    JSON にもコメントを書きたい - Qiita
    ghostbass
    ghostbass 2020/02/17
    コードとデータのくべつなんてないやん。だからコメントは必要。
  • 高校生がアルゴリズムとスパコンの力で、京都の碁盤目状道路を13.9%効率化した話 - Qiita

    2. 研究で解く問題 「いざ研究しよう!」と思っても、条件や設定を決めないと何も始まりません。 まずは研究を分かりやすくするために、「一つの問題」に落とし込むことにしました。 問題設定 縦 $N$ 行・横 $N$ 列の大きさの碁盤の目があります。隣り合う交差点間の距離は 1 です。つまり、交差点が合計で $N^2$ 個あり、それぞれ座標 $(1, 1), (1, 2), ..., (1, N),$ $(2, 1), (2, 2), ..., (N, N-1), (N, N)$ に位置すると考えることもできます。 下の図は、$N = 4$ の場合の交差点の位置です。 あなたは、碁盤の目の交差点の位置は変えずに、道路の並びのみを変えることができます。上手く道路の並びを変えることで、できるだけ「便利」な道路網を建設してください。 「便利な道路網」って何? 私は、以下の 2 つの条件を満たす道路

    高校生がアルゴリズムとスパコンの力で、京都の碁盤目状道路を13.9%効率化した話 - Qiita
    ghostbass
    ghostbass 2020/02/17
    現実世界でこのとおりまじめにやると二条城とか切り刻まれてしまうのでアレだけど、面白い。都市計画としてはアリ。
  • 良いコードの書き方 - Qiita

    概要 チームによる継続的開発を前提としたコーディングのガイドライン。 特定の言語を対象としたものではないが、主に静的型付けのオブジェクト指向言語を想定している。 サンプルコードは別段の定めがなければSwiftで記載。 ガイドラインの目的 生産性を高め、メンテナンスコストを下げる バグが生まれづらくする 開発メンバー(特に新規参加者)がコードを理解しやすくする 初心者プログラマー教育 内容の説明 タイトルの頭についた【数字】は重要度。 高いほどシステムに与える影響が大きいが、低いものの方が影響が小さく改修しやすいものが多い。 【5】変数のスコープを小さくする 変わり得る値は複雑さを生み誤解やバグに繋がるため、プログラムは変数が少ないほど問題が生まれづらい。 プログラミングの大原則として、変数は必要最低限を心がけ、むやみに増やさないようにする。 また、変数はスコープや寿命が大きいほど悪影響が

    良いコードの書き方 - Qiita
    ghostbass
    ghostbass 2020/01/30
    良い
  • このPHPがテンプレートエンジンのくせに慎重すぎる (前篇) - Qiita

    この記事ではPackagistで公開可能な形式のPHPのライブラリ(Composerパッケージ)を公開するための道具立てを紹介します。あと、現代のPHPerはツールを組み合せてさくっと開発しているんだという自慢です。 タイトルは「この TypeScript が Hello, world! のくせに慎重すぎる」と「この勇者が俺TUEEEくせに慎重すぎる」のぱくr… パロディです。 テンプレートエンジンのくせに型安全なんてなまいきな。 この記事の読みかた せっかくなので手を動かしながら自分でComposerパッケージを作成してみましょう。 今回の題材は「Hello worldを出力する」という革新的機能を提供する、とても画期的な実用ライブラリです。 記事名通り「慎重すぎる」ので、細かく刻んでGitで経過を保存しながら作業を進めていましょう。なんかよくわからない状態になったらgit reset

    このPHPがテンプレートエンジンのくせに慎重すぎる (前篇) - Qiita
    ghostbass
    ghostbass 2020/01/29
    しょっぱなから慎重じゃないじゃん!