タグ

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

  • 「この位置にprintfが無いとなぜか動かないんだ。」 - Qiita

    はじめに 先日ツイッターで見かけた呟き pic.twitter.com/33Yk02hu1U — TOMO (@tomozh) October 14, 2020 そういうこともあるのか的な反応もあるようなので具体例を挙げてみることにする。 例1 所謂FizzBuzz問題。 #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が無いとなぜか動かない fizzbuz

    「この位置にprintfが無いとなぜか動かないんだ。」 - Qiita
    jazzanova
    jazzanova 2020/10/20
  • ありがとうPrestissimo、そしてさようなら - Qiita

    Composer2.0は並列ダウンロードができる Prestissimoといえば、Composerにほぼ必須といってよいくらいの高速化ツールです。 しかしComposer2.0でついに並列ダウンロードが実装され、お別れの時がやってきました。 Prestissimo制作者のhirakさんが作られたプルリクエストは4年越しに実質的にマージされてクローズされることになりました。おめでとうございます。 Composer2.0にアップデートする前にPrestissimoは消しておこう PrestissimoはComposer2.0では動きません。そのため、Composer2.0へバージョンアップする前に忘れずに消しておく必要があります。現在Composer2.0はRCリリースですが、2020年10月末までに正式リリース予定となっています。 追記:2020年10月24日に正式リリースされました。 2.

    ありがとうPrestissimo、そしてさようなら - Qiita
  • TypeScript学習ロードマップ - Qiita

    TypeScript全然わかんない... という状態から、プロジェクトに導入できるまでになんとかなったので、 学習の参考になったものなどをまとめて学習ロードマップを作成いたしました。 私自身もまだまだのレベルですが、これからTypeScriptを勉強したい!という方の道しるべになれば幸いです Level 0: TypeScriptってなんぞや? まず学習する前に、その対象がなんなのか、を見極める作業です。 TypeScriptは altJS の1つです。 JSは元々大規模なコードを組むには不向きな設計になっているので、 altJSというメタ言語でラッピングすることで扱いやすくするものです。 altJSで他に有名なのはcoffeeScriptなどでしょうか。 TypeScriptはtypeと名乗っている通り、静的型付けを特徴としています。 また、jsと互換性があり、jsの上位互換(スーパセッ

    TypeScript学習ロードマップ - Qiita
  • 【PHP8.0】PHP8.0の新機能 - Qiita

    PHP8.2 / PHP8.1 / PHP8.0 / PHP7.4 2020/11/26に リリースされました 。 2020/08/04にPHP8.0がフィーチャーフリーズしました。 言語機能に関わるような機能の追加・変更が締め切られたということです。 今後はデバッグを繰り返しながら完成度を高めていき、2020/11/26にPHP8.0がリリースされる予定です。 というわけでPHP8.0で対応することが決まったRFCを見てみましょう。 RFC JIT 賛成50反対2で受理。 PHP8の目玉、JITです。 PHPをネイティブコードにコンパイルし、さらにコンパイルした結果を次のリクエストに使い回すことができます。 速度はOpcacheがオンの状態から平均的に1.3-1.5倍程度、さらにCPUバウンドな処理なら3倍以上という劇的な高速化が見込めます。 Opcache無しからだと、1分かかっていた

    【PHP8.0】PHP8.0の新機能 - Qiita
  • 糞コードは直すな。 - Qiita

    とりあえず落ち着け。 みなさん、毎日なにかしらのコードを読み、開発する日々を送っていると思います。そんな中で、 糞コードは死ぬべきである!!絶対に直すべき!! という感情に取りつかれてしまうことがあると思います。自分の技術力に自信のある人ほど、無理やりにでも直そうと試みると思います。それがどんな修羅の道か。そして、糞コード修正がどんな道を歩むのか。この記事では糞コード修正の罠とありがちなストーリーについて書きたいと思います。 ビジネスとしてのプログラムは質的に糞である 例えば、「携帯電話の利用料金」のプログラムがあります。 「携帯電話 透明性高め料金値下げを」という記事もあるように世の中の携帯電話の料金プランはかなり複雑です。例えば、auだと「auでんき」といった電気料金とパックされた電話料金プランがあります。また、「auスマートバリュー」といったプランもあり、家のインターネット回線をa

    糞コードは直すな。 - Qiita
    jazzanova
    jazzanova 2020/08/03
  • GitHub Readme Stats を利用してGitHubプロフィールをカッコよくする - Qiita

    はじめに GitHubの統計情報を動的生成してくれる GitHub Readme Stats1 を利用して、GitHubプロフィール2をカッコよくする方法を紹介します。 具体的には、以下のようにGitHubプロフィールの上部に統計情報を表示できるようになります。 公式のREADME には以下のように記載されており、元々GitHubプロフィール用README.mdでの利用を想定して作られたサービスですので、みなさんもGitHub Readme Statsを利用してGitHubプロフィールを充実させてみましょう Get dynamically generated GitHub stats on your readmes! DeepL翻訳。 あなたの readmes に動的に生成された GitHub の統計情報を取得しましょう! 動的に生成できる統計情報 GitHub Readme Stats

    GitHub Readme Stats を利用してGitHubプロフィールをカッコよくする - Qiita
  • 2020年の11の必見のフロントエンドトレンド - Qiita

    こちらの記事は、Jonathan Saring 氏により2019年12月に公開された『 11 Must-Know FrontEnd Trends for 2020 』の和訳です。 記事は原著者から許可を得た上で記事を公開しています。 ランチ中のフロントエンドトークでスマートに見られる方法! チームのランチトークでスマートに見られることは、最新のフロントエンドのトレンドを常に把握しておくための大きな理由であることは言うまでもない。 それは、あなたがより良い開発者になり、より良い技術とより良い製品を作るのに役にたつかもしれない。 たぶんね。 だから、いくつかの興味深い方向を示すことで、この名誉あるクエストを君が簡単に達成できるように少し時間をもらいたい。 すべてのコンセプトについて1から10まで説明するのではなく、そのコンセプトとそれがどのように有用であるか紹介しよう。最後にはさらなるリソー

    2020年の11の必見のフロントエンドトレンド - Qiita
  • PHP8.0.0α1がリリースされたのでさっそくJITの威力を体感する(した) - Qiita

    当かよ????????? まずPHP7.4.7からPHP8にアップデートするだけで処理時間が1割削減されています。 ただでさえ新機能てんこ盛りだってのに、そのうえ速度も上がるとかどうなってるんだPHP8。 次いでopcacheを有効にすると処理時間が半分になります。 最後にJITを有効にしたら、処理時間がopcache有効状態の30%になりました。 30%縮まりました、ではありません。 なんだこれ。 ということで、JITを有効にするだけで、処理時間がPHP8デフォルト設定の13%になりました。 どういうことかというと、元々1分かかっていた処理が8秒で終わるようになります。 足枷を外したとかいうレベルじゃねーぞ。 これ当に計算してるのか? 計算結果が固定値だから結果だけどこかに保存してるとかじゃないよな? しかもこれ、opcacheやJITの設定はほぼ初期値で、とりあえず有効にしただけと

    PHP8.0.0α1がリリースされたのでさっそくJITの威力を体感する(した) - Qiita
  • 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
  • 2020年現在のNewSQLについて - Qiita

    Disclaimer 当記事はNewSQL開発ベンダの技術ブログや各種論文、その他ニュースサイト等の内容を個人的にまとめたものです。 そのため、理解不足等に起因する誤解・誤認を含む可能性があります。更なる理解が必要な方はリファレンスに挙げた各種文献を直接参照下さい。技術的な指摘は可能であれば取り込み修正しますが、迅速な対応はお約束できません。 NewSQLの解説は二部構成 当記事は前編でNewSQLの概要編となる。 全体の目次は下記である。 NewSQLとは何か NewSQLのアーキテクチャ NewSQLとこれまでのデータベースの比較 NewSQLのコンポーネント詳解 1章から3章までの内容を当記事で解説する。 4章はさらに詳細な技術的解説となり、後編の「NewSQLのコンポーネント詳解」で記述している。 こちらも合わせて一読いただきたい。 1. NewSQLとは何か NewSQLとは、海

    2020年現在のNewSQLについて - Qiita
  • Webフロントエンドエンジニアにやさしいデザインファイルの作り方 - Qiita

    Sketch - The digital design toolkit 画像はSketch最高っていう顔です。 HTMLCSSを書くWebフロントエンドエンジニアにとって、Webデザイナーが用意した理想像を現実に落とし込むことは1つの使命であり、費用対効果への葛藤に揺れる中で「技術的に難しいから」という理由でデザインを却下したくないのは誰しも同じだと思います。一方で、技術的に難しくなくとも、デザインファイルの作り方次第ではエンジニアの実装効率も多少なりとも変わってきます。そこで、僕のデザイナー及びエンジニアとしての経験則から、HTML/CSSで実装しやすい(≒Webフロントエンドエンジニアにやさしい)デザインファイルの作り方を、Sketchでの用例も挙げつつまとめてみます。近年はFigmaが注目されつつありますが、基的な話は共通すると思います。 来ならばデザイナーにこそ読んでいただき

    Webフロントエンドエンジニアにやさしいデザインファイルの作り方 - Qiita
    jazzanova
    jazzanova 2020/02/20
  • TypeScriptをプロダクト開発に使う上でのベストプラクティスと心得 - Qiita

    同じTypeScriptという言語を利用する場合においても、トランスパイラによってTypeScript自体の機能制限がかかったり、思わぬトラブルを招く場合があります。それぞれのトランスパイラの特徴を踏まえた上で、それにより生じる問題も見ていきましょう。 1-1. tsc TypeScriptの開発元であるMicrosoft純正のTypeScriptトランスパイラです。TypeScriptを利用する際に typescript パッケージをインストールする必要がありますが、それに同梱されています。 公式ツールなだけあって最も早く最新バージョンのTypeScriptに対応したり、言語すべての機能を利用することができる一方で、バンドラではないためminifyやchunkの設定はできません。また、Path Aliasesの未解決や旧ESへの互換性が不完全であることが欠点として挙げられます。 tsco

    TypeScriptをプロダクト開発に使う上でのベストプラクティスと心得 - Qiita
  • HTML+CSSコーディングの言語化 - Qiita

    はじめに HTMLCSSコーディングにおける制作者の思考や判断、アプローチ、コード化に至るまでの流れなどを分解し、コードの状態なども含めてそれぞれを短い言葉で言語化しました。 以下のような効果が期待できます。 HTMLCSSを使っておこなってきた事を客観視・再認識できる 始原的な動機を把握することで、手法を別の視点で捉えられるようになる 認識合わせや熟練度確認に利用し、制作時のコミュニケーションを円滑にする 場合によっては、ぼんやりと捉えていたことや、詰まりやすかったポイントなどがハッキリと認識できるようになるかもしれません。 言語化の概要 まずは、全体像が分かる概要図を掲載します。 この記事は、以下のステップと各項目について順に説明するものになります。 前提事項・環境について 言語化するにあたって前提となる考え方や環境について記載します。 HTMLCSSの役割 HTML → データ

    HTML+CSSコーディングの言語化 - Qiita
  • このPHPがテンプレートエンジンのくせに慎重すぎる (前篇) - Qiita

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

    このPHPがテンプレートエンジンのくせに慎重すぎる (前篇) - Qiita
  • この TypeScript が Hello, world! のくせに慎重すぎる - Qiita

    この記事は npm へ公開可能なパッケージを TypeScript で作成しながら、JS/TS 開発で良く使われるツールを紹介する記事です。 typescript-npm-starter という名前の Hello, world! パッケージを公開するという体で話を進めます。

    この TypeScript が Hello, world! のくせに慎重すぎる - Qiita
  • 平成のうちにやめたかった『ITの7つの無意味な習慣』 - Qiita

    2019年の今年は「令和元年」であるわけだが、年初はまだ「平成31年」だったので、ギリギリまだ平成ともいえる。ところで、ITの世界にもいろいろな都市伝説や根拠は薄いけれどもかっちり守られているしきたり/習慣があり、少なくとも今の世界では通用しないため当は改善したほうがいいのだが業界的にずるずるといってしまっていることが色々と存在する。年末の今、平成を思い返したときに元IT企業に勤めていた人間として「この習慣は平成のうちに終わらせておかねばならなかっただろうに!」と悔やまれることを7つ挙げてみた。 ※ちなみに、諸君のまわりでこれらをすべてやめられている人がいたならば当に神である、というのが残念ながら今の現状だ。 【7位】 2要素認証でない「2段階認証」 これは令和元年にセブンペイサービスの停止でだいぶ話題になったので、認識されている諸君も多いかもしれない。話題になったのは大手企業のサービ

    平成のうちにやめたかった『ITの7つの無意味な習慣』 - Qiita
    jazzanova
    jazzanova 2020/01/02
  • Party Parrot とは 〜イカれたオウムの歴史を紐解く〜 - Qiita

    Slackユーザでなくともエンジニアの方なら一度は見かけたことがあるであろうこのGif画像。 Party Parrot という名称で世界中で愛されています。 ただ、このParty Parrotが何者なのかご存知でしょうか。 奇妙でどこか愛らしい彼の、意外と知られていない歴史を紐解いていきます。 きっかけはBBC 全ての始まりは2009年9月4日にBBCが放映した「Last Chance to See」というテレビ番組の1シーンでした。 イギリスの俳優スティーヴン・フライ(Stephen Fry)と動物学者マーク・カーワーダイン(Mark Carwardine)は撮影でニュージーランドを訪れます。 目的は、世界で唯一飛べないオウムであるカカポ(和名:フクロウオウム)を撮影することです。 Mnolf - Photo taken on Codfish Island (Whenua Hou), N

    Party Parrot とは 〜イカれたオウムの歴史を紐解く〜 - Qiita
    jazzanova
    jazzanova 2019/12/24
  • 懸垂をすると掛け声が飛び交う装置を作った話 - Qiita

    この記事は Brainpad Advent Calender 2019 18日目の記事です。 Brainpad Advent Calender 2019 の 20 日目で、後日談(開発環境詳細)をのせます。 ( @ushi_198 より) ... 我々はなにを作ったのか やあ、みんな。切れてるかな!? ITのお兄さんだよ。 IT系の会社ならどこにでもあるという「懸垂マシン」。 ひとり虚しく、懸垂している諸君に贈る、懸垂をすると掛け声が飛び交う装置を作ったぞ! 懸垂をすると掛け声が飛び交う装置を作った話https://t.co/73ndOnjL3v pic.twitter.com/xM0uH1U3LK — ウッディ川越 (@woody_kawagoe) December 18, 2019 その名も、「Dev Muscle」だ!!! さっそく作り方を見ていこう! 作り方 まずは装置を構成するB

    懸垂をすると掛け声が飛び交う装置を作った話 - Qiita
    jazzanova
    jazzanova 2019/12/20
  • 2019年末版 形態素解析器の比較 - Qiita

    形態素解析は日語処理の初歩であり、文を単語に分割したり、品詞や活用形、基形を分析するために行います。記事では形態素解析のツールをいくつかの出力例を交えて比較していきます。 (SentencePieceでいいじゃん、という人はお呼びでないですが、そういう方には、Twitterのトレンドが変な分割になってたら嫌では?と申し上げておきたいです) MeCab 言わずと知れた形態素解析器。とりあえずMeCabを使うという人は今なお多いことでしょう。とにかく高速であるということと、システムと辞書が分離されているのが特徴です。またPythonから使うのも簡単になりました(Janomeというものがありましたがmecab-python3の方が高速です)。Javaから使いたい人はKuromojiを使えばmecab(+ipadic)相当の結果が得られるはずです。 辞書はIPA辞書が推奨されていますが、Un

    2019年末版 形態素解析器の比較 - Qiita
    jazzanova
    jazzanova 2019/12/18
  • さよなら本番サーバー - Qiita

    とあるSESの現場では番リリースの時期が近づいてきており、僕を含めた数人のエンジニアは間に合いそうもない残作業の開発を進めたり、番で使うためのデータの整備を番サーバー内で行ったりしていた。ほとんどがその案件のために集められたメンバーだったため特に和気あいあいとするでもなく、エアコンの風の音が響く小さなオフィスの片隅で静かに作業をしていた。 業務上のやりとりもRedmineで行われており、声を発するのもたまにメンバー同士で話をしたり、クライアントから電話がかかってきた時だけ。その日もメールで通知が届いてきており、確認してみるとRedmineで僕が関係しているチケットにコメントが届いているという通知だった。 通知のURLをクリックしてRedmineのチケットを確認してみる。 それによると一旦番サーバー上に存在するデータの中の一部の主要データをCSV形式で送ってほしいという依頼だった。無

    さよなら本番サーバー - Qiita
    jazzanova
    jazzanova 2019/12/03