Menu
首 页
专 栏
专 题
电子书
关于我们
活动分类
前端
人工智能
架构
区块链
职场
编程语言
技术管理
大数据
移动开发
产品与运营
测试
安全
运维
首页
Chat
专栏
发现
电子书
专题
消息
搜索
开通会员
登录 / 注册
团队入驻
添加小助手申请
团队入驻
下载APP
下载 App
即可获得 4 张优惠券
# 热门搜索 #
暂无
# 历史记录 #
清除历史记录
×
提示
此功能目前只对PC端开放,请用PC访问网站 gitbook.cn
×
微信扫码,发起Chat
微信扫描二维码联系客服
发布免费内容
· 即时创作和发布文章
· 读者可免费阅读
创作/发布文章
发布收费 Chat
· 发布话题开启众筹
· 为你的文章收费
· 可选择与读者在微信群交流
发布话题
设置密码
8-20位的数字混合密码更安全哦~
确定
修改密码
8-20位的数字混合密码更安全哦~
确认修改
绑定手机号
根据相关法规要求,请完善您的信息
获取验证码
确定
更换绑定手机号
当前手机号:undefined
获取验证码
确认更换
提交成功
平台会在 48 小时内通知您审核结果
查看我的创作
关注公众号
第一时间获得相关结果通知
提交审核失败
请检查您的网络状态后再试一次
重新提交
保存成功
订阅成功
保存失败,请重试
提交成功
全部
后端
架构
前端
互联网
运维
人工智能
职场
测试
移动开发
最新
热门
免费
严选
如何成为一个好的Java程序员
笔者:王某 工作履历:8年开发经验(4年全栈 + 4年java) Java 是当今最流行和最受喜爱的开发语言之一,如果加入个人情感,可以去掉“之一”。 有人总结过许多应该学习Java的理由,包括“高薪(实在~)”,“易学”,“强大的社区”,“丰富的API”,“平台独立”,“免费”,等等。而其最诱人的地方主要在于“高薪” “易学”,就像一样商品同时满足了“物美” “价廉”一样,实属难得。 如今Java 越来越受到欢迎,尤其是在网站开发和移动端,可谓万物生长,这就需要感谢高司令(创始人),感谢Sun(创始公司),感谢Oracle(收购者),感谢安卓......对于我而言还要感谢这些年就职过的公司,感谢XX,感谢XXX,感谢XXXX(保密O(∩_∩)O),感谢Java赏饭吃,感谢这一切的一切。 回到正题,如何成为一个好的Java程序员 1. 夯实基础(合抱之树,起于毫末~) 现在有很多的入门教程,各种视频,尤其是各种公开课(慕课网,腾讯课堂,阿里云课程......)。我们当初也是看过马某某,韩某某等视频的。看视频可以更快的入门,更容易上手,有个感性的认识。但是视频毕竟是老师教的,自己也要勤加思考和动手,而看书也是不可少的。 笔者不建议那种“21天从入门到精通~”之类的,个人推荐永不落幕的《Java编程思想》。还有一些生动有趣的书,比如《Head First Java》,"Head first 系列" 活泼易懂又深入浅出。当然了, 最好是结合官网(官网链接:https://docs.oracle.com/javase/tutorial/)。官网是英文的,看起来可能有点头大,如果能坚持下去效果会很好(配合翻译词典)。 老老实实打好基础是以后成为程序员真正的的捷径,而一上来东一下西一下,堆砌各种框架,感觉很厉害而不了解其本质以后走不远。所以花时间慢慢打好基本功,一点一点来(勿欲速欲速则不达~),基础牢固后学习就会快起来了。 后续会陆陆续续总结相关知识点出来~
大地不语 · 高级程序员
预订中 ·
1 订阅
作为前端开发工程师,不管是做网站还是管理系统中,都会用到javascript
,所以作为前端开发的人员,学好javascript,基本上你在以后的前端开发工作中会事半功倍,所以我在这里分享一下我的前端开发心得和开发前端工作应该作重点学习前端技术的部分。 如果你是刚入行的全前端开发者:我想对你说,你应该首先学习好前端开发中的“三剑客”,即html,css, js,其中你刚学html和css的时候你会感觉很简单,的确如此,可能你在学习js的时候你就会感觉很痛苦, 当时我初学前端的时候,在学习到javascript(即js)中的dom的时候也很痛苦,所以在学习js中的dom操作 的时候,首先应该学习dom操作的一些属性或者方法,然后在写代码之前应该想一想实现这个功能的思 路,第一步应该写什么,然后写什么,最后写什么,只有这样分步骤的实现和执行,你才可能写的出来, 这是做为刚入前端开发的时候,这样效果挺好,随着你写的越来越多的时候,这些都会很快就能写出来。 所以我在这里向刚学习前端的人员介绍一下学习前端的路线: html- css-js(重点dom)-jquery-ajax-vue/react(框架)。
久违 · 前端工程师
预订中 ·
1 订阅
js 拖拽实现
1. 例如: html部分: <div class="box"> </div> css部分: .box{ background-color: pink; width:200px; height:200px; border-radius: 50%; position: absolute; top:20px; left:100px; } js部分: var box = document.getElementsByClassName('box')[0]; function drag (ele){ ele.onmousedown = function(e){ var e = e || window.event; //此处是为了兼容IE,因为IE中事件对象是作为全局对象( window.event )存在的; var pageX = e.pageX || e.clientX + document.documentElement.scrollLeft; var pageY = e.pageY || e.clientY + document.documentElement.scrollTop; //获取鼠标相对盒子的位置; var boxX = pageX - box.offsetLeft; var boxY = pageY - box.offsetTop; document.onmousemove = function(e){ var e = e || window.event; var pageX = e.pageX || e.clientX + document.documentElement.scrollLeft; var pageY = e.pageY || e.clientY + document.documentElement.scrollTop; //将鼠标当前的坐标值减去鼠标相对盒子的位置,得到盒子当时的位置并将其赋值给盒子,实现移动效果 box.style.left = pageX - boxX +'px'; box.style.top = pageY - boxY + 'px'; } }; document.onmouseup = function () { //清除盒子的移动事件; document.onmousemove = null; }; } ; drag(box)
久违 · 前端工程师
预订中 ·
1 订阅
SpringBoot导出PDF文档的解决方案
在实际的项目开发中,经常会遇到生成pdf的功能,并且对pdf的样式有很高的要求,本文章给出了一种生成pdf的解决方案。 技术要求: 1、freemarker 2、itext7 方案思路: 1、通过freemarker定制pdf样式模板 2、模板填充数据后生成html文档 3、通过itext7把html转换为pdf文档 4、多个pdf文件压缩成zip 5、zip文件下载
星空 · 资深软件工程师
预订中 ·
9 订阅
MySQL进阶系列:索引底层原理剖析
开发中我们常常用到MySQL,却对MySQL的底层原理不了解,导致对很多MySQL知识点也是一知半解。 比如: 为什么建议表一定要加主键? 索引底层为什么使用B+树做数据结构? 为什么联合索引比普通索引查询效率更高? select a from table where b=1 order by c; 这条SQL该怎么建联合索引? 为什么联合索引有最左匹配原则? 为什么覆盖索引能加快查询效率?怎么才能用到覆盖索引? 索引下推是对索引做了哪些改进? 如果不了解索引的底层原理,那么任何SQL调优都是纸上谈兵、人云亦云。 本Chat将带你深入浅出的学习MySQL底层原理,从理论到实践,让你少走弯路、彻底搞懂MySQL底层架构。 本Chat通俗易懂,图文并茂,作者精心制作了大量插图,不枯燥,生动有趣,而且全是干货,细节满满,期待早日和你见面。 本Chat你将会学到以下知识: 1. 什么样的数据结构适合做索引? 2. 平衡二叉树、红黑树、B树各自有什么优缺点? 3. B+相比较B树,做了哪些改进? 4. 聚簇索引与非聚簇索引底层实现有什么区别? 5. 联合索引的底层结构的实现原理,以及应用场景。 6. 覆盖索引、索引下推、回表在底层怎么加快了查询效率? 7. 面试中常见的索引面试题,以及解答。
一灯架构 · 高级开发工程师
预订中 ·
1 订阅
TDD两级拆分模版及案例实战
经过TDD实践及深入思考,作者提出了TDD两级拆分模版,并在该模版的指引下进行了大量的实战,证明了模版的有效性和高价值。本Chat以猜数字游戏为例,进行实战和讲解,希望读者可以融会贯通,从而高效落地TDD。 本Chat的主要内容为: - 两级TDD - 狭义TDD - BDD - 广义TDD - TDD两级拆分模版介绍 - 统一语言模版 - 故事级to do list模版 - 任务级to do list模版 - TDD两级拆分模版实战 - 案例介绍 - 统一语言实战 - 故事级to do list拆分实战 - 任务级to do list拆分实战 - 代码实现要点 - API设计 - 分层测试 - GWT格式表达测试 - TDD节奏与代码提交 - Mock与Fake
张晓龙 · 架构师,DDD实践布道者
预订中 ·
1 订阅
图书管理系统:基于django的用户协同过滤图书管理系统
功能 登录注册、搜索、全部书籍、具体书籍、新书速递、热门书籍、图书分类、猜你喜欢、借阅书籍、购买书籍、购物车、个人中心 使用范围 适合做课程设计、毕业设计。 提供 可远程部署、详细说明文档、代码注释、可讲解其中关键代码。 在本场chat中: 1、怎么从零开始构建一个Django项目 2、一个基本的图书管理系统功能 3、两种推荐算法:用户协同过滤、物品协同过滤 适合人群:学生、python小白
爱编程的小梁 · 轻松学编程
预订中 ·
0 订阅
实战K8S容器调度,体会容器调度之美
在K8S环境下部署应用,掌握容器调度技巧至关重要。我们都知道容器调度方式有很多种,如何才能系统的掌握呢?本Chat 刚好就能帮你轻松解决这个问题。Chat 将通过实战演练的方式,通过举一系列的例子,让小伙伴轻松掌握 K8S 容器调度技巧,切身体会到 K8S 容器调度之美。Chat包括如下内容: - 最基本的调度方式:Node Name(根据节点名称调度) - 最实用的调度方式:Node Selector(节点筛选) - 最灵活的调度方式:Affinity(Node亲和度和Pod亲和度) - 最有意思的调度方式:Taints/Tolerations(污点/容忍) 适宜人群: - K8S技术爱好者
莫小钱 · 研发工程师
预订中 ·
4 订阅
稳定性体系化建设方法论
软件复杂性越来越高,稳定性的保障也越来越难,尤其随着服务规模越来越大,稳定性的重要性越发重要,可以说稳定压倒一切,如果系统不稳定,不能提供稳定的服务,小则造成用户一次很不好的使用体验,大则影响公司的生死存亡。本文是作者10多年在稳定性领域的积累,目前已形成一套体系化的方法论。如果你正在为稳定性问题困扰,感觉自己之前会的都是片面的点,以及曾经的面试中被问到稳定性问题,回答的东一句西一句没有重点,如果你有这方便的困惑,本文会为你一一解决。 本场Chat中,会讲到如下内容 ● 稳定性的本质认知 ● 事前防御体系建设 ● 事中快恢体系建设 ● 事后反哺体系建设 ● 稳定性的组织&amp;amp;amp;amp;amp;文化 适合人群:所有互联网的技术同学
一休 · 架构师
预订中 ·
4 订阅
程序员财富进阶的路径
为什么要写这个专栏? 1. 我发现很多程序员同行编程能力强到变态,但对财富积累却是小白。虽然凭借自己的努力,每月拿着“高薪”,却止步于眼前的这点现金,甚为可惜。 2. 我换了个赛道,囤积资产,发现工作的同时房子涨了150万,在我入行后端编程的第三年,光房产就积累了近700w,就像娶了个富婆,少奋斗十年。以及多个渠道带来的被动资金,支撑多套房的月供,而生活并没有受到太大影响。 3. 我也是个基层上班族,发现变得富裕是有既定路径可以遵循的,原来上班也可以低风险的快速积累财富。所以,我想通过这个专栏把自己的经验传播开来。 学习后能得到什么? 1. 多方面的财富知识,如何进行房产投资、规划信贷降低月供、基金定投、区分资产与负债、多个收入渠道。 2. 一份财富计划执行表,让财富以看得见的速度积累。 3. 一款记账软件,了解自己的财务开销,准确知道在哪些方面节流。 4. 择业与职业规划。 5. 两个快速赚回票价的方法。 如何值回票价? 1. 长期:通过正确的择业、职业规划获得主动收入的增长。 2. 短期:通过两个渠道迅速赚回学费,非常简单,亲测可用。
仲宇之 · 高级后端工程师
预订中 ·
7 订阅
多维度系统讲解并落地前端性能优化
前端性能优化应该是一个老生常谈的话题,但大部分前端只是一知半解,那么如何系统地学习前端性能优化就是今天我想分享的内容,本文将内容拆解以下维度去展开 1. 传输维度:减少传输过程损耗和缓存层的建设 2. 资源维度:资源自动化压缩以及一些属性的合理利用 3. 渲染维度:了解浏览器渲染链路,减少重绘回流 4. 代码维度:了解v8引擎的原理优化js代码 5. 打包维度:合理利用打包工具并可视化分析 6. 加餐内容:服务端渲染原理以及使用框架实践优化
wujackjack · 全栈工程师
预订中 ·
3 订阅
Docker零基础到实战
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。 本chat与大家分享话题如下: 1:docker概述 2:docker基础 3:docker仓库 4:docker镜像 5:docker容器 6:端口映射 7:容器互联 8:Dockerfile 9:DockerCompose 10:Docker安装Redis 11:DockerCompose构建Lamp
后厂村李校长 · 全栈ufo
预订中 ·
4 订阅
线程池的机制原理
本期主要讲解内容如下: 1、什么是线程池 2、线程池解决了什么问题 3、线程池的执行流程 4、线程池的工作原理 5、线程池的功能组件 6、从c语言的角度展示线程池 这里你会学到多个线程得创建,消息队列,线程间的通信、互斥锁、条件变量。
何日重到苏澜桥 · C/C++工程师
预订中 ·
4 订阅
PostgreSQL 安装部署:Citus 多种环境多种方式安装部署手册
拥有 PostgreSQL 能力,快速 PostgreSQL 部署。 PostgreSQL Citus 是数据库的一个分布式插件扩展,可以将数据分布到不同的 worker 数据节点,通过协调节点的整合,技术上可以实现应用透明访问,底层分布存储。想要使用 Citus ,这将帮你独立完成安装。你也快试试强大的PostgreSQL Citus 吧。 再多学一点点,这次我们聊聊 PostgreSQL Citus 安装部署。 - 单机 CentOS Citus 安装部署 - 单机 Ubuntu Citus 安装部署 - 单机多节点 CentOS Citus 安装部署 - 多机多节点 CentOS Citus 安装部署
ranbo · 高级数据库工程师
预订中 ·
3 订阅
手把手教你入门:TCP/IP协议
网络作为生活和工作中不可缺少的一部分,影响着我们每一个人。虽然从小学到大学都有接触网络的机会,但是很少有人能由浅入深讲解TCP/IP协议。本课程将从不同的角度切入,详细介绍TCP/IP协议。 课程内容将包括: 1. 从不同角度带你了解TCP/IP协议 2. 从物理层、链路层、网络层、传输层到应用层 3. 涉及ARP协议、ICMP协议、IPv4协议、UDP协议、TCP协议等 4. 介绍报文的几种传输方式,包括单播、广播、组播 5. 交换机、路由器的工作原理 6. 用生动形象的例子描述网络中的协议 ……
jasonj333 · 汽车总线协议
预订中 ·
7 订阅
Go 语言微服务实践:如何管理分布式配置
微服务开发框架带来的其中一个课题就是:当单体应用向微服务转型后,有大量的配置需要管理,而你并不希望登录到远端机器去更改配置,并重启应用,也不希望因为一个配置的变更,而发布一个新的软件包。那么分布式系统中每个进程的动态配置管理及运行时热加载就成为了一个亟待解决的问题 Java 的生态有 Netflix Archaius,之后 Spring Cloud 又包装了 Spring Cloud Config,来为开发者提供统一的分布式配置管理方案,生态可谓非常完善,那么 Go 语言生态中有相应方案么? Go 已经成为了编写云服务的一种非常流行的语言,我将在本文中介绍如何管理云上应用配置。 通过本文得到的收益: 1. 如何治理分布式系统中的配置 2. 如何在服务进程中使用配置 3. 不断服更新配置
田晓亮 · 首席工程师
预订中 ·
6 订阅
大数据翘楚-Kafka消息队列详解
Kafka作为Apache软件基金会开发的一个开源流处理平台,是一种高吞吐量的分布式发布订阅消息系统,在分布式系统和大数据领域是不可忽略的存在。这篇博文将会介绍Kafka是如何做到高并发、高容错和低延时的。 本Char内容: 1. kafka的特性与使用场景方式 2. kafka的存储结构 3. kafka的分区机制 4. 如何保证消息可靠性 5. Producers和Consumers的关系 6. kafka与zookeeper的关系
贾斯汀 · Java大数据工程师,嵌入式耕耘者
预订中 ·
7 订阅
二叉树的十种遍历方法
对于研发来说,二叉树是怎么也躲不过的一道坎,不管是前端后端,面试时多多少少会问到树的相关内容,出现二叉树的内容更是数不胜数,可你真的知道怎么遍历二叉树么? 有基础的同学应该都知道二叉树有三种遍历顺序:前序、中序和后序,可每种顺序有几种遍历方式呢?有没有万能方法可以稍微修改就可以实现三种遍历方法呢?本次 Chat 会解决这些相关疑问,我们将了解到: 1. 完备的二叉树基础知识介绍; 2. 前序、中序、后序的原理分析; 3. 每种顺序有迭代、递归、Morris三种解法; 4. 附带颜色标识法作为万能解法; 5. 图文配合介绍,顺序一目了然; 6. 对应Leetcode具体题目,溯本求源
The Zheng · 研发攻城狮
预订中 ·
7 订阅
CANoe之CAPL编程语言入门
随着汽车电子越来越热门,车载总线协议成为了汽车工程师的必备技能。而CANoe作为应用最广泛的汽车领域的总线仿真测试工具,其中的编程语言CAPL尤其重要,是汽车工程师,尤其是测试工程师的必备技能。 此课程将梳理CAPL语言的语法、用法以及一些使用中的注意事项,不少于30篇内容。 1. CAPL简介 2. CAPL关键字 3. CAPL指令、表达式和运算符 4. CAPL类的实例化、数组、结构体等 5. CAPL普遍性函数等 6. CAPL与CAN有关的函数 7. CAPL之TCP/IP接口函数 ……
jasonj333 · 汽车总线协议
预订中 ·
4 订阅
kunbernetes从开始到放弃
本场 Chat 分享主要介绍容器编排工具,以kunbernetes为例阐述在中小企业的使用现状,存在的方式和存在的价值。 本场 Chat 内容将涉及如下: 1. 容器编排的历史,kunbernetes的由来。 2. 为何大家都钟爱kunbernetes。 3. kunbernetes真的适合你或者你们公司吗。 4.中小企业是不是有更合适的其他选择。 5. 服务化的未来发展方向会是什么。
GeorgeWei · 勤杂工
预订中 ·
8 订阅
-- 我们是有底线的 --
登录 GitChat
获取验证码
验证即登录,未注册则自动创建新账号
忘记登录密码
登录
密码登录
登录即表示您同意
《用户协议》
设置登录密码
验证即登录,未注册则自动创建新账号
保存并登录
返回
找回密码
获取验证码
8-20位的数字混合密码更安全哦~
保存并登录
跳过
温馨提示
若您曾经在微信端使用过 GitChat 产品 请您绑定微信以避免数据丢失, 也可以在设置/微信绑定里进行绑定
绑定成功
请使用微信APP扫描二维码绑定
微信登录
请使用微信APP扫描二维码登录
绑定手机
绑定手机可以和微信端保持数据同步
获取验证码
8-20位的数字混合密码更安全哦~
确认并登录
×
帐号设置
头像
选择头像
最佳分辨率:200*200像素
昵 称:
微信号:
头 衔:
背景介绍:
正在上传头像,请稍等......
正在更新,请稍等......
邮件地址格式不正确,请重新填写
此邮件地址已经被其他用户使用