一碗有勺子的鸡汤 我工作已经将近12年了,在华为做了5年,在UC做了6年,现在主要负责阿里游戏的中间件和组件的架构设计和实现,包括用户消息推送、系统异步通知系统等等。 同时我还带了三四十人的研发团队,除了工作以外,我也喜欢写博客,是CSDN、云栖的社区之星和博客专家,InfoQ的签约作者。 总体上来说,我现在虽然还算不上业界顶级的大牛,但在公司也算一头小牛了,今天我的分享将综合自己的成长经历给大家谈一谈怎么样成为一个大牛。我现在还在业界的大牛路上狂奔,但我觉得这些经验和技巧应该是每个同学都可以用到自己的日常
作者 | Mikel Bober-Irizar 翻译 | 刘畅 编辑 | Donna (备注:KPTI 在计算机中指 Kernel page-table isolation,是一种Linux内核功能,可以减弱安全漏洞带来的影响) 2018新年伊始,互联网公司发现了两个非常严重的新漏洞。这两个漏洞分别是熔毁(Meltdown)和幽灵(Spectre),它们主要会影响几大处理器供应商。 这些漏洞会使攻击者利用处理器在推测性执行时产生的错误,读取(并潜在地执行)其各自进程之外的存储器位置。这意味着,攻击者可以
SQLServer性能优化专题 01.SQLServer性能优化之----强大的文件组----分盘存储(水平分库) http://www.cnblogs.com/dunitian/p/5276431.html 02.SQLServer性能优化之---水平分库扩展 http://www.cnblogs.com/dunitian/p/6078512.html 03.SQLServer性能优化之---分表分库技术--(同义词+链接服务器) http://www.cnblogs.com/dunitian/p/6041745.html 04.SQLServer性能优化之---读写分离&数据同步(发布订阅) http://www.cnblogs.com/dunitian/p/6041758.html 05.换环境了,以后继续更 06.备份,07.xxxx,08.故障转移 09.SQLServer性能优化之---数据库级日记监控(XEVENT) http://www.cnblogs.com/dunitian/p/6022967.html 很久以前: 我为NET狂官方面试题-数据库篇 http://www.cnblogs.com/dunitian/p/6028838.html 我为NET狂官方面试题-数据库篇答案 http://www.cnblogs.com/dunitian/p/6041323.html 01.有朋友问了数据库ID不连续,怎么获取上下篇文章?(不是所有情况都适用) http://www.cnblogs.com/dunitian/p/5239049.html 01.在sql server中建存储过程,如果需要参数是一个可变集合怎么处理? http://www.cnblogs.com/dunitian/p/4501268.html 02.把插入的数据自动备份到另一个表中 ~ 语境:本地和服务器自动同步(非数据同步解决方案) http://www.cnblogs.com/dunitian/p/5367445.html 03.SQL:指定名称查不到数据的衍伸~空格 换行符 回车符的批量处理 http://www.cnblogs.com/dunitian/p/5416429.html 04.利用SQLServer数据库发送邮件 http://www.cnblogs.com/dunitian/p/6022826.html 05.SQL Server 无法连接到服务器。SQL Server 复制需要有实际的服务器名称才能连接到服务器。请指定实际的服务器名称。 http://www.cnblogs.com/dunitian/p/6041824.html 06."无法删除数据库,因为该数据库当前正在使用"问题解决 http://www.cnblogs.com/dunitian/p/6047760.html 07.SQLServer文件收缩-图形化+命令 http://www.cnblogs.com/dunitian/p/6047709.html 08.关于全局ID,雪花(snowflake)算法的说明 http://www.cnblogs.com/dunitian/p/6130543.html 09.数据库分离附加(附日记丢失的处理) http://www.cnblogs.com/dunitian/p/6165945.html 10.数据库改名系列(数据库名,逻辑名,物理文件名) http://www.cnblogs.com/dunitian/p/6165998.html 11.牛逼的OSQL----大数据导入(cmd) http://www.cnblogs.com/dunitian/p/5276449.html 12.【SQLServer】记一次数据迁移-标识重复的简单处理 http://www.cnblogs.com/dunitian/p/6195827.html 13.【恢复挂起的解决方案】附加文件时候的提示“无法重新生成日志,原因是数据库关闭时存在打开的事务/用户,该数据库没有检查点或者该数据库是只读的。 ”【数据库恢复】 http://www.cnblogs.com/dunitian/p/6197051.html 14.数据库备份相关 http://www.cnblogs.com/dunitian/p/6260481.html
所谓的文件权限,是指对文件的访问权限,包括对文件的读、写、删除、执行等,在linux下,每个用户都具有不同的权限,普通用户只能在自己的主目录下进行写操作,而在主目录之外,普通用户只能进行查找、读取操作,如何处理好文件权限和用户之间的关系,是本节讲述的重点。
用户权限管理之三(文件与权限的设定) 所谓的文件权限,是指对文件的访问权限,包括对文件的读、写、删除、执行等,在linux下,每个用户都具有不同的权限,普通用户只能在自己的主目录下进行写操作,而在主目录之外,普通用户只能进行查找、读取操作,如何处理好文件权限和用户之间的关系,是本节讲述的重点。 一查看文件的权限属性使用ls命令就可以查看文件的以及目录的权限信息,不带任何参数的ls命令只显示文件名称,通过“ls –al”可以显示文件或者目录的权限信息,看下面的输出: [root@localhost oracl
Linux流编辑器是在数据中心中运行脚本的一种有用方法。通过这些命令示例,您可以开始熟悉sed。
前言 从刚开始接触Mxnet这个框架到现在已经大概四个月了。Mxnet最吸引我的地方就是它提供了 很多语言的接口,其中有Scala(my favorite),这是我从Caffe转过来的原因之一。 Mxnet是我第一个参与的开源项目,可以说这四个月来我学到了很多东西。 本文的其中目的在于介绍一下如何用 Mxnet Scala 包来开发自己的 deep learning 的应用,有 哪些坑需要注意的,最后就是安利一下Mxnet 这个框架了。 然后,还有就是Mxnet Scala Pack
Linux 的中心原则是,所有更改都必须分解为小步骤进行 —— 您的每个 commit 都只能做一件事。这并不意味着每个 commit 都必须很小,比如对在数千个文件中使用的函数的 API 进行简单更改,可以使更改量很大,但仍然可以接受,因为它是针对某一项单一任务的更改。 通过始终遵循此原则,项目维护者可以更轻松地识别和隔离任何有问题的更改,而不影响其他的功能。
在大多数 UNIX 系统中,当前时间存储为自特定时刻以来经过的时间以简化,将时间保持为长整数。所有 UNIX 系统普遍接受的时刻是 1970 年 1 月 1 日凌晨 12:00:00。 这称为 UNIX 时间戳,并被所有现代 UNIX/Linux 系统识别。
有一年初,急需扩充后台Linux C\C++研发团队,需在2个月内招聘到20人。短期招聘这么多人,而且还要保证质量,且薪资并不属于一流的情况下,难度可想而知。 管理者的责任,不是做任何一件事都能处于顺境,而是在任何时候都要去想办法达成目标。而达成目标,光喊口号是不行的,执行者首先需要理性的分析,然后采取有效实用的方法,最后切实的去做这件事。 对岗位进行能力画像 把岗位的能力按照能力大厦模型建模,分别如下: 基础部分如下图: 编程语言是C系列语言,C,C++,Go,至少需要会一种就行,其余2种上手会很快;编
反规范化(Denormalization)是数据库设计中的一种技术,它通过增加冗余数据以提高查询性能或简化数据模型,通常用于解决由规范化(Normalization)带来的性能问题。规范化旨在减少数据冗余并确保数据一致性,但在某些情况下,规范化会导致查询变得复杂且缓慢,特别是在涉及多个表连接的情况下。
Linux系统是多用户操作系统,Linux系统通过识别用户名称对应的id号来判断,Linux用户名和id对应的关系都储存在我们常/etc/passwd中
从刚开始接触Mxnet这个框架到现在已经大概两年了。MXNet最吸引我的地方就是它提供了
来源:Medium 作者:Mikel Bober-Irizar 编译:刘小芹 【新智元导读】上周爆出的英特尔CPU漏洞门受到很大关注,Linux内核针对Meltdown漏洞出了PIT补丁,但据报告该补丁对性能影响很大。那么它对机器学习任务的影响如何呢?本文作者对神经网络(TensorFlow&Keras)、Scikit-learn、XGBoost等进行了使用和不使用PTI补丁时的性能比较,发现该补丁对性能的影响非常依赖于任务——有些任务不受影响,有些任务的性能下降了40%。 就在上周,互联网爆出两个新的
在用C/C++实现字符串切割中,strtok函数经常用到,其主要作用是按照给定的字符集分隔字符串,并返回各子字符串。
java TestLinuxDemo
业务外部:业务操作者业务权限、前置业务、业务能力要求、业务环境要求、后置业务、业务输入与输出、业务可视化(外观)、业务后续处理(日志、通知)
有一次魏艾斯博客遇到了 WordPress 后台只显示一个主题,不显示也无法切换到其它主题的问题,打开 WordPress 后台-外观,无法编辑当前主题。后来经过查找和分析原因,是因为权限问题,具体描
对于技术人员来说,“架构”是一个再常见不过的词了:我们会给新员工介绍整个系统的架构,参加架构设计评审,学习业界开源系统(例如,MySQL、Hadoop)的架构,研究大公司的架构实现(例如,微信架构、淘宝架构)……虽然如此常见,但如果深究一下“架构”到底指什么,大部分人不一定能够准确地回答。例如:
对于技术人员来说,“架构”是一个再常见不过的词了。我们会对新员工培训整个系统的架构,参加架构设计评审,学习业界开源系统(例如,MySQL、Hadoop)的架构,研究大公司的架构实现(例如,微信架构、淘宝架构)……虽然
简介 HiBench是一套基准测试套件,用于帮助我们评估不同的大数据框架性能指标(包括处理速度、吞吐等)的负载指标,可以评估Hadoop、Spark和流式负载等,具体的工作负载有: Sort WordCount TeraSort Sleep SQL PageRank Nutch indexing Bayes Kmeans NWeight enhanced DFSIO 等等 同样的它还可以用于评估Spark Stream、Flink、Storm和Gearpump。 工作负载 对这些工作负载进行分类记录如下,总
应届生硕士:科班出身的话 应届 大厂 月薪2w 一般 15薪; 中级工程师:工作2-3年 2~3w是常态 高级算法工程师:3~5w 工作5年以上 经验丰富 对应的文档能力要强 资深算法工程师:5w-10w 一般都是部门领导
在多个时间序列传感器上开发一个监测系统 照片由 lovely shots于 Unsplash 尽管多年来收集不同来源的大量数据变得更加容易,但公司需要确保他们正在收集的数据能够带来价值。为了帮助从数据中收集洞察力,机器学习和分析已经成为趋势性工具。由于这些领域需要实时的洞察力,大量不受欢迎的数据会造成实际问题。 在做出决定之前,关键是在采取行动之前,我们必须问:我们的数据中是否存在可能歪曲算法分析结果的异常情况?如果异常情况确实存在,关键是我们要自动检测并减轻其影响。这可以确保我们在采取行动之前得到尽可能
软件项目管理提供一种结构化和系统化的方法,以确保软件项目按时、按质量、按预算完成,并最大限度地满足客户的需求和期望。它提供了一套综合的工具和技术,帮助项目团队有效地规划、组织、监控和控制项目,以实现项目的成功交付。
Python Any Where!Python可以在我们的电脑上,当然也可以在我的手机上。
域名是一个快速找到指定上的服务器内容。同时也方便了。用户好搜索,域名。也是服务器的一种身份。域名也是在互联网进行实名制认证!
在对应用程序不断调优的过程中,除了制定完备的测试基准(Benchmark)外,还需要一把直中要害的利器——性能分析工具。
本文是关于容器安全的文章,展示了 10 种强化 Docker 基础架构并保护容器和数据免受恶意攻击的方法。
操作算是在软件开发里面功能非常齐全难度非常大的一个超级工程,目前国内掌握操纵系统技术的科技公司也是少的可怜,而且不完全是技术层面的东西了,还需要构建生态链,国内的阿里公司在这方面已经做过尝试了,只能讲不是很成功,主要开发出来了需要真的有人去使用,现在无论桌面的操作系统还是移动端的操作系统都有巨无霸存在,而且还是垄断性质般的存在,现在华为手机因为安卓禁止使用服务导致国外的销量下滑,现在华山一条路只能启动一个自主的操作系统的研发,还在华为公司已经做了大量的准备,不至于这么被动,但任重而道远。
测试驱动开发(Test-Driven Development),在极限编程中应用广泛,但测试驱动开发完全可以单独应用。 TDD的基本思路就是通过测试来推动整个开发的进行。而测试驱动开发技术并不只是单纯的测试工作。 优势 需求向来就是软件开发过程中感觉最不好明确描述、易变的东西。这里说的需求不只是指用户的需求,还包括对代码的使用需求。很多开发人员最害怕的就是后期还要修改某个类或者函数的接口进行修改或者扩展,为什么会发生这样的事情就是因为这部分代码的使用需求没有很好的描述。测试驱动开发就是通过编写测试用例,先
strtok()函数详解! 1.定义 分解字符串为一组字符串。s为要分解的字符,delim为分隔符字符(如果传入字符串,则传入的字符串中每个字符均为分割符)。首次调用时,s指向要分解的字符串,之后再次调用要把s设成NULL。在头文件#include<string.h>中。 2.原型 char *strtok(char s[], const char *delim); 3.说明 (1)当strtok()在参数s的字符串中发现参数delim中包含的分割字符时,则会将该字符改为\0 字符。在第一次调用时,strtok()必需给予参数s字符串,往后的调用则将参数s设置成NULL。每次调用成功则返回指向被分割出片段的指针。 (2)返回值
xeyes命令是一个图形显示程序。运行这个程序,你会看到一双萌萌的眼睛会一直盯着你。
零基础学习hadoop,没有想象的那么困难,也没有想象的那么容易。从一开始什么都不懂,到能够搭建集群,开发。整个过程,只要有Linux基础,虚拟机化和java基础,其实hadoop并没有太大的困难。下面整理一下整个学习过程,给大家一个参考。
“火速出击,绒装上阵”,3月29日,火绒安全旗下企业产品“火绒终端安全管理系统V2.0”推出Linux终端与macOS终端两个重要版本(下称Linux版、macOS版),并正式开启全网公测,欢迎广大新老企业用户前往火绒安全官网参与免费试用活动。
Windows操作系统是目前世界上使用最广泛的操作系统,但是在企业级服务应用上则是Linux系统更为专业与出名,也许听到Linux操作系统会觉得陌生,Android 操作系统(安卓)就是基于Linux平台的开源手机操作系统,在个人电脑桌面操作系统有ubuntu、centos、Fedora等都是基于linux。这个号称“全地球人的操作系统”,以其免费、安全、稳定等优点获得人们的广泛好评,我不会从一些敏感或有争议性的观点对两款优秀的操作系统进行对比,如安全性、性能等。 有人说:“Linux虽然应用广泛,但也有很多Windows 能处理的事情 Linux 实现不了。”事实上,Windows 能完成而 Linux 没有实现的功能,那就是Linux不需要实现的功能(也许只是暂时没有这方面的需求)。 Windows 下的某些功能确实是我们需要的,但是Linux 的开发者们和用户也需要这种功能,他们就会去实现这种功能,而且比 Windows 的方式好得多。对于 Windows用户而言,他们不知道自己想要什么,也不明白自己在做什么,更不打算为自己的行为负责。而对于Linux用户,他们知道自己想要什么,也明白自己在做什么,并且会为自己的行为负责。 在使用方式上,Windows用户更倾向于使用图形界面(GUI)进行相关的操作,他们利用鼠标和界面跟可视化的用户图形界面进行交互。而Linux用户更多的是通过键盘和字符界面,借助丰富而强大的命令行就能对系统操纵自如,这里明显可以看出使用Linux的学习成本是远远高于Windows的。 应用程序支持方面,Windows上拥有丰富的应用程序支持,而Linux也不乏力,但是对图形化应用工具而言,Linux上拥有的数量是远不及Windows的。但是反之,Linux的管理工具层出不穷,开发和生产支持的底层元件更丰富和稳定(如我们日常访问的网站后台,绝大多数都是奔跑在安装Linux的服务器上)。简言之,Linux的应用,更多是为开发者和生产环境而准备的,而Windows则更倾向于满足其庞大的家庭用户。 想必看完上面两者较量之后,我们对二者的应用场景也有了一些想法。对于应用场景,Linux更受开发者的青睐,由于Linux系统稳定、安全、强大,非常适合作为开发环境或实际生产环境。相反,Windows则聚焦在桌面操作系统上,适合大多数的计算机用户,能提供丰富的软件服务和简单的操作方式。事实上Linux也一直在尝试为众多的家庭用户做出改变,光是桌面环境Linux就有Gnome、Unity等风格,而Windows的Server则一直在追赶着Linux脚步,目前而言Windows Server也在日趋完善之中。 系统个性化方面,开源的Linux系统更容易接受定制。Linux有很多发行版(如Debian、Redhat等),而每一个发行版团队都会对Linux进行维护和软件的更新,更衍生了多个Linux发行版派系。由于Windows是闭源的,并且仅由微软公司所支持和维护,因此在个性化方面稍微欠缺,但是Windows每一个发行版都是跨时代的进步,当然Windows10只能说是仁者见仁智者见智了。 总而言之,Windows和Linux都在为驱动计算机操作系统前进而努力,尽管拥有不同的特性和应用场景,在实际环境中还是会面临抉择操作系统的尴尬场景,这时候就得充分去考虑你的需求了。 事实上,这两款伟大的操作系统都值得我们去尝试,Windows的使用也许已经成为我们的日常行为,但是,我们更应该鼓起勇气去尝试Linux这一开源的操作系统,跟我们一起学习Linux吧!对于Linux的学习,个人的建议是Linux基础书籍阅读 + Linux的实际操作 + 遇到问题时通过搜索引擎和社区寻求解决方案。书籍的话可参考《Linux就该这么学》这本最近非常火热且好评惊人的Linux书籍,而且这本书的知识讲解用的系统是最新的RHEL7,可以说是与时俱进的,非常适合快速入门Linux,章节中不乏真实的应用场景。Linux实操的话,对于新手而言,可以考虑安装桌面版的Linux,如Ubuntu等,对入门的知识点进行了解和实操之后,再安装Server版本的Linux更为合适。搜索引擎的话,更建议是使用Google,如何访问Google,大部分解决方案还是依赖Linux环境下的开源软件。
经常有人问我,为什么有的人工作10年仍然平台无奇,而有的人只用3年时间,就已经脱颖而出,成绩斐然。我说,是呀,有些参加工作多年却仍然只会复制粘贴简单业务代码,有些人在大学就写出Linux操作系统。其实这种巨大的差异在我们工作生活中反反复复出现,同时很多行业专家在不断的与普通人拉开距离,就像穷人和富人的财富不断距离不断拉大一样。
在过去的几天中,我编写了一个叫作 dnspeep 的小工具,它能让你看到你电脑中正进行的 DNS 查询,并且还能看得到其响应。它现在只有 250 行 Rust 代码。
圈复杂度(Cyclomatic Complexity)是衡量计算机程序复杂程度的一种措施。它根据程序从开始到结束的线性独立路径的数量计算得来的。
在基于Debian的Linux发行版中,默认的软件管理器是Advanced Packaging Tool, 也就是apt。本文将简单介绍下面有关添加和删除软件的命令:
本文主要对订单及订单设置功能的表进行解析,采用数据库表与功能对照的形式。 订单 相关表结构 订单表 订单表,需要注意的是订单状态:0->待付款;1->待发货;2->已发货;3->已完成;4->已关闭;5->无效订单。 create table oms_order ( id bigint not null auto_increment comment '订单id', member_id bigint not null comment '会员
在2018年初,互联网领域发现了两大系统漏洞,影响了主要的处理器厂商,这两大漏洞分别是“Meltdown(熔断)”和“Spectre(幽灵)”。这些漏洞是处理器前瞻执行的的漏洞,它允许攻击者读取其各自进程之外(以及潜在的执行)的内存位置,这意味着程序可以在其他软件的内存中读取敏感数据。 为了修复漏洞,Linux内核合并了一个名为KAISER或PTI(页表隔离page table isolation)的补丁,有效地修复了Meltdown攻击。然而,这一补丁会导致性能下降,CPU性能下降了5%到35%(甚至有一
超大规模和云构建者并不是唯一对 CXL 协议及其为系统创建分层、分解和可组合的主内存的能力感兴趣的人。HPC中心也在采取行动,本文谈论的是韩国科学技术高级研究所KAIST所做的一项有意思的工作。
与引用一个简单的版本号不同,识别 Linux 版本有很多种方法。即使只是快速查看一下 uname 命令的输出,也可以告诉你一些信息。这些信息是什么,它告诉你什么?
这个命令可以让我们将已经设置好的一段文字,匀速的在屏幕上打印出来,就像有机器人在敲键盘。
所谓实时,就是一个特定任务的执行时间必须是确定的,可预测的,并且在任何情况下都能保证任务的时限(最大执行时间限制)。实时又分软实时和硬实时,所谓软实时,就是对任务执行时限的要求不那么严苛,即使在一些情况下不能满足时限要求,也不会对系统本身产生致命影响,例如,媒体播放系统就是软实时的,它需要系统能够在1秒钟播放24帧,但是即使在一些严重负载的情况下不能在1秒钟内处理24帧,也是可以接受的。所谓硬实时,就是对任务的执行时限的要求非常严格,无论在什么情况下,任务的执行实现必须得到绝对保证,否则将产生灾难性后果,例如,飞行器自动驾驶和导航系统就是硬实时的,它必须要求系统能在限定的时限内完成特定的任务,否则将导致重大事故,如碰撞或爆炸等。
分治法更注重将问题分解成独立的子问题,并通过将子问题的解合并来得到原问题的解,时间复杂度较低;而回溯法更注重尝试和回溯的过程,在解空间中搜索符合条件的解,可能需要遍历所有的可能解,时间复杂度较高。在选择使用哪种算法思想时,需要根据具体问题的特点和要求进行选择。
用一个shell脚本遍历需要拉取的机器和需要拉取天数的日志(两者可配置),通过scp命令将应用服务器上的日志拉取到日志服务器上,然后压缩存盘。再将过期的日期删除
作者 | 陈开江 责编 | 何永灿 推荐系统工程师技能树 掌握核心原理的技能 数学:微积分,统计学,线性代数 周边学科:信息论基础 推荐算法:CF,LR,SVM,FM,FTRL,GBDT,RF,SVD,RBM,RNN,LSTM,RL 数据挖掘:分类,聚类,回归,降维,特征选择,模型评价 实现系统检验想法的技能: 操作系统:Linux 编程语言:Python/R, Java/C++/C,sql,shell RPC框架:thrift, Dubbo,gRPC web服务:tornado, djang
领取专属 10元无门槛券
手把手带您无忧上云