タグ

ブックマーク / qiita.com/suin (13)

  • JavaScript: 通常の関数とアロー関数の違いは「書き方だけ」ではない。異なる性質が10個ほどある。 - Qiita

    稿では、アロー関数とfunctionキーワードを使って定義される関数を区別するため、functionキーワードを使うほうの関数を「通常関数」と呼ぶことにします。英文で見かけるregular functionの翻訳になりますが、これは公式の用語ではなく、解説の便宜上のものとご理解頂ければと思います。単に「関数」というときは、通常関数とアロー関数どちらも指すこととします。 関数の歴史 歴史的に見ると、通常関数は古くからある言語機能であるのに対し、アロー関数は新しいものです。アロー関数はES2015(ES6)で導入されました。導入にあたっては、関数を短く書きたい、thisを束縛したくないという2つの理由があります。 通常関数とアロー関数の性質の違い 通常関数とアロー関数では、構文が違うというのは見て分かると思います。構文についての違いはここでは解説しません。 ここでは、文法以外の相違点をひとつ

    JavaScript: 通常の関数とアロー関数の違いは「書き方だけ」ではない。異なる性質が10個ほどある。 - Qiita
  • Linuxで1日あたりのデータ送受信量を算出する方法 - Qiita

    eth0 Link encap:Ethernet HWaddr **:**:**:**:**:** inet addr:***.***.***.*** Bcast:***.***.***.*** Mask:255.255.255.0 inet6 addr: ****::****:****:****:****/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:52041393515 errors:0 dropped:0 overruns:0 frame:0 TX packets:43058710548 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:7319618510115 (7.3 T

    Linuxで1日あたりのデータ送受信量を算出する方法 - Qiita
  • 【まとめ】これ知らないプログラマって損してんなって思う汎用的なツール 100超 - Qiita

    2019/06/11追記: これは2012年の投稿です。なぜかはてなブックマークで拡散されていますが、内容は時代にそぐわなくなったものもあるのでご注意ください。 これ知らないプログラマって損してんなって思う汎用的なツールのコメントに寄せられたツールを分類分けしてみました。 解説は、ほぼコメントに寄せられた内容のコピペです。 URLのみの記述は公式サイト(か、ほぼ公式サイトと化しているサイト) 公式サイトとは別に、ページタイトルだけでツールを説明しきっているページへのリンクも付けておきました。類似ページが複数ある場合は、はてブのブックマーク数が多いものを選びました。 知らないツールもあるので、分類がいいかげんなところもあると思います。何か気づいたらコメントください。 解説が不十分なツールについても、補足(コピペで文に取り込める体裁だとありがたい)を頂けると助かります! 元ネタの投稿は現在進

    【まとめ】これ知らないプログラマって損してんなって思う汎用的なツール 100超 - Qiita
  • Promiseの使い方、それに代わるasync/awaitの使い方 - Qiita

    JavaScriptのasync/awaitはPromiseを使った非同期感たっぷりのコードを同期処理っぽくしてくれるが、async/awaitを理解するには、Promiseも知る必要がある。そこで、Promiseからおさらいしておこうと思う。 構文 まず基的な構文。どうやってPromiseを作成するのか? function 非同期的な関数(成功時コールバック, 失敗時コールバック) { if (...) { 成功時コールバック(成果) } else { 失敗時コールバック(問題) } } // ↓executor new Promise(function (resolve, reject) { 非同期的な関数( (成果) => resolve(成果), // 成功時コールバック関数 (問題) => reject(問題), // 失敗時コールバック関数 ) }) Promiseクラスをn

    Promiseの使い方、それに代わるasync/awaitの使い方 - Qiita
  • 「例外を投げない」という選択肢をとる言語 - Qiita

    新しめの言語では例外を投げることを推奨しない言語が出てきているように思えるが、そうした言語が例外をどう考え、例外の代わりにどのようなアプローチを奨励しているかを調べてみた。 稿での「例外」とは、Javaのthrow構文のようにスコープを脱出してcatchされるまでエスカレートされる「投げる例外」のことを指し、エラーを表現したオブジェクト(エラーオブジェクト)については「例外オブジェクト」と呼び区別するものとする。(この2つを同一に扱うと、例外を使わないということは、エラーオブジェクトは使わないの?という話になるため) Go言語 - 例外はコードを複雑にする Go言語では、通常、エラーは戻り値として扱われる。(当の当に例外的なエラーのためにpanic, recoverがあるが、ほとんど使われることがないように見受けられる。) 例外がないGoでは、どう呼び出し元にエラーを伝えているかとい

    「例外を投げない」という選択肢をとる言語 - Qiita
  • PHPのハマりポイントのリンク集 - Qiita

    PHPのハマり情報のまとめです。主に罠な仕様、予想外の振る舞い、ドキュメントに詳しくは書いてない振る舞いについての情報をまとめていきます。ここに載ってない情報があればぜひとも教えて下さい。頂いた情報をもとに随時更新していきます。 PHPは引数が足りないときはエラーになるが、引数が多いぶんには何も言わない - Qiita PHPはときどき掛け算ができない - Qiita PHPのDateTime::ISO8601はISO8601ではない - Qiita SplFileObjectのREAD_AHEAD, SKIP_EMPTY, DROP_NEW_LINEPHPのバージョンによって挙動がバラバラな件 - Qiita PHP: iterable型はiterator_to_array()に渡しちゃいけない - Qiita PHPの正規表現で^$より\A\zがいい理由 - Qiita PHP:文字

    PHPのハマりポイントのリンク集 - Qiita
  • PHP「fgetcsvはsetlocaleしないと日本語が読めない」は迷信なのか? - Qiita

    見つけられた範囲で読めないデータを提示している情報源は以上の3つだけだったが、データの提示なしにsetlocaleを使うことを推奨する記事はかなりの数があった。 当にfgetcsvはsetlocaleしないとだめなのか? 手元のPHP環境(PHP 7.1)ではsetlocaleをしなくてもfgetcsvで問題なくデータが読み込めていたので、 fgetcsvはsetlocaleしないと読めないデータがあるというのは当なのかという疑問が生まれた。 一応、macOS上のPHPだけでなく、Alpine Linux(localeがない)やUbuntu(localeがC)でも試したが再現しなかった。 また、SJISのCSVでも再現しなかった。 仮説: PHPのあるバージョンからロケール問題がなくなった fgetcsvでロケールの調整が必要とする記事がPHP5時代のものが多かったので、もしかするとP

    PHP「fgetcsvはsetlocaleしないと日本語が読めない」は迷信なのか? - Qiita
  • PHP: fgetcsvでもSJISのCSVをUTF-8として《安全》に読む方法(ストリームフィルタ使用) - Qiita

    fgetcsvでShift-JIS文字コードのCSVを読むと、文字列がShift-JISのままの配列が返ってくるため、UTF-8を基的な文字コードに据えたシステムでただ不便というだけにとどまらず、SJISのCSVをfgetcsvで直接読み取るのは「5C問題」のため危険である。 稿では、ストリームフィルタを使ったSJIS CSVの安全な読み込み方法を紹介する。なお、稿で作るストリームフィルタの完成形はGitHubで公開する。 5C問題とは よく見かける次のような実装は5C問題のため、データによっては読めないものが出てくる危険性がある: $fp = fopen('sjis.csv', 'r'); while ($row = fgetcsv($fp) !== false) { // fgetcsvで読み取った後に、文字コードを変換している mb_convert_variables('UTF

    PHP: fgetcsvでもSJISのCSVをUTF-8として《安全》に読む方法(ストリームフィルタ使用) - Qiita
    lax34
    lax34 2019/01/08
  • PHP: GDで画像のサイズ変更やサムネイル生成のやりかた - Qiita

    画像のサイズを変形する関数 サムネイル作成のコードを一気に書く前に、画像のサイズを変形するだけの関数を実装しておくと便利です。この関数はアスペクト比の計算を気にしないので、実装時や改修時に混乱しにくて良いです。 /** * 画像のサイズを変形して保存する * @param string $srcPath * @param string $dstPath * @param int $width * @param int $height */ function transform_image_size($srcPath, $dstPath, $width, $height) { list($originalWidth, $originalHeight, $type) = getimagesize($srcPath); switch ($type) { case IMAGETYPE_JPEG:

    PHP: GDで画像のサイズ変更やサムネイル生成のやりかた - Qiita
  • もしもドメインモデルを日本語で表現したら - Qiita

    // 入退場管理システムの入退場カードエンティティ class 入退場カード { // ... public function 入退場する(入退場 $入退場): 入退場イベント { // このドメインでは不審な入退場を検知する必要がある if ($this->未登録カードか()) { return 不審な入退場::未登録カードで入退場した($this->製造番号, $入退場); } if ($this->保有者未割り当てカードか()) { return 不審な入退場::未割り当てカードで入退場した($this->製造番号, $入退場); } if ($this->保有者->契約期間超過か($入退場->日時)) { return 不審な入退場::契約期間超過の従業員が入退場した($this->製造番号, $this->従業員, $入退場); } if ($入退場->入場か() && $thi

    もしもドメインモデルを日本語で表現したら - Qiita
    lax34
    lax34 2017/11/27
  • PHPerがMacbookAirを買ったら直ぐにすること 2012 - Qiita

    ちょっと大げさなタイトルですが、あくまで私個人の環境構築手順をまとめたものです。WindowsからMacに乗り換えたばかりで、どうやってPHPの開発環境を整えるか分からないPHPerに向けの「開発環境を整えるためのガイド」と考えてください。 既にMacでAMP環境を構築したことがあるPHPerにとっても有用な情報を含めたつもりです。その例としては、php-buildphp-versionで複数PHPバージョン環境の構築の手順、複数PHPバージョンとApacheの連携方法などがあります。 MacをUnix的に使えるようにするため、CUIで設定する手順を含んでいますが、怖がらずにやってみてください。ターミナルはあなたに噛み付いたりしません :) CUIに慣れてない方は、「難しい」と感じるかもしれませんが、きっとのちのちの財産になるはずです! 2012年版では「PHPerがMacbookAir

    PHPerがMacbookAirを買ったら直ぐにすること 2012 - Qiita
  • 俺史上最強のiptablesをさらす - Qiita

    #!/bin/bash ########################################################### # このスクリプトの特徴 # # 受信・通過については基的に破棄し、ホワイトリストで許可するものを指定する。 # 送信については基的に許可する。ただし、サーバが踏み台になり外部のサーバに迷惑をかける可能性があるので、 # 心配な場合は、送信も受信同様に基破棄・ホワイトリストで許可するように書き換えると良い。 ########################################################### ########################################################### # 用語の統一 # わかりやすさのためルールとコメントの用語を以下に統一する # ACCEPT :

    俺史上最強のiptablesをさらす - Qiita
  • 【まとめ】これ知らないプログラマって損してんなって思う汎用的なツール 100超 - Qiita

    2019/06/11追記: これは2012年の投稿です。なぜかはてなブックマークで拡散されていますが、内容は時代にそぐわなくなったものもあるのでご注意ください。 これ知らないプログラマって損してんなって思う汎用的なツールのコメントに寄せられたツールを分類分けしてみました。 解説は、ほぼコメントに寄せられた内容のコピペです。 URLのみの記述は公式サイト(か、ほぼ公式サイトと化しているサイト) 公式サイトとは別に、ページタイトルだけでツールを説明しきっているページへのリンクも付けておきました。類似ページが複数ある場合は、はてブのブックマーク数が多いものを選びました。 知らないツールもあるので、分類がいいかげんなところもあると思います。何か気づいたらコメントください。 解説が不十分なツールについても、補足(コピペで文に取り込める体裁だとありがたい)を頂けると助かります! 元ネタの投稿は現在進

    【まとめ】これ知らないプログラマって損してんなって思う汎用的なツール 100超 - Qiita
  • 1