タグ

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

  • 経年劣化に耐える ReactComponent の書き方 - Qiita

    「経年劣化に耐えるコード」というのは、だれもが目指すものでしょう。「そもそもフロントエンドのコードは、今ある技術で最良のものを書き捨てるべき」という意見も理解できますが「備えあれば憂いなし」ということもありますので、ここにメモを残します。あくまで、私なりのベストプラクティスですのでご了承ください。 5層に別れた SFC 私はレイヤーによる技術の分離で、ReactComponent の経年劣化に備えています。ここでいうSFCとは「Stateless Functional Component」の略称ではありません。Vue.js の文脈にある「Single File Component」を指します。 // (1) import層 import React from 'react' import styled from 'styled-components' // (2) Types層 type

    経年劣化に耐える ReactComponent の書き方 - Qiita
    kuri-kei
    kuri-kei 2020/01/17
  • 現場で役立つシステム設計の原則メモ - Qiita

    This article is a Private article. Only a writer and users who know the URL can access it. Please change open range to public in publish setting if you want to share this article with other users. ※この記事は著者の増田さんの了解の上で限定公開させて頂いております。 https://twitter.com/masuda220/status/1215122054795522049?s=20 オブジェクト指向、設計がなぜ必要か = ソフトウェア全体の整理整頓をするため 第1章 小さくまとめてわかりやすくする 変更が大変なプログラムの特徴 メソッドが長い クラスが大きい 引数が多い 関心事を詰め込みすぎ

    現場で役立つシステム設計の原則メモ - Qiita
  • 2万人に聞いた、2018年の最新JavaScript事情 - Qiita

    先日よりThe State of JavaScript 2018というアンケートが行われていたのですが、その集計結果が公開されたのでざっくりと紹介してみます。 回答者数は2万人超としか書かれてなくて正確な数は不明です。 というか全体的に大まかな集計結果しか出てなくて、もっと詳しいデータが欲しければ直接連絡しろという方針らしいです。 ちょっと残念。 The State of JavaScript 2018 Introduction 2万人以上のJavaScript開発者が回答したよ。 結果の概要はMediumに投稿してるよ。 色々なプロジェクトを紹介してるけど、その一部はスポンサーになってもらってるよ。 このアンケートはSacha Greif、Raphael Benitte、Michael Rambeauによって作成、維持されているよ。 SachaはVulcan.js、RaphaelはNiv

    2万人に聞いた、2018年の最新JavaScript事情 - Qiita
  • Firebaseの各機能を3行で説明する - Qiita

    Firebase は機能が多すぎてよく分からなかったので、自分の整理用に「 Firebase で何ができるか」をだいたい3行でまとめてみました。 利用可能な環境かどうかは、以下のアイコンで示しています。 … Android 利用可能 … iOS 利用可能 … Web 利用可能 [追記] 新しい機能が増えたので2018/09/26時点で整理しました。 Analytics Google Analytics for Firebase イベントベースでデータ収集・分析ができる。無料。 アプリの場合は Google Analytics for Firebase を、ウェブサイトの場合は Google Analytics を使うことになる。 BigQuery と統合して複雑な解析を行うこともできる。 Develop Firebase Authentication メールアドレスとパスワードを利用したユ

    Firebaseの各機能を3行で説明する - Qiita
  • 和訳: Go += Package Versioning (Go & Versioning, Part 1) - Qiita

    和訳: Go += Package Versioning (Go & Versioning, Part 1)Goバージョン管理versioningvgo (Go & Versioning、パート 1) ※訳註: この記事は、Russ Coxによって 2018 年 2 月 20 日に投稿された記事 “Go += Package Versioning” の和訳版です。筆者に許可をとり、@nekketsuuu が和訳・公開しました。この記事では新しく提案されている Go のバージョン管理方法について、提案するに至った経緯が説明されています。かなり長いので、サクッと知りたい方や具体的なコマンドを知りたい方は、続くパート 2 の記事をご覧下さい。 Go にはパッケージのバージョン付けが必要だ。 より正確には、Go を使う人と Go のツール双方に共通したやり方でパッケージのバージョンを捉えられるよう

    和訳: Go += Package Versioning (Go & Versioning, Part 1) - Qiita
    kuri-kei
    kuri-kei 2018/06/29
    “この提案は go get の長所を保ち、再現可能なビルドができるようにし、semantic versioning を採用し、ベンダリングを排除し、プロジェクト基準なワークフローでの GOPATH を廃止し、そして、dep やその先輩ソフトウェアたちか
  • Chrome拡張でとっても役立つAPIのまとめ - Qiita

    BLOCK CLOCK」という、Chrome拡張のサービスを作りました。リリースの記事をQiitaにも投稿してサービスの紹介をさせていただいたのですが、技術的な内容が全くなかったので、開発に使用したChrome ExtensionのJavaScript APIsにも触れておきたいと思います。 Chrome拡張を作るためのGoogoleが提供しているChrome ExtensionのJavaScript APIsを呼び出しています。公式リファレンスは存在していますが全て英語で書かれており、APIの内容を調べるのに苦労しました。 Chrome拡張の開発で、同じように苦戦する方がいると思うので、少なくとも僕が使ったAPIだけは今回まとめておこうと思います。 JavaScript APIs BLOCK CLOCK - 仕事の時間をSNSから守るクローム拡張 マニフェストファイル chrome拡張

    Chrome拡張でとっても役立つAPIのまとめ - Qiita
    kuri-kei
    kuri-kei 2018/04/29
  • Rubyのtrueとfalseの話 - Qiita

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

    Rubyのtrueとfalseの話 - Qiita
  • あきらめるにはまだ早い!ソースコードの品質向上に効果的なアプローチ - Qiita

    エンジニア組織を強くするためのを出版しました Qiitaでエンジニアリングをめぐる様々なコミュニケーションの問題とその解決策や考え方を書いてきた。それらの背後にあるエッセンスをこの度書籍として出版するに至りました。 エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファクタリング この書籍は、エンジニアリングを「不確実性を削減する」という第一原理で捉え直し、様々なエンジニアリングとその間のコミュニケーションをめぐる現象を説明していくものです。 はじめに この記事は数百万行の動的型付き言語のWebアプリケーションのリファクタリング、アプリケーションアーキテクチャの再設計の経験を基に、有効だと思われる考え方やアプローチを抜粋して紹介するものです。言うまでもなくあらゆるコードベース、アーキテクチャにおいて有効なものとは限りませんので、各々の環境や状況から適切に判断してください。

    あきらめるにはまだ早い!ソースコードの品質向上に効果的なアプローチ - Qiita
  • 大規模Webアプリケーションにおける複雑性とアーキテクチャ設計に関する一考察 - Qiita

    Webアプリケーション開発についての知見を、自分の経験と知識をベースに整理してみようという試みです。 いわゆるサーバサイドにスコープを絞り、フロントエンドは対象外です。筆者は普段、オブジェクト指向言語で書いているので、記事でもその前提(RubyPHPPythonJavaScalaあたりを想定)になっています。 では、編をどうぞ。 ソフトウェア開発は複雑さとの戦い 『人月の神話』では、ソフトウェアの質的な困難性について4つの性質をあげている。その中で最初に出てくるのが「複雑性」である。『新人プログラマに知っておいてもらいたい人類がオブジェクト指向を手に入れるまでの軌跡』なんか読んでもらえると、ソフトウェアの複雑性と戦うために、人類が生み出してきた発明の数々が説明されている。 では、複雑さとは何か?もう少し掘り下げて考えてみよう。 複雑さの正体 Webアプリケーションが複雑になる

    大規模Webアプリケーションにおける複雑性とアーキテクチャ設計に関する一考察 - Qiita
  • ブロックチェーン技術は本当に有望なのか? - Qiita

    (2017年6月時点において)ここしばらくでのブロックチェーン技術の盛り上がりには圧倒される一方で、いざ、その技術的な実装内容について調べると共に、期待と現実との間での若干のギャップにとまどうところもあります。この記事ではそうした(個人的な)とまどいの内容を、「ブロックチェーン技術の有望性」という命題を軸とする形で、簡単な解説を交えつつ共有させていただきます。 (記事の筆者と同じく)「熱狂の只中にあるブロックチェーン技術に飛びついて良いものか?」と自問されている各位にとっての参考としていただければ幸いです。 記事のまとめ ブロックチェーン技術の一義的な効用はビジネスネットワークへの参加者の「信用」を補完することである。そのため、既に十分な「信用」を獲得している主体によるブロックチェーン技術活用の余地には疑問符が付く。 ブロックチェーン技術の活用余地を拡大するにあたっては、ブロックチェー

    ブロックチェーン技術は本当に有望なのか? - Qiita
  • 機械学習をゼロから1ヵ月間勉強し続けた結果 - Qiita

    追記 2018年の機械学習勉強法などをまとめました! 2018年版もっとも参考になった機械学習系記事ベスト10 はじめに 2016/12/14 から約1ヵ月間、機械学習の勉強をし続けました。これは会社の自由研究という制度を利用させて頂いて、1ヶ月間は業務から離れて、機械学習の勉強だけをやり続けた記録です。 勉強してきたもののうち教師あり学習までは、Qiita にその記録をまとめましたので過去記事一覧からご覧ください。 過去記事一覧 1日目 とっかかり編 2日目 オンライン講座 3日目 Octave チュートリアル 4日目 機械学習の第一歩、線形回帰から 5日目 線形回帰をOctave で実装する 6日目 Octave によるVectorial implementation 7日目 ロジスティック回帰 (分類問題) その1 8日目 ロジスティック回帰 (分類問題) その2 9日目 オーバーフ

    機械学習をゼロから1ヵ月間勉強し続けた結果 - Qiita
  • 割りと便利だけど微妙に忘れがちなbashのコマンド・チートシート - Qiita

    自分用にメモしておく コマンド実行 CMD1; CMD2, CMD1 && CMD2 ;はCMD1の結果に関わらずCMD2も実行される &&はCMD1の結果が正常な場合のみCMD2が実行される CMD1 || CMD2 - 失敗時に後続コマンドを実行する CMD || printf "%b" "MSG"でエラーメッセージを表示する エラーメッセージ表示後exit 1したい場合 = CMD || { printf "%b" "FAILED.\n" ; exit 1 } CMD || printf "%b" "FAILED.\n" ; exit 1と波括弧無しで書くと期待通り動作しない(CMDが成功時もexit 1してしまう) CMD & - バックグラウンド実行 CMD &で[1] 4592のようにジョブ番号とプロセスIDが表示される killしたければkill %ジョブ番号 か kill

    割りと便利だけど微妙に忘れがちなbashのコマンド・チートシート - Qiita
  • いまさら聞けないLinuxとメモリの基礎&vmstatの詳しい使い方 - Qiita

    さくらインターネット Advent Calendar最終日は、硬派にLinuxのメモリに関する基礎知識についてみてみたいと思います。 最近はサーバーを意識せずプログラミングできるようになり、メモリの空き容量について意識することも少なくなりましたが、いざ低レイヤーに触れなければいけないシチュエーションになった際に、OSを目の前に呆然とする人が多いようです。 基的にLinux のパフォーマンスについて、メモリをたくさんつめばいいとか、スワップさせないほうが良い とか、このあたりは良く知られたことだと思います。 ただ、なんとなく ps コマンドや free コマンド などの結果を見るだけでなく、もう少しメモリのことについて掘り下げてみてみたいと思います。 メモリとキャッシュ Linux におけるメモリの状態を大きく分けると「使用中のメモリ」「キャッシュ」「空きメモリ」「スワップ」の 4 つに分

    いまさら聞けないLinuxとメモリの基礎&vmstatの詳しい使い方 - Qiita
  • クリスマスなリア充すら羨む幸せを手に入れるため、新規事業に携わるエンジニアが持つべき12つの心構え

    『LITALICO Advent Calendar 2016』最終日の記事です。 株式会社LITALICOでエンジニアを中心に何でもやります@kamesenninです。 クリスマス公開に向けて、クリスマスイブに1人で記事の推敲をしました@スタバ 二度と12月24日、12月25日の担当はやりません。 どうぞよろしくおねがいします。 はじめに 私は2012年にLITALICOへエンジニアとして入社し リアルビジネス〜ネットビジネスまで、細かく分けて8つ新規事業に携わってきました。 発達障害領域のwebコミュニティ(クローズ) プログラミングを中心としたものづくり塾 発達障害領域のコミュニケーションサポートアプリ(クローズ) メンタルコントロールを目的としたアプリ(クローズ) うつ症状の予防・回復 再発防止をサポートするSNS 幼児育児領域のwebメディア 発達障害領域のwebポータルサイト 幼

    クリスマスなリア充すら羨む幸せを手に入れるため、新規事業に携わるエンジニアが持つべき12つの心構え
  • サーバーサイドレンダリング不要論 - Qiita

    サーバーサイドレンダリング、Isomorphic、Universal JavaScriptなどの言葉をよく見かけます。なるほどね、良さそうだね、外部公開するサービスを書くことがあったら挑戦してみたいね、Mithrilにもisomorphic-mithrilってのをがんばっている人がいるし、みたいなことを漠然と思っていたのですが、最近ASCII.jpのシステムコールプログラミングの連載を書いていて、あらためてHTTPの仕様を見返してみて、逆にサーバーサイドレンダリングをしない方がいいのではないか、と思い始めました。 追記(23:30): サーバーサイドレンダリングと書いていますがUniversal JavaScriptみたいな凝ったビューの更新の意味です。 サーバーサイドレンダリングの欠点 サーバーサイドレンダリングのメリットとしてあげられるのは次の2点です。 検索エンジンのクローラー向け

    サーバーサイドレンダリング不要論 - Qiita
  • Railsで大規模アプリケーションを正しく設計するために避けるべき3つの機能 - Qiita

    この記事はCrowdWorks Advent Calendar 2016 の24日目の記事です。CrowdWorksのエンジニアが毎日なにかを書きます。 昨日の記事は @suzan2go による「ラーメン屋で考えるRailsのデータモデリング」でした。 はじめに CrowdWorksは、2011年の創業以来、約5年間の開発を続けてきました。サービスの立ち上げ期においては、サービスの継続性・変更容易性を高めることよりも、サービスを成長させ、存続に繋がるフェースまで素早く立ち上げることが最重要な観点です。 一方で、サービス提供も5年が経過し、多くの方にご利用頂く「社会インフラ」に一歩ずつ近づいてきています。そういった環境の変化もあり、「日々改善し続ける」「日々変更し続ける」ことに重要視する観点が移り変わってきました。そのような価値観の変遷に取り組む過程で考えている「大規模で複雑な業務要件を担う

    Railsで大規模アプリケーションを正しく設計するために避けるべき3つの機能 - Qiita
  • 「量子コンピュータが人工知能を加速する」を読んで、数式を使わずにPythonでその概要を説明してみた - Qiita

    記事はWACUL Advent Calendar 2016の12/21の記事になります。 こんにちは、WACULのデータサインエンスチームで、データ分析仕事をしている@onhrsです。 直近では自然言語処理やその他、機械学習にかかわるデータ分析のお仕事をやらせていただいています。 今回、西森秀稔先生、大関真之先生の量子コンピュータが人工知能を加速するを読みましたので、書籍の内容に沿う形で人工知能 × 量子コンピューターの実態についてお話ししたいです。(物理や数学がわからない人にも理解していただけることを目指しました。) また、Pythonを使って、数式を使わずに概要を説明してみました。詳細がよくわからなくても、視覚的に見えるようにして理解できるように心がけました。 Advent Calendar以外で記事を投稿しようという意欲が出るため、是非、"いいね"してくれると嬉しいです。(笑)

    「量子コンピュータが人工知能を加速する」を読んで、数式を使わずにPythonでその概要を説明してみた - Qiita
  • 独断と偏見で選ぶ、新人Rubyプログラマの為の技術書21選 - Qiita

    株式会社LITALICOでWebエンジニアRails)を担当しています、@YudaiTsukamotoです。 この記事は『LITALICO Advent Calendar 2016』21日目の記事です。 はじめに 業務なり趣味なりでプログラミングを学習していくと、技術書を読む機会が誰しも有るのではないでしょうか? 初心者や、新人プログラマの時は、対象となる無数の技術書の中から自分にとって良い技術書を探す事は中々難しいのかなと思います。 技術書を選定する基準はいくつか有ると思いますが 「他人がオススメしている」 という選定軸はそれなりに有効であるという事を私は初心者から頑張って勉強した過程の中で学びました。 そこでLITALICO Advent Calendar 2016の21日目の日、 不詳ながら私が新卒1年目の時に読んだ技術書(サイトも含む)の中から21個をピックアップしてみようかと

    独断と偏見で選ぶ、新人Rubyプログラマの為の技術書21選 - Qiita
  • 画像認識対決 ~Microsoft VS Google VS IBM VS AWS~ - Qiita

    はじめに この記事は、Life is Tech ! アドベントカレンダー2016 18日目の記事です。 はじめまして!iPhoneメンターのにっしーです。 「時間があるときに勉強しよう」と人工知能機械学習/Deep Learning/認識技術といったトピックの記事の見つけてはストックしてきたものの、結局2016年は何一つやらずに終わろうとしているので、とにかく一歩でも足を踏み出すべく、 質的な理解等はさておき、とにかく試してみる ということで画像認識技術に触れてみることにしました。 画像認識とは? 画像認識とは、画像データの画像内容を分析して、その形状を認識する技術のことである。 -- Weblio辞書 画像認識では、画像データから対象物となる輪郭を抽出して、背景から分離し、その対象物が何であるかを分析するのが基になります。 しかし、人間なら無意識化に行われていることですが、コンピュ

    画像認識対決 ~Microsoft VS Google VS IBM VS AWS~ - Qiita
  • DeepLearning研究 2016年のまとめ - Qiita

    DeepLearning Advent Calendar 2016の17日目の記事です。 はじめに はじめまして。 Liaroという会社でエンジニアをしている@eve_ykと申します。 今年もあと僅かとなりました。 ここらで、今年のDeepLearningの主要な成果を振り返ってみましょう。 この記事は、2016年に発表されたDeepLearning関係の研究を広く浅くまとめたものです。今年のDeepLearningの研究の進歩を俯瞰するのに役立てば幸いです。 それぞれの内容について、その要点や感想なんかを簡単にまとめられたらと思います。 特に重要だと思った研究には★マークをつけておきます。 非常に長くなってしまったため、興味のある分野だけ読んでいただければと思います。 言い訳とお願い 見つけたものはコードへのリンクも示すので、プログラミングに関係ある記事ということで… 分野的にかなり偏っ

    DeepLearning研究 2016年のまとめ - Qiita