タグ

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

  • 現代開発者のためのCSS基礎技術 - Qiita

    ウェブアプリケーション開発における、現代的なCSSの基礎技術についてまとめました。 ちまたには「CSSとは何か」を学ぶ教材はたくさんあっても、「CSSをどうやってうまく使うか」についてはあまり詳しく触れられません。 仕様をたくさん記憶したところで、いつになっても開発力はあがらないのです。 記事は「CSSをうまく使う技術」に焦点をあてて、実際に現代的なウェブアプリケーションに求められるレベルのCSSを書くための知識を紹介します。 特に プログラミング経験はあるもののウェブフロントエンドの経験が浅い方 初級レベルのCSSはある程度理解したものの、次にどうしたらいいかわからない方 にお勧めです。 プロローグ CSSの書き方は一通りではありません。 好きな書き方を自由に選ぶことができます。 これは一見すると良いことですが、裏を返すと最適ではない書き方がたくさんあるということです。 この場において

    現代開発者のためのCSS基礎技術 - Qiita
    hadashia
    hadashia 2020/07/06
  • Rustで実装したアルゴリズムをUnityから使う - Qiita

    Unity (ゲームエンジン) から Rust で書いたネイティブバイナリを実行する、という行為を試してみました。 サンプルコードは こちら。 なぜRust ? 以前、Unity上で、C#でプログラマブルに任意の形状のメッシュを生成するといったことをやってみました。 ( たとえばこういうふうに、実行中に入力から任意の形状を生成して、メッシュにして描画できると楽しい ) しかし、三角形分割などの幾何アルゴリズムをC#で素朴に実装してみたところ、に載っているような計算量少なめのアルゴリズムに則ったとしても、(むしろ則ったせいで)、GCゴミの発生を抑えることの難易度がかなり高いな、という感想を持ちました。 こういう類のアルゴリズムは、計算途中の辺や点、面の情報を参照として持ち、それらの空間的なつながりの情報を可変長のコレクションに入れて管理するといったことがどうしても頻出するのではないかと思い

    Rustで実装したアルゴリズムをUnityから使う - Qiita
    hadashia
    hadashia 2019/09/12
  • C# パフォーマンス改善に使える新しめの機能たち 7.0〜 - Qiita

    時代に合わせてバージョンアップを続け、モダンな言語もまだまだ彼の背中を追っている部分があると噂されたりしている言語、C#。 現状の利用シーンとして割と大きいめの Unity (ゲームエンジン) では、使えるC#のバージョンがぐいぐいっと上がりはじめて以降、そこそこ新しい書き方も認知されてきているようです。 しかし、個人的に注目している C#の新機能は、ショートハンドや関数型言語由来の機能よりもむしろ、C#自体のパフォーマンスを改善するような文法や標準ライブラリたちです。 ーーパフォーマンスを改善する言語機能って一体なんのことでしょう。 「C# なんて、ランタイムが勝手にJITで最適化した機械語にして走らせてくれるわけで、Unityの場合はc++トランスパイルされるわけで、べつにプログラマがミクロなチューニングとか意識しなくても、夜、寝る前とかに祈ったり寄付とかをしていれば、ランタイムをつ

    C# パフォーマンス改善に使える新しめの機能たち 7.0〜 - Qiita
    hadashia
    hadashia 2019/04/10
  • 2019年にもなって未だに非同期I/Oを使わずPHP、Python、Ruby等でProcessを浪費しているサービスが増える理由とは! - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに 間違えている箇所があれば指摘していただきたい 特にPHP,PythonRuby格的に開発した経験が少なく 間違ってたら私のために教えていただきたい ただ1つ 私の中でも正しい用語定義がわからないので 非同期と書いたときは 非同期I/O、ノンブロッキングI/O 両方のことをさし マルチスレッドは並列などと表記する 現在の状況 2019年。Webサービスはどんどんローンチされている Java、nodeといった非同期のサービスも増えてきたが 未だに PHPPythonRubyといった非同期ではなくプロセスを立ち上げるサーバ

    2019年にもなって未だに非同期I/Oを使わずPHP、Python、Ruby等でProcessを浪費しているサービスが増える理由とは! - Qiita
    hadashia
    hadashia 2019/01/11
    ふつうに共感した db,サービス間通信とかのI/Oが占める時間のインパクトがでかいのに、その間スレッドがブロックされてしまうと、並列度を上げないとスループット上がらない。 生産性高い選択肢は今はけっこうあると思
  • lit-htmlとバニラWeb Componentsでコンポーネントを実装する - Qiita

    Web Components は現在、Chrome と Safari でポリフィルなしで使うことができます。( 参考: Can I use: Custom Elements, Can I use: Shadow DOM ) Web Components ではコンポーネント開発に適した HTML 標準の API を使って、UI ライブラリに頼らずにコンポーネントベースのアプリケーションを構築できます。ポリフィルが必要な場合には Polymer から分離した webcomponents.js があるので、今から、標準の Web Components で開発ができる環境が整っていると言えます。 今回、標準の Web Components を使ったコンポーネント開発と、それを便利にする lit-html との組み合わせを比べてみます。最後に Polymer によって拡張された Extended W

    lit-htmlとバニラWeb Componentsでコンポーネントを実装する - Qiita
    hadashia
    hadashia 2017/11/24
  • ASP.NET Core Middleware Fundamentals - 日本語意訳 - Qiita

    2017/03/23(Thu) 時点の情報に基づいています 公式ドキュメント:ASP.NET Core Middleware Fundamentals ASP.NET Core Middleware 基礎編 Middleware とは何か Middleware とは、リクエストとレスポンスを処理するためのアプリケーションパイプラインとして組み立てられたソフトウェアです。各コンポーネントは、パイプラインの次のコンポーネントにリクエストを渡すかどうかを選択し、次のコンポーネントが呼び出される前後に任意のアクションを実行することができます。リクエストデリゲートは、リクエストパイプラインを構築するために使用されます。リクエストデリゲートは、各 HTTP リクエストを処理します。 リクエストデリゲートは、Startup クラスの Configure メソッドに渡される IApplicationBui

    ASP.NET Core Middleware Fundamentals - 日本語意訳 - Qiita
    hadashia
    hadashia 2017/11/04
    “リクエスト”
  • C# 非同期、覚え書き。 - Qiita

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

    C# 非同期、覚え書き。 - Qiita
    hadashia
    hadashia 2017/10/10
  • mrubyのビルド方法 - Qiita

    mrubyをビルドする 記事では、mrubyのビルド方法について説明します。 mrubyのビルドは、Rakeをベースとした独自のビルドシステムを使っています。 これは主にmrbgemsとクロスビルドの為です。当初はmakeを使っていたのですがmrbgems対応の為にC言語で別コマンドを作るなど無理が出てきたので、2013/1にRakeベースの物に差し替えました。 その際、Matzからの注文が @masuidrive @mattn_jp ビルドにRuby(CRuby)を使ってもいいですが、当面1.8/1.9両対応、かつRakeを使わないという条件を付けます。mrubyのためにいろいろインストール要求するのは避けたいので — Yukihiro Matsumoto (@yukihiro_matz) December 12, 2012 というモノだったので、Rakeの古いバージョンを元にRake

    mrubyのビルド方法 - Qiita
  • 基礎からはじめる物理ベースレンダリング - Qiita

    Help us understand the problem. What are the problem?

    基礎からはじめる物理ベースレンダリング - Qiita
    hadashia
    hadashia 2017/07/03
  • 【Haskell や圏論が出てこない】Scala で型クラスを完全に理解した話 - Qiita

    TL;DR 結論から。 型クラスはちょっとすごいオーバーロード であり 型に対して静的にメソッドを挿入する方法 です。 この記事は Haskell や 圏論等の難しそうな知識・議論なしで型クラス概念を具体的に理解する 型クラスが実は単なるすごいオーバーロードで、ちょっとした便利なものだと実感できる 型クラスとインターフェイスの違い論争で消耗しなくなる 型クラスを知っているとなにがオトクなのかわかる Haskell 等の高度な抽象化の恩恵を Java 的な慣れ親しんだシンタックスで書ける Scala は便利でたのしいと感じる ことを目的としています。 対象読者 関数型とか型クラスとかモナドとかよく聞くけど全然わからない…でも理解したい気持ちはある 型クラスの概念はいろいろ読んでなんとなく分かるけど説明が Haskell ばかりで実感がわかない 型クラスがなんなのかはぶっちゃけどうでもいいが、

    【Haskell や圏論が出てこない】Scala で型クラスを完全に理解した話 - Qiita
    hadashia
    hadashia 2017/06/29
  • [WebGL] スキニングメッシュ(ボーン)の仕組みを自前で実装してみる - Qiita

    // Planeの定義 var plane = { position: [ 2.0, 0.0, 0.0, 2.0, 1.0, 0.0, 3.0, 1.0, 0.0, 3.0, 0.0, 0.0, 2.0, 2.0, 0.0, 3.0, 2.0, 0.0, 2.0, 3.0, 0.0, 3.0, 3.0, 0.0, 2.0, 4.0, 0.0, 3.0, 4.0, 0.0, 2.0, 5.0, 0.0, 3.0, 5.0, 0.0, ], color: [ 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0,

    [WebGL] スキニングメッシュ(ボーン)の仕組みを自前で実装してみる - Qiita
    hadashia
    hadashia 2017/06/09
  • three.jsで竜巻っぽいやつを作る。 - Qiita

    <html> <head> <title>My first Three.js app</title> <style> body { margin: 0; } canvas { width: 100%; height: 100% } </style> </head> <body> <script src="../build/three.js"></script> <script> var cube; var renderer; var scean; var camera; var planes; var plane; Init(); function Init(){ planes = new Array(1000); const far = 20000; const w = window.innerWidth/10; const h = window.innerHeight/10; scen

    three.jsで竜巻っぽいやつを作る。 - Qiita
    hadashia
    hadashia 2017/03/19
  • SwiftはどのようにJavaの検査例外を改善したか - Qiita

    僕は、 Java の検査例外のコンセプトは素晴らしいと考えていますが、世間ではあまり好かれていないようです。 C# や Scala, Kotlin などの後続言語では採用されず、僕の知る限り Java 以降、検査例外(的なもの)を採用したメジャー言語は Swift だけです。 ただし、Swift の検査例外(的なもの)はいくつかの点で Java の検査例外と異なっています。 Swift は後続だけあって何かしらの改善を試みているわけです。その取り組みがおもしろいので、 Swift の検査例外的なものが Java の検査例外と何が違い、それがどのような意味を持つのかを紹介します。 throws 節でエラーの型を指定できない Java では

    SwiftはどのようにJavaの検査例外を改善したか - Qiita
  • Swiftの強力な機能であるstaticメソッド制約の紹介と、Kotlin, TypeScript, Java, Scala, C++との比較 - Qiita

    Swiftの強力な機能であるstaticメソッド制約の紹介と、Kotlin, TypeScript, Java, Scala, C++との比較C++ScalaKotlinTypeScriptSwift 先に結論 Swiftのstaticメソッド制約はちょっとしたシンプルな機能に見えるけど便利で深い Kotlin, TypeScript, Java で同じことをすると冗長で間接的なコードになってしまう TypeScriptのstaticメソッド注入は独特のテクニックで面白い 提示するJavaの実装は「T を new する」方法でもあるので参考にして Scala は間接的ではあるもののKotlinより良い形でかける SwiftScalaの形をさらにより良くした形とみなすことができる C++Swiftと同じ事ができるがわかりにくい書き方になってしまう 導入 Swiftはprotocolという

    Swiftの強力な機能であるstaticメソッド制約の紹介と、Kotlin, TypeScript, Java, Scala, C++との比較 - Qiita
  • 世界で通用するエンジニアになるための高度な技術記事(英語) - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 英語サイトでは、日語のサイトでは絶対に手に入らないレベルの記事がわんさか読めます。今日はCodeProjectよりシステム構築をする上で知っておくべき深い知識を解説した記事を3行要約と共にご紹介します。 ##C#と.NETの記事 C#や.NETのかなりディープな記事たちです。日語ではあまり見かけない深い部分まで知れます。 ■高パフォーマンスなクラスのデザイン方法 Performance Considerations of Class Design and General Coding in .NET - CodeProject ・ク

    世界で通用するエンジニアになるための高度な技術記事(英語) - Qiita
  • [連載]やってみれば超簡単! WebGL と GLSL で始める、はじめてのシェーダコーディング(9) - Qiita

    [連載]やってみれば超簡単! WebGL と GLSL で始める、はじめてのシェーダコーディング(9)WebGLGLSL まずは挑戦してみよう シェーダを自分でコーディングするなんて…… きっとお難しいんでしょ…… と、お思いの奥様方。そんなことはないんです。コツをつかめば意外と楽しめます。当連載では、シェーダというものに対して抱かれてしまいがちな、漠然とした 難しそう感 を払拭すべく、簡単なシェーダの記述とその基について解説したいと思います。 前回:[連載]やってみれば超簡単! WebGL と GLSL で始める、はじめてのシェーダコーディング(8) - Qiita 想定する読者 当連載では、シェーダってなんか難しそう……とか、シェーダプログラミング始めてみたいけど……とか、なんとなく興味を持ってるけどシェーダを記述したことがない方を読者に想定しています。 たとえば Unity などの

    [連載]やってみれば超簡単! WebGL と GLSL で始める、はじめてのシェーダコーディング(9) - Qiita
  • Swiftのエラー4分類が素晴らしすぎるのでみんなに知ってほしい - Qiita

    これは Swift Tweets の発表をまとめたものです(次回開催はこちら)。イベントのスポンサーとして Qiita に許可をいただいた上で投稿しています。 ありがとうございました!Q&Aは他の人の発表中でも構わないのでリプを飛ばして下さい。 続いては僕 @koher の発表で、タイトルは "Swiftのエラー4分類が素晴らしすぎるのでみんなに知ってほしい" です。 #swtws — koher (@koher) 2017年1月14日 第 1 部: Swift の 4 種類のエラーについて あまり知られてませんが、エラー処理について、 Swift 2.0 設計時に Core Team がまとめた "Error Handling Rationale and Proposal" というドキュメントがあります。このドキュメントは、僕が去年 try! Swift で発表した際にも参考文献にしまし

    Swiftのエラー4分類が素晴らしすぎるのでみんなに知ってほしい - Qiita
    hadashia
    hadashia 2017/01/15
  • GLSL でのレイマーチングについて雑に語ってみます - Qiita

    第二次チョコレイマーチング大戦 先週、とんでもなく下らないネタを五日間に渡って投稿させていただきました doxas と申します。 詳細は以下です。 [連載 GLSL 物語] チカラが欲しいか……(第一話) まあなんていうか、最後まで読んでくださった方は既にお気づきかと思いますが、オチを先に思いついて、それに向かってひたすらアホなことをやり続けた結果があの有様でありまして、反省も後悔もしてはおらんのですが、さすがにこのまま放置というのはいかんだろうと思い筆を執った次第です。 全てを漏れ無くというわけにはいきませんが、レイマーチングの基の部分や、今回の一連の投稿において使われたテクニックなど、一部抜粋してご紹介します。 ただ今回紹介するテクニック等は基的に単なるレイマーチングの話なので、より厳密にしっかりと数学的側面なども理解したいという場合は、あまり今回のテキストは向いていないかもしれま

    GLSL でのレイマーチングについて雑に語ってみます - Qiita
  • Rust でレイトレーシング入門しました - Qiita

    これは KLab Advent Calendar 2016 の13日目の記事です。 はじめに Rust で簡単なレイトレーシングのプログラムを作成しました。 レイトレーシングとは、光源から発する光線の挙動をシミュレーションすることによって画像の各画素における色を計算し、写実的な画像を描画することができる技術のことです。光は来電球などの光源から発し私たちの目に届きますが、光源から発する光線はその多くが視界には入らないため、視界から逆向き(backward)に光線を発し、各画素の色を計算するのがレイトレーシングの普通のやり方です。 今回レイトレのプログラムを作成してみようと考えたきっかけとしては、社内の一部でレイトレが流行っていることや、自分がCG技術にかなり疎かったことなどがあります。また、Rust の LT 会 に参加し Rust の機運が高まっていたため、実装は Rust でやること

    Rust でレイトレーシング入門しました - Qiita
  • 3D、カメラ周りの勉強中なので、その情報集め。あと理解したもののメモ - Qiita

    3Dについて勉強したのでその備忘録です。 理解につながった記事のリンク集と、自分の理解した内容をメモとして残しています。 (いくつかの画像は参考にした記事から拝借しています) 実際にJavaScriptのCanvas2Dを使って簡単な自作3Dエンジンを作ってみました。 自作3Dエンジンサンプル ##参考にした記事など フォグについてのPDF 自作Quaternionサンプル いわずとしれたTHREE.js(GitHub) その60 変換行列A×BとB×Aの違いを知ろう 3Dプログラミングの基礎知識(1) 3Dプログラミングの基礎知識(5) 3Dプログラミングの基礎知識(6) 3D座標変換 自前でビュー変換行列を作成 3D座標変換(別記事) ワールド座標→スクリーン座標変換 1-9 座標変換其の四 その39 知っていると便利?ワールド変換行列から情報を抜き出そう ##4x4行列 ##行列のか

    3D、カメラ周りの勉強中なので、その情報集め。あと理解したもののメモ - Qiita
    hadashia
    hadashia 2016/12/06