タグ

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

  • DI・DIコンテナ、ちゃんと理解出来てる・・? - Qiita

    意外と分からずに、「とりあえず」とか「なんとなく」で使っちゃうパターンが多い系案件な気がして書いてみます。 こんな事ありませんか? DIとDIコンテナの違いを説明出来ない DIとサービスロケータの違いを説明出来ない DIを使ってるつもりが、サービスロケータになっている DI、サービスロケータが、ただの「パターン」の1つであることを理解してない DI(Dependency Injection)を正しく理解する そもそも、Dependeny Injectionを日語にするとどういう意味になるでしょうか。 多くの人が「依存性の注入」とか応えるのではないでしょうか? 私もそうでした。きっと何かで読んだのでしょう。 (wikipediaに「依存性の注入」と書いてありますね) 補足 なぜ依存性を注入してあげると良いのか、そのメリット等は後述しますが、 DIというのはただのパターンの1つです。 たまに

    DI・DIコンテナ、ちゃんと理解出来てる・・? - Qiita
    cignoir
    cignoir 2019/09/08
  • しっかり学ぶシェーダプログラミング【グーローシェーダ編】 - Qiita

    はじめに こんにちは、個人ゲーム開発で忙しい@yoship1639です。 しばらく時間が空いてしまい申し訳ございません。 前回、シェーダをさわる前に編で、簡単にシェーダの説明と書く前に持つべき知識の説明をしました。 ご覧になってない方は軽く目を通していただけたら幸いです。 今回は、シェーダの最も基ともいえるグーローシェーダについて説明、0から実装していきたいと思います。 目次 しっかり学ぶシェーダプログラミング【シェーダをさわる前に編】 しっかり学ぶシェーダプログラミング【グーローシェーダ編】<-記事 グーローシェーダの概要 グーローシェーディング(英: Gouraud shading)は、物体の表面での光と色の変化をシミュレートするコンピュータグラフィックスの手法の1つ。アンリ・グーロー (Henri Gouraud) が考案し1971年に公表した。実際には、粗いポリゴン表面に滑らか

    しっかり学ぶシェーダプログラミング【グーローシェーダ編】 - Qiita
    cignoir
    cignoir 2019/06/17
  • しっかり学ぶシェーダプログラミング【シェーダをさわる前に編】 - Qiita

    はじめに こんにちは、@yoship1639と申します。最近ゲーム開発に勤しんでいます。 皆様、突然ですがシェーダをご存知でしょうか。 この記事を開くということは少なくともシェーダという言葉の意味を知っているはずです。 簡単に言うと「3Dプログラム上でのオブジェクトに対する色付け(陰影処理)」ですね。 最近はゲームエンジンのUnityとかUE4とかが普及して耳にする機会が多くなったのではないでしょうか。 次の質問です。 0からシェーダ書けますか? 正しく理解できていますか? 多分ほとんどの方が0からは書けないのではないかと踏んでいます。 なぜなら最新のシェーダに関する日記事がほとんど見受けられないからです。 Physical Based Renderingが登場以降、ほとんど見かけなくなりました。 (ちなみに最新のシェーダはほぼ英語記事しかありません) ゲームエンジンが普及し手軽に高品質

    しっかり学ぶシェーダプログラミング【シェーダをさわる前に編】 - Qiita
    cignoir
    cignoir 2019/06/17
  • 岡田を切る技術 - Qiita

    これはとある回顧録 何度も諦めかけましたが、数年の歳月を経て遂に岡田を切る技術が一旦の完成へと至りました。その技術を巡る奮闘の歴史と成果について、ここに記録を残していきたいと思います。 画像時代 まずは「切る」という動作が何を指すかを明確にしておきます。 厳密な定義というよりは、切った感を得るために必要そうなふるまいとして定義します。 平面上のある領域が、任意の直線を境界として分割されること 分割された領域は物理法則に準じてふるまうこと 要するに気持ちよく岡田を切ることができれば目標は無事達成です。 物理エンジン 切った感を高めるためにはやはり「物理法則」に準じたふるまいが欲しくなります。つまりブラウザ上で動く物理エンジンが必要です。 世の中にはフルスクラッチで物理エンジンを作れる人間と作れない人間が居ると思われますが、残念ながら私は後者でした。勝ち目の薄い勝負は避け、素直に巨人の方にすが

    岡田を切る技術 - Qiita
    cignoir
    cignoir 2019/05/07
  • 【Ruby】AES暗号化 - Qiita

    Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up

    【Ruby】AES暗号化 - Qiita
    cignoir
    cignoir 2019/04/19
  • [2019年1月版]WSL + Ubuntu で Docker が動くっ!動くぞコイツッ! - Qiita

    WSL + UbuntuでDockerを動作させてみたい 2019.01.01時点で、ゼロから環境構築をした場合には成功していません! 2019.01.02時点で成功しました! Ubuntu16.04 + Docker CE 17.03.3 で動きました! Windows10 Pro バージョン 1803 でWSL+Dockerの環境構築を試行中です。 以下、各バージョンについてインストールと動作確認を行ったメモ。 Ubuntu 18.04 LTS + Docker 18.06 Microsoft Store からUbuntu 18.04をインストール Ubuntu 18.04を実行(管理者ではない) Linuxユーザーを作成 以下を実行 $ sudo apt update && sudo apt upgrade -y $ sudo apt install -y docker.io $ s

    [2019年1月版]WSL + Ubuntu で Docker が動くっ!動くぞコイツッ! - Qiita
    cignoir
    cignoir 2019/04/12
  • 【WSL】ホームディレクトリ変更手順 - Qiita

    Windows Subsystem for Linux(WSL)」では、Ubuntu環境が特殊なディレクトリに隠蔽されており、アクセスがしにくかったため、ホームディレクトリを通常使っているWindowsフォルダに変更した際の手順メモ。 WSLのホームディレクトリ用のフォルダをWindows上に作成 私の場合はCドライブ配下に「linux_home」というフォルダを作成した。 Windows上のフォルダがWSL上から見えるか確認 WSL上から、Windows上のCドライブは/mnt/c/でアクセス可能なため、lsコマンドでディレクトリのリストを表示し、「linux_home」が見えるか確認する。

    【WSL】ホームディレクトリ変更手順 - Qiita
    cignoir
    cignoir 2019/04/11
  • 大学との共同研究についての注意点 - Qiita

    記事の目的 これまでさんざん大学との共同研究で失敗してきたので注意点をまとめておく。 なお、情報系以外の世界はよくわからないので、多分当てはまらないと思う。 1.基教授は研究してくれない 教授は基的に忙しい。予算を獲得するために国の会議に出たり、授業をしたり、教授会に出たり。実質研究していない教授も多い。 そこで、実際には教授のネームバリューより担当する学生の質によって共同研究の成否が決まる 採用してもいいと思える学生が見つかるかどうかがカギ あるいは新進気鋭の助教とか研究員がいれば可能性はある 学生はやはり学生なのでプロジェクトマネジメントは結構困難 遠隔地から知らないおっさんに指示を出されてもだいたいやってくれない。チームとして入り込むレベルでかかわることが必要 2.共同研究は開発の外注契約というよりはコンサルティング契約に近い 通常の開発の外注なら契約を結んで仕様通りに作らせれば

    大学との共同研究についての注意点 - Qiita
    cignoir
    cignoir 2019/03/12
  • 日本にアジャイルが普及しづらい本当の理由〜不確実性に向き合うマネジメント論〜 - Qiita

    はじめに こちらの記事は、技術評論社に寄稿させていただいた「エンジニアリング組織論への招待」をご紹介するための文章です。Qiitaにも再掲しておきます。 アジャイルって何だ? 「ウォーターフォールよりもアジャイルのほうがいいのか?」そんな言葉をIT企業の経営者から聞くことがあります。2000年代の後半くらいから、日国内においてもアジャイル型の開発プロセスが注目を浴びて、多くの企業が実践するようになりました。 ところが、世界各国に比べて日アジャイル型開発の普及率は依然として低く、理解度も進んでいません。流行っているからやってみようと始めた企業も流行りが変わると今度はリーンだとか、今度は○○だといったように新しい方式を導入してみては失敗するところも珍しくありません。 アジャイル開発の専門家ですと名乗る人の話を聞いてみても、それが何なのか、けむにまかれたような説明をされてしまい、いまいち納

    日本にアジャイルが普及しづらい本当の理由〜不確実性に向き合うマネジメント論〜 - Qiita
    cignoir
    cignoir 2019/03/11
    ?“アジャイル開発を何か体系だった開発プロセスなんだと考えると誤解をしてしまいます。アジャイル開発は「どうやったら、不確実性をもっと減らせるんだろう」という問いにチームが向き合うための学び方なのです。
  • Ruby on railsのDockerイメージ作成 - Qiita

    概要 Ruby on railsのローカル環境をDockerで構成してみようとやってみたことをメモします。 ミドルウェアの構成 Ruby 2.5 (Ruby on rails 5.2) MySql 5.7 Dockerイメージ作成 (Ruby on Rails) ファイル構成 ファイルの構成は以下のようになります。 opt ├ .gitignore ├ database.yml ├ docker-compose.yml ├ Dockerfile ・・・ railsのイメージを作成するDockerfile ├ Gemfile ・・・ bundle installでインストールするライブラリの定義ファイル └ README.md FROM ruby:2.5 ENV LANG C.UTF-8 ENV WORKSPACE=/usr/local/src # install bundler. RUN

    Ruby on railsのDockerイメージ作成 - Qiita
    cignoir
    cignoir 2019/03/06
  • Ruby on Rails の環境構築 for Windows10 ~ RubyMine + WSL - Qiita

    はじめに Windows10 における Ruby on Rails 開発環境の構築記事です。 RubyMine + WSL で環境構築する際、様々な記事を参考にさせていただいたのですが、 RubyMine の設定や日語化、またアプリケーションの作成とブラウザでの確認方法まで 全てまとまっている記事ってなかったなぁと思い、記事作成に至りました。 参考になれば幸いです。 目次 ツールの紹介 WSL とは RubyMine とは WSL の準備 WSL の有効化 WSL のインストール WSL の起動 各種パッケージのアップデートおよびインストール RubyMine の準備 RubyMine のインストール 初回起動時の設定 WSL(リモート)の Ruby を読み込ませる 日語化 プロジェクトの作成および実行 プロジェクトの作成 プロジェクトの実行~ブラウザでの確認 プロジェクトの編集 参考

    Ruby on Rails の環境構築 for Windows10 ~ RubyMine + WSL - Qiita
    cignoir
    cignoir 2019/02/28
  • 100名に聞いた!エンジニアリングマネージャーの給与と責務の実態調査 - Qiita

    はじめに ソフトウェアエンジニアリングマネージャ(以下、EM)に求められる責務は、多岐にわたっています。 流動性が高いITの業態である一方、日型メンバーシップ雇用と米国型のJD型雇用との隙間にあって、責務と権限の曖昧な状況の中に置かれることも少なくないように思われます。 このような状況下で、メンバーからも経営からも双方にそれぞれの考える理想的なマネージャであることを求められることもしばしばあるようです。結果として、マネージャの休職など精神的なストレスも高さが問題になっています。 また、ソフトウェアエンジニアにとって、プログラミングにおけるスキルとくらべ、マネジメントに対するそれのモビリティ(会社を変えても有効であると思える程度)が低く見えると言ったことから、ソフトウェアエンジニアにとってキャリア形成に効きづらいのではないかと考えてしまうことも自然なことです。 その結果、ソフトウェアエンジ

    100名に聞いた!エンジニアリングマネージャーの給与と責務の実態調査 - Qiita
    cignoir
    cignoir 2019/02/26
  • なんでもかんでも「バグ」ってひとくくりにしないで - Qiita

    はじめに プログラマがソフトウェアを作るとユーザがつきます。ユーザがそのソフトウェアを使っていて何らかの問題が発生すると「このソフトはバグってる、直して!」と言われることがままあります。それに対して「いや、仕様だから」と突っぱねられることがあります。その後お互いの意見が「バグだ!」「いいや仕様だ!」と平行線になってお互いモヤモヤのまま終わるというのはよくある話です。 なぜこういうことが起きるかというと、原因の一つは「問題」イコール「バグ」という短絡的な考え方です。とくにソフトウェアを作ったり使ったりした経験が浅い人がこうなる傾向があると推測しています。このようない違いは「要件」「仕様」と「実装」という言葉の意味を理解していればある程度解決できます。書はこれらの用語について実例を挙げて簡単に紹介します。 注意点 記事では要件や仕様を定義することが前提となっていますが、とくにユーザと開発

    なんでもかんでも「バグ」ってひとくくりにしないで - Qiita
    cignoir
    cignoir 2019/02/25
  • 私たちはどうして公式ドキュメントが読めないのか? - Qiita

    少しプログラミングを覚えてきた初学者が、さらに力をつけるために必要なのが公式ドキュメントを読むことだと思います。 公式ドキュメントには、日語の記事には書かれていないような詳細な説明や、APIの使用方法、そしてリリースノートなど、実装には不可欠な情報が掲載されています。 しかし、公式ドキュメントが上手く読めずにつまづく人も多いのではないでしょうか?慣れていない人にとっては、技術について書かれたドキュメントを読むのは難しいものです。 この記事では、つまづいてしまう人が少しでも減るように、公式ドキュメントが読めない原因と対策をいくつか書いていきます。 公式ドキュメントとは この記事で言及している「公式ドキュメント」は、フレームワークやライブラリ、言語について、その公式組織が出している文書のことです。 具体的にはこのへん。 どうして公式ドキュメントが読めないのか 原因1. 公式ドキュメントを読む

    私たちはどうして公式ドキュメントが読めないのか? - Qiita
    cignoir
    cignoir 2019/02/25
  • Railsでcarrierwaveを使ってAWS S3に画像をアップロードする手順を画像付きで説明する - Qiita

    IAM設定 IAMユーザ作成 AWSコンソールにログインしてIAMサービスにアクセスする ユーザを追加する ユーザー名を入力し、アクセスの種類をプログラムによるアクセスにする 上記で作成したユーザにS3へアクセスできる権限を追加 設定を確認しユーザ作成を完了する IAMユーザのアクセスキーを入手する ユーザーを選択 アクセスキーを追加 アクセスキーとシークレットアクセスキーをメモする。(下記キーは事例のため開示しているけど、来は絶対に秘密にすべき文字列です。) S3バケット作成 S3にアクセスする バケット名を入力して、リージョンを選択して、作成する rails & carrierwave photoモデルをつくって、imageカラムに画像をアップロード出来るように設定します。 gemインストール carrierwave gemを追加してインストールします。

    Railsでcarrierwaveを使ってAWS S3に画像をアップロードする手順を画像付きで説明する - Qiita
    cignoir
    cignoir 2019/02/14
  • Ruby on Railsで作ったWebサービスを5倍速くしてメモリを半分以下にした話 - Qiita

    改善前に比べ約5倍表示速度が速くなりました。また、1秒間にさばけるリクエスト数も約3倍ほどになっています。Unicornの1プロセスあたりが使用しているメモリもだいぶ低くなりました。 なお、ページ読み込み速度は、ブラウザでページを表示したときにインジケータのクルクルが止まったときです。Chromeの開発ツールのネットワークタブで赤い文字で Load 1.2sec とか表示されているやつです。GoogleAnalyticsのページ速度でいうと plt というキーでレポートされているものです(参考ページ)。 グラフとか GoogleAnalyticsのグラフです。読み込み時間が下がっています。 メモリ使用量です。Zabbixからmackerelに乗り換えたのでグラフが違いますが、使用量が下がって安定しているのがわかります。 AWS ELBのレイテンシです。不安定なレスポンスが安定してるのがわか

    Ruby on Railsで作ったWebサービスを5倍速くしてメモリを半分以下にした話 - Qiita
    cignoir
    cignoir 2019/02/14
  • Chrome拡張を簡単に作れるテンプレとライブラリ造ったので紹介 - Qiita

    Chrome拡張を長年造ってきたなかで 手法や自作ライブラリが充実してきたのでこの辺で公開します。 Chrome拡張は当に効果的に改善できて、すばらしい仕組みです。 これで皆さんが簡単に現場改善が進んだら嬉しい限りです。 (なお、これは 2017-08-05 Builderscon Tokyo 2017 でのトーク用に作成した資料です) わりと ウケた 改善 どんなことができるのか、ざっと見てみましょう。 サンプルページ ※各項目ごと、「拡張を有効化」をクリックすることで拡張が入った状態を見ることができます。 Chrome拡張を作るのに必要な 環境 必要な環境はシンプルです。 Google Chrome Text Editor or IDE(UTF-8 が扱えるなら何でもいい) (公開するなら)Zip 圧縮ができるソフトウェア (公開するなら)クレジットカード これだけ。 あとは、ソース

    Chrome拡張を簡単に作れるテンプレとライブラリ造ったので紹介 - Qiita
    cignoir
    cignoir 2019/02/14
  • Chrome拡張の開発方法まとめ その1:概念編 - Qiita

    Chrome拡張の開発に必要な知識とかの覚書です。 この記事では開発の前に知っておくべきChrome拡張の全容について解説していきます。 「実際に開発しながら学ぶ」形式の解説記事は多く見られるのですが、概念についてちゃんとまとめてある記事は見当たらず、そこらへんの理解で結構苦労した覚えがあるので、そういった人達の手助けになればと思います。 対象 Chrome拡張が作りたい人 Javascriptがまあまあわかる人 Chrome拡張の各概念がいまいちわかってない人 概要 まずはChrome拡張の大まかな構造について説明します。 Chrome拡張はHTMLCSSJavascriptで作られています。 必要なhtml,css,jsファイルなどと後述のManifest Fileを一つのフォルダにまとめたものが一つの拡張機能のまとまりとなり、zipで圧縮してアップロードすることでストアで公開する

    Chrome拡張の開発方法まとめ その1:概念編 - Qiita
    cignoir
    cignoir 2019/02/14
  • Growi(旧Crowi-Plus)をアップデートする方法 - Qiita

    的にマイナーレベルのアップデートでは特に問題は起きたことはないが、念のため作業前にデータのバックアップやマシンのバックアップをとっておくこと。 Growiのインストール CentOS7向け手順: https://qiita.com/SkyLaptor/items/d963157b81a87f3b5726 指定バージョンにアップデート # systemctl stop growi # cd {growiディレクトリ} # git fetch --tags # git tag ... v3.0.7 v3.0.8 v3.0.9 # git stash # git checkout v3.0.10 # yarn # systemctl start growi Elasticsearchのインデックス再ビルド Elasticsearchを導入している場合は、アップデート後に管理画面からインデック

    Growi(旧Crowi-Plus)をアップデートする方法 - Qiita
    cignoir
    cignoir 2019/02/04
  • Growiのバックアップとリストア - Qiita

    cignoir
    cignoir 2019/02/04