Help us understand the problem. What is going on with this article?
はじめに これは Git Advent Calendar 2016 の4日目の記事です。 今回の記事が対象とする大規模なレポジトリは、何年間も開発が続けられ、ファイル数、履歴、ブランチ、タグなど、全般的に肥大化してしまったようなレポジトリです。肥大化したレポジトリを何も気にせず扱った場合、以下のような不幸な自体に見舞われます。 終わらない git clone 止まらない disk full 帰ってこない git status これらは貴重な時間や資源だけでなく、エンジニアや周りの人の精神エネルギーまで持っていきます。 この記事においては、これらの原因を解決するための実践テクニックのうち、明日から利用できるものをまとめます。歴史を改ざんする系のもの、レポジトリ構成を変えるもの、アプリケーション層に入り込んだ改修などは今回の記事の範囲から割愛させていただきます。 また、巨大なレポジトリを扱うた
gitが大きくなると時間かかってしゃーないと思っていたら、ちょうどatlassianのブログにこんな記事があった。 How to handle big repositories with git - Atlassian Blogs 巨大なリポジトリ を Git で上手く扱う方法 直訳ではなく、読んだことを参考に自分用にメモを記す。これは本当にメモ代わりなので原文を参照した方がいいと思う。 gitが重くなる原因は、「長い歴史」と「デカいファイル」の2つがある。その2つの対処法。 長い歴史に対処する shallow cloneを使う gitのhistoryが積み重なると、git cloneに時間がかかる。そのときはshallow cloneを使って、深さを限定してcloneする。 git clone --depth depth remote-url 手元の環境だと23sくらいかかっていたのでも
React Developer Toolsとは Facebookから公式で提供されているデバッグ用ツールです。 React Developer Toolsを使うと、コンポーネントツリーの構造、各コンポーネントに渡されているPropsの値、現在のStateの値といったことが視覚的に確認できるようになります。 Reactで作ったページの状態をすぐ把握できるため、デバッグが捗ります。 React Developer Toolsは現在、3種類が提供されています。 Google Chrome拡張機能版 Firefox拡張機能版 Standalone版 Safariでデバッグしたい場合やReact Navtieをデバッグしたい場合はこちらを使用 この記事ではGoogle Chrome拡張機能版を元に解説していきます。 インストール方法 こちらからインストールをします。 追加するとアドレスバーの横にRe
はじめに こんにちは。 巷には、クリぼっちという恐ろしい言葉があるそうですね。 閑話休題、React × Reduxでアプリケーション開発を行うときに便利かもしれないデバッグツールを見つけたので、そのお話です。 Reduxライブラリを用いたアプリケーションの開発中に、 storeの状態を好きな時に確認したい dispatchされたactionの種類を確認したい と思ったとき、Redux Loggerを使ったり console.log()をするなど、色々方法があると思います。 今回お話するReactotronは、そういった確認作業を楽に実現してくれるかもな〜と思いました。 Reactotronは、Reduxのstoreやactionの確認やAPI通信のログをグラフィカルに表示してくれるデスクトップアプリケーションです。 CLI版もあるみたいです。 以下はReactotronの開発者による説明
概要 Docker のインストール自体は簡単ですが、プロキシがある環境、または別仮想環境では、いくつか注意点があります。テストした環境は、Windows 10 Pro です。 MacにおけるDockerのプロキシ設定も同じかと思われますが、プロキシのある環境でMacのDockerを試していないため、ここでは省略します。 Docker for Windowsの動作環境 Windows 10 Pro、Enterprise、Windows Server 2016 後に記載がありますが、VMware や VirtualBox を使用している場合には、起動時のオプションで環境を切り替える必要があります。別仮想環境がある場合も、設定変更及び再起動でどちらも 使用可能でした。(どちらを使用するかで再起動が必要です) Docker インストール 以下の場所から、Stable をダウンロードしインストールし
React.Hooksを使ってlocal stateを持つstatefulなfunctional Componentを触ってみるJavaScriptReact React Hooks Hooks are a new feature proposal that lets you use state and other React features without writing a class. They’re currently in React v16.7.0-alpha and being discussed in an open RFC. もうちょっとしたらclass構文を使わずにfunctional componentの中でもstateを扱ったり各レンダリングサイクルに干渉出来るようになるようです。 useState class構文でやってたthis.stateとthis.setS
1. useReducerでcombineReducersだけ使ってみる reduxにおいてはcombineReducersを利用してネストすることが出来た。 hooksの機能としてはこの部分だけは提供されてないので、reduxから流用して組み合わせることをやってみる 例えばこんなreducer import { combineReducers } from "redux" const counter = (state = 0, action) => { switch (action.type) { case "INCREMENT": return state + 1 case "DECREMENT": return state - 1 } return state } const inputValue = (state = "foo", action) => { switch (acti
Dave Ceddia氏によるRedux vs. The React Context APIを本人の許可を得て意訳しました。 誤りやより良い表現などがあればご指摘頂けると助かります。 原文: https://daveceddia.com/context-api-vs-redux/ React 16.3は新Context API(旧Context APIはほとんど知られておらず、また非推奨であったことから、生まれ変わったと言っても良いでしょう)を追加しました。 Context APIはReactの第一級オブジェクトとして公式のものとなったのです。 React 16.3 が登場するや否や、Context APIがもたらすReduxの終焉についての記事がWeb上を賑わせました。しかしReduxは言うでしょう、「私が死ぬだって?馬鹿馬鹿しい」と。 この記事では、新Context APIの機能、Re
ちょうど1年くらいにReact Nativeでちょっとしたアプリを作っていたのですが、最近はめっきり離れてしまっていました。Reactもv16になり、少し開発環境も変化しているかなと思っていたら・・・結構変わっていました。 React Native Showcaseを見ると、FacebookやInstagramはもとよりAirbnb, Skype, Tesla, Walmart, Wix, UberEATSなど日本でも有名な企業やサービスの採用が目立っています。 showcase 今回は良く使いそうなツール・コンポーネント・サービスを集めてみました。 随時更新もしていきたいと思います! 1. Expo https://expo.io/ ExpoはReact Nativeの開発をサポートするツールです。 主に以下を提供してくれています。 Expo XDE、Expo exp Expo Modu
最近、Reduxの学習を始めてみました(1,2)。一つ簡単なアプリを作ってみようとしてトライしたのですが、そこで、windowサイズの変更を検知したいと思いました。が、まだこの近辺の検索力が足りず、自作しました。Reduxの関連ツールとしてはReactReduxを使っています。 今回のやりかた rootとなるJavascriptファイルに下記のようにaddEventListnerを追加してみました。 import React from 'react'; import { render } from 'react-dom'; import { Provider } from 'react-redux'; import { createStore } from 'redux'; import sampleApp from './reducers/SampleApp'; import App f
var checkBoxes = document.getElementsByClassName("checkBox"); for(var key in checkBoxes){ if(checkBoxes[key].classList.contains("checked")){ checkBoxes[key].checked = true; } } 盛大に勘違いしていたのですが、 getElementsByClassName()メソッドが返す値は配列だと思っていたら、実は違った! getElementsByClassName()は、配列に似ていますが実際には配列ではないHTMLcollectionオブジェクトを返します。 配列ではないので、例えばforEachみたいな便利な配列メソッドを呼び出すことはできません。 また、 for/inを使用してHTMLCollectionを反復処理するこ
#Reactで作るチェックリスト ##要件 任意の数のチェックリストがある 確認ボタンがある(不活性状態) 全てにチェックがつくと確認ボタンが活性化する ##機能 checkFlag: 全てのチェックが付いてるか判定するフラグ(state) checkList: チェックボックスの値を保持した配列(const) flagListUpdate: checkFlagの値を変更する stateEvery: checkListの値が全てtrueか判定する(everyで即時関数渡すのが嫌だから) ##実装 class CheckList extends React.Component { constructor(props) { super(props); this.state = { checkFlag: false } this.flagListUpdate = this.flagListUpd
ESLintのエラールール。日本語ざっくり解説[スタイル編] ※こちらは2015/9/25日の古い記事です。(ESLint v1.5.1 released 22 September 2015) 現時点(2019/9/25)ではESLint v6.4.0です。 最新のドキュメントを読みに行くことを強くオススメします。 (近いうち新たに加筆してこちらに更新する予定です) こんにちは。森田と申します。芸人をしています。今回は ESLintのエラールール。日本語「ざっくりしたの」ないのか、と思ってぐぐしても なさそうなので書きました。 ※使い方はこちら ※ここに載っているのが「ESlintのルール全て」ではありません。 他にこういうのあります。 ESLintのエラールール。日本語ざっくり解説[可能性あるエラー編] ESLintのエラールール。日本語ざっくり解説[ベストプラクティス編] ESLint
はじめに 自分は普段フロントエンドエンジニアとして、React Reduxなアーキテクチャのアプリを作ることが多いのですが、stylingにstyled-componentsを導入しています。今回は、styled-componentsでのCSS設計について書いてみたいと思います。 styled-componentsとは JSでstyleを記述するCSS in JSのライブラリで、2019年8月現在最も人気のあるライブラリです。タグ付きテンプレートリテラルをうまく使った独自性と、明快なAPIでCSS in JSの火付け役にもなり、同じ思想を持った亜種ライブラリ(paypal/glamorous, zeit/styled-jsx等)が続々と出て来るなどある種のブームを巻き起こしました。 そもそも、Reactの登場でフロントエンド開発が「jQueryによるhtmlへの振る舞いの後付け」というスク
この記事は KIT Developer Advent Calendar 2017 の 18 日目の記事です。 はじめに React で作成するコンポーネントにスタイルを適用する方法は大きく分けて以下の 4 つがありますが、どの方法にもメリットやデメリットがあり、一概にどれが優れているとは言えないのが正直なところです。本記事ではそれぞれの手法を紹介し、比較します。 クラス名によるスタイリング インラインスタイル CSS Modules CSS in JS 扱う構文 本記事では以下の仕様・構文を扱います。 ES2015, ES2016, JSX オブジェクトを受け付けるスプレッド演算子 (Stage 3, Proposal) クラスの public フィールド (Stage 2, Proposal) 現在は private フィールドの提案とマージされて class-fields(Stage
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く