如果你想or即将成为一名程序员,那你需要知道这些东西!上岗须知~

前两天公司学院的同学给我看了一下即将入职的应届生的数量,真是不少。感慨一下,一批新人即将到来,而自己又老去了一岁。码农是一个必将终身学习的职业。而相关的知识越来越多了。接下来该学什么?接下来该干什么?这个需要你对自己,对这个行业,对供需关系有自己的判断。 码农需要学习的对于这么多的知识,我把它们分成这些类别: 大致上每一类知识对应了一个分工的角色。 这三个模块构成了所谓的基础架构。他们解决的都是机器,以及机器引起的问题。主要的问题就两个: ☆ 可用性问题: 机器都是会出故障的,软件也会有bug。...阅读全文

简书 2020-08-21 15:32:41 C语言编程学习基地

电商网站opencart大流量接口的golang迁移:使用iris+gorm

1.选型1.1 web框架:iris。结构合理,示例多,文档丰富。1.2 orm:gorm。model struct 生成使用xorm。目前比较看好的还有https://github.com/facebook/ent,就是暂时还不完善。2.设计具体的代码结构3.代码分层 遵循CQRS原则,repo负责query,cmd移到下层的models中去。4.实现商品详情接口4.1 api/main.go4.2 api/routes/routes.go4.3 api/controllers/product...阅读全文

Segmentfault 2020-08-28 16:32:37 leetesla

运维平台 py/go 调用钉钉工作流api接口示例

运维平台 py/go 调用钉钉工作流api接口示例 py或者go找了好多开源的工作流引擎,但是没有找到一个合适能用的。最后决定用钉钉的审批 当工作流引擎,运维平台 通过API接口去调用使用。基本能够满足实际需要。缺点是 需要公司或者部门内部 用钉钉来走审批。 下面例子为python版本。go的自己改一下调用就可以。 示例 创建接口 创建审批工单 执行效果 代码 #!/usr/bin/env python # -*- coding: utf-8 -*- import json import req...阅读全文

51CTO博客 2020-08-20 17:05:59 295631788

Go系列 | 01、Go环境搭建&开发工具Goland配置

一、前言当开始学习一门新的语言,如何能够快速的进入状态以及入手,我们除阅读官方文档之外的,首要任务 就是搭建一套环境,并且安装好相应的开发工具。本文将以mac举例,搭建一套环境go的环境和开发工具goland的安装配置。二、Go环境安装2.1、安装包地址https://studygolang.com/dlhttps://golang.google.cn/dl/https://golang.org/dl/2.2、安装步骤1、打开安装包下载界面(本文截图来自于http://studygolang.c...阅读全文

Segmentfault 2020-08-28 09:32:34 喝醉的清茶

MIT6.824分布式系统课程 翻译&学习笔记(一)介绍 & MapReduce【持续更新中】

说明本系列文章是对大名鼎鼎的 MIT6.824分布式系统课程 的翻译补充和学习总结,算是自己一边学习一边记录了。如有疏漏错误,还请指正:)持续更新ing。。。翻译&补充内容本课程主要涉及应用的基础架构,包括:存储通信计算终极目标隐藏分布式复杂性的抽象。在我们的研究中,还有大量的主题重复出现。主题:实现RPC,线程,并发控制。【多个实验】主题:性能目标:可扩展的吞吐量N倍服务器 -> N倍吞吐量,通过并行的CPU、硬盘、网络。【图表:用户,应用服务器,存储服务器】所以承担更多的负载只需要购买更多的...阅读全文

Segmentfault 2020-08-25 16:32:33 raesnow

合理的timeout设置,让系统的SLA大幅提升

如何更好的设置timeout 为什么会有timeout 百度了一下timeout的字面意思,就是简单的“超时”,那么timeout为什么跟我们编程息息相关,我没有找到timeout的最初的出处,但是我自己想了一下,这个应该是跟tcp/ip协议一起出现的,timeout应该是伴随着io出现的,io又分为网络io和磁盘io,当时我们不太关注磁盘io,主要关注的是网络io,所以我感觉是跟tcp/ip协议一起出现的,这个具体还要在查一下。如果网络交互没有timeout会出现一个什么情况?我不知道对端是否...阅读全文

简书 2020-08-21 08:32:41 小石桥胡同

2020-08-20 晚上面试

2020-08-20 晚上面试 自我介绍 你最近做过哪些项目。 为什么要离职。 更公平的竞争环境和脱离舒适圈。 你的项目里有对redis的多次操作,怎么提高效率。 利用redis的pipe,将多次redis操作合并一起,降低网络延迟。 刚刚你说到sortedset,sort是怎么实现的。 利用了跳表实现了排序。 sortedset的查询一个数据的时间复杂度是怎么样子的? 一开始答的logn,面试官说你确定吗?我就不确定了,查了一下,确实是logn。 跳表是怎么实现的? 仍然是链表的结构,但是多了...阅读全文

简书 2020-08-21 01:32:39 yellowone

Golang 中一个 time.Duration 相关类型转换问题

int (const 和 非const) 转换为 time.Duration 这是一个常见的操作,但是我们会遇到以下代码中的问题,甚是疑惑~ 问题 package main import ( "fmt" "reflect" "time" ) const a = 1 func test(a time.Duration) { fmt.Printf("%v \n", a) } func main() { b := a + 1 fmt.Printf("---- a = %v \n", reflect.T...阅读全文

简书 2020-08-20 23:32:47 joyousx

2020 年最牛逼的 10 门编程语言

先看再点赞,给自己一点思考的时间,微信搜索【沉默王二】关注这个有颜值却假装靠才华苟且的程序员。 本文 GitHub github.com/itwanger 已收录,里面还有我精心为你准备的一线大厂面试题。 对于很多初学编程的人来说,尤其是马上要入学的大一新生来说,选择哪门子编程语言实在是个痛苦的事。选择对了,毕业后顺利找到工作,完美走向职场;选择错了,毕业后受伤的才华无处安放,大学算是虚度光阴了。 前一段时间哈,我有个远房的亲戚,她家的小孩非要让我指导一下。然后就带了一本书来见我,看了一下封面,...阅读全文

简书 2020-08-20 23:32:46 沉默王二

golang context 初步

使用场景 主要有下面两点: 控制一组关联的goroutine的生命周期,WithCancel,WithTimeout,WithDeadline,WithTimeout 在一组关联的goroutine之间传递数据,WithValue 具体实例 1. WithCancel 实例,一个cancel操作,取消掉所有的子goroutine package main import ( "context" "fmt" "time" ) func worker(ctx context.Context, valu...阅读全文

Java实习生一般进公司去做什么呢?

对于实习生而言,其实很多公司要求都不是很高,毕竟对你的要求要对的起给你的工资水平,很多公司肯定都知道你本身的大体水平,不会期望太高,只是让你边学习边工作,如果你足够聪明伶俐,足够好学,可能就多培养你一些。不过不同水平的公司(BAT>TMD>其他优秀的互联网公司>小型创业公司),肯定是对你的培养程度不同的,相应的对你实习的要求肯定是不同的。不要认为对你要求越高,得到的实习工资就会高,不是的,像腾讯阿里等公司对于实习生技术要求很高,但工资就在两三千左右,但以后的发展却是远远大于这个价值的。一、BAT...阅读全文

简书 2020-08-20 23:32:43 小战老师web前端学者

你看得上瘾的斗鱼,首次在 GitHub 开源了自家项目!

推荐阅读: 我总结了72份面试题,累计3170页,斩获了30+互联网公司offer(含BATJM) 2020首战告捷,这份Java面试神技Plus版,让我成功拿到了阿里、京东、字节跳动等大厂offer 疫情之下,收到美团电话面试(成功拿下offer),附学习路线+刷题库 前不久,斗鱼将基于 Go 语言的微服务框架 Jupiter 开源。作为国内知名的互联网直播公司,这也是斗鱼首次以公司的名义正式推出开源项目。 近年来,得益于日渐增长的高并发业务需求,微服务架构开始在国内逐渐普及。同时,专为高并发...阅读全文

简书 2020-08-20 23:32:42 Java入门到入坟

2020-08-20:GO语言中的协程与Python中的协程的区别?

福哥答案2020-08-20: 1.golang的协程是基于gpm机制,是可以多核多线程的。Python的协程是eventloop模型(IO多路复用技术)实现,协程是严格的 1:N 关系,也就是一个线程对应了多个协程。虽然可以实现异步I/O,但是不能有效利用多核(GIL)。 2.golang用go func。python用import asyncio,async/await表达式。 评论阅读全文

简书 2020-08-20 23:32:41 福大大架构师每日一题

安利一款golang包搜索安装工具gosearch

gosearch 是一款基于godoc.org提供的api开发的快速搜索/安装Golang包的工具安装方法go get github.com/clearcodecn/gosearch使用方式gosearch [包名称...]如:gosearch gin logrus websocket特性支持本地缓存,建立了关键词与搜索结果的索引,下次搜索直接从缓存读取,如果需要从服务器获取可以加 --no-cache 参数支持多个包的搜索,顺序下载支持缓存清除.项目地址:https://github.com/...阅读全文

Segmentfault 2020-08-28 09:32:33 ohmybaby

Golang Http 验证码示例

验证码(CAPTCHA)是“Completely Automated Public Turing test to tell Computers and Humans Apart”(全自动区分计算机和人类的图灵测试)的缩写,是一种区分用户是计算机还是人的公共全自动程序。可以防止:恶意破解密码、刷票、论坛灌水,有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试,实际上用验证码是现在很多网站通行的方式,我们利用比较简易的方式实现了这个功能。这个问题可以由计算机生成并评判,但是...阅读全文

Segmentfault 2020-08-25 15:32:32 xialeistudio

科研狗电脑软件好用分享

PC端好用软件分享笔者购入电脑是华为锐龙版matebook 13,新机没多久,因此现在电脑上东西不是太多,暂且是满足科研狗的日常使用了。自己对电脑这些也不太熟悉,单纯为了分享自己发现好用的东西,因此本着够用且好用的原则给大家分享。一. 浏览器浏览器用的是新版Edge浏览器。对于不是太讲究的人来说,这个和chrome没有太大的区别的。只要插件可以正常使用就行,下面是我目前所有插件的截图,之后再一一介绍: 1. iGG谷歌访问助手这个简直就是科研狗的福音!来看看官方介绍:永久免费提供谷歌搜索,gma...阅读全文

简书 2020-08-20 05:32:49 被最爱的人摸着头顶

【转载翻译】音频从零开始:产生第一个声音(Golang)

翻译自:https://dylanmeeus.github.io/posts/audio-from-scratch-pt1/在这篇文章中,我们将使用Go从头开始以二进制格式创建声音。这篇文章的最终结果是播放一定频率、采样率和持续时间的声音。我们还会应用指数衰减,这样声音就会逐渐变小。在最简单的形式中,声音对计算机可以被认为是一种简单的数字编码波。在声音到达你的耳朵之前,它会经过一个数字到模拟转换器,基本上就是把数字信号转换成你的耳机/扬声器的电流。第一步,我们试着用go创建一个正弦波。我们可以用...阅读全文

简书 2020-08-20 05:32:46 问数寻理

面试官:换人!他连进程、线程、协程这几个特点都说不出

前言在操作系统课程的学习中,很多人对进程线程有大体的认识,但操作系统教材更偏向于理论叙述,本文会结合 Linux 系统实现分析,更加印象深刻。同时,大部分人都接触进程和线程比较多,对协程知之甚少,然而最近协程并发编程技术火热起来,希望读完本文你对协程也有一个基本的了解。话不多说,我们马上进入本文的学习。进程首先还是说下「程序」的概念,程序是一些保存在磁盘上的指令的有序集合,是静态的。进程是程序执行的过程,包括了动态创建、调度和消亡的整个过程,进程是程序资源管理的最小单位。进程与资源那么进程都管理...阅读全文

简书 2020-08-20 05:32:46 互联网Java进阶架构