技术文章

赠书|我是培训机构出身的程序员,不敢告诉任何人

五迷三道 提交于 2021-02-18 18:06:47
我之前也写过关于培训的文章,其实对于培训,我的看法是在慢慢改变的,现在的我一直觉得,培训真的是一条路,但是有一点,培训出身,有的时候真的会被有色眼镜看待,推荐一篇相关的文章给大家! 文末赠书! 作者丨褚杏娟 培训机构出身程序员和科班程序员之间,有鄙视链吗? 1“谁都看不上培训机构的” “我是培训 + 外包出来的,确实有被甲方嫌弃过。”2016 年从电子信息专业毕业的小右说起这个话题有些落寞。 公务员考试失利的小右在大四上学期开始找工作,但因为学习成绩一般,工作找得并不顺利。这个情况持续一段时间后,小右决定去参加某培训机构的 Java 培训。“电子信息专业虽说属于计算机范畴,但其实和编程还不一样的,我也是没办法。”小右很无奈。 培训机构的课程对有一定 C、C++ 基础的小右来说还算比较轻松。他所在的那家培训机构的上课内容就是老师带着做做项目,教的代码在后面工作中可以复用。几个月后小右从培训机构毕业,第一份工作是北京当地蛮著名的一个外包机构,薪资 5K。 与同批毕业找到不错工作的同学们比,小右还是感到些许心酸。“上课的学费,我是走的贷款。和培训机构签过协议,毕业就可以找到工作。找不到,损失由培训机构承担;找得到,机构每个月要从我的薪资里面抽一部分还学费。“北京的生活成本本来就高,加上机构的抽成,对于刚毕业的小右来说,无疑压力很大。 在这家外包公司呆了一年后,小右跳槽了—

栈和队列问题:设计一个有 getMin 功能的栈

泪湿孤枕 提交于 2021-02-18 17:55:01
【 知识点 】   栈是一个先进后出(FILO-First In Last Out)的数据结构,队列是一种先进先出(FIFO-First In First Out)的数据结构。 【 题目 】   实现一个特殊的栈,在实现栈的基本功能的基础上,再实现返回栈中最小元素的操作。 【 要求 】 pop、push、getMin 操作的时间复杂度都是 O(1)。 设计的栈类型可以使用现成的栈结构。 【 难度 】   一星 【 解答 】   在设计上我们使用两个栈,一个栈用来保存当前栈中的元素,其功能和一个正常的栈没有区别,这个栈记为 stackData;另一个栈用于保存每一步的最小值,这个栈记 stackMin. 压入数据规则(push)   假设当前数据为 newNum, 先将其压入 stackData。然后判断 stackMin 是否为空:   1). 如果为空, 则 newNum 也压入 stackMin。   2). 如果不为空,则比较 newNum 和 stackMin 的栈顶元素哪一个更小:如果 newNum 更小或两者相等,则 newNum 也压入 stackMin; 如果 stackMin 的栈顶元素更小,则 stackMin 不压入任何内容。这样处理的结果,则是 stackMin 的栈顶元素一定为 stackMin 中的最小值。 弹出数据规则(pop)   先在

Android 在 4G 下访问 IPV6 慢的解决方案

穿精又带淫゛_ 提交于 2021-02-18 17:54:45
Android 在 4G 下访问 IPV6 慢的解决方案 Android 4G ipv6 起因 今天,用户反馈 Android 端加载数据较慢,经 Android 开发人员排查后,发现在公司 wifi 下接口响应时间在 50ms 左右,而在 4G 网络下,接口响应时间在 600ms 左右,甚至于 1s 以上,Android 端认为是服务端问题,遂反馈到服务端 排查 首先检查 nginx 日志,发现不管是 wifi 网络下还是 4G 网络下,服务端的响应时间均在 30ms 左右,所以排除掉了代码的问题 向运维同学咨询了一下服务端的网络架构,原来为了 IOS 的 appstore 审核,服务端增加了 ipv6 支持,而 ipv6 的服务入口在美国,如下图: 网络架构 所以怀疑 Android 端解析域名时解析到两个 IP 后,优先使用 IPV6 连接的后端服务 验证 使用如下代码,验证 DNS 解析的 IP 地址 try { InetAddress[] inetAddresses = InetAddress.getAllByName( "server.xxxx.cn" ); for (InetAddress inetAddress : inetAddresses){ System.out.println(inetAddress.getHostAddress()); } } catch

Yotta企业云盘-智能化办公助手

时光怂恿深爱的人放手 提交于 2021-02-18 17:54:31
想到办公,往往想的是坐在办公室或者在咖啡厅,拿着电脑矜矜业业的敲打着电脑键盘。但往往总会有突发性的紧急情况需要处理,电脑不在身边,无法办公。或者重要的数据没有随身携带,无法及时回复,导致工作不能及时完成。 1.企业云盘大大提高了工作效率 在实际的办公过程中,需要存储和编辑各种数据和文件。 Yotta 企业云盘可以帮助公司提高工作效率并集中管理公司数据和文件。 各个部门可以共享信息时,可以协调多个部门,在线交流并快速收集数据,从而大大提高了工作效率。 2.电子文件管理 当对各种数据资料进行集中管理时,可以生成电子模型以实现灵活的管理。 在此过程中,公司还可以避免某些风险并保护数据和文件的安全性。 将企业云盘用于办公室可以帮助企业快速数字化数据文件并提高管理效率。 3.确保企业数据安全 在使用云盘的过程中,企业非常重视安全性和机密性。 Yotta 企业云盘使用区块链作为基础技术。 区块链的高冗余存储,高安全性和隐私保护特别适合于存储和保护重要数据。 同时,Yotta 企业云盘具有Truprivacy数据加密专利。 甚至云管理员也无法获取公司数据。 同时,它支持自动备份,水印保护,意外删除,身份验证等功能,以保护公司数据的安全并护送公司数字资产。 4.随时随地办公 移动互联网已逐渐进入工业互联网时代。 当疫情逐渐好转时,企业开始恢复工作,由于疫情而互联网经济继续快速发展

【算法】单元最短路径之Bellman-Ford算法和SPFA算法

旧时模样 提交于 2021-02-18 17:54:12
SPFA是经过对列优化的bellman-Ford算法,因此,在学习SPFA算法之前,先学习下bellman-Ford算法。 bellman-Ford算法是一种通过松弛操作计算最短路的算法。 适用条件 1.单源最短路径(从源点s到其它所有顶点v); 2.有向图&无向图(无向图可以看作(u,v),(v,u)同属于边集E的有向图); 3.边权可正可负(如有负权回路输出错误提示); 4.差分约束系统; bellman-Ford的具体操作是这样的: 初始化,dis数组表示从起点到达第i个点的最短距离。初始化时:dis[i]=edge[起点][i];如果没有边相接,则设为MAXN; 循环n-1次,遍历每个边,将dis[边[i].目标节点]=min(dis[边[i].目标节点],dis[边[i].初始节点]+边[i].权值); 【可选】检验负权回路:判断 边集合 中的每一条边的两个端点 是否收敛 。如果存在未收敛的顶点,则算法返回false,表明问题无解;否则算法返回true,并且从源点可达的顶点v的最短距离保存在 dis[v]中。 #include <bits/stdc++.h> using namespace std; int n,m; // Bellman-Ford algorithm struct Edge { int a,b,v; }edge[ 500005 ]; long long

设计模式之Prototype(原型)

落爺英雄遲暮 提交于 2021-02-18 17:53:57
? 原型模式定义: 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象. Prototype模式允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建的细节,工作原理是:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建。 如何使用? 因为Java中的提供clone()方法来实现对象的克隆,所以Prototype模式实现一下子变得很简单. 以勺子为例: public abstract class AbstractSpoon implements Cloneable {   String spoonName;   public void setSpoonName(String spoonName) {this.spoonName = spoonName;}   public String getSpoonName() {return this.spoonName;}   public Object clone()   {     Object object = null;     try {       object = super.clone();     } catch (CloneNotSupportedException exception) {       System.err.println(

.Net Core EF 使用整理合集

こ雲淡風輕ζ 提交于 2021-02-18 17:53:48
1. .NetCore中EFCore的使用整理 2. .NetCore中EFCore的使用整理(二)-关联表查询 3. EF Core 1.0 和 SQLServer 2008 分页的问题 4. EF Core中执行Sql语句查询操作之FromSql,ExecuteSqlCommand,SqlQuery .NetCore中EFCore for MySql整理 .NetCore中EFCore for MySql整理(二) .NetCore中EFCore for MySql整理(三)之Pomelo.EntityFrameworkCore.MySql 来源: oschina 链接: https://my.oschina.net/u/4276314/blog/3533039

深入理解计算机系统原书第2版》布尔代数练习题

◇◆丶佛笑我妖孽 提交于 2021-02-18 17:53:31
R (红) G (绿) B (蓝) 颜色 0 0 0 黑色 0 0 1 蓝色 0 1 0 绿色 0 1 1 蓝绿色 1 0 0 红色 1 0 1 红紫色 1 1 0 黄色 1 1 1 白色 A. 一种颜色的补是通过关掉打开的光源,具打开关闭的光源而形成的。那么上面列出的 8 种颜色每一种的补是什么? 颜色 R G B 黑色 1 1 1 蓝色 1 1 0 绿色 1 0 1 蓝绿色 1 0 0 红色 0 1 1 红紫色 0 1 0 黄色 0 0 1 白色 0 0 0 B. 描述下列颜色应用布尔运算的结果: 蓝色 | 绿色 = 1 1 1( 黑色 ) 黄色 & 蓝绿色 = 0 0 0( 白色 ) 红色 ^ 红紫色 = 0 0 1( 黄色 ) 来源: oschina 链接: https://my.oschina.net/u/98042/blog/201984

机器学习之决策树三-CART原理与代码实现

可紊 提交于 2021-02-18 17:53:04
决策树系列三—CART原理与代码实现 本文系作者原创,转载请注明出处: https://www.cnblogs.com/further-further-further/p/9482885.html ID3,C4.5算法缺点 ID3决策树可以有多个分支,但是不能处理特征值为连续的情况。 在ID3中,每次根据“最大信息熵增益”选取当前最佳的特征来分割数据,并按照该特征的所有取值来切分, 也就是说如果一个特征有4种取值,数据将被切分4份,一旦按某特征切分后,该特征在之后的算法执行中, 将不再起作用,所以有观点认为这种切分方式过于迅速。 C4.5中是用信息增益比率(gain ratio)来作为选择分支的准则。和ID3一样,C4.5算法分类结果存在过拟合。 为了解决过拟合问题,这里介绍一种新的算法CART。 CART(classification and regression tree) CART由特征选择、树的生成及剪枝组成,既可以用于分类也可以用于回归。 分类:如晴天/阴天/雨天、用户性别、邮件是否是垃圾邮件; 回归:预测实数值,如明天的温度、用户的年龄等; CART决策树的生成就是递归地构建二叉决策树的过程,对分类、以及剪枝采用信息增益最大化准则,这里信息增益采用的基尼指数公式, 当然也可以使用ID3的信息熵公式算法。 基尼指数 分类问题中,假设有K个类别,样本点属于第 类的概率为

【课程合集】深入浅出Greenplum内核,错过的课程都补回来

懵懂的女人 提交于 2021-02-18 17:52:25
为了让大家对Greenplum的内核有更深入的了解,让大家在开发或者是使用Greenplum过程中更加得心应手,2020年,Greenplum中文社区开展了《深入浅出Greenplum内核》系列直播公开课,邀请Greenplum原厂内核讲师,从开发人员视角,理论配合实例,深入浅出地详尽剖析Greenplum主要核心模块,讲解Greenplum模块背后的设计思路和工作原理,让你对Greenplum达到更深层的理解。 错过直播的也不用担心,这篇合集带你回顾所有精华内容!文字配合视频,满足你学习的全部需求。 相应PPT可前往Greenplum中文网站(cn.greenplum.org)的下载页面获取 第一课 深入解读开源大数据分析平台Greenplum架构 讲师:杨瑜 Greenplum原厂研发总监 Greenplum被Gartner2019认为是全球十大经典和实时数据分析产品中唯一开源数据库。第一课将逐次梳理Greenplum的四大基本内容:基本概念,数据组织,架构设计和核心模块,理论结合实践,深入浅出的带领大家进入Greenplum的世界。 内容纲要 1、Greenplum 概念及数据的组织 2、Greenplum 体系架构 3、Greenplum 进程模型 4、Greenplum 各大模块 相关阅读: Greenplum架构最详解读(内含视频) 第二课