タグ

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

  • WebpackやBrowserifyはどうやってバンドルを作っているのか - Qiita

    はじめに WebpackやBrowserifyなどのモジュールバンドラーは最近のWeb開発ではなくてはならない存在ですが、基的には設定ファイルを書いてコマンドをたたくだけでバンドルができてしまうので、それらがどのようにモジュールの依存関係を解決しバンドルを作成しているのかという裏側の仕組みまで知る機会はあまりないかと思います。 私自身もVue.jsアプリを作っていたりしますが、Webpack周りはvue-cliにお任せしてしまっているので、Webpackについてはあまり詳しくありません。 しかし先日Webpackによるビルドがうまくいかないことがあり、何が原因なのか調べるのにバンドルのソースを確認しようとしたのですが、どこに何が書いてあるのかよくわからず非常に苦労しました。 そんな時にTwitterでminipackというリポジトリを見つけました。 https://github.com/

    WebpackやBrowserifyはどうやってバンドルを作っているのか - Qiita
  • amsmathの数式環境まとめ - Qiita

    LaTeXで数式環境と言ったらequation環境かalign環境, みたいな風潮がある気がするけど, align環境は目的に依っては不適切(というか, 所望の表示を得られない可能性がある)だし, 実際にはamsmath.styには他にも数式環境が用意されているので, それをまとめておく. 適材適所で環境を用いれば目に優しい論文を書けるだろう. ここに書くことはAMS-LaTeXのUser's Guide1にも書かれているので, 細かいことはそちらを参照. また, ちょっと古いけど「使ってはいけない LaTeX のコマンド・パッケージ・作法」という記事も参照. 推奨されない環境: eqnarray環境 amsmath.styはこの環境をサポートしていないらしい. beamerのスライドでイコールの前後のスペースがやたらと広くなっている数式はこの環境を使っているのだと思う. 推奨されない別行

    amsmathの数式環境まとめ - Qiita
    waman
    waman 2019/10/26
  • Github 上のライブラリや sbt plugin を使う (sbt 0.13 以降用) - Qiita

    Scala のライブラリや sbt plugin のうち、maven central などのレポジトリに登録されていないものを使うのも sbt なら簡単です。 自分で fork してちょっと書き換えたバージョンを使いたい場合なんかにも使えます。 Github 上のライブラリを使う user/repo-name を使いたいと仮定して build.sbt に次のように書きます。 lazy val root = project.in(file(".")).dependsOn(githubRepo) lazy val githubRepo = uri("git://github.com/user/repo-name.git#commit") いくつか注意点があります。 1行目と3行目の間に空行(改行だけの行)が必要です。 uri() 引き数のフォーマットに注意します。Github の SSH cl

    Github 上のライブラリや sbt plugin を使う (sbt 0.13 以降用) - Qiita
  • イマドキのJavaScriptの書き方2018

    PySpa統合思念体です。これからJavaScriptを覚えるなら、「この書き方はもう覚えなくていい」(よりよい代替がある)というものを集めてみました。 ES6以降の難しさは、旧来の書き方にプラスが増えただけではなく、大量の「旧来の書き方は間違いを誘発しやすいから非推奨」というものを作り出した点にあります。5年前、10年前のやウェブがあまり役に立たちません。なお、書き方が複数あるものは、好き嫌いは当然あると思いますが、あえて過激に1つに絞っているところもあります。なお、これはこれから新規に学ぶ人が、過去のドキュメントやコードを見た時に古い情報を選別するためのまとめです。残念ながら、今時の書き方のみで構成された書籍などが存在しないからです。 たぶん明示的に書いていても読み飛ばす人はいると思いますが、すでに書いている人向けではありません。これから書くコードをこのスタイルにしていくのは別にいい

    イマドキのJavaScriptの書き方2018
  • システムで「性別」の情報を扱う前に知っておくべきこと - Qiita

    0は性別に関する情報が得られない場合に使います。性別に関する情報はあるのだけど1とも2とも言えない場合は9を使います。要は「0でもなくて1でも2でもなければ9」です。 これを知っていればMだとかFだとかを議論をせずに済みますね。 国際規格に従うべき理由 国際規格に従うことは色々と利点があります。まず、どうしてそういうコード体系にしたのかを説明しやすいです。また多言語対応する際も規格通りに書けば伝わるはずなので迷わずに済みます。別システムへのデータの移行や、異なるシステム間でのデータの統合もコード体系が同じならラクラクです。もしかしたら別のプロジェクトで書いたコードをそのまま使いまわせるかもしれません。技術者に対するトレーニングも不要です。 対して、わざわざ国際規格に反する実装をする場合は上記のメリットがそのままひっくり返ってデメリットになりはしますが、もちろん、それなりの理由があれば規格と

    システムで「性別」の情報を扱う前に知っておくべきこと - Qiita
    waman
    waman 2018/04/14
    『列名は sex です。規格通りなので大きな声で設定しましょう』
  • シェルの変数展開 - Qiita

    こちらも blog からの転載。 シェルスクリプトを作成する際にシェル変数に値を代入したり参照したりする事は頻繁に発生するが、 シェル変数の展開にも便利な使い方がある。 basename (1) や dirname (1) と同様な動作がシェルの組込みとして利用できるので資源の節約にもつながり、 上手に利用すると可読性の高いスクリプトが作成できる。 機能一覧 記述 機能

    シェルの変数展開 - Qiita
    waman
    waman 2018/03/10
  • Alpine Linux で Docker イメージを劇的に小さくする - Qiita

    Docker イメージを小さく作るテクニックって、いろいろありますよね。不要なファイルやディレクトリを削除したり、複数の RUN 命令をひとつにまとめたりなどなど。 ところが、ベースイメージに Alpine Linux を使う(FROM alpine とする)と、Docker イメージのサイズを 劇的に小さくできる ことがわかりました。 いままで、Docker イメージのサイズを小さくするために、ちまちまとやってきたことは、なんだったんだろうという感じです。まあ、それはそれで組み合わせて使いますが . . . なんとも . . . ねえ(笑) Alpine Linux とは Alpine Linux は、セキュアで軽量な Linux ディストリビューション musl libc と BusyBox をベースに構成されている 組込み系に適した Linux ディストリビューション パッケージ管理

    Alpine Linux で Docker イメージを劇的に小さくする - Qiita
  • Windows(主に32bit版)でDockerを利用する方法まとめ - Qiita

    WindowsDockerを利用する場合、利用方法がいくつかありそうなので調べてみた。 というより手元に、Windows7の32bit版があるので、こいつで簡単にDockerできる方法を知りたかっただけ。 念のため補足すると、 あくまでLinuxベースのコンテナを利用したDockerの話であり、 Windowsコンテナを実現するWindows 上の Docker エンジンの話ではありません。 WindowsDockerを利用する公式の方法 公式サイトによれば、WindowsDocker を使う場合、大きく2つの方法がある。 Docker For Windows Docker Toolbox Docker For Windows Windows のネイティブサポート版で、以下前提。 64bit Windows 10 Pro, Enterprise and Education (

    Windows(主に32bit版)でDockerを利用する方法まとめ - Qiita
  • Vagrant 導入

    最近、Vagrant(ベイグラント)を使い始めてすごい便利だなあと感じたので、Vagrantに関する記事を色々と読んで整理してみました。Windows環境でのセットアップ手順も書いています。 (※Windows向けの手順を書いていますが、Macでもほぼ同様です) 2016-02-29時点での最新バージョンを使っています。 Vagrant 1.8.1 VirtualBox 5.0.14 Vagrantってなに? 仮想マシンの簡単な構築や、どこでも同じ環境を再現できるように仮想マシンを管理するためのコマンドラインツールです。 Rubyで実装されていて、WindowsMac OS X、Linuxで動作します。 Vagrant自体には仮想化機能は無く、VirtualBoxなどの仮想化ソフトのフロントエンドとして機能し、仮想化ソフトの操作を簡単なコマンドで代行してくれます。 公式ページ http:

    Vagrant 導入
  • ウェブアプリをソースごとパクる業者に対する対策 - Qiita

    こんにちは。みなさんもウェブアプリをリリースしたあとに同業者にソースごとパクられたことってありますよね。難読化しても難読化されたまま同業者のサーバで動くので困ったものです。そこで、私がとった解析しずらい対策をまとめてみたいと思います。 前提 多機能な画面をJavaScriptでゴリゴリ作ったのにもかかわらず、HTMLCSSJavaScriptファイル一式を自社サーバにまるごとコピーして、ライセンス表記だけ書き換えて使うような業者を罠にはめるということを想定しています。 当然通信をリバースエンジニアリングする人もいるので、自社サーバでは防げないという前提です。 HTMLにはauthorメタタグ よくあるMETAタグで権利者を明記します。これは権利の主張もそうですが、JavaScript自体に権利者が認定した権利者でなければ無限ループを起こすという処理のためにも使用します。逆に、権利者が我

    ウェブアプリをソースごとパクる業者に対する対策 - Qiita
    waman
    waman 2017/11/14
    『土日限定でトラブルを起こすようにするのもいいですね。』
  • 【bat】Windowsのバッチファイル(*.bat)の書き方自分用まとめ - Qiita

    これを実行すると次のような残念な表示になる C:>C:\exsample.bat C:>IF 1 == 1 (echo あいうえお ) あいうえお ようはスクリプトの中身が表示されてる。これを避けるためにバッチファイルの頭には必ず@echo offを入れるのが定石。

    【bat】Windowsのバッチファイル(*.bat)の書き方自分用まとめ - Qiita
  • Go でグラフを plot するパッケージを試した - Qiita

    % go run plotinum_sample.go ../lib/go/src/code.google.com/p/plotinum/vg/vgpdf/vgpdf.go:10:2: cannot find package "bitbucket.org/zombiezen/gopdf/pdf" in any of: /opt/local/go/src/pkg/bitbucket.org/zombiezen/gopdf/pdf (from $GOROOT) /Users/ikuo.kawaharada/lib/go/src/bitbucket.org/zombiezen/gopdf/pdf (from $GOPATH) ../lib/go/src/code.google.com/p/plotinum/vg/vgimg/vgimg.go:12:2: cannot find package "

    Go でグラフを plot するパッケージを試した - Qiita
  • OAuth 2.0 全フローの図解と動画 - Qiita

    RFC 6749 (The OAuth 2.0 Authorization Framework) で定義されている 4 つの認可フロー、および、リフレッシュトークンを用いてアクセストークンの再発行を受けるフローの図解及び動画です。動画は YouTube へのリンクとなっています。 English version: Diagrams And Movies Of All The OAuth 2.0 Flows 追記 (2019-07-02) 認可決定エンドポイントからクライアントに認可コードやアクセストークンを渡す方法については、別記事『OAuth 2.0 の認可レスポンスとリダイレクトに関する説明』で解説していますので、ご参照ください。 追記(2020-03-20) この記事の内容を含む、筆者人による『OAuth & OIDC 入門編』解説動画を公開しました! 1. 認可コードフロー RF

    OAuth 2.0 全フローの図解と動画 - Qiita
  • Rustで数値計算してみた話 - Qiita

    修士・博士課程時代 流体の直接数値計算 C++でシミュレーションを実装 Pythonで可視化+統計量の解析(on Jupyter) データはmsgpackで保存 データ同化の研究を始める 既存のコードベースを廃棄 Pythonで実装を始める NumPy/SciPy使用 Python遅い(´・ω・`) Pythonでは関数の呼び出しがインライン展開できない 汎用性高く実装できない でも、もうC++は書きたくない コンパイルに1分かかるのはちょっと・・・ 何で書く? Haskellで書いてみた ものすごく遅いコードが出来上がった(涙) 配列を部分的に書き換えていくコードが書きづらい コンパイル遅い GoRustGoが流行ってるのでRustにした Rustを覚える C++の不満点が解消されている ビルドシステム(cargo) moveが自然に導入 template -> traits (c

    Rustで数値計算してみた話 - Qiita
    waman
    waman 2017/03/20
    『Goが流行ってるのでRustにした』分かるw
  • Rustで書いたWebAssemblyでフィボナッチを計算したらJSより3倍速かった - Qiita

    Hello from Docker! This message shows that your installation appears to be working correctly. To generate this message, Docker took the following steps: 1. The Docker client contacted the Docker daemon. 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. 3. The Docker daemon created a new container from that image which runs the executable that produces the output you are curr

    Rustで書いたWebAssemblyでフィボナッチを計算したらJSより3倍速かった - Qiita
    waman
    waman 2017/03/13
    『実行速度は速いが、ファイルサイズが大きい』『WebAssemblyへのコンパイル時間が長い』Rust 楽しそう。
  • Scala 2.12 で変わったこと(主に書き方視点で) - Qiita

    2016年11月3日に Scala 2.12.0 がリリースされました。 Java 8 を利用することになって trait が直接 interface にできたり、無名関数が lambda になったと裏側ではいろいろ良くなっているみたいですが、記事では主に表側、すなわち Scala を利用する者として書きます。 書き終わってから思いましたが、ほぼ Future についての記事になりました。 ほぼ自学のためのチラシの裏なので、 もっと深く知りたい場合は リリースノート やその 翻訳版 を読むと良いです。 (記事でもリリースノートおよび翻訳版から一部引用させていただいています) Scala 2.11 との互換性 リリースノートによると Thanks to source compatibility, cross-building is a one-line change to most sb

    Scala 2.12 で変わったこと(主に書き方視点で) - Qiita
    waman
    waman 2016/12/08
  • 二重数で自動微分する - Qiita

    と記述する数である。ここで、$\epsilon$ が複素数の $i$ にあたるもので、$\epsilon^2 = 0$ という性質を持つものとして定義されている。 加減乗除も複素数と同様に定義されて、C++ で実装すると、 #pragma once #include <ostream> namespace math { // 二重数 a + b ε template <typename T = double> class dual_number { public: using this_type = dual_number<T>; public: dual_number(T a, T b = T(0)) : a_(a), b_(b) {} this_type operator - () const { return this_type(-a_, -b_); } this_type& ope

    二重数で自動微分する - Qiita
  • エンジニアなら知っておきたい、絵で見てわかるセキュア通信の基本 - Qiita

    TLS 1.3は現在策定中ですが、 前方秘匿性 の問題から RSAのみ を用いた鍵委共有が禁止になる見込みです。(詳細は後述します) HTTPSとは 次に、HTTPSです。 HTTPS - Wikipedia HTTPS(Hypertext Transfer Protocol Secure)は、HTTPによる通信を安全に(セキュアに)行うためのプロトコルおよびURIスキームである。 厳密に言えば、HTTPS自体はプロトコルではなく、SSL/TLSプロトコルによって提供される セキュアな接続の上でHTTP通信を行うこと をHTTPSと呼んでいる。 とのことです。 HTTPの説明を割愛するとすれば、「SSL/TLSでセキュアにHTTPをやる」というだけの説明で済んでしまいます。 最近では個人情報等の観点から全てのサイトをHTTPSにするような動きが見られますが、元々HTTPSが使われやすかった

    エンジニアなら知っておきたい、絵で見てわかるセキュア通信の基本 - Qiita
  • JavaFX8で表示したイメージをファイルに保存する - Qiita

    マルチプラットフォームで動作可能な,データ可視化アプリを作る必要に迫られたのでJavaFXを使ってみようかなとか.で,2012年くらいに使ってみた以来,久しぶりにJavaFXを使ってみたら,いろいろと嬉しい驚きが. 「データ可視化アプリ作るならPython + matplotlibでいいじゃん」 って言う人がまわりにたくさんいるので,少しでも対抗できるように,まずは,そこそこ奇麗なグラフの描画と各種フォーマットでの保存方法を調査. コードは https://github.com/miyo/javafx_test/tree/master/SimpleCalc に. SimpleCalcという名前に反して,電卓機能はもっていません.数字キーをクリックすると適当にチャートやらCanvasやらにデータが挿入されます.コード片はWorking with JavaFX Chartから拝借.適当に描画し

    JavaFX8で表示したイメージをファイルに保存する - Qiita
  • これからの回路図は Upverter で書くことにしよう - Qiita

    概要 回路図は何で書けばいいか。使いにくい、進歩しない Eagle を使い続けていいのだろうか。 はじめに トランジスタ技術 2016年 2月号で、Upverter という CAD が紹介されています。 https: //tools.upverter.com/ 無料 インストール不要。ブラウザで動作する。Mac/Win 対応。 操作が簡単。 部品が大量に揃っている。(120万点?) 公開プロジェクトは制限なし。 基板サイズ・層数・端子数 は無制限で使用可能。 SNS 的な要素を含む。 2時間程度操作してみて、かなり良さそうだったので、もう、Eagle はやめることにしました。 ESP8266 (WROOM02) も、既に登録されていました。(データシートのリンクが秋月を指していたので、日人が登録したのかも) Eagle (今まで) Upverter (これから) HelloWorld 最

    これからの回路図は Upverter で書くことにしよう - Qiita