在本篇文章中,我会对 Go 语言编程模式的一些基本技术和要点,这样可以让你更容易掌握 Go 语言编程。其中,主要包括,数组切片的一些小坑,还有接口编程,以及时间和程序运行性能相关的话题。
HTTPS是以安全为目标的HTTP通道,简单讲是HTTP的安全版。HTTPS相当于在HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。
# 057.Java面向内存编程 不等不靠,有囧有料。攻城狮,是一种精神,亦是一种品质。 从`面向增删改查`到`面向性能`编程,其关键一步是面向内存编程。 就像每次敲下`.`时,我们会脑补`NullPointerException`一样, 每个方法和类,我们都要脑补其生命周期,内存占用以及大概何时回收。 实际项目通常是师傅带徒弟,着急忙慌搞业务功能,其他基本靠框架。 在当性能出现瓶颈时,有的人会选择分布式,而我建议先关注以下, * 写一手好代码,可读性好,内存友好(编码攻城狮) * 调一手好参数,高吞吐,低
StackExchange.com上有两个帖子(地址见下文),帖子名叫“What is the single most effective thing you did to improve your programming skills?” – 对你的编程技术提高最有效的一件事是什么?
最近看到一篇关于单例模式较为详细的讲解的文章:https://coolshell.cn/articles/265.html 下面对此文章进行摘录 (Java)
开始以为是一些比较以前见过的一些变态题目,比如考察编译选项、数组越界之类的题目,结果没想到竟然是“脑筋急转弯”。在看答案之前,真的是花了点时间,才想出一种方法。看完答案以后恍然大悟,竟然可以这样,哈哈!晒一下耗子叔给出的答案。
基于 别人的个人 博客 做的一些启发性 化用 https://gine.me/posts/10a70927d25a43d19acf14e0d36354e7 What to write 周更内容,ARTS(耗子叔发起的活动) A:算法题,刷 leetcode,练内功心法。在学校或者在公司就做 周赛题 R:读一小时非技术书籍,感受作家的文字表达能力 T:原本是 Tip,我觉得 Tech 也行吧。技术方面的内容。 S:分享每周的见闻。我从各个渠道了解到的有意思有用的信息。 ARTS 计划(左耳朵耗子)
IT派 - {技术青年圈} 持续关注互联网、大数据、人工智能领域 来源:酷壳网-陈皓 链接: https://coolshell.cn/articles/10688.html 程序员这个职业究竟可以干多少年,在中国这片神奇的土地上,很多人都说只能干到30岁,然后就需要转型,就像《程序员技术练级攻略》(链接:https://coolshell.cn/articles/4990.html)这篇文章很多人回复到这种玩法会玩死人的一样。我在很多面试中,问到应聘者未来的规划都能听到好些应聘都说程序员是个青春饭。
程序员这个职业究竟可以干多少年,在中国这片神奇的土地上,很多人都说只能干到30岁,然后就需要转型,就像《程序员技术练级攻略》(http://coolshell.cn/articles/4990.html)这篇文章很多人回复到这种玩法会玩死人的一样。我在很多面试中,问到应聘者未来的规划都能听到好些应聘都说程序员是个青春饭。因为,大多数程序员都认为,编程这个事只能干到30岁,最多35岁吧。每每我听到这样的言论,都让我感到相当的无语,大家都希望能像《21天速成C++》(http://coolshell.cn/ar
但是,如果你的代码要共享或者和他人协作一起写代码,那就必须要收敛自己放荡不羁的灵魂和天马行空的想象力,按照团队制定的协作规范来完成代码工作。
今天大鹏请来一位大厂有 4 年工作经验的服务端资深工程师,在2020年多事之秋的节点,跟大家谈一下跳槽感悟,分享一下自己的面试经历
随着各种知识付费的兴趣,国内各种鸡汤文章满天飞, 入门的,精通的,大神级别的,往往都是反复的加工,输出,而真正写的好文档,沉淀多年的好文章往往都有了自己的博客平台. 这里记录下个人感觉非常不错的博客/RSS订阅
例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。27 写做 XXVII, 即为 XX + V + II 。
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。
https://stackoverflow.com/questions/2846653/how-to-use-threading-in-python
//创建对象 var chenhao = Object.create(null); //设置一个属性 Object.defineProperty( chenhao, 'name', { value: 'Chen Hao', writable: true, configurable: true, enum
注释中提到(x & lengthMod) is equal to (x % arr.Length)。 表示从没见到过这种优化啊,各种查资料才发现,其实这个有一个条件,即通常只有模去 2^n 才好直接用位运算做, x mod 2^n = x & (2^n-1)。
12306系统架构优化 coolshell陈皓优化方案 原文:http://coolshell.cn/articles/6470.html 一、业务复杂度比对 (1)qq业务模型:只访问自己的数据 (2)秒杀业务模型:秒杀能够只接受前N个请求,后续请求直接返回 (3)奥运会售票业务模型:注册+抽奖,非先来先抢,可以事后线下处理 (4)电子商务业务模型:c2c只需关注自己的库存 结论:库存是b2c的噩梦,12306业务与之类似 二、瓶颈 库存业务的操作模式基本是这样的: 1)占住库存 2)付款 3)扣除库存
CTF学习站点总结 0x00 前言 公众号的后台,有很多的朋友都在问,你们CTF是怎么入门的? 有没有什么东西能和我们分享下的? 有没有什么学习的网站啊之类的问题,想了很久,决定给大家分享一些。 没有py,ChaMd5 良心分享(重说三) http://www.chamd5.org/ 没有py,ChaMd5 良心分享(重说三) http://www.chamd5.org/ 没有py,ChaMd5 良心分享(重说三) http://www.chamd5.org/ 0x01 CTF 资讯 XCTF联赛
---- 新智元报道 编辑:编辑部 【新智元导读】年仅47岁的陈皓老师在创业中途,忽然离开了。我们失去了一位优秀的技术人。 沉痛悼念! MegaEase创始人、资深技术专家、骨灰级程序员陈皓(左耳朵耗子)于上周六突然心梗逝世。 因为出色的技术和高尚的品行,陈浩的不幸遭遇让许多人感到悲痛不已。 而他最后一篇博客,也停留在了5月8日。 因「叛逆」而成功的顶级程序员 陈皓有着20年软件开发及相关工作经验,先后在阿里巴巴、亚马逊、汤森路透等知名公司任职。 他擅长底层技术架构,对高性能,高可用性,
goroutine GoRoutine主要是使用go关键字来调用函数,你还可以使用匿名函数,如下所示: package main import "fmt" func f(msg string) { fmt.Println(msg) } func main(){ go f("goroutine") go func(msg string) { fmt.Println(msg) }("going") } 我们再来看一个示例,下面的代码中包括很多内容,包括时间处
首先说一个最重要的优化原则:代码优化是每天都要进行的,而不是一两个月做一次大优化,那时做就已经晚了。另外由于优化是每天做的,所以你不需要一次的就过度优化,保持小步快跑即可。
Chrome的开发者工具是个很强大的东西,相信程序员们都不会陌生,不过有些小功能可能并不为大众所知,所以,写下这篇文章罗列一下可能你所不知道的功能,有的功能可能会比较实用,有的则不一定,也欢迎大家补充交流。
接下来的几篇,二哥和大家聊聊容器的一些概念和容器安全。云原生看起来是横空出世,但如果仔细看看在这个概念出来之前的技术迭代和演进,我们会发现这一切冥冥之中早已安排。前人在“虚拟化”、“不可变基础设施”、“微服务”、“容器”、“容器编排”等领域各种各样的尝试使得云原生的诞生成为必然。
1. Linux简介 Linux可以有狭义和广义两种定义。狭义来说,Linux实际上指Linux kernel (内核)。内核负责管理硬件,并为上层应用提供接口。而广义来说,是指以Linux kernel为基础的,包括OS和各种应用在内的各个Linux版本(distribution)。尽管看起来版本眼花缭乱,但实际上,各个版本之间也只是大同小异,其差别往往体现在客户群、升级维护和界面等方面。 Linus Torvalds是Linux之父。他根据Minix系统的代码,参照UNIX系统的设计,写出了第一给Lin
Chrome的开发者工具是个很强大的东西,不过有些小功能可能并不为大众所知,所以,本文罗列了一些可能你所不知道的实用功能,也欢迎大家补充交流。话不多话,我们开始。
转载自 http://liqianglv2005.iteye.com/blog/2025016
为什么需要原子性操作? 我们考虑一个例子: (1)x++这个常见的运算符在内存中是怎样操作的? 从内存中读x的值到寄存器中,对寄存器加1,再把新值写回x所处的内存地址 若是有两个线程同时对同一个变量++,就会出现问题,如下: time Thread 1 Thread 2 0 load eax, x 1 load eax, x 2 add eax, 1 3 add eax, 1 4 s
我以前写过一篇《我是怎么招聘程序员的》的文章(在CSDN那里有很多人进行了回复)。今天,我想再谈谈关于招聘和面试这方面的东西,主要是以下这些原因:
今天是周五,先祝大家周末愉快哈,虽然过二天就又是周一了。周末的文章我一般都写的短一些。就如标题所言,现在有这么一篇难的教程,该怎么看? 先说一下,你要学习必须要看教程,那么这篇教程必须是你不懂的,它必
goroutine GoRoutine主要是使用go关键字来调用函数,你还可以使用匿名函数,如下所示: package main import "fmt" func f(msg string) { fmt.Println(msg) } func main(){ go f("goroutine") go func(msg string) { fmt.Println(msg) }("going") } 你可以简单的把go关键字调用的函数想像成pthre
容器在运行期间会产生临时文件、日志。如果没有任何配额机制,则某些容器可能很快将磁盘写满,影响宿主机内核和所有应用。
建造模式,也有翻译成生成器模式的,大家看到后知道他们是一个东西,都是Builer Pattern翻译过来的就行。它是一种对象构建模式,是将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
标题党了,其实是论VIM的使用。 做生物信息分析最合适的还是Linux操作系统,所以生信宝典在最开始就推出了Linux学习系列,由浅入深的讲述了Linux学习中的关键点。 主要文章列举如下: Linux学习-文件和目录 Linux学习-文件操作 Linux文件内容操作 Linux学习-环境变量和可执行属性 Linux学习 - 管道、标准输入输出 Linux学习 - 命令运行监测和软件安装 Linux学习-常见错误和快捷操作 Linux学习-文件列太多,很难识别想要的信息在哪列;别焦急,看这里。 Linux学
本系列文章一共三篇,分别为《脚本编程与 Linux 命令》、《接入层与网络基础》和《 MySQL 与 SQL 优化》,由腾讯高级工程师 luaruan(阮永顺) 原创、张戈博客整理分享,如有勘误请在博客留言。
语言本身 手册 学习一门语言,看手册成不了大牛,但是,看手册,一定能帮助你迅速了解语言本身 多读几遍手册,包括手册里面的 User Contributed Notes(用户评论) 通过熟读手册,PHP语言本身一定会有很大的突破,个人认为PHP手册也写的非常不错 闲暇之余,哪怕看一个函数,日积月累,都会有很大的收获 手册里面的User Contributed Notes部分,其实也是语言的最佳实践,完全可以 在日常代码中拿过来直接使用 PHP一些底层实现,可以先从hash table&数组
最差匹配找不小于n的最大空闲分区。可以避免出现太多小碎片,但外部碎片较多,释放慢。
从前接触脚本语言不多,但是自从遇到go之后,就开始慢慢喜欢上了这个脚本语言。go语言是google设计,主要用来从事web、服务器侧程序的开发,学习起点低。一般熟练掌握C、Python的朋友花上几个小时就可以学会go语言。 a) 安装环境 鉴于个人主要使用linux进行工作,所以这里介绍的都是linux下的安装方式。 centos: sudo yum install golang ubuntu: sudo apt-get install golang b) 学习资源 本来学习
点击上方蓝色“程序猿DD”,选择“设为星标” 回复“资源”获取独家整理的学习资料! 来源:coolshell.cn/articles/790.html 下面可能是你不曾用过后十个Linux的命令。相当的有用。 1)pgrep pgrep名字前有个p,我们可以猜到这和进程相关,又是grep,当然这是进程相关的grep命令。不过,这个命令主要是用来列举进程ID的。如: $ pgrep -u hchen 22441 22444 这个命令相当于: ps -ef | egrep '^hchen' | awk '{p
对LongAdder的最初了解是从Coolshell上的一篇文章中获得的,但是一直都没有深入的了解过其实现,只知道它相较于AtomicLong来说,更加适合写多读少的并发情景。今天,我们就研究一下LongAdder的原理,探究一下它如此高效的原因。
[题引]:都9012年了,你还在按着计算器做制冷设计?这里我们介绍使用javascript编程在小型制冷设计中的应用,远离重复烦躁的手工计算。此处选取了吴业正《小型制冷设计》中的案例,以便比较。
当你看到这篇文章的标题,你一定对这篇文章产生了巨大的兴趣,因为你的潜意识在告诉你,这是一本人生的“武林秘籍”,而且还是左耳朵写的,一定有干货满满,只要读完,一定可以练就神功并找到超过大多数人的快车道和捷径……
对 LongAdder的最初了解是从Coolshell上的一篇文章中获得的,但是一直都没有深入的了解过其实现,只知道它相较于 AtomicLong来说,更加适合写多读少的并发情景。今天,我们就研究一下 LongAdder的原理,探究一下它如此高效的原因。
作者:陈皓 出处:https://coolshell.cn/articles/7965.html
背景知识 哈希冲突 哈希是指通过某种方法把数据转变成特定的数值,数值根据mod对应到不同的单元上。比如在Java中,字符串就是通过每个字符的编码来计算、数字是本身对应的值等等,不过就算是再好的哈希方法
通常,我们会使用缓存用于缓冲对 DB 的冲击,如果缓存宕机,所有请求将直接打在 DB,造成 DB 宕机——从而导致整个系统宕机。
在学习某个技术的时候,我除了会用到上篇文章中提到的知识图,还会问自己很多个为什么。于是,我形成了一个更高层的知识脑图。下面我把这这个方法分享出来。当然学习一门技术时,Go 语言也好,Docker 也好,我都有一个学习模板。只有把这个学习模板中的内容都填实了,我才罢休。这个模板如下。
Docker虚拟化技术是基于容器化,容器化技术的本质其实是基于内核资源调度的再分配! 并不是什么新技术,只是近年Linux内核更加成熟,在资源调度隔离更成熟,所以容器化技术再被提上议程。
领取专属 10元无门槛券
手把手带您无忧上云