4 天前 / 路强
点击上方蓝色“飞雪无情”关注我,设个星标,第一时间看文章 Go 是一种非常不错的编程语言。它是一种让你真正的关注自己的业务,不必为程序本身操心太多的语言,因此您可以尽快编写应用程序。比如它有比较完整的生态系统,可为你提供入门所需的一切。 但是呢,它也不是万能的,有一些需要我们注意。我写这篇文章主要是为了提醒我自己,也是一些观察和总结。当然,这些只是技巧,并不是真正的问题,当然如果你注意到它们并且在实战中使用,那么将会让你非常受益,这是新手和老手的差别。 不要使用 Logrus 这其实和泛型有关。
19 天前 / hyper0x
作者 | Hirrolot 译者 | 核子可乐策划 | 褚杏娟本文作者在文章的前部分用了大量笔墨详细描述了自己尝试 Rust 受挫的经历,后半部分分析了 Rust 的问题及发展。自发布以来,这篇文章在 r/rust 上得到了 500 多个赞,在 HN 上有 700 多条评论。我们将其翻译出来,以飨读者,也希望大家可以理性讨论。 在使用 Rust 的过程中,相信很多朋友都有过类似的吐槽:真不确定自己要掌握多少语言知识、多少独门编程技巧和多么旺盛的好奇心,才能坚持做完这项最最琐碎的工作。
22 天前 / 进击的强
踏入职场后写代码已经有 14 个年头,保守估计应该垒了有 50 万行的代码。尤其最近 1 年多从 0 开始写起 Bytebase,日常也会 review 同事的代码。趁着端午也总结了一些经验,这些经验聚焦在写代码的具体细节上,在道,法,术,技中更多归之于技。首先声明这些技是用来帮助写出更可维护的代码,而不是更快地写出代码,Enjoy。 命名篇字母使用小写。有些系统对大小写不敏感。 名词使用单数。英文的复数规则比较复杂,尤其对于英语非母语程序员来说,用复数容易造成代码命名不一致。如果是表示数组的话,可以加上 List 后缀。 动词使用一般时态。
25 天前 / Yourtion
作者|Thorsten Ball 译者|平川策划|闫园园截至上个月,即 2022 年 4 月,我的职业程序员生涯已达 10 周年。以下是我回顾过去 10 年时想到的一些散乱无序的想法。我学到的东西,我没有学到的东西,我改变了看法的东西,以及我从来没有想过我会相信现在却信了的东西。 本文最初发布于 Thorsten Ball 的个人博客,经原作者授权由 InfoQ 中文站翻译并分享。 截至上个月,即 2022 年 4 月,我的职业程序员生涯已达 10 周年。 我接触编程的时间比这更早,只是那时没赚工资。十几岁时,我创建过网站和 IRC 机器人,并编写了简短的 Python 脚本。
27 天前 / 柴树杉
CCF GitLink 开源编程夏令营(GitLink Code Camp,简称 GLCC),是在 CCF 中国计算机学会指导下,由 GitLink 社区联合 CCF 开源发展委员会(CCF ODC)共同举办的面向全国高校学生的暑期开源项目实习计划。 活动将联合各大开源企业、开源基金会、开源社区及开源领域专家,旨在鼓励高校学生通过参与真实的开源软件开发,感受开源文化,提升自身技术能力,进而达到为开源企业和社区输送优秀人才的目的。 KusionStack 项目共有 3 个任务,社区围绕“云原生”主题设计了不同类型的项目任务,欢迎对编程语言感兴趣的同学来报名项目任务。
41 天前 / 趣编程
—1— 开发环境 这里以 Ubuntu 20.04 为例构建 eBPF 开发环境: $uname-a LinuxVM-1-3-ubuntu5.4.0-42-generic#46-UbuntuSMPFriJul1000:24:02UTC2020x86_64x86_64x86_64GNU/Linux $sudoaptinstallbuild-essentialgitmakelibelf-devclangllvmstracetarbpfcc-toolslinux-headers-$(uname-r)gcc-multilibflexbisonlibssl-dev-y 主流的发行版在对 LLVM 打包的时候就默认启用了 BPF 后端,因此,在大部分发行版上安 装 clang 和 llvm 就可以将 C 代码编译为 BPF 对象文件了。
47 天前 / Laetitia
首发于 Laetitia 的思考和阅读无障碍写文章登录 CUPID - for joyful coding 快乐的编程 Laetitia1 人赞同了该文章原文在这里 CUPID - forjoyful coding,作者对如何编写好的代码列举出了自己的方法论,我觉得蛮有意思的就翻译了一下,渣翻译欢迎各路大佬指出错误。 以下为正文 CUPID - for joyful coding 让我们从轻轻的揭开 SOLID 原则的偶像包袱开始,SOLID 原则如今已经发展成了某种既成事实。
69 天前 / Aceyclee~
模拟物理和数值计算做了十多年,从最开始入门的 C/C++、MATLAB,到 Python,再到 CUDA C,语言学了挺多种。用过许多数值计算库,也手写过许多算法,元胞自动机,蒙特卡洛模拟,数值最优化,矩阵计算,有限元分析,图像处理,图像重建等等,算是也涉猎过不少应用。做了这么多年性能优化,感想很多。算法,或者说算法的某一个程序实现,在能完成它必需的功能以外,最重要的要求就是能在有限的资源支持下,达到足够好的性能。性能优化是程序设计的重要内容,它不仅要求通晓算法功能,编程技能熟练,对环境判断还要准确。
72 天前 / ywp
golang 开发:select 多路选择 - 编程思维 tag: golangcategory: golangPosted on2020-09-26golang 开发:select 多路选择 select 是 Golang 中的一个控制结构,语法上类似于 switch 语句,只不过 select 是用于 goroutine 间通信的 ,每个 case 必须是一个通信操作,要么是发送要么是接收,select 会随机执行一个可运行的 case。如果没有 case 可运行,goroutine 将阻塞,直到有 case 可运行。 select 多路选择 select 写法上跟 switch case 的写法基本一致,只不过 golang 的 select 是通信控制语句。
82 天前 / 莫若
译者 | 弯月译者 | 弯月 责编 | 欧阳姝黎 出品 | CSDN(ID:CSDNnews)Rust 的异步功能很强大,但也以晦涩难懂著称。在本文中,我将总结之前提过的一些想法,并给出一些新的点子,看看这些想法放在一起能产生什么效果。 本文只是一个思想实验。对 Rust 进行大改造很麻烦,因此我们需要一个精确的方法来找出优缺点,并确定某个改动是否值得。我知道一些观点会产生完全相反的看法,所以我建议你用一种开放的心态阅读本文。 在对 Rust 中实现异步的不同方式进行探索之前,我们应该首先了解何时应该使用异步编程。毕竟,异步编程并不像仅仅使用线程那么容易。
100 天前 / 趣编程
作者:dablelv,腾讯 IEGggG 后台开发工程师 代码的稳健、可读和高效是我们每一个 coder 的共同追求。本文将结合 Go 语言特性,为书写效率更高的代码,从常用数据结构、内存管理和并发,三个方面给出相关建议。话不多说,让我们一起学习 Go 高性能编程的技法吧。 常用数据结构 1.反射虽好,切莫贪杯标准库 reflect 为 Go 语言提供了运行时动态获取对象的类型和值以及动态创建对象的能力。反射可以帮助抽象和简化代码,提高开发效率。
103 天前 / yaya
本文是《Clean Architecture》-- 整洁架构之道中关于编程范式相关章节的笔记,首发于公众号「Go 招聘」 前言之前整理了整洁架构之道这本书前两章节的读书笔记:《clean architecture》第一部分笔记。今天再来分享一下书中第二部分关于编程范式的内容。 第二部分的主题内容第二部分主要是关于编程范式的讲述,分别从结构化编程、面向对象编程、函数式编程来说明介绍编程范式。 Chap3. PARADIGM OVERVIEW 编程范式总览 STRUCTURED PROGRAMMING 结构化编程 OBJECT-ORIENTED PROGRAMMING 面向对象编程 FUNCTIONAL PROGRAMMING 函数式编程 FOOD FOR THOUGHT 仅供...
110 天前 / flyer0126
hello,大家好,我是张张,「架构精进之路」公号作者。 提起编程,对于程序员同学而言并不陌生,关于防御性编程相信大家也有所耳闻,但是它具体包括哪些内容呢?又有哪些行之有效的处理方案呢?我们又该如何正确应用呢?......本文作者结合实际工作中的一些应用经验,来全面解析一下防御性编程。 本文主要内容: 1、什么是防御性编程 2、防御性编程的重要性 3、输入检查 4、断言的应用 5、错误处理 6、隔离 7、防御策略及建议 1、什么是防御性编程关于防御性编程,这一概念开始来自于汽车的防御性驾驶技术,意为你永远无法确定另一位司机将要做什么...
128 天前 / 老白经
点击关注「缓缓而行」,让我们一起探索 python 学习之路~ 前言:python 并发网络编程将用六篇文章来进行梳理: 第一篇:网络编程上(网络基础知识,UDP 传输方法) 第二篇:网络编程下(TCP 传输方法,数据传输过程) 第三篇:多任务编程上 -- 进程 第四篇:多任务编程下 -- 线程 第五篇:网络并发模型 第六篇:web 服务和高并发 本篇文章主要进行多任务编程之线程的梳理,目录如下: 01 线程概述 1.1 认识线程 概念;特征;应用场景;进程和线程如何选择 02 多线程编程 2.1 Thread 线程类 创建线程;线程的属性和方法;创建线程类(自定义线程)...