首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏非著名程序员

    程序员进阶宝典

    「变性」到女娲,噢,不对是「进阶」到女娲。 初级程序员需要监管和督促,需要有长着地提醒和带领,再加上勤学善思,初级程序员会随着时间的推移成长,成长时间段因人而异,一旦打开思路,就会思如泉涌,进步神速。 进阶秘籍:学习+实践 关于如何进阶,这个问题说起来很简单,但是却很抽象,没发具体严明,需要时间的推进、需要项目的锤炼、更需要切身地感悟和交流。 到了高级阶段,你基本就不用敲代码了,中级程序员才是敲代码的中坚力量,你只需要把复杂的变简单,把简单的变具体就可以啦,说的是不是很神奇。 记住:活到老,学到老,你才不会被淘汰,谁说程序员过了35就不能干了(我想说这句话的人大概都是不爱学习的人),那是假的,因为有能力的开发者到了50也是宝贝。

    83870发布于 2018-02-09
  • 来自专栏java一日一条

    推荐给初级Java程序员3进阶

    在这篇文章中介绍3本不错的技术书籍。作者认为这些书籍对新手或者学生而言尤其有帮助。通过一些基础性的教程入门后,我们可以使用Java做基础性的编程。 因此强烈推荐在校生(包括那些不清楚组合模式是什么的程序员们)阅读此书。 书中介绍的设计模式是程序开发中比较基本的编程模式,也是面向对象编程的程序员应该了解和掌握的。 《Effective Java中文版》第二版 每个Java程序员的书桌上都应该放有这本书。 就凭“Java集合框架开发者”这个称号,我们就应该认真听取这位值得尊敬的程序员的建议。这些建议在这本书中组织成78个点:读者可以按照自己的速度进行阅读。 读完这本书,程序员应该能意识到使用Findbugs、Checkstyle这些工具的必要性了。 ?

    76710发布于 2018-09-18
  • 来自专栏C语言讲解

    指针进阶3

    计算的是整个数组的大小,单位是字节 &数组名,这里的数组名表示整个数组,取出的是整个数组的地址 接下来是一些笔试题: #include <stdio.h> int main() { int a[] = { 1,2,3,4 [4] = { 0 }; printf("%d\n", sizeof(a));//3*4*4 = 48 printf("%d\n", sizeof(a[0][0]));//4 printf("% *a --> *(a+0) --> a[0] printf("%d\n", sizeof(a[3]));//16 a[3] --> int[4] return 0; } 对于以上代码中最后一行代码 [2] = { (0, 1), (2, 3), (4, 5) };//这个二维数组里是逗号表达式,如果想把0,1放在第一行,要用{ },所以二维数组中存的是1,3,5,0,0,0 int* p; p ;//ER printf("%s\n", *cpp[-2] + 3);//ST *cpp[-2]+3 --> **(cpp-2)+3 printf("%s\n", cpp[-1][-1] + 1

    20010编辑于 2024-01-22
  • 来自专栏技术进阶系列

    程序员进阶系列(1)

    进 阶 马克付出品精品系列 1、电脑部分 2、独立承担责任 3、工资年龄模型 4、遇到不会的怎么处理? 5、架构师职责参考

    16910编辑于 2022-12-12
  • 来自专栏我的计算机成长

    指针进阶3

    int a[] = {1,2,3,4}; printf("%d\n",sizeof(a+0)); a并非单独放在sizeof内部,也没有&,所以数组名a是数组首元素的地址,a+0还是首元素的地址。 int a[] = {1,2,3,4}; printf("%d\n",sizeof(*a)); a并非单独放在sizeof内部,也没有&,所以数组名a是数组首元素的地址. int a[] = {1,2,3,4}; printf("%d\n",sizeof(a+1)); a并非单独放在sizeof内部,也没有&,所以数组名a是数组首元素的地址,a+1就是第二个元素的地址。 {1,2,3,4}; printf("%d\n", sizeof(&a)); &a - 是取出数组的地址,但是数组的地址也是地址,是地址就是4/8个Byte。 int a[] = { 1,2,3,4 }; printf("%d\n", sizeof(&a[0])); &a[0]是首元素的地址, 计算的是地址的大小 4/8 个字节。

    24710编辑于 2024-01-23
  • 来自专栏Molier的小站

    程序员如何进阶

    程序员的职业生涯中一直逃不开的一个话题,也是网上议论最多的话题就是 “35 岁之后的码农的职业规划该走技术路线还是管理路线”,尤其是在疫情时代,大环境不好,各个公司各种各样的 “毕业典礼” 也让这个话题在程序员的圈子里被推上顶峰 对应到这个问题上来就是搞技术,更加纯粹,更加专一,也更符合码农的性格,缺点可能是,需要耐得住寂寞,持续钻研,回报周期长等;而做管理虽然听着好听,会有各种 title,但是事情更多更杂,需要处理很多技术之外的事情,也是大部分程序员不擅长的 毕业六七年左右:这段时间是技术深耕期,基于之前的方向深挖技术深度,提高自己的专业程度,其实这段时期对于程序员来说算是比较好度过的,只用专心研究技术,比较单纯和纯粹。 # Change 其实工作经验在三到五年的程序员想发挥自己专业优势,出色的完成本职工作,太正常不过,这个年限的人大都饱含激情与热情,并执着于自己在做的事情。 当你还是初学者或者中级高级程序员的话你的热情要用在技术探索上,追求最优的解法,最好的方法,出色的完成工作内容,同时保持学习;而当你是高级程序员,开始或已经在承担了一些管理工作的话,那么你的技术热情和精力应更多的用在探索自身和团队的边界并且从外部视角来发掘对业务有贡献的方向上

    34030编辑于 2023-08-24
  • 来自专栏全栈程序员必看

    Android程序员进阶之路

    本文主要论述的是android程序员进阶之路,博主本人就是一名android开发攻城狮,所以这里讲述的大多数是android开发攻城狮的技术进阶之路,如有问题请多指正。 大家都知道程序员之中有有菜鸟程序员和大神之分,这里我这暂时把android程序员分为几个层次:android初级程序员、android中级程序员、android高级程序员、android技术专家、CTO 更好的了解不同阶段程序员进阶之路才能把握好自身提高的方向,有目标的提高才是最有效率的提高。 当然了也有可能是web或者是其他方面的大牛转换过来的,想要成为一个高逼格的初级android程序员需要多看多读多写多想,能够看懂他人的代码。 (五)CTO 总结:似乎已不再是程序员的范畴; 技能:专注技术大的方向的把控; 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/130274.html原文链接:https

    35320编辑于 2022-07-01
  • 来自专栏python3

    zabbix-进阶-3

    安装,重启 //假如只监控tomcat的连接数,正在打开的网页数,就不在需要JMX ,脚本即可 zabbix的网络发现功能可基于如下信息进行 IP range 根据服务(FTP,SSH,WEB,POP3, $2}' 这个记录,建议在server上使用agent-get命令测试效果 //zabbix_get -s 10.0.0.101-k "agent.ping" //是一个key,对方的一个key 创建3个 :  51200 //51M小于51M为阈值,默认单位为k OK event generation:None //不会附带产生其他的问题 创建 graph Name:mem-usage-depaly 3. Mater-Proxy相比Master-Node的优点, 1.Proxy压力小,数据库之存储一定时间的数据 2.Master压力变小,数据不是源源不断获取,减小IO压力 3.架构更清晰,易维护 //DB #但被模式下,此参数被忽略 3.#说明:system.hostname是ZABBIX内置的一个自动获取主机名的方法,为了方便配置,建议打开此参数而关闭Hostname参数#。 4. 

    1.2K10发布于 2020-01-06
  • Java进阶-IO(3

    Sytem 类封装了 Java 程序运行时的 3 个系统流。 System.in:标准输入流,默认设备是键盘。 System.out:标准输出流,默认设备是控制台。 hello javase javaee 集合到文件改进版(自主练习) 步骤: 1)创建一个Student学生类(完整javabean) 2)创建ArrayList集合,泛型约束为Student类型 3) 遍历集合(增强for循环),得到每一个学生对象 6)把学生对象的数据拼接成指定的字符串(使用StringBuilder,并调用其append()方法实现拼接) 7)调用字符缓冲输出流对象的方法写数据(3

    42821编辑于 2024-03-04
  • 来自专栏路人甲Java

    我的程序员进阶之路

    2012年的时候,我参与了一个项目,我觉得那个项目是我职业生涯的一个转折点。经过那个时间节点后,我在能力,视野,心理上都获得了巨大的成长,也为自己后面的发展奠定了基础。

    46310发布于 2019-12-11
  • 来自专栏落影的专栏

    程序员进阶之算法练习(六)

    文集: 程序员进阶之算法练习(一) 程序员进阶之算法练习(二) 程序员进阶之算法练习(三) 程序员进阶之算法练习(四) 程序员进阶之算法练习(五) 代码地址 A 题目链接 题目大意:输入n n = 1:I hate it n = 2:I hate that I love it n = 3:I hate that I love that I hate it 代码实现: int n 比如说:1是必败,那么2就是必胜,3就是必败,4就是必胜。 C 题目链接 题目大意: 题目为模拟手机系统本地推送。 输入n、q。 n为应用数量,q为操作数量。 PS:因为没看清题目的操作3,导致误认为是最新的前y个,实际是最初产生的y个,这样导致的难度相差比较多。 归纳法: n = 2的时候,直接s到t的路径得到最优解; n = 3的时候,枚举能插入的位置,可以得到最优解; ...

    78960发布于 2018-04-27
  • 来自专栏二马读书

    程序员进阶架构师路线

    下面是作者根据自己15年的互联网电商经验总结的,Java程序员进阶架构师的路线图,希望对初入职场的同学和对自己技术发展路线不太明确的同学有所帮助! Java程序员进阶架构师学习路线图(双击查看清晰大图): ? 水平扩展能力 性能瓶颈(避免数据库,缓存中间件,消息队列,网络等称为系统瓶颈,保证系统水平扩展能力) 服务注册发现(在服务节点上下线过程中,自动发现服务节点,无需人工介入) 3.

    1.2K20发布于 2020-11-04
  • 来自专栏落影的专栏

    程序员进阶之算法练习(十六)

    example, Given [1,3],[2,6],[8,10],[15,18], return [1,6],[8,10],[15,18]. 题目链接 题目大意: 给出n个数字的数组a,a[i]表示第i天股票的价格; 现在要求进行最多两次买卖: 1、不考虑购买数量,利润就是价格差,要求买卖后利润最大; 2、手上不能同时持有两次股票; 3、 举例: [1,2,3,4] 利润最大是2;(只有一个选择1买、2卖、3买、4卖) 不能买1、2,在3、4卖。 ** 题目解析:** 题目要求交易两次,但是两次又不能重叠。 // 0: 1 buy, 1: one buy/sell, 2: 2 buys/1 sell, 3, 2 buys/sells 139. 复杂度解析: 时间复杂度是O(N^3), N^2的状态 * N的字典数判断。

    1.1K50发布于 2018-04-27
  • 来自专栏落影的专栏

    程序员进阶之算法练习(五)

    几乎所有的程序员都能做A题; 思维缜密的程序员可以做B题; 数学还没还给老师的能做C题; 接受过算法训练的能过D,E题; 看完题目大意,先思考,再看解析;觉得题目大意不清晰,点击题目链接看原文。 文集: 程序员进阶之算法练习(一) 程序员进阶之算法练习(二) 程序员进阶之算法练习(三) 程序员进阶之算法练习(四) 代码地址 A 题目链接 题目大意:2个人,投掷n次骰子,大的赢,问谁赢 求出K的所有约数,15=1,2,3,5,15。 于是,一个数的状态可以表示成从左到右的移动。 dp[i][j]表示前i个数字,能前进到第j个的最优解。

    1K90发布于 2018-04-27
  • 来自专栏落影的专栏

    程序员进阶之算法练习(二十)

    Sonya and Queries 题目链接 ** 题目大意:** 给出一个集合T,n个操作; 每个操作有3种情况: 1、往集合T里面添加一个数字x; 2、往集合T里面删除一个数字x; 3 Example ** input** 5 5 4 3 2 1 ** output** 12 样例解释: 1 2 3 4 5 |5 - 1| + |4 - 2| + |3 - 3| + | ** Examples** ** input** 3 ** output** 14 16 46 样例解释:表示在等级1、2、3的时候分别按14、16、46次加号; ** 题目解析:** 3*2) 3 3*2, 3*2+3, 3*2+3+3, ..., 3*(4*4*3) ... 2 3 1 4 0 4 3 4 output YES 0 1 5 2 1 2 3 2 3 1 4 8 4 3 4 样例解释:把边1-4的长度赋值为8。

    80640发布于 2018-04-27
  • 来自专栏落影的专栏

    程序员进阶之算法练习(十二)

    [s2] + dp[i - 1][j - a[i]][s1 - 1][s2] + dp[i - 1][j][s1][s2 - 1],边界条件为dp[0][0][0][0] = 1,时间复杂度O(NS*3^

    94070发布于 2018-04-27
  • 来自专栏落影的专栏

    程序员进阶之算法练习(十四)

    (没有输出-1) n, m and k (1 ≤ n, m ≤ 10^5, 0 ≤ k ≤ n) Examples input 5 4 2 1 2 5 1 2 3 2 3 4 1 4 10 1 5 output 3 input 3 1 1 1 2 3 3 output -1 题目解析 n个点,m条边,k个关键点。 Examples input 4 2 6 3 2 2 2 2 3 3 3 2 2 2 2 3 2 output 2 1 3 3 2 4 ? 5 1 1 2 1 2 3 2 2 1 2 1 4 3 1 7 4 1 3 1 2 3 3 2 4 3 1 4 1 7 4 1 1 4 2 9 3 2 8 3 3 3 4 3 4 4 4 1 3 4 1 2 ASK 2 2 3 3 ASK 1 1 4 4 output 15 52 ?

    75170发布于 2018-04-27
  • 来自专栏Scott_Mr 个人专栏

    程序员进阶之算法练习(一)

    但是和大牛之间的差距就是,可能别人3行代码实现的东西,你却要写10多行,并且性能比别人差。那么,让我们来学习一些算法吧。 主要分为以下3个要点: 全部为nil时,返回进位值; 有一个为nil时,返回不为nil的那个ListNode和进位值相加的结果; 都不为nil时,返回两个ListNode和进位值相加的结果。 例如: "abcabcbb" 最长的不重复字符子串是"abc",长度为3; "bbbbb" 最长的不重复字符子串是"b",长度为1; "pwwkew" 最长的不重复字符子串是"wke",长度为3; map[charactor] = i result = max(result, i-j+1) } return result } 思路: 本题目主要有3个注意点

    72730发布于 2018-07-05
  • 来自专栏落影的专栏

    程序员进阶之算法练习(一)

    tb + m * t2; printf("%.7f", ret); 题目解析: 要尽快的到达目的地,我们可以制定如下的策略: 1、车每次都要尽可能载更多的人; 2、车在开的同时人也走; 3

    86060发布于 2018-04-27
  • 来自专栏落影的专栏

    程序员进阶之算法练习(十七)

    要求:O(N)的时间和O(1)的空间复杂度; Example Given [1,2,0] return 3, and [3,4,-1,1] return 2. ** 题目解析:** 先不考虑题目要求的时间 把与底部连着的1统计起来,例如当row=3的时候,分别为[3,1,3,2,2]; 此时,题目与84. Interleaving String 题目链接 题目大意: 给出三个字符串s1,s2,s3; 判断字符串s3能否由字符串s1和s2组成,要求s1的字符串内字符的相对顺序不变,s2同理。 (假如s1=abc,那么在s3中,就不能变成bac,相对顺序必须是abc) For example, Given: s1 = "aabcc", s2 = "dbbca", When s3 = 那么只要s1[i+1]==s3[i+j+1],那么dp[i+1][j]=true; 同理,有dp[i][j]=true && s2[j+1] == s3[i+j+1] => dp[i][j+1]=true

    1.1K90发布于 2018-04-27
领券