You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+7-9Lines changed: 7 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -35,11 +35,11 @@
35
35
36
36
## **BIG CHANGE!!! MOVED TO DISTRIBUTED GITHUB REPO**
37
37
38
-
### Focus
38
+
### Focus
39
39
40
40
This repo will only record ideas and posts, which means I will focus on writing and learning in [jimmylv.github.io](https://github.com/JimmyLv/jimmylv.github.io) and other features will be support by other individual GitHub repo: `jimmylv.github.io/xxx`.
41
41
42
-
Actually the biggest benefits is that you can use this repo as git submodules of other repos, which can make things more flexible and make our life easier.
42
+
Actually the biggest benefits is that you can use this repo as git submodules of other repos, which can make things more flexible and make our life easier.
43
43
44
44
### APIs
45
45
@@ -49,11 +49,11 @@ As you can see in [JimmyLv/api](https://github.com/JimmyLv/api) repo which will
49
49
50
50
#TODO: add more details in wiki, and also update md images url from qiniu to github id:50
51
51
52
-
*[x][JimmyLv/jekyll-blog](https://github.com/JimmyLv/jekyll-blog): `jekyll` version, which is the default blog to be published on <https://blog.jimmylv.info> | <http://jekyll.jimmylv.info>..
53
-
*[ ][JimmyLv/hexo-blog](https://github.com/JimmyLv/hexo-blog): `hexo` version, which is another alternative of `jekyll` and you can play with `nodejs` easily, <http://hexo.jimmylv.info>.
54
-
*[x][JimmyLv/Haiku](https://github.com/JimmyLv/Haiku):`react` version, which be invoke the markdown raw files from GitHub repo, and we can easily enjoy the frontend deployment, <https://haiku.jimmylv.info>
55
-
*[x][JimmyLv/nobackend.website](https://github.com/JimmyLv/nobackend.website):`angular 1.5x` version, also created for frontend but gave up because of `AngularJS`<http://nobackend.website/_ng>
56
-
*[ ][JimmyLv/gitbook](https://github.com/JimmyLv/GitBook):`gitbook` version, which can be used to generate beautiful e-book and also you just put all markdown files together. <https://www.gitbook.com/@jimmylv>
52
+
-[x][JimmyLv/jekyll-blog](https://github.com/JimmyLv/jekyll-blog): `jekyll` version, which is the default blog to be published on <https://blog.jimmylv.info> | <http://jekyll.jimmylv.info>..
53
+
-[ ][JimmyLv/hexo-blog](https://github.com/JimmyLv/hexo-blog): `hexo` version, which is another alternative of `jekyll` and you can play with `nodejs` easily, <http://hexo.jimmylv.info>.
54
+
-[x][JimmyLv/Haiku](https://github.com/JimmyLv/Haiku):`react` version, which be invoke the markdown raw files from GitHub repo, and we can easily enjoy the frontend deployment, <https://haiku.jimmylv.info>
55
+
-[x][JimmyLv/nobackend.website](https://github.com/JimmyLv/nobackend.website):`angular 1.5x` version, also created for frontend but gave up because of `AngularJS`<http://nobackend.website/_ng>
56
+
-[ ][JimmyLv/gitbook](https://github.com/JimmyLv/GitBook):`gitbook` version, which can be used to generate beautiful e-book and also you just put all markdown files together. <https://www.gitbook.com/@jimmylv>
57
57
58
58
### Slides
59
59
@@ -68,7 +68,6 @@ nodeppt generate ./演讲 ./slides -a
68
68
-`default`: GitHub Pages with `jekyll`, so easy and no configuration need and whatever the repo you are in.
69
69
-`travis-ci`: Try whatever you want, I prefer to use Node to do all these stuff in one place, <https://travis-ci.org/JimmyLv/jimmylv.github.io>.
70
70
71
-
72
71
## Related Tools
73
72
74
73
-[WebStrom](https://www.jetbrains.com/webstorm/)
@@ -89,4 +88,3 @@ nodeppt generate ./演讲 ./slides -a
89
88
## GitHub Stargazers over time
90
89
91
90
[](https://starchart.cc/JimmyLv/jimmylv.github.io)
Copy file name to clipboardExpand all lines: 前端/2016-06-10-thirteen-steps-to-a-faster-web-app.md
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -127,7 +127,7 @@ const MyComponent = () => (
127
127
128
128
如果你正在使用 [React](https://facebook.github.io/react/),[Ember](http://emberjs.com/),[Angular](https://angularjs.org/) 或者其他 DOM 操作库,使用 array-ids(或者 Angular 1.x 中的 track-by 特性)非常有助于实现高性能,对于动态网页尤其如此。我们已经在上一篇程序衡量标准的文章中看到这个特性的效果了: [More Benchmarks: Virtual DOM vs Angular 1 & 2 vs Mithril.js vs cito.js vs The Rest (Updated and Improved!)](https://auth0.com/blog/2016/01/11/updated-and-improved-more-benchmarks-virtual-dom-vs-angular-12-vs-mithril-js-vs-the-rest/)。
129
129
130
-

130
+

131
131
132
132
> The main concept behind this feature is to reuse as much existing nodes as possible. **Array ids** allow DOM-manipulation engines to "know" when a certain node can be mapped to a certain element in an array. Without **array-ids** or **track-by** most libraries resort to destroying the existing nodes and creating new ones. This impairs performance.
> > The above diagram is based on [this one](http://docs.citrix.com/content/dam/docs/en-us/legacy-edocs/netscaler-traffic-management-10-5-map/LB-Round_Robin_Mechanism.PNG) from Citrix.
221
221
> > For load-balancing to be really useful, dynamic and static content should be split for easy concurrent access. In other words, serial access to elements impairs the ability of the load balancer to find the best way to split the work. At the same time, concurrent access to resources can improve startup times.
> The relevence of complexity to project structure is that when you place objects in **close proximity** to one another, the **barrier to couple** them lowers dramatically.
> Whenever you want to use a small module within the hairball, you will have no choice but to pull in the giant mess. And even worse, when you change something inside the hairball, it would be hard _not_ to break something else.
> Flux attempts to solve this complexity by forcing a unidirectional data flow. In this architecture, Views query Stores (not Models), and user interactions result in Actions that are submitted to a centralized Dispatcher. When the Actions are dispatched, Stores can then update themselves accordingly and notify Views of any changes. These changes in the Store prompts Views to query for new data.
> The main difference between MVC and Flux is the separation of queries and updates. In MVC, the Model is both updated by the Controller _and_ queried by the View. In Flux, the data that a View gets from a Store is read-only. Stores can only be updated through Actions, which would affect the Stores themselves _not_ the read-only data.
64
64
@@ -405,7 +405,7 @@ e.g. `ShoppingCartActionCreators.addItem(…)`
> In this system, we don’t want to tie different views and controllers directly to a ShoppingCart model because changes to the model causes a complex data flow that is hard to reason about.
> Shallow rendering lets you render a component "one level deep" and assert facts about what its render method returns, without worrying about the behavior of child components, which are not instantiated or rendered. This does not require a DOM.
0 commit comments