monkindey / KihoSaid

always wip, take everything I thought and saw down
1 stars 0 forks source link

TodoList #20

Closed monkindey closed 6 years ago

monkindey commented 7 years ago

计划开搞

之前总是迷迷茫茫地, 需要一个明确的目标。

希望这一次不要停止 🙌

give me five and cheers 🍻

战果

monkindey commented 7 years ago

时间

2017.7.29 ~ 2017.7.30 周末两天

预期

完成阅读《深入浅出Node.js》第一章到第六章

现实

完成度为90%吧, 很多东西感觉很多都捋得有点顺了。 感觉这种issue的计划还是比较适合自己的, 这个尝试还是不错的, 下次有计划再继续努力。 总有一股劲是在后面推动我的, 去完成计划, 有目的性的计划加上有deadline做起来确实很有 成就感和充实。

笔记

这一章讲的东西还是比较虚, 偏于一些介绍. 主要理解下Node.js的特点和使用场景

特点

const fs = require('fs');
fs.readFile('path', (err, file) => {
   console.log(file);
})

基于CommonJS的规范, 但不是完全

核心模块与文件(用户自定义)模块

比如你去订餐的时候, 订完之后还要在那里等你的饭菜就是阻塞I/O. 但是如果用了elm等点餐平台的话, 订完之后自己该干嘛就干嘛, 等店铺搞定了再电话你就行了, 这个就是非阻塞I/O。

Node.js组成异步I/O基本四要素

解决方案

对内存进行分类, 有新生代跟老生代, 对于不同代的内存有不同的策略。

类别 空间 算法
新生代 Scavenge
老生代 Mark-Sweep & Mark-Compact

存在的意义就是用来操作二进制文件. 少了对字符编码的概念的话, 其实是很难理解的呢。

参考

monkindey commented 7 years ago

时间

今天早上

预期

了解sql的连接查询

总结

看到一个总结, 个人觉得总结得很好就是

左连接 where只影响右表,右连接where只影响左表。

monkindey commented 7 years ago

时间

今天下午

预期

玩耍 Redis

总结

还找不到它们的应用场景, 所以学得比较虚, 没有太多的充实

monkindey commented 7 years ago

时间

这周末

预期

完成余下《深入浅出Node.js》内容, 并且总结

总结

这一章在websocket有点卡带, 有时候反应不过来。还是对这个socket比较抽象的东西不太了解

一个web应用要具备

进程是服务端一个很基础的概念, 现在的CPU都是多核的, node又是单线程的, 想要榨干资源的话。想要开启多线程架构, master-worker. 这里就会涉及到进程间通信(IPC), 文件描述符概念。要让node做到集群, 要具备几个功能:

monkindey commented 7 years ago

感想

用了差不多10天的业余时间看完了<深入浅出Node.js>, 确实涨了很多知识, 虽然还是很多内容自己还研究不太透, 不过大概对后端有一个框架的了解, 后面就找找东西实践实践。之前总是说服不了自己去看完一本书, 没有一个聚焦的内容, 总是在网络上看那些零零碎碎的东西, 也就是说没有系统化吸收内容。这个行为应该会在这一次看完一本书而改变。每天的信息量都这么多, 你如何去转换, 你如何去分类, 你如何去吸收, 这个也是一个学问。人是单线程的动物, 处理不了同步的事情, 人的生命本来就是有限, 没法去了解很多内容。不过不管人与物, 能在我的时间线上遇见你都是一种缘分。还有人生需要目标, 要知道你还有什么事情需要做的, 然后时刻提醒着你自己。之前很多东西总是坚持不下来就是这个原因, 没有目标, 然后看到这个好就去看这个, 那个好就去看那个。要知道框架什么东西都是浮云, 只有历尽N年的规范才是王道。多读读HTTP规范会有更好的视野。说到这里, 突然有点想吐槽一下教育, 感觉扯得有点远了, 教育其实最重要是教会每个人儿保持你的好奇心, 为什么这个可以这样子呢? 那个又能那样子呢? 这个好奇心有了, 你后面自我驱动就更棒了。你会不会有时候想着为什么我们手机可以拍视频, 为什么又能听歌, 为什么又能看视频呢? 人生一定有很多好玩你又不知道的东西, 嗯, 去慢慢探索吧。共勉吧, 我离那个境界还是很远。记住, 存在即合理。

monkindey commented 7 years ago

时间

今天晚上

预期

了解HTTPS逻辑

总结

目的

数据加密🔐

类别 特性 优点 缺点
非对称加密 加解密钥匙🔑不一样 效率较低 不需要, 私钥保留在服务端解开客户端公钥加密内容
对称加密 加解密钥匙🔑一样 效率较高 每一个连接就要维护一个密钥, 成本高

身份认证

第三方权威CA

HTTPS成功很重要的一件事就是让客户端参与进来验证

更多

monkindey commented 7 years ago

😞

时间

到8月底

预期

这个可能是一个大功能点, 不知道能不能完成哈, 也不知道完成得怎么样呢

golb

总结

暂时不弄了, 先弄基础再说吧。

monkindey commented 7 years ago

时间

下周

预期

You don't know JavaScript

总结

自己的英语不行再加上预期不准确, 对自己太乐观了。导致现在才看到第二章完, 但是期间确实有做其他事情, 比如写文章, 研究babel原理等等的。所以并没有看完全部, 不过按理说下周应该可以全部看完。

updated 2017.9.5

还是没有看好, 确实后面的内容太多了, 导致看完了就忘记前面了。

updated 2017.9.17

最近重点放在CSS身上了

monkindey commented 7 years ago

React 16优化点

  1. Download the React DevTools for a better development experience: https://fb.me/react-devtools 提示加粗了;

  2. 如果你的组件没有首字母大写的话, 会有warning提示

    The tag is unrecognized in this browser. If you meant to render a React component, start its name with an uppercase letter

  3. Returning arrays from render

function HelloFiber() {
  return [
    <span key="hello">Hello</span>,
    ' ',
    <span key="fiber" style={{ color: 'red' }}>
      Fiber
    </span>
  ];
}

export default class Fiber extends Component {
  render() {
    return (
      <div>
        <HelloFiber />
      </div>
    );
  }
}
  1. componentDidCatch
  2. createPortal
monkindey commented 6 years ago

V8

哎呀, 被别人催稿, 但是确实自己不是太懂C++/编译器呀, 好吧, 还是尽力看看吧。

简介

V8 is Google's open source high-performance JavaScript engine, written in C++ and used in Google Chrome, the open source browser from Google. It implements ECMAScript as specified in ECMA-262, and runs on Windows XP or later, Mac OS X 10.5+, and Linux systems that use IA-32, ARM or MIPS processors. V8 can run standalone, or can be embedded into any C++ application.

一个多平台支持的, 支持ECMA-262标准的JavaScript运行时

最后催稿后写成了这篇 JS递增序列的深入分析,算是一个沉淀吧

monkindey commented 6 years ago

这种玩法感觉有点还不太适合,后面再想想其它玩法,咩有其它玩法再reopen