在去年的文章里,我谈了 如何学习一门新的技术。那篇文章通篇形而上,讲大道理,读者颔首称赞,但回过头来在应用层面还是懵懵懂懂,不明就里。今天,我就我过去三周的经验,讲讲如何以正确的姿势在生产环境中使用一门新的语言。 过去三周,我在疯狂地使用 elixir,做了两个系统,一个是我上文提到的 policy engine,另一个是个尽可能通用的 activity stream / notification system。前者我花了一周,殚精竭虑,写下了 1600 行代码,production ready;后者我写了
boot.yaml 会告诉 rk-boot 如何启动 gRPC 服务。为了 Demo,除了开启 commonService,我们还开启了如下服务。
你平时在 Debug 的时候,一定首先会去查看错误信息。根据错误信息,你能够了解究竟是什么情况引发了什么样的错误。同样地,黑客也能够通过错误信息,推断出你的后台代码逻辑。那么,黑客究竟是怎么做的呢?接下来,我们就一起看一下这个过程。
主要是想起来自己vim还不太会用,所以说记得这个课程的vim教学不错,干脆就花时间看看整套课程,重点看一下vim的使用,我看的版本是社区的中文翻译版的文档,这些工具大多我都已经能够熟练使用了,所以就没去看英文的视频感觉有点浪费时间。
Node 主要用在开发 Web 应用。这决定了使用 Node,往往离不开 Web 应用框架。
显示本地存储库中可用的引用以及关联的提交 ID。可以使用模式过滤结果,并且可以将标记解除引用到对象 ID 中。此外,它还可用于测试特定引用是否存在。
Node 主要用在开发 Web 应用。这决定了使用 Node,往往离不开 Web 应用框架。 Koa 就是一种简单好用的 Web 框架。它的特点是优雅、简洁、表达力强、自由度高。本身代码只有1000多
刚才的命令有一个问题,就是不论 a.txt 中有没内容,>这个命令会吧 a 中原有的内容都覆盖。这可能不是你期望的。
本文主要介绍在携程,Node.js 技术栈是如何从 0 到 1 进行技术落地的,以及在不断磨合的过程中,总结出来的最佳实践。
在我们平时的项目研发过程中,异常一般都是程序员最为头疼的问题,异常的抛出、捕获、处理等既涉及事务回滚,还会涉及返回前端消息提醒信息。那么我们怎么设计可以解决上面的两个的痛点呢?我们可不可以统一处理业务逻辑然后给出前端对应的异常提醒内容呢? 本章目标 基于SpringBoot平台构建业务逻辑异常统一处理,异常消息内容格式化。 SpringBoot 企业级核心技术学习专题 专题 专题名称 专题描述 001 Spring Boot 核心技术 讲解SpringBoot一些企业级层面的核心组件 002 Spri
开发者工具提供了命令行与 HTTP 服务两种接口供外部调用,开发者可以通过命令行或 HTTP 请求指示工具进行登录、预览、上传等操作。 传送门: "developers.weixin.qq.com/miniprogram…"
开发者工具提供了命令行与 HTTP 服务两种接口供外部调用,开发者可以通过命令行或 HTTP 请求指示工具进行登录、预览、上传等操作。 传送门:"developers.weixin.qq.com/miniprogram…"
Node 主要用在开发 Web 应用。这决定了使用 Node,往往离不开 Web 应用框架。 Koa就是一种简单好用的 Web 框架。它的特点是优雅、简洁、表达力强、自由度高。本身代码只有1000多行,所有功能都通过插件实现,很符合 Unix 哲学。 本文从零开始,循序渐进,教会你如何使用 Koa 写出自己的 Web 应用。每一步都有简洁易懂的示例,希望让大家一看就懂。 零、准备 首先,检查 Node 版本。 $ node -v v8.0.0 Koa 必须使用 7.6 以上的版本。如果你的版本低于这个要
在开始这篇文章之前想先说一句:如果一套系统暂时没问题,那只是因为它的并发量不够而已。
作者:michaeywang,腾讯 IEG 运营开发工程师 同步、异步,并发、并行、串行,这些名词在我们的开发中会经常遇到,这里对异步编程做一个详细的归纳总结,希望可以对这方面的开发有一些帮助。 1 几个名词的概念 多任务的时候,才会遇到的情况,如:同步、异步,并发、并行。 1.1 理清它们的基本概念 并发:多个任务在同一个时间段内同时执行,如果是单核心计算机,CPU 会不断地切换任务来完成并发操作。 并行:多任务在同一个时刻同时执行,计算机需要有多核心,每个核心独立执行一个任务,多个任务同时执行,不需要
每个公共模块,特型,结构,枚举,函数,方法,宏和类型定义都应具有一个示例,用于该功能的练习。
为什么说版本控制系统非常有用?即使您只是一个人进行编程工作,它也可以帮您创建项目的快照,记录每个改动的目的、基于多分支并行开发等等。和别人协作开发时,它更是一个无价之宝,您可以看到别人对代码进行的修改,同时解决由于并行开发引起的冲突。
在上一篇致所有渴望学习Rust的人的信中我们介绍了Rust可以在命令行工具上也大有建树。
将近两年多没给大家更新文章了,今天晚上来点干货。总体来说19年到现在大环境不太好,各行各业都受影响,前段时间听说苏宁开启全员卖货模式,连副总裁都开始在朋友圈卖内裤了,哈哈哈,真是患难见忠臣啊,当然也听说xx二手车强制转岗、降薪,变相裁员。疫情期间让员工主动离职,不给赔偿,更可恶的是HR私自登录员工系统提交离职报告。我微信里的一个做二手服务器回收的老哥,18年收了两千多万的服务器,去年一半都不到;还有的朋友,单位开不出来工资,生活也受到很大的影响。总而言之,我是比较幸运的,有稳定的工作,有时候也会做一些游戏代练挣一些外快,反正吃饱饭是没问题了,哈哈。
Git没有一个全局版本号,而SVN有:目前为止这是跟SVN相比Git缺少的最大的一个特征
最近有几个其他项目组的童鞋给我之前的 转表工具链-xresloader 提了几个需求。然后我也根据我们近期一些需求点对转表工具链一起给这套工具做了点功能增强和细节上的一些改进。 这篇blog差不多是这些东西的 CHANGELOG了吧。
本文告诉大家如何使用 dotnet 6 提供的 Directory.CreateSymbolicLink 和 File.CreateSymbolicLink 方法创建文件夹和文件的符号链接
本篇主要介绍我们安装完毕Git后,如何创建作者和绑定邮箱,以及如何拉取和推送代码。并介绍这些命令的实际作用。
如果您曾经浏览过git 手册(或 run man git),那么您会注意到 git 的功能比我们大多数人每天使用的要多得多。很多这些命令都非常强大,可以让你的生活更轻松(其他命令有点小众,但仍然很高兴知道)。
- 下面就是一个完整的rewrite handler,这些内容都是写在http配置内的:
没错,我们确实可以通过二分的方式来查找,先确定查找的 commit 范围,试下中间的 commit 有没有问题,然后缩小范围,再试下中间的,逐步缩小范围直到只有一个 commit。
1. InnoDB 支持事务,MyISAM 不支持事务。这是 MySQL 将默认存储引擎从 MyISAM 变成 InnoDB 的重要原因之一; 2. InnoDB 支持外键,而 MyISAM 不支持。对一个包含外键的 InnoDB 表转为 MYISAM 会失败;
最近,州的先生在对 MrDoc 专业版(一个基于 Django 开发的在线文档系统)进行最后的上线测试工作。
本文作者:ivweb 程柳锋 背景: 随着开发团队规模不断发展壮大,在人员增加的同时也带来了协作成本的增加,业务项目越来越多,类型也各不相同。常见的类型有组件类、活动类、基于React+redux的业务项目、RN项目、Node.js项目等等。如果想要对每个项目进行一些规范的约束比如Git提交规范、Javascript规范简直难于登天。所有的这些,只因为缺少一个好用的工程化工具。从项目创建、开发、构建、代码规范检查到最终项目上线,通过CLI可以提升效率,同时保障开发规范的实施。 Node.js实现CLI的
作者:程柳锋 背景 随着开发团队规模不断发展壮大,在人员增加的同时也带来了协作成本的增加,业务项目越来越多,类型也各不相同。常见的类型有组件类、活动类、基于React+redux的业务项目、RN项目、
Go语言提供了log包,让应用程序能够将日志写入终端或文件。下面是一个简单的程序,它向终端输出一条日志消息。
通常前端建立搭建监控体系,主要是为了解决两个问题:如何及时发现问题、如何快速定位并解决问题。
本文主要介绍在k8s中收集应用的日志方案,应用运行中日志,一般情况下都需要收集存储到一个集中的日志管理系统中,可以方便对日志进行分析统计,监控,甚至用于机器学习,智能分析应用系统问题,及时修复应用所存在的问题。
在整个功能开发完毕的时侯,会有非常多的 commit,用 rebase 可以让我们的commit记录很干净
背景: 随着开发团队规模不断发展壮大,在人员增加的同时也带来了协作成本的增加,业务项目越来越多,类型也各不相同。常见的类型有组件类、活动类、基于React+redux的业务项目、RN项目、Node.js项目等等。如果想要对每个项目进行一些规范的约束比如Git提交规范、Javascript规范简直难于登天。所有的这些,只因为缺少一个好用的工程化工具。从项目创建、开发、构建、代码规范检查到最终项目上线,通过CLI可以提升效率,同时保障开发规范的实施。 Node.js实现CLI的基本原理 关键点在于package
如果你曾经浏览过git手册(或运行man git),那么你会注意到git的内容比我们大多数人日常使用的多得多。这些命令中有很多是非常强大的,可以让你的生活变得更轻松(其他的则有点小众,但还是要知道的)。
数据库系统设计中一个必须关注的瓶颈就是读写效率。由于数据库系统要处理高吞吐量的数据读写,由于数据量大,系统不能总是把所有数据都存储在内存中,但是频繁的操作磁盘就会导致系统效率大大降低,因此我们必须要有办法权衡数据在内存和磁盘上的存储, 我们要让数据尽可能多的从内存进行读写,尽可能少的触发磁盘操作,因此设计一个有效的缓存管理系统对效率有致命的作用。
这是一个非常漂亮的漏洞链,很久没见过了。我用docker来复现并学习这个漏洞,官方提供了docker镜像,vulhub也会上线这个环境。
Python 的logging 模块定义的函数和类为应用程序和库实现了一个灵活的事件日志系统。该模块提供多种日志级别并且支持多种记录日志的方式比如 终端,文件等等。在编写一个软件系统的时候 ,使用日志系统十分有必要 记录函数的执行过程和异常报错信息。本文算是一个学习笔记,对于跨文件引用的初学者有一定帮助。
let 会产生临时性死区,在当前的执行上下文中,会进行变量提升,但是未被初始化,所以在执行上下文执行阶段,执行代码如果还没有执行到变量赋值,就引用此变量就会报错,此变量未初始化。
在上一篇文章LSM-Tree - LevelDb了解和实现中介绍了LevelDb相关的数据结构和核心组件,LevelDB的核心读写部分,以及为什么在这个数据库中写入的速度要比读取的速度快上好几倍。
最近 CC 在编译,编译多次之后,有挺多人反馈会出现 OOM 的,在项目的根目录下面会出现 hs_err_pid*.log 的错误文件。内容大概如下
设置和配置 git config help 获取和创建项目 init clone 基本快照 add status diff commit reset rm mv 分支和合并 branch checkout merge mergetool log stash tag worktree 共享和更新项目 fetch pull push remote submodule 检查和比较 show log diff shortlog describe 修补 apply cherry-pick diff rebase revert 调试 bisect blame grep
假设第一个字段(:前面的字段,ReadError、WriteError等)是错误类型,总共有5个日志文件,filePath1, filePath2... filePath5
在大数据时代,具备高并发,高可用,理解微服务系统设计的人员需求很大,如果你想从事后台开发,在JD的描述中最常见的要求就是有所谓的“高并发”系统开发经验。但我发现在市面上并没有直接针对“高并发”,“高可用”的教程,你搜到的资料往往都是只言片语,要不就是阐述那些令人摸不着头脑的理论。但是技术的掌握必须从实践中来,我找了很久发现很少有指导人动手实践基于微服务的高并发系统开发,因此我希望结合自己的学习和实践经验跟大家分享一下这方面的技术,特别是要强调具体的动手实践来理解和掌握分布式系统设计的理论和技术。
当然也可以不用docker,直接在本机安装Jenkins。但对于操练DevOps技能来说,Docker是一个必修项目。所以本操练使用docker来搭建操练环境
我主要是负责我们这边(灵雀云)容器网络的事情,我们有一个开源项目叫 Kube-OVN,可能有的人知道,但我今天不讲那块儿,做容器网络的话,会知道名义上我们是开发,但是可能一多半的时间都在排查问题。今天的话我就给大家介绍一下,我们利用 DeepFlow 来帮助我们排查了一个比较困难、困扰我们比较长时间问题的一个案例,希望对大家有一些启发。
对于刚刚加入职场的新人来说,被分配到的第一个任务往往都是:从远程仓库把代码拉下来,并熟悉代码吧。如果你以前从来没有接触过Git,那么拉取代码都会有相当大的困难,因为你并不理解怎么拉代码。如果你以前接触过Git,并在学校使用过Git来进行代码的版本控制的话,那么你应该对Git有个基本的认识,至少会拉取代码,添加索引,推送代码到远程仓库等基本操作。其实大家在学习过程中都有一些基本的版本控制思想,那就是在写论文的时候,常常会保存多份文档,分别手动在文件的命名上进行版本控制,如下图所示:
Linux 的中心原则是,所有更改都必须分解为小步骤进行 —— 您的每个 commit 都只能做一件事。这并不意味着每个 commit 都必须很小,比如对在数千个文件中使用的函数的 API 进行简单更改,可以使更改量很大,但仍然可以接受,因为它是针对某一项单一任务的更改。 通过始终遵循此原则,项目维护者可以更轻松地识别和隔离任何有问题的更改,而不影响其他的功能。
500错误页面不会显示任何有关当前用户的信息,因为发生服务器错误时,Django不会通 过响应发送任何上下文信息。
领取专属 10元无门槛券
手把手带您无忧上云