本文记录一个非常实用的工具,有了它,我们可以在几秒之内用 VS Code 打开 GitHub 上的任意一个 Repo,无需 Clone,速度飞快,在线VS code 看代码神器。...github 在 github 仓库看代码总是不很方便 此处打开 mmocr 仓库: https://github.com/open-mmlab/mmocr 看代码神器 在 github 仓库地址上稍加修改
这里推荐郭神的《第一行代码》,不过书中关于UI,界面方面的说的比较少。 俗话说:Don't BB, show me the code....于是去看看官方文档关于UI的代码例子http://developer.android.com/intl/zh-cn/samples/ui.html 官方提供的源代码可以下载之后导入Android Studio...,或者当启动Android Studio的时候,右边什么创建新项目下面有一个Import an Android code sample,在这里选了,会直接帮你去github上download代码并导入工程...开始 现运行一下代码,看看界面是什么样子,如下图所示: ? 可以大致看到主要分了上下两个模块,上面主要是个TextView,下面就是我们要看的tab。...继续看SlidingTabsBasicFragment对象 SlidingTabsBasicFragment对象的onCreateView方法: @Override public View onCreateView
1024; a.bit_length() # 11 #-- repr和str显示格式的区别 """ repr格式:默认的交互模式回显,产生的结果看起来它们就像是代码...3)标准链接库目录 (4)任何.pth文件的内容 """ #-- 查看全部的模块搜索路径 import sys sys.path #-- 模块的使用代码...bonus = .10): self.pay = int(self.pay*(1 + percent + bonus)) # 不好的方式 复制粘贴超类代码...0, 0] lists = [[]] * 3 # 多维数组,结果为[[], [], []],但有问题,往下看...往下看 lists = [[] for i in range(3)] # 多维数组,结果为[[], [], []] lists
下面就记述下病毒的发现、清理和认识过程,一路下来可以给我们的Linux命令学习提供很多知识点。这里面大部分操作都在生信宝典的Linux系列教程有提及,也是我们常用的提高效率的方式。...发现两个进程sysupdate和networkservice,看名字,还以为是Linux系统什么时候学会Windows的自动升级了。...SELinux是安全增强型 Linux(Security-Enhanced Linux),它是一个Linux内核模块,也是Linux的一个安全子系统。主要由美国国家安全局开发。...# ps获取运行的进程,grep屏蔽掉自己,然后grep其它挖矿程序,awk获取进程编号,kill -9 强制杀掉 # 如果大家看到自己电脑有这些程序,也都清除下,都是病毒 # 源代码有近百个病毒进程的清除...echo $1,$2 http_code=`curl -I -m 10 -o /dev/null -s -w %{http_code} $1` # 网页返回代码是否为
从linux源码看epoll 前言 在linux的高性能网络编程中,绕不开的就是epoll。...本文就是笔者在探究epoll源码过程中,对kernel将就绪描述符添加到epoll并唤醒对应进程的一次源码分析(基于linux-2.6.32内核版本)。...简单的epoll例子 下面的例子,是从笔者本人用c语言写的dbproxy中的一段代码。由于细节过多,所以做了一些删减。...(注:由于是tcp socket,所以这边sock->ops=inet_stream_ops,这个初始化的过程在我的另一篇博客>中,博客地址如下: https...总结 epoll作为linux下非常优秀的事件触发机制得到了广泛的运用。其源码还是比较复杂的,本文只是阐述了epoll读写事件的触发机制,探究linux kernel源码的过程非常快乐^_^。
本文就是笔者在探究epoll源码过程中,对kernel将就绪描述符添加到epoll并唤醒对应进程的一次源码分析(基于linux-2.6.32内核版本)。...简单的epoll例子 下面的例子,是从笔者本人用c语言写的dbproxy中的一段代码。由于细节过多,所以做了一些删减。...将连接描述符注册到对应的worker里面 epoll_ctl(reactor->client_fd,EPOLL_CTL_ADD,epifd,&event); 回顾一下上述user space代码...源码看socket的阻塞和非阻塞>>中,博客地址如下: https://my.oschina.net/alchemystar/blog/1791017) 既然知道了tfile->f_op->poll的实现...总结 epoll作为linux下非常优秀的事件触发机制得到了广泛的运用。其源码还是比较复杂的,本文只是阐述了epoll读写事件的触发机制,探究linux kernel源码的过程非常快乐_。
隐藏引用就不是指针 并且很多例子,参数传递和构造函数,看很多八股文, 到底一样不一样,课本上没有说,很模糊,不分配怎么操作。 直觉,感觉上判断,肯定有,如果没有。...操作引用,最后变成操作引用对象,神奇魔法 不存在 ra++ === (*pa)++ 小心求证1- 看汇编 代码:https://godbolt.org/z/xrcobvar3 从汇编角度看 指针和引用变量初始化产生汇编代码是一样的...【都是三行】 代码: int a = 3; int &ra = a; int b = 4; int *pa = &b; 汇编: int a = 3; int &ra = a; 012E33F8 mov...的地址放入 eax 012E340F mov dword ptr [pa],eax ,//最后把 eax 的值放入地址为 [pa] 的内存 从汇编的角度来看,引用是通过指针来实现的 代码...需要进一步解释 函数产生汇编 移动方向 https://nettee.github.io/posts/2018/Understanding-lvalues-and-rvalues-in-C-and-C/ 看10
此时推荐你去看一看ThoughtWorks的技术雷达,它是一份最新技术趋势的完美报告。虽然市面上有各种技术行情和预测报告,但ThoughtWorks的技术雷达更加具体,更具可操作性。
高质量的代码设计 1、合理的代码模块层级; 2、代码需综合考虑、约束:各模块的大小、模块的复杂度、接口的大小、模块之间的共享资源; 3、高内聚低耦合:消除重复功能代码、分离代码变化方向、缩小代码依赖范围...5、基于动态代码分析:根据代码功能需求构建测试用例、使用覆盖率检查工具检查用例对代码的覆盖率、使用动态代码检查工具检查代码; 6、静态代码和动态代码分析工具:结合静态分析工具和动态分析工具,有效利用各种工具长处...,更早发现代码问题; 7、代码审查三要素:代码度量分析、静态代码检查、动态代码检查 代码审查重点 1、代码规范的检查:检查软件产品中的代码风格是否统一、代码中是否存在不符合规范的代码。...静态代码检测的主要作用:代码规范检查、代码bug检查、代码性能检测、代码坏味道检测(过长的参数列表,过长的函数)。...总结 提高软件质量是作为开发人员的一个很重要的指标,通过多维度的论述软件质量问题,并且从软件开发者视角看讨论如何写出高质量的软件。
之所以了解 jumplist,是因为在看 go 的项目时,经常查看代码的定义(gd,使用 vim-go 插件),这时就可以使用 Ctrl-I 和 Ctrl-O 进行跳转。...另外,Vim 的 mark(标记)功能对代码浏览也非常方便,有时间再介绍吧。 参考: Jumping to previously visited locations
前言 看一团跳动的火焰~ 安装 [root@iZo7e61fz42ik0Z game]# wget https://github.com/tondrolee/Softwares/blob/master/
但是家里没有找到合适的 U 盘(穷~~),加上前段时间听了同事关于 linux 内核的分享,感慨自己对系统的理解不够。因此我决定使用无盘启动 volumio 顺便研究一下 linux 启动原理。...此外 BIOS 的代码历史悠久难以维护。...Bootloader:这部分记录了一段较小引导代码,用于去启动硬盘其他分区位置上更大的引导文件,例如 linux 操作系统的 grub 目录。...它可以提供选单选择 Linux 内核版本,此外加载程序使得我们可以向 Linux 内核传递参数。这点很重要,在我的案例中 volumio 就是通过 Syslinux 向内核传递启动参数的。...Linux 能够使用硬盘空间作为虚拟内存,因此得名“vm”。vmlinuz 是可执行的 Linux 内核。 initrd 是“initial ramdisk”的简写。
从linux源码看socket的close 笔者一直觉得如果能知道从应用到框架再到操作系统的每一处代码,是一件Exciting的事情。...上篇博客讲了socket的阻塞和非阻塞,这篇就开始谈一谈socket的close(以tcp为例且基于linux-2.6.24内核版本) TCP关闭状态转移图: 众所周知,TCP的close过程是四次挥手...上面代码的处理过程如下图所示: ?...总结 linux内核源代码博大精深,阅读其代码很费周折。之前读>的时候由于有先辈引导和梳理,所以看书中所使用的BSD源码并不觉得十分费劲。...直到现在自己带着问题独立看linux源码的时候,尽管有之前的基础,仍旧被其中的各种细节所迷惑。希望笔者这篇文章能帮助到阅读linux网络协议栈代码的人。
1、快速生成一个简单的SpringBoot项目 进入地址:https://start.spring.io/ ,点击生成代码即可。...FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) }) public @interface SpringBootApplication { 看代码
因此,为了支持计划生育这项基本国策,每一个男人都有义务认真看一下电源管理的代码. 另一方面,虽然现在已经不住在农村了,但我一直坚定不移的认为,这个世界,最慢的是我家的网速,最快的是我家电表的转速....上节说了应该从usb_suspend/usb_resume开始看,那就开始吧. usb_suspend/usb_resume这两个函数很显然是一对,但是我们不可能同时讲,只能一个一个来.倒不是故意把它们拆开...usb_suspend_both(udev, msg); 1465 usb_pm_unlock(udev); 1466 return status; 1467 } 1462行和1465行,锁的代码暂时先一律飘过...intf->dev.power.power_state.event = msg.event; 884 return status; 885 } 一路陪我们走过来的兄弟们一定不会看不懂这个函数,最关键的代码就是...msg),这就是调用具体的interface所绑定的那个驱动程序的suspend函数.比如,对于hub来说,这里调用的就是hub_suspend()函数.具体的hub_suspend()我们倒是不用先急着看,
1.在有些时候数据会存在缓存中而没有写入磁盘中 数据同步考入磁盘 sync 2.关机重启指令
本文大部分讨论的是socket设置为block的情况,即setNonblock(false),仅在最后提及了nonblock socket(本文基于linux 2.6.32-431内核)。...kernel代码版本细微变化 值得注意的是,linux本身官方发布的2.6.32源码对于tcp_syn_retries2的解释和RFC并不一致(至少笔者阅读的代码如此,这个细微的变化困扰了笔者好久,笔者下载了和机器对应的内核版本后才发现代码改了...以下为代码对比: ========================>linux 内核版本2.6.32-431<======================== #define TCP_TIMEOUT_INIT...timeout = ((2 << boundary) - 1) * rto_base; ...... } ========================>linux 内核版本2.6.32.63<=...java的SocketInputStream的sockRead0超时时间 java的超时时间由SO_TIMOUT决定,而linux的socket并没有这个选项。
当我们还在体验 Linux 5.5 稳定发行版带来更好的硬件支持时,Linux 5.6 已经来了。说实话,Linux 5.6 比 5.5 更令人兴奋。...即使即将发布的 Ubuntu 20.04 LTS 发行版将自带 Linux 5.5,你也需要切实了解一下 Linux 5.6 内核为我们提供了什么。...我将在本文中重点介绍 Linux 5.6 发布版中值得期待的关键更改和功能: Linux 5.6 功能亮点 当 Linux 5.6 有新消息时,我会努力更新这份功能列表。...换句话说,这只是 Linux 文件系统的一种新压缩技术,你可以选择待定的文件扩展技术。...因此,如果你好奇 Linux 5.6 所涉及的全部更改,则可以亲自了解一下。 现在你已经了解了 Linux 5.6 发布版带来的新功能,对此有什么看法呢?在下方评论中留下你的看法。
前言 我之前写过一篇AOP的文章 看AspectJ在Android中的强势插入 是通过AspectJ来实现的,本篇是『巴掌』的投稿,他通过使用ASM来讲解了在Java和Android中的AOP方法,非常值得大家学习交流...然后我们通过visitAnnotation方法来判断当前方法注解是否为我们自定义的注解,如果是指定注解,则插入代码,具体插入代码的内容我们接下来再讲,自定义ClassVisitor的代码如下: ?...,先把原java代码写好: ?...javaagent:{{lib的绝对地址/}}lib/cost-time.jar Demo2.java运行即可,如果在使用命令行运行时带来了问题,可以直接通过对IntelliJ IDE进行修改: Windows, Linux...这样一来,我们可以看看新生成的class是不是有被插入代码。 这是源代码MainActivity.java: ?
一、介绍 这么长时间以来,我们一直在介绍各种框架的使用案例包括源码分析,其实都是为了提升我们的综合技能,但是很少关注代码质量的治理。...其实在实际的开发过程中,对于一个开发人员来说,投入时间最多、挑战最大的往往不是新技术的学习,而是历史代码的治理! 为什么我这么说呢?...下面我给大家简单的介绍一下,我曾经接手的几个印象特别特别深刻的项目代码! 二、案例分享 2.1、某平台入库查询代码 ? 首先不可否认,这样写查询非常简单,但是对于维护的人,简直苦不堪言!...首先不说别的,就这个代码啊,给人的第一感觉很不好阅读! 可读性很差,里面居然连数据库实体类都不封装一下,直接用Map来接受对象,都懒成什么样呢!...三、小结 在实际的开发过程中,对于代码的治理,我们和团队的其他成员,一定要事先一起制定好开发规范和标准,尽量避免无效的代码、可读性差的代码、甚至维护起来麻烦的代码在里面存活!
领取专属 10元无门槛券
手把手带您无忧上云