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

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

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

    JavaScript: 通常の関数とアロー関数の違いは「書き方だけ」ではない。異なる性質が10個ほどある。 - Qiita
    nice_and_easy
    nice_and_easy 2020/03/22
    JS詳しくないけど、この記事でいう通常関数はオブジェクト扱いで、アロー関数はリテラル扱いっていうイメージであってる?
  • この TypeScript が Hello, world! のくせに慎重すぎる - Qiita

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

    この TypeScript が Hello, world! のくせに慎重すぎる - Qiita
  • 良いコードの書き方 - Qiita

    概要 チームによる継続的開発を前提としたコーディングのガイドライン。 特定の言語を対象としたものではないが、主に静的型付けのオブジェクト指向言語を想定している。 サンプルコードは別段の定めがなければSwiftで記載。 ガイドラインの目的 生産性を高め、メンテナンスコストを下げる バグが生まれづらくする 開発メンバー(特に新規参加者)がコードを理解しやすくする 初心者プログラマー教育 内容の説明 タイトルの頭についた【数字】は重要度。 高いほどシステムに与える影響が大きいが、低いものの方が影響が小さく改修しやすいものが多い。 【5】変数のスコープを小さくする 変わり得る値は複雑さを生み誤解やバグに繋がるため、プログラムは変数が少ないほど問題が生まれづらい。 プログラミングの大原則として、変数は必要最低限を心がけ、むやみに増やさないようにする。 また、変数はスコープや寿命が大きいほど悪影響が

    良いコードの書き方 - Qiita
    nice_and_easy
    nice_and_easy 2020/01/23
    「プログラミング以外への適用」というセクションがあるのがすばらしい。情報を処理するという行いは、仕事もプログラミングも一緒。プログラミングには仕事のコツが詰まってる。
  • 【入門】インフラやるなら知っておきたいトピックのリンク集 - Qiita

    インフラをやるうえで知っておきたいトピックを独断と偏見で選んでリンク集をつくりました. HTTP HTTP入門 [BurpSuiteJapan]HTTP基礎入門 RESTful API Web API入門 RESTful API 入門 KVS key-valueストアの基礎知識 KVS 超入門 - footmark NoSQL HBaseの概要とアーキテクチャ | Think IT(シンクイット) Oracle Cloud Hangout Cafe - 明解! NoSQLの勘所 - Speaker Deck データベース 2018-11-データベース / 2018-11 database - Speaker Deck SQLをはじめよう - 初心者でもわかる、構文とデータ取得の基 - エンジニアHub|若手Webエンジニアのキャリアを考える! RDBとNoSQLにみるDB近現代史 データ

    【入門】インフラやるなら知っておきたいトピックのリンク集 - Qiita
    nice_and_easy
    nice_and_easy 2020/01/02
    to Cサービスのフロントエンドとサーバーサイドだけってことなのかな。PC筐体、Windows OS、AD、MDM、無線LANとか、業務向け(特に端末まわり)がすっぽ抜けてる。
  • 日立社員「社内からQiitaに投稿?できるのそれ」 - Qiita

    (2019-12-18 表現を一部訂正しました。) メタ記事。投稿するのにかかる手間に関する投稿です。 1 どうしてこんな記事を書こうと思ったか 日立製作所もガンガンOSS活動をしていることを知ってほしい。日立に興味があるが、OSSコントリビューションは社外発信にどれくらい熱心なのか気になる人向けに、とある一部署の情報をシェアしたい。 タイトルのような感想を持つ弊社内の人に情報発信してもらいたい。 (残念なことに、) 社内の情報共有サイトに書くよりQiitaに書いたほうが読まれそう。 後輩がAdvent Calendarの記事集めに苦労していたので気の毒になったため 注: 全社的な審査プロセスではなく、(株)日立製作所 ITプロダクツ統括部のやりかたです。 では全社的なプロセスは?他の部署は? → 詳しい方、(申請の上)コメントください。 ITプロダクツ統括部って何? Google i

    日立社員「社内からQiitaに投稿?できるのそれ」 - Qiita
    nice_and_easy
    nice_and_easy 2019/12/18
    え、「毎々」と「拝承」がなくても承認されるの?
  • 「設計なんて不要でしょ」について - Qiita

    経緯 以前とある席で偶然シニアエンジニアの方と設計について議論することがありました。 その時に特に耳に残っていたのは以下の様な内容です。 クリーンアーキテクチャってテストしやすくする為のですよね? 設計はコード書ける人が他のコードを書ける人に威張るための道具なのではないか? 設計を学習するならブロックチェーンとかを勉強して技術力を高めるべきなのではないか? リーダブルコードさえ読んでいれば設計は必要ないのではないか? 設計なんて不要でしょ その方はかなり詳しく設計の歴史をしっていて尤もな事を言っていましたが、平成も終わる頃においてはその限りではないです。 なので平成最後の日にそれら全てに対して最終的に解答できる形で設計の有用性を説明し、気持ちよく令和を迎えます。 注意: 一応ここで説明する内容や要素も一面だけです。 よくある誤解 クリーンアーキテクチャといえばこの有名なリングですよね。 こ

    「設計なんて不要でしょ」について - Qiita
    nice_and_easy
    nice_and_easy 2019/04/30
    特定のソフトウェアコンポーネントについて全員が同じレベルのリテラシーと全く同じ解釈を持っているなら設計書がなくとも話が通じるけど、そんな前提が通じるシチュエーションがほとんどない。
  • 役割駆動設計で巨大クラスを爆殺する - Qiita

    大量のメソッドを保有し、数千、数万行単位にぶくぶく膨れ上がった巨大クラス。別名「神クラス」とも「大きな泥団子」とも呼ばれる、長大で複雑で密結合で極めて変更が困難なアイツ。 そんな巨大クラスの退治に有効な、ドメイン駆動設計を基思想とする「役割駆動設計」を紹介致します。 解決したい課題、狙う効果 数千、数万行単位の巨大クラスの登場を抑止する。 小さくシンプルな構造に落とし込み、堅牢で変更容易性の高い設計へ昇華させる。 例1:筆者をモデリング 分かりやすくなるよう、まず私を例にモデリングしてみます。私は以下のような特徴があります。 IT企業の従業員 家族がいる(, 子供) 趣味ゲーム制作している ダメな設計 何も考えずに人クラスとして設計すると、よく以下のような構造になりがちです。 従業員として仕事をする、父親として家族サービスする、趣味としてゲーム制作する、それぞれのメソッドが備わってい

    役割駆動設計で巨大クラスを爆殺する - Qiita
    nice_and_easy
    nice_and_easy 2019/04/08
    JavaのInterface的的なやつかと思ったら、内部変数も分けるからクラス構造の話なのか
  • ソースコードはしゃべるように書け - Qiita

    はじめに この記事は、僕が配属当初に先輩からよく言われた「ソースコードはしゃべるように書け」について、それが具体的に何を意味するのかを、配属から6年経った今改めて考えてみる記事です。 その先輩はすでに辞め新しいステップへ進まれてしまったためにその真意を直接聞き直して確認することはできないのですが、今の僕なりの解釈、ということで書いてみます。 とは言え、「ソースコードはしゃべるように書け」は「ソースコードの読みやすさ」という意味では役に立つ考え方ですが、それがどんな場面でも正しいかというとそうではないと思っています。おそらく、自然言語に近づけた書き方よりも、より機械の仕組みに近づけた書き方をした方がはるかに効率がよかったり、安全な言語や場面もあると思います。 また、仕様自体が複雑だったり、既存のソースがすでに汚いなどの理由で、この記事に書いたようなことがすんなり実行できる環境というもの自体が

    ソースコードはしゃべるように書け - Qiita
    nice_and_easy
    nice_and_easy 2019/02/25
    外部仕様から書き始めるとわかりやすいよね
  • バカにC言語は難しい~プログラミングの機会損失~

    プログラミングは難しい 注意: この記事は「プログラミング学習とはかくあるべき」、「こうやって学習するのが一番」ということを言いたいのではなく、プログラムを勉強したいが右も左もわからない人に少しでも勇気と情報を与えることを目的としています。過去の挫折経験からか、なかば愚痴っぽくなっていますがご勘弁を はじめに自分のプログラミング歴を軽く紹介して起きます。 年 言語 学習目的 2010 C言語 学校の実習 2011 C++ 組み込み系 2012~2017 None None 2018 Go,Js,Scala,Python 研究、Web開発 といった感じです。2012~2017年がNoneになっているのには原因が「C言語に挫折し、とにかくプログラミングがしたくなかった」からです。そう思ってしまった原因と、そこから立ち直ったことがこの記事を書いた理由です。 「おいおい、C言語ごときで挫折とは情け

    バカにC言語は難しい~プログラミングの機会損失~
    nice_and_easy
    nice_and_easy 2018/10/23
    Cってあれでしょ?studio.h
  • Chrome拡張の高速な英語辞書ツールをつくりました(Mouse Dictionary) - Qiita

    経緯 もともとMouseoverDictionaryという素晴らしいFirefox用辞書があったのですが、Quantumの登場とXULの廃止とともに使えなくなってしまったため、自分用にChrome拡張をつくった次第です。 ソースコード 実装に関わる技術寄りの用語: React, esbuild, chrome.storage.local, chrome.storage.sync, Cross-extension messaging, Hogan, debounce, resizable/draggable, intl.v8BreakIterator, deinja, クロスブラウザ, など。 ※詳細は「Mouse Dictionaryの技術的な話」をご参照ください https://qiita.com/wtetsu/items/2a5568cb0b5a38c003fb 使い方 インストール

    Chrome拡張の高速な英語辞書ツールをつくりました(Mouse Dictionary) - Qiita
    nice_and_easy
    nice_and_easy 2018/09/05
    これは使わねば
  • プログラミングなんて大嫌いだ - Qiita

    プログラミング教育や子育てに通じるかもしれないプログラミングが大嫌いになった体験談をよかったら聴いて欲しい。こんな悲しい子どもが2度と生まれてはいけない 自分が小学生のころのこと、まさに昭和の全盛期と言っていい時代だった。経済は発展し新しい文化や文明の利器が世の中には溢れ出していた。 その中の一つが全ての小学生が夢中になったファミリーコンピューター、通称ファミコンだった。 僕たちはファミコン世代とも呼ばれ外で遊ぶことが減った最初の世代だ。ゲーム体を持っていることは最高のステータスであり、人気ソフトを持っているとそいつの家はたまり場になる。特にゲームのうまいやつはヒーローだった。 そんな時「ゲームが欲しい欲しい欲しい欲しい欲しい欲しい欲しい欲しい欲しい欲しい欲しい欲しい」とねだる少年に手を焼いた父親は一冊のを買ってきた。うろ覚えだが多分、C言語のプログラミング系雑誌だったと思う。そして

    プログラミングなんて大嫌いだ - Qiita
    nice_and_easy
    nice_and_easy 2018/05/06
    Qiitaは増田になったのだ……
  • GAS ビギナーが GAS を使いこなすために知るべきこと 10 選 - Qiita

    はじめに Google Apps Script (GAS) は Web ブラウザ上の JavaScript とも Node.js とも環境が異なります。その違いや、 GAS 特有の機能を理解するとさらに開発が捗るので、それらをこの記事で紹介しようと思います。 Tokyo GAS で 5 分 LT した内容です。 スライドはこちら > GAS ビギナーが GAS を使いこな すために知るべきこと 10 選 ※より網羅的で最新の情報を得たい方は DevFest 2020 の登壇動画 Google Apps Script 入門 2020 をご覧ください。 1. ローカル環境で開発する GAS を好きなエディタで開発したり、ローカルで開発したものを github に上げたりしたくなる。 Google ブログの記事 Apps Script による高度な開発プロセス で紹介されているが、 node-g

    GAS ビギナーが GAS を使いこなすために知るべきこと 10 選 - Qiita
    nice_and_easy
    nice_and_easy 2018/04/04
    いろいろ捗りそう
  • 新卒がSIerとして1年働いた結果見えた、深い深い闇の話 - Qiita

    4/1で社会人生活1年目なので、そのまとめとしてなんか書こうと思いました。 とあるそこそこ大手の常駐先でSEをしています。最初に配属された時はJavaの研修を受ける程のド素人でした。 大手あるあるですが、その常駐先では殆どの人がホストコンピュータを日々アセンブラやPL/I、COBOLでプログラミングして運用保守しています。 対して僕は分散と呼ばれる世界に居ます。業務用Webアプリやデスクトップアプリを作り客先に納品したり既存の資産をメンテナンスする事でお賃金を頂いておるわけですが、当然そこにあるのはむかーしむかしにVBや生のJavaで書かれた、錆びついたシステムです。酷い所は未だにWindows2000サーバーが動いてます。一番新しくてStrutsかな。 しかし人間関係に関しては神だったのでなんとか1年働けました。当にいい人しかいない、素晴らしい職場だと思います。なのでブラックとは思いま

    新卒がSIerとして1年働いた結果見えた、深い深い闇の話 - Qiita
    nice_and_easy
    nice_and_easy 2018/04/01
    あるあるすぎて震える。技術選定のくだりは特にそう。「枯れてる技術で安全安心」が免罪符
  • 軽い気持ちでLinkedListを使ったら休出する羽目になった話 - Qiita

    ざっくり言うと リスト構造のデータに対してランダムアクセスはしちゃだめだぞ。お兄さんとの約束だ! 発端 数年前に他部署の支援で作ったJavaのシステムに、ちょっとデカめのデータを突っ込んだらありえないほど遅いので助けてくれ、と連絡が入った。 まぁクエリとかインデックスをちょっと見れば直るっしょ・・・と鼻をほじりながら支援に向かった。 処理内容 遅い部分の処理は以下のようなものであった。 処理対象のデータをListで受け取る。 それをforループで1件ずつ前処理する。 処理結果をオブジェクトに格納し、ORマッパーでDBにINSERTする。 これだけ? そう、これだけだ。並列処理なんて高級なことはもちろんやってない。 インフラ調査 処理中のサーバのようすを調査する。今回のインフラは典型的な3層3サーバ構成。 WEBサーバはなにもかもが余裕。 APサーバではCPUを1つ使い切っている。 14コア

    軽い気持ちでLinkedListを使ったら休出する羽目になった話 - Qiita
    nice_and_easy
    nice_and_easy 2018/02/19
    こういう細かい話大好きです
  • Google Homeを使って4歳児とSlackで会話する方法 - Qiita

    わたあめに捧ぐ(私信) 私の家では、家族の連絡にSlackを利用しています。 Slackはとても便利なのですが、基的にテキストベースのコミュニケーションとなるため、 文字入力ができない幼児には使うことができません。 そこで、Google Homeを活用して、文字入力をせずにSlackで会話するシステムを構築してみました。 イメージは以下のとおりです。 このシステムは、大まかに以下の2つで構成されています。 Slackへの投稿をGoogle Homeがしゃべってくれる仕組み Google Homeに話しかけるとSlackに投稿してくれる仕組み 順を追って説明していきます。 1. Slackへの投稿をGoogle Homeで喋らせるBotの作成 以下のソフトウェアを書きました。 https://github.com/ikasamah/go-slack-google-home Google H

    Google Homeを使って4歳児とSlackで会話する方法 - Qiita
    nice_and_easy
    nice_and_easy 2018/02/15
    妻に教えてあげよう
  • カタカタカタッターンを可視化した - Qiita

    何を言っているのか 製作時間 30分ぐらい 内容 input要素のtypeがtextまたはsearchの要素、もしくはテキストエリア内におけるキャレットの位置を画面内の絶対値として取得し、その周辺に打鍵と同時に画像を散らかしています。 キャレット位置の取得方法 これの実現については今回は自前実装ではなく caretposition.jsという素晴らしいライブラリがあったので、使わせていただいてます。 http://d.akiroom.com/2012-06/jquery-textarea-caret-position-javascript-library/ 実装 'use strict'; document.onkeydown = function (e) { var current = document.activeElement; if (e.key === 'Backspace')

    カタカタカタッターンを可視化した - Qiita
    nice_and_easy
    nice_and_easy 2017/12/21
    アイデアの勝利w
  • 「GoogleAnalytics見てアクセス解析して」って言われた時にまずしていること - Qiita

    はじめに 僕はウェブサイト制作会社でサイトの運用・アクセス解析担当をしている者です。 ウェブサイトの制作・リニューアルを受注した際にプロジェクトに参加し、クライアントの現状サイトのアクセス解析とレポート作成、リニューアル提案が主な仕事です。 クライアントと直接相対するディレクターから「GoogleAnalyticsの権限もらったからアクセス解析して」とオーダーを受け、アクセス解析を行うことになります。 そもそも、初めて見るサイトを構造から理解し、リニューアルに資する提案ができるようなインサイトを得るまで分析するのは当に骨が折れます。 さらに(全くの主観ですが)、多くのクライアントはGoogleAnalyticsを「タグ貼っただけ」状態で放置しています。 そのため、計測したデータが整理されていない・そもそも正しく計測できていないということはよく起こります。 そして、そのような計測エラーがノ

    「GoogleAnalytics見てアクセス解析して」って言われた時にまずしていること - Qiita
    nice_and_easy
    nice_and_easy 2017/11/18
    GAもタグマネもかなり使いこんだつもりだったけど、コンテンツグループはやってなかった。さっそく入れよう
  • Rubyのtrueとfalseの話 - Qiita

    この記事は、技術同人誌としてまとめるはずだった原稿をほぼそのまま転載しています。諸事情により向こうかなり長い間同人誌即売会に売り手として参加することが難しくなったためです。 長いですが、お楽しみいただければ幸いです。 まえがき このは、Rubyコミッタである卜部昌平に、そのである私、卜部一恵がRubyのtrueとfalseについて突っ込んで聞いてみた話です。文は両者の対話形式で進んでいきます。 私は昌平と同じ大学同じ研究室に所属していたのでプログラミングについての基礎は一応ありますが、エンジニアとして職を得たことはありません。つまり、プログラミング初級者です。このはそのくらいのレベル感のだと思います。 私自身が初級者なりにRubyを使っていて、if文が思った通りに動かない、そんなときに抱いた疑問からこのが生まれました。 同じような疑問を抱いている方の一助になれば幸いです。 は

    Rubyのtrueとfalseの話 - Qiita
    nice_and_easy
    nice_and_easy 2017/09/27
    Rubyはなんでもかんでも全部オブジェクトっていうのを覚えておいたせいか理解しやすいかった
  • 心臓が止まったらSNSに「死にました」と投稿する - Qiita

    概要 fitbit(alta HR)で心拍数をモニタリングして、心拍数が0になったらSNSに「死にました」と投稿するスクリプトを書きました。 リポジトリ 僕はほぼ24時間fitbitを付けっぱなしにしているので、fitbitごと壊れる死に方でない限り大体カバーできるはずです。 fitbit alta HRとは リストバンド型ウェアラブル端末の1つで、常時心拍数などを測れます Pure Pulseという技術で従来のデバイスより正確に測れるらしいです APIが充実しています Fitbit APIで心拍数を監視する Fitbitアプリを登録する こちらから登録できます 心拍数データを取るためには「OAuth 2.0 Application Type」を「Personal」にする必要があります 心拍数を取得する python-fitbitを使わせてもらいました。使い方は他に多くの解説記事があるので

    心臓が止まったらSNSに「死にました」と投稿する - Qiita
    nice_and_easy
    nice_and_easy 2017/08/16
    誤作動がコワイので運用回避だ
  • フロントエンド開発の基本知識(2017年夏) - Qiita

    10年ぶりくらいに Web 開発に再デビューしなくてはならなくなった筆者が見た、現代のフロントエンド開発の基知識についてまとめます。フレームワークを使ったシングルページアプリケーション開発が対象です。若干の不正確には目をつむってズバリ言い切るスタイルで書いていきます。 Node.js 現代のフロントエンド開発には Node.js を使います。フロントエンド開発を強力にサポートするいくつものツールが Node.js で実装されているからです。 Web 開発で言語処理系というと、Ruby on Rails のような Web アプリケーションフレームワークを思い浮かべるかもしれません。もちろん Node.js にもそのようなフレームワークはいくつも存在しますが、フロントエンド開発で使うツールはそれとは全然関係ありません。 これらのツールを使うことによって解決するのは、以下のような要望です :

    フロントエンド開発の基本知識(2017年夏) - Qiita
    nice_and_easy
    nice_and_easy 2017/07/12
    JavaScriptとHTML5とCSS3にNode.jsを加えたらとりあえずいい感じ?
  • 1