精华内容
下载资源
问答
  • 程序员书单

    2021-01-13 21:12:53
    程序员书单专题一:Java 基础篇书单专题二:代码优化篇书单专题三:计算机网络篇书单专题四:操作系统 && 计算机底层专题五:数据结构与算法专题六:缓存编程书单专题七:数据库书单专题八:微服务 &&...

    下面是书名,具体封面以及介绍查看原文

    也可在GitHub中查看:https://github.com/whx123/JavaHome

    专题一:Java 基础篇书单

    《Java编程思想》
    《深入理解Java虚拟机:JVM高级特性与最佳实践》
    《Head First 设计模式》
    《Effective java》
    《Java核心技术》
    《Java8 实战》
    《Java并发编程实战》
    《Spring揭秘》
    《MyBatis技术内幕》

    专题二:代码优化篇书单

    《重构:改善既有代码的设计》
    《代码整洁之道》
    《代码整洁之道 程序员的职业素养》

    专题三:计算机网络篇书单

    《计算机网络: 自顶向下方法》
    《TCP/IP详解》
    《图解 HTTP》
    《深入剖析Tomcat》
    《深入理解Nginx》

    专题四:操作系统 && 计算机底层

    《现代操作系统》
    《鸟哥的Linux私房菜:基础学习篇》
    《鸟哥的Linux私房菜 (服务器架设篇)》
    《Linux内核设计与实现》
    《编码:隐匿在计算机软硬件背后的语言》
    《程序是怎么跑起来的》

    专题五:数据结构与算法

    《数据结构与算法分析:Java语言描述》
    《算法导论》
    《编程珠玑》
    《算法》

    专题六:缓存编程书单

    《Redis设计与实现》
    《Redis开发与运维》

    专题七:数据库书单

    《sql必知必会》
    《高性能Mysql》
    《MySQL技术内幕:innodb存储引擎》

    专题八:微服务 && 分布式

    《微服务架构设计模式》
    《从Paxos到Zookeeper分布式一致性原理与实践》

    专题九:消息中间件书单

    《Kafka权威指南》
    《RabbitMQ实战指南》
    《Kafka权威指南》

    专题十:容器书单

    《Docker——容器与容器云》

    专题十一:面试相关书单

    《剑指offer》
    《程序员代码面试指南:IT名企算法与数据结构题目最优解》
    《编程之美:微软技术面试心得》

    专题十二:软件开发&&程序人生相关书单

    《领域驱动设计 软件核心复杂性应对之道》
    《人月神话》
    《程序员修炼之道》
    《软技能:代码之外的生存指南》
    《程序员思维修炼》
    《代码大全(第2版)》

    展开全文
  • 我的程序员书单

    2019-11-07 10:40:27
    @程序员书单 程序员书单 新的改变 《重构与模式》 《时间管理:小强升职记》 《人人都是产品经理》 《大话设计模式》 增加了支持甘特图的mermaid语法1 功能; 功能快捷键 撤销:Ctrl/Command + Z 重做:Ctrl/...

    @程序员书单

    程序员书单

    新的改变

    1. 《重构与模式》
    2. 《时间管理:小强升职记》
    3. 《人人都是产品经理》
    4. 《大话设计模式》
    5. 增加了支持甘特图的mermaid语法1 功能;

    功能快捷键

    撤销:Ctrl/Command + Z
    重做:Ctrl/Command + Y
    加粗:Ctrl/Command + B
    斜体:Ctrl/Command + I
    标题:Ctrl/Command + Shift + H
    无序列表:Ctrl/Command + Shift + U
    有序列表:Ctrl/Command + Shift + O
    检查列表:Ctrl/Command + Shift + C
    插入代码:Ctrl/Command + Shift + K
    插入链接:Ctrl/Command + Shift + L
    插入图片:Ctrl/Command + Shift + G
    查找:Ctrl/Command + F
    替换:Ctrl/Command + G

    合理的创建标题,有助于目录的生成

    直接输入1次#,并按下space后,将生成1级标题。
    输入2次#,并按下space后,将生成2级标题。
    以此类推,我们支持6级标题。有助于使用TOC语法后生成一个完美的目录。

    如何改变文本的样式

    强调文本 强调文本

    加粗文本 加粗文本

    标记文本

    删除文本

    引用文本

    H2O is是液体。

    210 运算结果是 1024.

    插入链接与图片

    链接: link.

    图片: Alt

    带尺寸的图片: Alt

    居中的图片: Alt

    居中并且带尺寸的图片: Alt

    当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。

    如何插入一段漂亮的代码片

    博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片.

    // An highlighted block
    var foo = 'bar';
    

    生成一个适合你的列表

    • 项目
      • 项目
        • 项目
    1. 项目1
    2. 项目2
    3. 项目3
    • 计划任务
    • 完成任务

    创建一个表格

    一个简单的表格是这么创建的:

    项目 Value
    电脑 $1600
    手机 $12
    导管 $1

    设定内容居中、居左、居右

    使用:---------:居中
    使用:----------居左
    使用----------:居右

    第一列 第二列 第三列
    第一列文本居中 第二列文本居右 第三列文本居左

    SmartyPants

    SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:

    TYPE ASCII HTML
    Single backticks 'Isn't this fun?' ‘Isn’t this fun?’
    Quotes "Isn't this fun?" “Isn’t this fun?”
    Dashes -- is en-dash, --- is em-dash – is en-dash, — is em-dash

    创建一个自定义列表

    Markdown
    Text-to-HTML conversion tool
    Authors
    John
    Luke

    如何创建一个注脚

    一个具有注脚的文本。2

    注释也是必不可少的

    Markdown将文本转换为 HTML

    KaTeX数学公式

    您可以使用渲染LaTeX数学表达式 KaTeX:

    Gamma公式展示 Γ(n)=(n1)!nN\Gamma(n) = (n-1)!\quad\forall n\in\mathbb N 是通过欧拉积分

    Γ(z)=0tz1etdt. \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,.

    你可以找到更多关于的信息 LaTeX 数学表达式here.

    新的甘特图功能,丰富你的文章

    Mon 06Mon 13Mon 20已完成 进行中 计划一 计划二 现有任务Adding GANTT diagram functionality to mermaid
    • 关于 甘特图 语法,参考 这儿,

    UML 图表

    可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图:

    张三李四王五你好!李四, 最近怎么样?你最近怎么样,王五?我很好,谢谢!我很好,谢谢!李四想了很长时间,文字太长了不适合放在一行.打量着王五...很好... 王五, 你怎么样?张三李四王五

    这将产生一个流程图。:

    链接
    长方形
    圆角长方形
    菱形
    • 关于 Mermaid 语法,参考 这儿,

    FLowchart流程图

    我们依旧会支持flowchart的流程图:

    Created with Raphaël 2.2.0开始我的操作确认?结束yesno
    • 关于 Flowchart流程图 语法,参考 这儿.

    导出与导入

    导出

    如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。

    导入

    如果你想加载一篇你写过的.md文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
    继续你的创作。


    1. mermaid语法说明 ↩︎

    2. 注脚的解释 ↩︎

    展开全文
  • 游戏程序员书单

    2018-10-11 14:18:11
    游戏程序员开发书单
  • JVM程序员书单

    2015-11-27 13:29:57
    JVM程序员书单 为什么是JVM程序员书单,因为现在Java已经不再单指Java编程语言了,而是说整个Java生态环境和基于JVM平台的各种虚拟机语言。如:Scala、Clojure、Groovy等。 《软件框架设计的艺术》 这是...

    JVM程序员书单

    为什么是JVM程序员书单,因为现在Java已经不再单指Java编程语言了,而是说整个Java生态环境和基于JVM平台的各种虚拟机语言。如:ScalaClojureGroovy等。

    《软件框架设计的艺术》

    这是Netbeans的创始人写的一本很有价值的书,里面的边角细节也很有料。国内市场上没有对这本书给予应给的赞誉。

    《Effective Java 第二版》

    被称为Java领域的圣经,小中见大。探讨的不仅仅是Java语言,也包括一些形而上的东西,取决于读的人理解多少。我在面试时喜欢考察一些基础的东西,以及背后的想法和初衷,可惜相当多的程序员这本书都没仔细阅读过。

    《并发编程实践》

    《Java并发编程》

    《Java 并发编程设计原则与模式》

    《代码的未来》

    《Programming in Scala》

    中文版是”Scala编程”,对scala程序员来说这本书你不能不读

    《Java解惑》

    《Java与模式》

    十几年前正是模式刚流行的时候,阎宏博士的这本书当时在中文圈里引起了很大反响,这本书算得上一本经典巨著。

    《程序设计语言》第三版

    《重构》

    《Java Rules中文版》

    《企业应用架构模式》

    《领域驱动设计》

    《Java虚拟机规范(Java SE 7版)》

    《Java程序员修炼之道》

    《HTTP权威指南》

    《TCP/IP详解卷1:协议》

    《TCP/IP详解卷2:实现》

    《构建高性能Web站点》

    《JAVASCRIPT语言精髓与编程实践》

    《深入剖析Tomcat》

    《Maven实战》

    《哥德尔、艾舍尔、巴赫:集异璧之大成》

    《An Introduction to Functional Programming Through Lambda Calculus》

    《分布式系统概念与设计(原书第3版)》

    《实用Common Lisp编程》

    《面向模式的软件架构 卷1:模式系统》

    《面向模式的软件架构 卷2:并发和联网对象模式》

    《面向模式的软件架构 卷3:资源管理模式》

    《面向模式的软件架构 卷4:分布式计算的模式语言》

    《面向模式的软件架构 卷5:模式与模式语言》

    《编程语言实现模式》

    《架构之美》

    《精通正则表达式》

    《浪潮之巅》

    《多处理器编程的艺术》

    《JAVA核心技术 卷II:高级特性》

    《Java核心技术 卷I: 基础知识》

    《程序员修炼之道——从小工到专家》


    转载:jvm程序员书单

    展开全文
  • 高效程序员 书单What does it mean to write efficient code?Efficient: achieving maximum productivity with minimum wasted effort or expense. 编写高效的代码是什么意思?高效:以最小的工作量或费用来实现最高...

    高效程序员 书单

    What does it mean to write efficient code?Efficient: achieving maximum productivity with minimum wasted effort or expense.

    编写高效的代码是什么意思?高效:以最小的工作量或费用来实现最高的生产率。

    Welcome to my humble blog. So glad you are here! Join me in a little investigation of the basics of Big O Notation and Code Efficiency.

    欢迎来到我谦虚的博客。 很高兴您在这里! 和我一起对Big O符号和代码效率的基础知识进行一些调查。

    What is Code Efficiency…

    什么是代码效率…

    Its a buzzy term that gets thrown around in meetups, lectures, and blogs. Broadly used to describe the speed and reliability of code, it is closely linked with algorithmic efficiency and the speed of runtime execution for software. In a time where AI, scalability, and Machine Learning are at the forefront of Software Development, the topic comes up time and time again.

    在聚会,演讲和博客中都充斥着一个笼统的术语。 广泛用于描述代码的速度和可靠性,它与算法效率和软件的运行时执行速度紧密相关。 在AI,可伸缩性和机器学习处于软件开发的最前沿的时代,这个话题一次又一次出现。

    What is Big O Notation…

    什么是大O符号...

    It’s a tool used in Computer Science to describe the performance and efficiency of an algorithm and analyze overall performance. It is used to determine the worst-case scenario for time required, or space used to complete execution of an algorithm. Big O is a valuable tool to determine the best implementation of a function based on performance, and provides us with a way to talk formally about how the runtime of an algorithm changes based on input.

    它是计算机科学中用于描述算法性能和效率并分析整体性能的工具。 它用于确定所需时间或用于完成算法执行的空间的最坏情况。 Big O是一种可根据性能确定最佳功能实现的有价值的工具,它为我们提供了一种正式讨论算法运行时间如何根据输入变化的方法。

    Time Complexity vs Space Complexity

    时间复杂度与空间复杂度

    Big O notation is used to measure time complexity and space complexity. Time Complexity: the amount of small operations that must be performed to complete operation.Space Complexity: the amount of additional memory that must be allocated to run the code in an algorithm. Often referred to as Auxiliary Space Complexity, meaning it refers to the space being taken up by the algorithm, not including space being taken up by the inputs

    大O符号用于测量时间复杂度和空间复杂度。 时间复杂度:完成操作必须执行的小操作的数量。空间复杂度:运行算法中的代码必须分配的额外内存的数量。 通常称为辅助空间复杂度,意味着它是指算法占用的空间,不包括输入所占用的空间

    Types of Complexity

    复杂性类型

    Time Complexity can fall within several different types. Here are a few of the more common types. 1. Constant / O(1): will always execute in the same time or space, regardless of size of the input data set. 2. Logarithmic / O(log n): the power to which a fixed number must be raised to produce a given number3. Linear / O(n): complexity will grow in direct correlation to the size of the input data4. Linearithmic / O(nlog n): performs an O(log n) operation on each item in the input.5. Quadratic / O(n²): performance is directly proportionate to the squared size of the input data

    时间复杂度可以分为几种不同的类型。 以下是一些较常见的类型。 1. 常量/ O(1) :将始终在相同的时间或空间中执行,而不管输入数据集的大小如何。 2. 对数/ O(log n) :必须增加固定数字才能产生给定数字的幂3。 线性/ O(n) :复杂度将与输入数据的大小直接相关4。 线性运算/ O(nlog n) :对输入中的每个项目执行O(log n)操作5。 二次/ O(n²) :性能与输入数据的平方大小成正比

    Image for post
    Diagram Courtesy of Colt Steele’s Javascript Algorithm and Data Structures Masterclass
    图由Colt Steele的Javascript算法和数据结构大师班提供

    Some Helpful General Rules when Determining Time and Space Complexity …Disclaimer: these are general rules that can prove to be a helpful starting point, but they will not always work.

    确定时间和空间复杂性时的一些有用的一般规则...免责声明:这些是可以证明是有用的起点的一般规则,但它们并不总是有效。

    Time Complexity

    时间复杂度

    1. Arithmetic operations are constant

      算术运算是恒定的
    2. Variable assignment is constant

      变量分配是恒定的
    3. Accessing elements in an array (by index), or an object (by key) is constant

      访问数组中的元素(按索引)或对象(按键)是常量
    4. In a loop the complexity is the length of the loop times the complexity of whatever happens inside that loop

      在循环中,复杂度是循环的长度乘以该循环内发生的事情的复杂度

    Space Complexity

    空间复杂度

    1. Most primitives are constant space. (booleans, numbers, undefined, null)

      大多数图元是恒定空间。 (布尔值,数字,未定义,空)
    2. Strings require O(n) space, where n is the length of the string

      字符串需要O(n)空间,其中n是字符串的长度
    3. Reference types are generally O(n), where n is the length of the array or number of keys for objects.

      引用类型通常为O(n),其中n是数组的长度或对象键的数量。

    Lets Evaluate Some Examples!

    让我们评估一些例子!

    Image for post

    In the above example the number of operations grows roughly proportionate with n. So if n is 100, then i will be added to the total 100 times.Time complexity for addUpToN will be linear / O(n)As far as space complexity, addUpToN has 2 variable assignments(total and i). These variables get reassigned as the loop completes its operation, but the space taken up by these variables remains the same no matter what the input data set size will be.Space Complexity will be constant / O(1)

    在上面的示例中,运算数量与n大致成比例增长。 因此,如果n为100,那么我将被加到总共100次。addUpToN的时间复杂度将是线性/ O(n)就空间复杂度而言,addUpToN具有2个变量分配(总计和i)。 这些变量在循环完成操作后重新分配,但无论输入数据集的大小如何,这些变量占用的空间都将保持不变。空间复杂度将为常数/ O(1)

    Image for post

    Here we have 3 simple operations(multiplication, addition, division). Regardless of the size of n the number of operations remains the same.Time Complexity of addUpToNAgain is constant / O(1)There is only one value that will be returned. The input value does not change the space being allocated to this function. therefore space complexity is also linear / O(1)

    这里我们有3个简单的运算(乘法,加法,除法)。 无论n的大小如何,操作数均保持不变。addUpToNAgain的时间复杂度为常数/ O(1)将仅返回一个值。 输入值不会更改分配给该功能的空间。 因此空间复杂度也是线性的/ O(1)

    Image for post

    Here we have a linear O(n) operation nested within another O(n) operation. As the input n scales, the runtime squares.Time Complexity of sumEachPair is quadratic / O(n²)If we recall from the helpful general rules earlier, reference types are generally O(n), which in this case is true. The amount of space that must be allocated directly correlates to the input value. Space Complexity is linear / O(n).

    在这里,我们在另一个O(n)运算中嵌套了一个线性O(n)运算。 随着输入n的缩放,运行时平方。sumEachPair的时间复杂度为二次/ O(n²)如果我们从较早的有用通用规则中回想起,引用类型通常为O(n),在这种情况下为true。 必须分配的空间量与输入值直接相关。 空间复杂度是线性/ O(n)。

    Recap…

    回顾……

    Understanding the time and space complexity of the code we write is an important tool we can utilize to ensure we maintain the fastest runtimes and fastest execution possible, all while staying within the bounds of the physical memory of the system it is intended to run on. 1. To analyze the performance of an algorithm, we use Big O Notation2. Big O Notation can give us a high level understanding of the time and space requirements of an algorithm

    了解我们编写的代码的时间和空间复杂性是我们可以利用的重要工具,可确保我们保持最快的运行时间和最快的执行速度,同时又始终处于要运行的系统物理内存的范围内。 1.为了分析算法的性能,我们使用Big O Notation2。 大O表示法可以使我们对算法的时间和空间要求有较高的了解

    翻译自: https://medium.com/@kelly.lynn.becker/be-an-effective-and-efficient-programmer-aabde20c673e

    高效程序员 书单

    展开全文
  • 程序员书单,StackOverflow 创始人推荐英文:codinghorror 译文:伯乐在线 - 艾凌风 链接:http://blog.jobbole.com/100450/
  • 2019年大龄程序员书单

    2021-01-07 23:31:45
    将散落各处的纸质书、电子书归纳起来,拉个书单,分享给大家,部分标记[推荐]的书,是个人读完感觉比较好,值得推荐给大家的好书。(技术书籍不在此列,自己专业的书就不拿出来拉书单了) 简单做个分类如下: 金融...
  • 如果让我做一个排名,我想这本书,可以在我的顶级程序员书单系列排名第10-15位,这是一本讲编程思想的书,里面的很多观念,我觉得在现在来看,依然是非常正确的指导意见,无论你是初级开发,还是架构专家,如果你没...
  • 顶级程序员书单系列四:《黑客与画家》

    千次阅读 多人点赞 2020-06-19 08:50:22
    本书在我的顶级程序员书单可以排到15-20名的位置,本书是技术类型的散文书。阅读此书,仿佛是在跟一位阅历丰富的长者对话,你跟着他,也走入了思考的世界。原来,这就是好的Coder,原来,职场之路还有无数的可能性。...
  • .net程序员书单

    2018-12-13 19:49:00
    C# 基础 《CLR via C#》 《c# 高级编程》 框架学习 《WPF编程宝典》 (英文名:《ProWPF4.5 inC#....《代码整洁之道》Robert C....《程序员的职业素养》Robert C. Martin(Bob大叔) 《修改代码的艺术...
  • 敖丙2019年12月11日阅读 48585关注《吐血整理》-顶级程序员书单集 你知道的越多,你不知道的越多 点赞再看,养成习惯 给岁月以文明,而不是给文明以岁月 本文 GitHub github.com/JavaFamily 上已经收录,有一线...
  • 大龄程序员书单

    2019-06-03 20:29:57
    代码之外的功夫:程序员精进之路(推荐) 软技能:代码之外的生存指南(推荐) 管道的故事(推荐) 复制猫营销101 让未来现在就来: 成为高效能的行动派 AI序列 AI.未来(李开复...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,979
精华内容 791
关键字:

程序员书单