Git Product home page Git Product logo

learning_note's Introduction

Learning Note And Diary

内容简介

已经很久都没有更新过这个仓库了,由于中间经历过一些事情变的懒惰了,之后会继续更新这个仓库,会添加一些自己学习的笔记以及每日的简短日记,跟随 Kiprey 的脚步,向 Kiprey 学习,近期应该不会更新与虚拟化和二进制安全方面的内容,更新也可能会跟新很少一部分的内容(可能就是没有),近期主要在做网络编程和 Fuzz 方面的研究也就是写代码,这两部分完成后,可能会再重新写一个 TinyStl,再之后会再开始逐渐的更新与安全有关的内容

主要内容

Dirary

第一周 ( 2021.05.31 - 2020.06.06 ) : WebServer
  • 2021.05.31:

    • select, poll, epoll 三种 IO 多路复用模型的学习
    • 多线程编程相关知识的学习
    • Rust 相关内容的学习
  • 2021.06.01:

    • select, poll, epoll 三种 IO 多路复用模型的学习
  • 2021.06.02:

    • select, poll, epoll 三种 IO 多路复用模型的学习
  • 2021.06.03:

    • 更新 WebServer 代码使其支持并发
  • 2021.06.04:

    • 重构 WebServer HTTPHandler 部分的代码,覆盖原本的代码,更新状态机模式
    • 编写状态机部分的文档
  • 2021.06.05:

    • 由于更新完状态机的部分后出现了一些 bug,所以一直在修 bug,主要 bug 就使用 chrome 浏览器时请求 home.html 页面时本应发起两次请求,第一次请求静态页面,第二次请求页面中的图片,但是实际调试时发现 WebServer 无法获取到第二次请求图片的请求,后面在每次请求之后关闭了对应的文件描述符后可以接受到正常的请求,但是偶尔也会出现请求失败的情况,后面调试过程中发现 chrome 浏览器会发起三次http请求,其中有一次不知是做什么的,而且发送来的内容都是乱码,所以改用了 safari 浏览器就变得正常了,具体是因为什么需要后面再排查
  • 2021.06.06:

    • 主要看了一下线程池是如何实现的,然后在理解的同时,也尝试的去写了一个线程池,在写的过程中遇到了诸多 bug,调试花费了很长的时间
第二周 ( 2021.06.07 - 2020.06.13 ) : WebServer
  • 2021.06.07:

    • 完成 WebServer 线程池部分,并更新了线程池部分的技术文档,后面会再加上计时器和 epoll IO 多路复用来提升性能,争取周三之前结束 WebServer 之后也不会有太大的改动,再改动也就是会更新一些功能,WebServer 结束之后打算重新搞一遍 STL,搞完 STL 之后准备花一周的时间弄一个 patchelf 的轮子出来,加深一下 elf 文件格式以及编译连接的一些理解,再之后看看有无时间搞一搞跟逆向相关的 idapython 和 fuzz,并且预计在冬天时搞一下编译器相关的内容
  • 2021.06.08:

    • 将 client 也采取 epoll
  • 2021.06.09:

    • 修 bug 但是修的时候出了好多问题,所以放弃了 client 的 epoll 机制
  • 2021.06.10 - 2021.06.13:

    • 端午放假休息
第三周 ( 2021.06.14 - 2021.06.20 ) : C++
  • 2021.06.14 - 2021.06.20:

    • 这一周主要是重新读了一遍 C++ prime 目前读到第 16 章,对应模版章节,看了一小部分的 Rust 主要是阅读 Rust 的文档,查找一些有用的库函数,目的是为了用 Rust 实现一个简易的 container 来作为出题的题目,看了一点设计模式,之后准备在看完 C++ prime 和 设计模式之后重新写一个工具,工具准备整合 ReadElf 、 checksec 以及一些其他的小工具的功能,预计采用 Rust 和 C++ 实现

    • 看了一下工厂设计模式,但是没有太搞懂工厂设计模式具体的应用场景,以及为什么会有对应的优点以及缺点,理解的不是很好

第四周 ( 2021.06.21 - 2021.06.27 ) : C++ 与 设计模式
  • 2021.06.21:

    • C++ 模版类型转换部分的内容,记录了相应的笔记
    • 与一个工作了的人探讨设计模式在真实的开发场景当中应用是否广泛,以及学习设计模式具体应该学习哪些东西,总结起来就是重点是**而不是那个固定的模子
  • 2021.06.22:

    • 继续阅读 C++ 模版部分的内容,记录响应的笔记
  • 2021.06.23:

    • C++ 模版一章看完,并记录好了相应的笔记
    • Rust 笔记记到引用与借用部分
    • Container 题目还未着手去写,预计明天来完成一部分
  • 2021.06.24:

    • C++ tuple bitset 以及 IO 格式化的输出部分内容整理完相应的笔记
  • 2021.06.25:

    • 阅读完 C++ 异常处理 命名空间 虚继承与多重继承部分内容并整理完相应的笔记
    • Rust 看完所有权,结构体,枚举与模式匹配相关的内容,个人感觉 Rust 部分语法还是很容以理解的,只不过相比于 C/C++ 多了一个 所有权的概念,并且有一些简洁的语法,明天预计应该还能看完 4 章
  • 2021.06.26:

    • 看完 C++ Primer 最后一章,并整理完相应的笔记
  • 2021.06.27:

    • Rust 看到生命周期那一章并且整理完了相应的笔记,预计之后想要用 Rust 重新做一下 Ucore 的实验
第五周 ( 2021.06.28 - 2021.07.04 ) : Rust
  • 2021.06.28:

    • Rust 相关内容
    • 复习 C++ 第一部分的内容
  • 2021.06.29:

    • Rust 相关内容
  • 2021.06.30:

    • Rust 相关内容
    • 搞了一下 PD 上的 windows10 虚拟机,痛失 500 大洋不过以后就可以用 mac 来逆向了
  • 2021.07.01:

    • Rust 相关内容

learning_note's People

Contributors

resery avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.