Skip to content

Instantly share code, notes, and snippets.

@octo47
octo47 / react.md
Created April 16, 2017 18:29 — forked from kolomeetz/react.md

Кажется, основное реакт-кунфу — в умении проводить границы между компонентами. Тогда переделывать становится гораздо проще.

Первый слой разделения: это контейнеры и презентационные компоненты (Дэн Абрамов про это написал достаточно подробно). Контейнеры готовят данные, а презентационные компоненты их отображают. С помощью разных контейнеров мы подгружаем/готовим разные наборы данных, а с помощью одного презентационного — отображаем.


Второй слой: все блоки, которые собираются итератором.

Плохо:

diff --git a/src/main/java/com/jcraft/jsch/JSch.java b/src/main/java/com/jcraft/jsch/JSch.java
index b6bc84b..cbe31f3 100644
--- a/src/main/java/com/jcraft/jsch/JSch.java
+++ b/src/main/java/com/jcraft/jsch/JSch.java
@@ -29,6 +29,8 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
package com.jcraft.jsch;
+import java.io.File;
+import java.io.IOException;
main:
[mkdir] Created dir: /Users/octo/Projects/wandisco/giraffa/giraffa-core/target/hbase-webapps/giraffa
[copy] Copying 9 files to /Users/octo/Projects/wandisco/giraffa/giraffa-core/target/hbase-webapps/giraffa
[INFO] Logging to org.slf4j.impl.SimpleLogger(org.mortbay.log) via org.mortbay.log.Slf4jLog
java.util.MissingResourceException: Can't find bundle for base name org.apache.jasper.resources.LocalStrings, locale en_US
at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1499)
at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1322)
at java.util.ResourceBundle.getBundle(ResourceBundle.java:721)
at org.apache.jasper.compiler.Localizer.<clinit>(Localizer.java:36)
at org.apache.jasper.JspC.initWebXml(JspC.java:1203)
root@w017:~# dstat --io --net --disk --proc --tcp --sys --vm
--io/total- -net/total- -dsk/total- ---procs--- ----tcp-sockets---- ---system-- -----virtual-memory----
read writ| recv send| read writ|run blk new|lis act syn tim clo| int csw |majpf minpf alloc free
3.48 16.0 | 0 0 | 642k 902k| 0 0.0 5.1| 14 13 0 3 0|3579 16k| 0 3431 1874 1884
0 633 | 595k 1657k| 0 2880k| 0 0 1.0| 14 13 0 3 0| 15k 17k| 0 69 501 435
0 608 | 570k 1583k| 0 3152k| 0 1.0 10| 14 13 0 3 0| 14k 15k| 0 13k 6461 6354
0 686 | 662k 1857k| 0 3592k|2.0 1.0 9.0| 14 14 0 4 0| 17k 19k| 0 14k 7283 7115
0 583 | 577k 1612k| 0 3072k|1.0 1.0 14| 14 13 0 4 0| 15k 17k| 0 14k 6957 6777
0 701 | 651k 1828k| 0 3600k| 0 1.0 29| 14 13 0 1 0| 17k 19k| 0 18k 8079 7966
1.00 595 | 566k 1583k|4096B 3072k| 0 0 33| 14 12 0 1 0| 15k 17k| 0 20k 8847 8446
tsdbflume.sources = source1 source2
tsdbflume.sinks = sink1 sink2
tsdbflume.channels = channel1 channel2
# Describe/configure source1
tsdbflume.sources.source1.type = ru.yandex.opentsdb.flume.OpenTSDBSource
tsdbflume.sources.source1.port = 4444
tsdbflume.sources.source1.batchSize = 25000