精华内容
下载资源
问答
  • 除了好好工作,远程办公还有一个好处是时间比较自由,抓紧一些自由时间赶紧充电学习。越是空闲时间,越是你追赶别人绝佳机会。 企业开始上班,就意味着大批量招聘需求正在路上。所以利用好这段时间,开工后...

    前言

    相信前几天在朋友圈晒无聊的小伙伴们,也陆续结束了假期。很多公司为了员工的健康考虑,启动了远程办公模式。

    床在桌边,饭在桌上,家里一切都那么安逸,专心工作真的是一件难事。远程工作最大的敌人就是:你的自制力。战胜自己,以后你一定是做成大事的人。

    除了好好工作,远程办公还有一个好处是时间比较自由,抓紧一些自由的时间赶紧充电学习。越是空闲时间,越是你追赶别人的绝佳机会。

    企业开始上班,就意味着大批量的招聘需求正在路上。所以利用好这段时间,开工后就是你进入大厂的最佳时机。

    拉勾网通过与近百家知名企业的深入沟通,结合拉勾 50w+ Java 岗位需求和国内外一线实战讲师,历时 15 个月,对标阿里 P7 技术要求打磨而成**《Java工程师高薪训练营》**是你在这个假期,非常值得学习的内容。

    启动模式

    要准确的测量APP的启动时间,首先我们要了解APP整个启动过程。 启动过程,一般可以分为以下三类:

    爱奇艺Android客户端启动优化与分析

    从上图可以看出,启动过程中,Cold的模式下,生命周期中做的事情最多,启动的时间最长,因此,我们以冷启动来衡量APP启动时间。启动过程中,如何判断哪些生命周期影响启动速度呢?

    启动过程

    我们知道,APP的启动和运行,就是Linux系统创建进程和组件对象,并在UI线程中处理组件消息的过程。

    启动过程图:

    App的启动过程,可以划分为三个阶段:

    3.1 创建进程

    当APP启动时,如果当前app的进程不存在,便会创建新的进程;App主进程启动后,如果启动某个组件,并且该组件设置了android:process属性,组件所运行的进程不存在,也会创建新的进程。

    需要注意的是,如果在启动阶段,初始化的组件中,包含了多个进程,便会创建多次进程,BindApplication操作也会重复执行多次

    3.2 创建UI线程及Handler

    进程创建后,会通过反射,执行ActivityThread入口函数,创建Handler,并在当前线程中prepareMainLooper,并在Handler中接收组件的消息,我们来看一下Handler中处理的消息:

    • LAUNCH_ACTIVITY,启动,执行Activity
    • RESUME_ACTIVITY,恢复Activity
    • BIND_APPLICATION,启动app
    • BIND_SERVICE,Service创建, onBind
    • LOW_MEMORY,内存不足,回收后台程序

    sMainThreadHandler中,处理的消息很多,这里只罗列了,可能在启动阶段可能会执行的操作, 这些操作都是运行在Main Thread中,对启动而言,属于阻塞性的。

    Activity生命周期,自然需要在启动阶段执行,但,对于Service的创建,Trim_memory回调,广播接收等操作,就需要重点考虑,其操作耗时性。

    3.3 Activity运行及绘制

    前两个过程,创建进程和UI线程及Handler,都是由系统决定的,对APP开发者而言,并不能控制其执行时间,在本阶段,执行BindApplication,和Acitivity生命周期,都是可以由开发者自定义。

    Activity执行到onResume之后,会执行至ViewRootImpl,执行两次performTraversals,第二次traversal操作中,会执行performDraw操作,同时通知RenderThread线程执行绘制.

    从启动的三个阶段,我们可以看出,启动启动时间的长短,决定因素在于,主线程中所做事情消耗的时间的多少,所以,我们的优化工作主要集中在,排查主线程中耗时性的工作,并进行合理的优化。Android手机,系统的资源是有限的,过多的异步线程,会抢占CPU,导致主线程执行时间片间隔增大。同样的,内存消耗状态,GC频率,也会影响启动的时间

    最后

    代码真的是重质不重量,质量高的代码,是当前代码界提倡的,当然写出高质量的代码肯定需要一个相当高的专业素养,这需要在日常的代码书写中逐渐去吸收掌握,谁不是每天都在学习呀,目的还不是为了一个,为实现某个功能写出高质量的代码。

    所以,长征路还长,大家还是好好地做个务实的程序员吧。

    最后,小编这里有一系列Android提升学习资料,有兴趣的小伙伴们可以来看下哦~

    我的Android 学习,面试文档,视频收集大整理

    我的Android 学习,面试文档,视频收集大整理

    展开全文
  • 养成记录的习惯

    2016-08-24 21:03:36
    今天看到了一本书,叫《深度学习21天实战caffe》,原来这是阿里卜居写,目前在阿里从事深度学习和计算机视觉相关工作,卜居是他博客名,真人名叫赵永科。...以后要学会记录平时所学内容,学会整
    今天看到了一本书,叫《深度学习21天实战caffe》,原来这是阿里的卜居写的,目前在阿里从事深度学习和计算机视觉的相关工作,卜居是他的博客名,真人名叫赵永科。翻看了他的博客,发现他大概十年前就开始写博客了,博客的点滴也见证了一个人的成长,一步一个脚印。其实我以前也不喜欢写博客,后来发现了写博客的好处,能把自己所学内容记录下来,以后可以温故而知新,有助于知识的梳理。以后要学会记录平时所学内容,学会整理,这样才不容易忘记,忘记了也可以过来查查。另外要多看书和论文,这样才能系统的学知识,网上四处搜来的终究是零碎的知识点,不足以形成自己对所学内容的认识,无法形成一整套理论体系,所以还是要多看书,多看论文,学会记录!
    
    展开全文
  • 1.Spring 中 AOP 应用场景、Aop 原理、好处?答:AOP 用来封装横切关注点,具体可以在下面场景中使用: Authentication 权限、Caching缓存、Contextpassing内容传递、Errorhandling错误处理 Lazy loading 懒加载...
    bee8082ddc0f48d8a4bce1bd6b0f3f2e.png

    1.Spring 中 AOP 的应用场景、Aop 原理、好处?

    答:AOP 用来封装横切关注点,具体可以在下面的场景中使用: Authentication 权限、Caching缓存、Contextpassing内容传递、Errorhandling错误处理 Lazy loading 懒加载、Debugging 调试、logging,tracing,profilingandmonitoring 记录跟踪优化 校准、Performanceoptimization 性能优化、Persistence持久化、Resourcepooling 资源池、 Synchronization 同步、Transactions事务

    原理:AOP 是面向切面编程,是通过代理的方式为程序添加统一功能,集中解决一些公 共问题。

    好处:1.各个步骤之间的良好隔离性2.源代码无关性

    2.Spring 中 IOC 的作用与原理?对象创建的过程。

    答:当某个角色需要另外一个角色协助的时候,在传统的程序设计过程中,通常由调用 者来创建被调用者的实例。但在 spring 中创建被调用者的工作不再由调用者来完成,因此称 为控制反转。创建被调用者的工作由 spring 来完成,然后注入调用者。

    IOC 本质上是一个容器,已 MAP 对 IOC 简单举例,服务器加载配置文件,由 xml 文档 解析工具读取 bean 的 ID,获取 class,使用反射创建对象,以 K-V 的形式存入 MAP,K 是 ID, V 是反射创建的对象。获取对象可以调用 context.getBean(K)的方式。

    3.介绍 spring 框架

    它是一个 full-stack 框架,提供了从表现层到业务层再到持久层的一套完整的解决方案。我 们在项目中可以只使用 spring 一个框架,它就可以提供表现层的 mvc 框架,持久层的 Dao 框架。它的两大核心 IoC 和 AOP 更是为我们程序解耦和代码简洁易维护提供了支持。

    4.Spring 常见创建对象的注解?

    答:@Component@Controller@Service@Repository

    5.Spring 中用到的设计模式

    答:简单工厂、工厂方法、单例模式、适配器、包装器、代理、观察者、策略、模板方法 详细介绍自己查了。

    6.Spring 的优点?

    1.降低了组件之间的耦合性,实现了软件各层之间的解耦

    2.可以使用容易提供的众多服务,如事务管理,消息服务等

    3.容器提供单例模式支持

    4.容器提供了 AOP 技术,利用它很容易实现如权限拦截,运行期监控等功能

    5.容器提供了众多的辅助类,能加快应用的开发

    6.spring 对于主流的应用框架提供了集成支持,如 hibernate,JPA,Struts 等

    7.spring 属于低侵入式设计,代码的污染极低

    8.独立于各种应用服务器

    9.spring 的 DI 机制降低了业务对象替换的复杂性

    10.Spring 的高度开放性,并不强制应用完全依赖于 Spring,开发者可以自由选择 spring 的部分或全部

    7.SpringBean 的作用域之间有什么区别?

    Spring 容器中的 bean 可以分为 5 个范围。所有范围的名称都是自说明的,但是为了避 免混淆,还是让我们来解释一下:

    singleton:这种 bean 范围是默认的,这种范围确保不管接受到多少个请求,每个容器 中只有一个 bean 的实例,单例的模式由 beanfactory 自身来维护。

    prototype:原形范围与单例范围相反,为每一个 bean 请求提供一个实例。黑马程序员

    request:在请求 bean 范围内会每一个来自客户端的网络请求创建一个实例,在请求完成以 后,bean 会失效并被垃圾回收器回收。

    Session:与请求范围类似,确保每个 session 中有一个 bean 的实例,在 session 过期后, bean 会随之失效。

    global-session:global-session 和 Portlet 应用相关。当你的应用部署在 Portlet 容器中工 作时,它包含很多 portlet。如果你想要声明让所有的 portlet 共用全局的存储变量的话,那 么这全局变量需要存储在 global-session 中。全局作用域与 Servlet 中的 session 作用域效果相同。

    8.Spring 管理事务有几种方式?

    答:有两种方式:

    1、编程式事务,在代码中硬编码。(不推荐使用)

    2、声明式事务,在配置文件中配置(推荐使用)声明式事务又分为两种:

    a、基于 XML 的声明式事务

    b、基于注解的声明式事务

    9.spring 中自动装配的方式有哪些?

    1、No:即不启用自动装配。

    2、byName:通过属性的名字的方式查找 JavaBean 依赖的对象并为其注入。比如说类 Computer 有个属性 printer,指定其 autowire 属性为 byName 后,Spring IoC 容器会在配置文 件中查找 id/name 属性为 printer 的 bean,然后使用 Seter 方法为其注入。

    3、byType:通过属性的类型查找 JavaBean 依赖的对象并为其注入。比如类 Computer 有个属性 printer,类型为 Printer,那么,指定其 autowire 属性为 byType 后,SpringIoC 容 器会查找 Class 属性为 Printer 的 bean,使用 Seter 方法为其注入。

    4、constructor:通 byType 一样,也是通过类型查找依赖对象。与 byType 的区别在于 它不是使用 Seter 方法注入,而是使用构造子注入。

    5、autodetect:在 byType 和 constructor 之间自动的选择注入方式。

    6、default:由上级标签的 default-autowire 属性确定。

    10.spring 中的核心类有那些,各有什么作用?

    BeanFactory:产生一个新的实例,可以实现单例模式

    BeanWrapper:提供统一的 get 及 set 方法

    ApplicationContext:提供框架的实现,包括 BeanFactory 的所有功能

    11.Bean 的调用方式有哪些?

    答:有三种方式可以得到 Bean 并进行调用:

    1、使用 BeanWrapper

    HelloWorld hw=new HelloWorld();

    BeanWrapper bw=new BeanWrapperImpl(hw);

    bw.setPropertyvalue(”msg”,”HelloWorld”);

    System.out.println(bw.getPropertyCalue(”msg”));

    2、使用 BeanFactory

    InputStream is=new FileInputStream(”config.xml”);

    XmlBeanFactory factory=new XmlBeanFactory(is);

    HelloWorld hw=(HelloWorld) factory.getBean(”HelloWorld”);

    System.out.println(hw.getMsg());

    3、使用 ApplicationConttext

    ApplicationContext actx=new FleSystemXmlApplicationContext(”config.xml”);

    HelloWorld hw=(HelloWorld) actx.getBean(”HelloWorld”);

    System.out.println(hw.getMsg());

    12.什么是 IOC,什么又是 DI,他们有什么区别?

    答:依赖注入 DI 是一个程序设计模式和架构模型,一些时候也称作控制反转,尽管在 技术上来讲,依赖注入是一个 IOC 的特殊实现,依赖注入是指一个对象应用另外一个对象来 提供一个特殊的能力,例如:把一个数据库连接已参数的形式传到一个对象的结构方法里 面而不是在那个对象内部自行创建一个连接。

    控制反转和依赖注入的基本思想就是把类的依 赖从类内部转化到外部以减少依赖 应用控制反转,对象在被创建的时候,由一个调控系统内所有对象的外界实体,将其所 依赖的对象的引用,传递给它。也可以说,依赖被注入到对象中。所以,控制反转是,关 于一个对象如何获取他所依赖的对象的引用,这个责任的反转。

    13.spring 有两种代理方式:

    1、若目标对象实现了若干接口,spring 使用 JDK 的 java.lang.reflect.Proxy 类代理。

    优点:因为有接口,所以使系统更加松耦合

    缺点:为每一个目标类创建接口

    2、若目标对象没有实现任何接口,spring 使用 CGLIB 库生成目标对象的子类。

    优点:因为代理类与目标类是继承关系,所以不需要有接口的存在。

    缺点:因为没有使用接口,所以系统的耦合性没有使用 JDK 的动态代理好。

    14.springMVC 的流程?

    1、用户发送请求至前端控制器 DispatcherServlet

    2.DispatcherServlet 收到请求调用 HandlerMapping 处理器映射器。

    3.处理器映射器根据请求 url 找到具体的处理器,生成处理器对象及处理器拦截器(如果 有则生成)一并返回给 DispatcherServlet。

    4.DispatcherServlet 通过 HandlerAdapter 处理器适配器调用处理器

    5.执行处理器(Controller,也叫后端控制器)。

    6.Controller 执行完成返回 ModelAndView

    7.HandlerAdapter 将 controller 执行结果 ModelAndView 返回给 DispatcherServlet

    8.DispatcherServlet 将 ModelAndView 传给 ViewReslover 视图解析器

    9.ViewReslover 解析后返回具体 View

    10.DispatcherServlet 对 View 进行渲染视图(即将模型数据填充至视图中)。

    11.DispatcherServlet 响应用户

    15.Springmvc 的优点

    1、它是基于组件技术的.全部的应用对象,无论控制器和视图,还是业务对象之类的都是java 组件.并且和 Spring 提供的其他基础结构紧密集成.

    2.不依赖于 ServletAPI(目标虽是如此,但是在实现的时候确实是依赖于 Servlet 的)

    3.可以任意使用各种视图技术,而不仅仅局限于 JSP4.支持各种请求资源的映射策略5.它应是易于扩展的

    写在最后:小编为大家准备了一些适合于1-5年以上开发经验的java程序员面试涉及到的绝大部分面试题及答案做成了文档和学习笔记文件以及架构视频资料免费分享给大家(包括Dubbo、Redis、Netty、zookeeper、Spring cloud、分布式、高并发等架构技术资料),希望可以帮助到大家。

    a05244c860d8158711064383735776c1.png

    关于Spring的这15点总结,打死都要会。

    获取方式:请大家转发关注并私信小编(学习)

    即可获取你需要的各类资料。

    展开全文
  • 为什么要学习markdown,因为markdown可以让你养成了记录的习惯。 我自从使用了markdown之后,就喜欢了写文档,记录工作日志,记录周会,记录季度计划,记录学习目标,写各种设计文档。 markdown 和vim 一起用,简直...

    为什么要学习markdown,因为markdown可以让你养成了记录的习惯。
    我自从使用了markdown之后,就喜欢了写文档,记录工作日志,记录周会,记录季度计划,记录学习目标,写各种设计文档。
    markdown 和vim 一起用,简直绝配。

    那我接下来系统说一下markdown的好处

    为什么需要markdown

    大家可能想为什么要使用markdown来写文档,而不用各种可以点击鼠标点点的那种所见即所得的工具来记笔记,例如word之类的。首先由如下几点:

    • Markdown可以在任何地方使用,可以使用它来创建网站,笔记,电子书,演讲稿,邮件信息和各种技术文档
    • Markdown是轻便的,事实上,包含Markdown格式文本的文件可以被任何一个应用打开。如果感觉不喜欢当前使用的Markdown渲染应用,可以使用其他渲染应用来打开。而鲜明对比的就是Microsoft Word,必须要使用特定的软件才能打开 .doc 或者 .docx的文档 而且可能还是乱码或者格式乱位。
    • Markdown是独立的平台。你可以创建Markdown格式文本的文件在任何一个可以运行的操作系统上
    • 程序员的世界到处都是Markdown,像简书,GitChat, GitHub,csdn等等都支持Markdown文档,正宗的官方技术文档都是使用Markdown来写的。

    使用Markdown不仅可以非常方面的记录笔记,而且可以直接导出对应的网站内容,导出可打印的文档

    不需要花费很长的时间学习Markdown的语法,它的语法真的非常简单

    而且一旦你掌握了它,你就可以在任何地方任何平台使用Markdown来记录笔记,文档甚至写书。

    很多人使用Markdown来创建网站的内容,但是Markdown更加擅长于格式化的文本内容,是用Markdown 根部不用担心格式问题,兼容问题。

    Markdown常用语法

    很多后台开发程序员的工作环境是linux,linux下写文档最佳选择就是markdown

    简历中就使用了如下几个语法

    Markdown支持部分html,所以简历的开头有一个简单的html标注。

    <center><h1>XXX</h1> </center>
    

    段落的话,正常写就可以了,如果需要缩进或者空格的话,使用&emsp;&ensp; ,第一个为全角空格,第二个为半角空格,我们的markdown简历模板里也使用这个这两种空格来进行对齐操作。

    使用’#’ 可以展现1-6级别的标题
    # 一级标题
    ## 二级标题
    ### 三级标题

    使用 * 或者 + 或者 - 或者 1. 2. 来表示列表

    以上就是我们简历中使用的markdown语法,那再说一下一些常用的markdown的语法规则

    使用 [名字](url) 表示连接,例如[Github地址](https://github.com/youngyangyang04/Markdown-Resume-Template)

    对于代码块使用 ` 把代码括起来 例如 `int a = 0;`
    或者使用 ``` 把代码块括起来 例如:

    ```
    var foo = function (bar) {
    return bar++;
    };

    ```

    添加图片![名字](图片地址) 例如![Minion](https://octodex.github.com/images/minion.png)
    因为Markdown也支持html 所以也可以这么写 <img src='~/images/minion.png' width=600> </img></div>

    Markdown 渲染

    有如下几种方式渲染Markdown文档

    • 使用github来渲染,也就是把自己的 .md 文件传到github上,就是有可视化的展现,大家会发现github上每个项目都有一个README.md
    • 使用谷歌浏览器安装MarkDown Preview Plus插件,也可以打开markdown文件,但是渲染效果不太好
    • mac下建议使用macdown来打开 markdown文件,然后就可以直接导出pdf来打印了
    • window下可以使用Typora来打开markdown文件,同样也可以直接导出pdf来打印

    Markdown学习资料

    刚开始学习Markdown的时候语法难免会忘,所以建议把这个 markdown demo收藏一下,平时用到哪里了忘了就看一看。

    总结

    如果还没有掌握markdown的你还在等啥,赶紧使用markdown记录起来吧

    展开全文
  • 写在前面:本文仅仅是根据个人阅读习惯或个人有启发之处所记录的笔记,不代表该书的重点哦b( ̄▽ ̄)d  阅读目录第1章 正确提问的好处和方法1.1 海绵式思维和淘金式思维1.2 弱势批判性思维和强势批判性思维1.3 ...
  • 找到了阿里大牛写七天学会node.js,边学边记录吧,多打一遍,总归会有点好处的。模块编写稍大一点程序时一般都会将代码模块化。在NodeJS中,一般将代码合理拆分到不同JS文件中,每一个文件就是一个模块,而...
  • 使用 React Hooks 相比于从前类组件有以下几点好处: <ol><li>代码可读性更强,原本同一块功能代码逻辑被拆分在了不同生命周期函数中,容易使开发者不利于维护和迭代,通过 React ...
  • -目录MySQL中关于函数说明概念:类似java、python中方法,将一组逻辑语句封装在方法体中,对外暴露方法名好处:Ⅰ隐藏了实现细节;Ⅱ提高代码重用性调用:select 函数名(实参列表) [from 表]特点:Ⅰ叫什么...
  • -目录MySQL中关于函数说明概念:类似java、python中方法,将一组逻辑语句封装在方法体中,对外暴露方法名好处:Ⅰ隐藏了实现细节;Ⅱ提高代码重用性调用:select 函数名(实参列表) [from 表]特点:Ⅰ叫什么...
  • 比较好的写注释方式:先写出大部分注释,再开始写算法代码(如果你采用的就是这种方式,那么恭喜你,你已经学会了,可以完全不看这篇文章,因为下面都是陈述这种方式能带来的好处以及用其他方式的缺点,如果你采用的...
  • 8-8程序调试debug宏

    2020-10-21 21:05:00
    (1)利用调试器进行单步调试(譬如IDE中,Jlink)适用于新手,最大的好处就是直观,能够帮助找到问题。缺点是限制性大、速度慢。 (2)裸机使用LED、蜂鸣器等硬件调试,适合单片机裸机程序; (3)printf函数打印...
  • 一文了解JS函数柯里化

    千次阅读 2020-05-12 08:52:01
    JS__一文学会函数柯里化柯里化是什么简单例子实现柯里化柯里化好处参数复用面试题通用柯里化封装方法 最近跟着黄轶老师学习Vue.js 2.5.17-beta版本源码时,看到了源码中用了函数柯里化,这里来写一篇,记录一下,加深...
  • 上半年影音记录 1、奇特一生 --[苏] 格拉宁,豆瓣8.3分 ”他规定,短距离,二三公里路,最好步行,省得为了等车浪费时间、损害神经。步行还有一个好处,因为反正需要散步。“ “他对“时间下脚料”利用,...
  • 之前我们介绍了 Jupyter Notebook 这款实用高效应用程序,在其提供环境中,可以记录代码、运行代码,完成数据可视化并查看结果。在我看来,经济学圈学子们也应该学会利用Python来处理数据、统计建模,毕竟诸如...
  • 很久没来写博文,前些天看了《你知识需要管理》,发现还是要坚持把自己一些经历、经验、知识记录下来。学会当时脑子里面很清楚,但却忽略会忘。还有就是给大家都分享下。希望对大家生活,工作有一些帮助。当然...
  • C#操作XML实例

    2021-03-16 01:00:08
    摘要:C#源码,文件操作,读写XML C#通过操作XML文件改变窗口相关属性,XML可作为数据记录文件,在各种程序开发中,XML都得到了充足应用,学会如何使用XML,对编程是相当有好处的
  • 2020-02-29

    2020-03-01 00:12:17
    学习事业单位考试知识已经有2月了,可是学越多发现自己不会越多,专业也报了一个班,可是老师讲很混乱,我反而听了后更懵,好处就是之前学会的目前发现还得重新学。我报事业单位考是计算机知识,占30分...
  • 用户将学会更快地使用您应用程序,因为它共享了他们已经熟悉常见元素。 用户将更快地完成任务,因为您将拥有简洁明了界面设计,而不会感到困惑或困难。 您应用将显示为桌面本机,并具有与默认应用相同...
  • Harden the Hacker Thinking (Updating)

    千次阅读 2015-03-27 14:07:27
    2015-02-26不要在一件事上停留太久:休息时如果是浏览新闻,被它的新鲜劲吸引,有利于放松思维,但不宜浏览时间过长,学会充分利用它的新鲜劲给思维带来的好处。尽早发力:开始一项任务时,没必要一直崩着脑子,如果...
  •  学会,玩弄一些视频和音频软件,只有好处没有害处。同时,也不需很多时间,练练手罢了。也是方便自己所用吧!  步骤一: 比如,我们在爱奇艺里,安装PC版,下载下来一般是.qsv格式。而这,若去改为.mp4或...
  • •重点分析:该实例主要针对于组件查找进行详细讲解,在以后应用开发中,同学们应该学会各种方式去查找所需要组件,不要拘泥于某种特定形式,这样会给开发思路带来很多好处。 –ownerCt –up/down方法 –...
  •  学会,玩弄一些视频和音频软件,只有好处没有害处。同时,也不需很多时间,练练手罢了。也是方便自己所用吧!  步骤一: 比如,我们在爱奇艺里,安装PC版,下载下来一般是.qsv格式。而这,若去...
  • 既能随手记录日常待办事项,也可以拼贴各类素材完成一次项目方案,OneNote的好处真的不少。今天就来学一学它的进阶版技巧吧!图片秒转文字一张图片转文字要多久?你:“得看文字长度和打字速度。”不不不~在OneNote...
  • Codeforces 11.23

    2012-11-23 23:46:00
    传送门:D. Colorful Graph 求和某点关联的和这点颜色不同的颜色种数最多...这题唯一的好处就是学会了set。set里面的count调用还可以代替哈希表来判重,一次操作复杂度O(logn),是一个很灵活地东西。 引致:http:/...
  • 启航

    2013-09-14 10:30:00
    在我看来,学习之后博客总结写作,有以下几个好处: 复述梳理思路:很多时候我们看一个新东西似乎有那么点明白,但是能讲出来到底那是什么却很难。真正学会一件东西一个新概念是要能把它讲明白; 便于...
  • ESP8266-01与STM32F103C8(1)

    2019-07-24 00:08:40
    最近做一个工程,第一次用到ESP8266-01,上网查了很多资料,中间走了不少弯路,同样也学会了不少东西,现在就是想将这个过程记录下来,有则改之,继续完善。 上图实我在淘宝上买一个烧录架子,一般自己淘宝搜一下...

空空如也

空空如也

1 2 3
收藏数 48
精华内容 19
关键字:

学会记录的好处