编程语言 语言hello world

我的十年编程路 2015年篇

如果说2014是我编程之路狂飙的开始,那么2015年则是更加将其发扬光大。 2014年底,我获得了公司的先进奖,这在前一篇已经说过了。这个奖是我工作以来第一次获得的荣誉,所以格外珍惜。虽然有说法是这种奖,大家轮流得。但我还是很珍惜,以至于后来面试的简历上一直写着它。 有了这个奖的鼓励,2015年我就 ......
2015

我的十年编程路 2016年篇

时光匆匆,2016年来了,此时的我已经工作了3年有余。过去的三年,虽有坎坷,但总体顺利,是个逐渐上升的线。 进入2016年后,我不再做那些技术探索方面的App了。部门的拳头产品——加密通信要添加IM即时消息功能,类似微信的样子,这个大功能由我来设计实现。 有了前面几年的技术积累和探索,我们在众多服务 ......
2016

我的十年编程路 2017年篇

2016和2017,这两年是我飞速发展的两年。一方面是技术、工作能力,另一方面是对人生的思考。 随着技术能力的不断提升,博客也随之更新。在2017年伊始,我收到了CSDN学院的讲师邀请函。没错,那个时候我就有机会做视频课了,只是一直在产出图文内容,也就没想着做视频教程。 现在回想起来,当时应该是觉得 ......
2017

我的十年编程路 2018篇

记不得是在什么地方,我看过一个调查。调查的问题就是请大家选出最近几年里,自认为光景最好的一年。统计结果显示:大部分人会选择2018。这一年疫情还没来,世界基本没有大战的新闻,也基本 没有什么天灾。可以说是很安稳的一年。但这一年对于我来说,不仅发生了翻天覆地的变化,这些变化更影响了我的一生。这一切要从 ......
2018

我的十年编程路 2019年篇

随着2018年,三星天津研究院的裁撤,我选择了到广州的三星研究院工作,与最心爱的她开始一起生活。 这一年的开始,我注册了博客园。和2014年类似,在刚注册不久,我写了一篇题为《全新开始,全心出发》的文章。在这篇文章里,我又一次刨析自己,深入内心。 从网站的风格样式上看,博客园并无优势,甚至在某些地方 ......
2019

我的十年编程路 2020年篇

我出生在1990年,2020年到来的时候,我完成了一项成就:奔三。同时,也开启了新的征程:奔四。 2020年的春节是在广州的丈母娘家度过的,春节后大概是初五,或者是初六,我和媳妇就返回天津的家了。 那个时候,大家应该都有印象,疫情刚刚爆发,全国在封高速路。本来想开车回去的,结果怕有风险,还是选择了飞 ......
2020

我的十年编程路 2021年篇

慢慢地,时光走过了8个年头,来到2021年。 站在2021年,回望8年的过往,没有大的起伏和波澜。或许是上天的眷顾,我的事业发展一直都很顺利。当然,弯路也走过一些,而且工作其实挺辗转的,如果看过我前几年的文章就会知道。但这都没关系,我的Plan B,也就是写作,提供了能力和经济上的支撑。甚至,现在, ......
2021

我的十年编程路 2022年篇

2022年,是我工作的第10个年头。我的工作内容主要是由编程和写作构成的,正如前一篇所描述的那样,刚开始是编程为主,写作为辅。后来慢慢地,编程就成为了写作题材的“源泉”,为写作造血。到现在,我已经分不清编程和写作,到底哪一个是主,谁又是辅,似乎写作对我来说更重要一些。 这一年的开端,新冠的形势异常严 ......
2022

我的十年编程路 序

算起来,从决定并从事编程开始,已十年有余了。 这十年是怎么算的呢? 我的本科是从2009年至2013年,现在回想起来,应该是从2012年下半年,也就是大四还未正式开始的时候决定从事Android开发。参加了培训班,就是很流行的那种可以先贷款参加培训。先是培训上课,然后工作“包分配”,其实就是辅助修改 ......

我的十年编程路 2013年篇

时间一转眼就来到了2013年。 起初,我还是在那家需要急救的公司里上班。那个时候的我月工资只有2500,再加上还没毕业,只是实习工资,公司也没有缴纳我的社保和公积金,也没有任何劳动合同。不知道现在的应届生实习情况是怎样的,也或许是我当时就没走那根筋。 2500,在2013年,显然不算高收入,连中等收 ......
2013

为什么 C# 可能是最好的第一编程语言

纵观神州大地,漫游中华互联网,我看到很多人关注为什么你应该开始学习JavaScript做前端,而对blazor这样的面向未来的框架有种莫名的瞧不起,或者为什么你应该学习Python作为你的第一门编程语言,恕不知有多少公司业务是用Python开发的,Python更多是粘合剂,作为胶水语言来使用。我用C ......
编程语言 语言 最好

最近写了一个demo,想看看java和go语言是怎么写的

最近写了一个demo:demo的github地址 一. 简单介绍 1. Server端 它是一个WebApi服务,把它当成一个黑盒就行了。 2. MiddleServer端 是重点,它是一个WebApi服务,包含一个GetValues接口和一个Query2接口。 Query2接口是一个简单的接口。 ......
语言 demo java

simpleini库的介绍和使用(面向业务编程-格式处理)

simpleini库的介绍和使用(面向业务编程-格式处理) 介绍 simpleini是一个跨平台的ini格式处理库,提供了一些简单的API来读取和写入ini风格的配置文件。它支持ASCII、MBCS和Unicode格式的数据文件。它被明确设计为可移植到任何平台,并已在Windows, WinCE和L ......
simpleini 格式 业务

pugixml XML格式处理库的介绍和使用(面向业务编程-格式处理)

pugixml XML格式处理库的介绍和使用(面向业务编程-格式处理) 介绍 pugixml是一个轻量级的C++ XML处理库。它的特点: 类似dom的界面,具有丰富的遍历/修改功能 非常快速的非验证XML解析器 它从XML文件/缓冲区构造DOM树用于复杂数据驱动 支持树查询的XPath 1.0 实 ......
格式 pugixml 业务 XML

linux网络编程中的errno处理

在网络编程中,处理网络连接、连接收发数据等经常会涉及到errno的处理。经过查阅了很多资料,发现没有一个系统的讲解,在不同阶段会遇到哪些errno,以及对这些errno需要如何处理。因此,本文将分为三个部分来讲解。 ......
网络编程 linux errno 网络

【基数排序算法详解】Java/Go/Python/JS/C不同语言实现

说明 基数排序(RadixSort)是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。由于整数也可以表达字符串(比如名字或日期)和特定格式的浮点数,所以基数排序也不是只能使用于整数。基数排序的发明可以追溯到1887年赫尔曼·何乐礼在列表机(Tabulation ......
基数 算法 语言 Python Java

【选择排序算法详解】Java/Go/Python/JS/C 不同语言实现

【选择排序算法详解】Java/Go/Python/JS/C 不同语言实现 说明 选择排序(Selection Sort)是一种简单直观的排序算法。跟冒泡、插入排序一样,它将数列分为已排序和待排序两个区间。首先在待排序序列中找到最小(或最大)的元素,追加到已排序序列中,然后继续从待排序序列中寻找最小( ......
算法 语言 Python Java Go

【桥接设计模式详解】Java/JS/Go/Python/TS不同语言实现

【桥接设计模式详解】Java/JS/Go/Python/TS不同语言实现 简介 桥接模式(Bridge Pattern)是一种结构型设计模式,它将一个大类或一系列紧密相关的类拆分为抽象和实现两个独立的层次结构,来实现二者的解耦。参与桥接的接口是稳定的,用户可以扩展和修改桥接中的类,但是不能改变接口。 ......
设计模式 语言 模式 Python Java

【建造者设计模式详解】Java/JS/Go/Python/TS不同语言实现

简介 建造者模式(Builder Pattern),也叫生成器模式,属于创建型模式。它使用多个简单的对象一步一步构建成一个复杂的对象。它允许你使用相同的创建代码生成不同类型和形式的对象。 当你希望使用代码创建不同形式的产品 (例如各种商品和订单) 时, 一些基本部件不会变,而其组合经常变化的时候,就 ......
设计模式 语言 模式 Python Java

我的语言模型应该有多大?

本文发表于 2020 年 6 月 8 日,虽然时间较久远,但现在看起来仍然是非常有价值的一篇文章。 在这个全民 LLM 的狂欢里,想测测你拿到的预算够训一个多大的模型吗?本文会给你一个答案,至少给你一个计算公式。 在自然语言处理领域,有时候我们恍惚觉得大家是为了搏头条而在模型尺寸上不断进行军备竞赛。 ......
模型 语言

深入了解视觉语言模型

人类学习本质上是多模态 (multi-modal) 的,因为联合利用多种感官有助于我们更好地理解和分析新信息。理所当然地,多模态学习的最新进展即是从这一人类学习过程的有效性中汲取灵感,创建可以利用图像、视频、文本、音频、肢体语言、面部表情和生理信号等各种模态信息来处理和链接信息的模型。 自 2021 ......
模型 视觉 语言

在线文本翻译能力新增14个直译模型,打造以中文为轴心语言的翻译系统

经济全球化的今天,人们在工作和生活中经常会与外语打交道。相较传播性较广的英语而言,其他语种的识别和阅读对大多数人来说是一件难事,此时就需要借助语言翻译软件来帮助理解。 华为 HMS Core 机器学习服务(ML Kit)翻译功能提供了多种翻译模式,不仅可以满足应用出行购物、网络社交等日常场景,还提供 ......
直译 以中 轴心 模型 文本

C# 异步编程async/await

概述 异步这个概念在不同语境下有不同的解释,比如在一个单核CPU里开启两个线程执行两个函数,通常认为这种调用是异步的,但对于CPU来说它是单核不可能同时运行两个函数,不过是由系统调度在不同的时间分片中执行。一般来说,如果两个工作能同时进行,就认为是异步的。在编程中,它通常代表函数的调用可以在不执行完 ......
async await

Leftpad事件 我们是不是早已忘记该如何好好地编程?

Leftpad撤包事件、event-stream投毒事件、Ant Design彩蛋时间,使得我们不得不开始重新思考npm生态真的存在的问题,甚至去问自己:我们是不是早已忘记该如何好好地编程? ......
Leftpad 事件

自己动手从零写桌面操作系统GrapeOS系列教程——10.NASM汇编语言

学习操作系统原理最好的方法是自己写一个简单的操作系统。 汇编语法主要有两种:Intel语法和AT&T语法。 由于大部分介绍x86汇编的书籍和资料用的都是Intel语法,毕竟x86就是Intel发明的,大家学过的x86汇编大概率也是Intel语法,所以GrapeOS的汇编也用Intel语法。 支持In ......
桌面 GrapeOS 语言 教程 系统

面向对象编程

在编写软件时,你所做的大部分工作就是创建和连接多个值和方法,让他们一起工作,以便提供应用程序的功能。面向对象编程可以帮助你更容易地,并且是声明式地实现这些功能。 在这篇文章中,你将了解到在JavaScript中开始使用类和面向对象编程方法所需要的一切。 前置知识 在阅读本篇文章之前,你需要掌握Jav ......
对象

并发编程那点儿事

线程理论 线程和进程的区别 进程 进程是操作系统分配资源的最小单位,每个进程都是一个在运行中的程序,在windows中一个运行的xx.exe就是一个进程,他们都拥有自己独立的一块内存空间,一个进程可以有多个线程 线程 线程是操作系统调度的最小单元,负责当前进程中程序的执行,一个进程可以运行多个线程, ......

学习ASP.NET Core Blazor编程系列二十八——JWT登录(2)

JWT只是缩写,全称则是JSON Web Tokens,是目前流行的跨域认证解决方案,是基于开放标准RFC7519,提供一种身份认证与信息交换的解决方案,是一种基于JSON的用于在网络上声明某种主张的令牌(token)。 通俗地说,JWT的本质就是一个字符串,它是将用户信息保存到一个Js... ......
Blazor Core ASP NET JWT

学习ASP.NET Core Blazor编程系列二十九——JWT登录(3)

JWT只是缩写,全称则是JSON Web Tokens,是目前流行的跨域认证解决方案,是基于开放标准RFC7519,提供一种身份认证与信息交换的解决方案,是一种基于JSON的用于在网络上声明某种主张的令牌(token)。今天的文章使用API接口来实现使用JWT登录功能。 ......
Blazor Core ASP NET JWT

为什么 Go 语言 struct 要使用 tags

原文链接:为什么 Go 语言 struct 要使用 tags 在 Go 语言中,struct 是一种常见的数据类型,它可以用来表示复杂的数据结构。在 struct 中,我们可以定义多个字段,每个字段可以有不同的类型和名称。 除了这些基本信息之外,Go 还提供了 struct tags,它可以用来指定 ......
语言 struct tags Go