解释器 设计模式 语言 模式
原型设计工具比较及实践
() 一、原型设计工具比较 ###1. 墨刀 • 适用领域: 适合设计团队和个人用户使用,可用于移动端和Web端原型设计。 • 优点:支持快速制作原型,具有丰富的交互组件和模板库,界面简单易上手。同时,可以与 Sketch 和 Figma 等设计软件进行集成,方便团队协作。 • 缺点:对于复杂的数据 ......
Go语言入门9(defer延迟处理函数)
Defer 延迟处理函数 特点 1. defer的运行的时间实在函数体运行的最后,在return之前 1. 多个 defer 的执行顺序为“后进先出/先进后出” return 和defer 的关系 return的本质其实应该包含前后两个步骤:第一步是给返回值赋值(若为有名返回值则直接赋值,若为匿 ......
Go语言入门8(匿名函数 闭包)
匿名函数 闭包 匿名函数 顾名思义,就是没有名字的函数。。。 func(){ fmt.Println("我就是匿名函数") } 匿名函数的两种执行方法 将匿名函数赋给一个变量 定义后立即执行匿名函数 // 讲匿名函数赋给一个变量 tmp := func(){ fmt.Println("我是匿名函 ......
day 01 1.1 Python基础之编程语言介绍
Python基础之编程语言介绍 1.1、什么是编程语言 编程语言是用来控制计算机的一系列指令(Instruction),它有固定的格式和词汇(不同编程语言的格式和词汇不一样)。就像我们中国人之间沟通需要汉语,英国人沟通需要英语一样,人与计算机之间进行沟通需要一门语言作为介质,即编程语言。 编程语言的 ......
day 01 1.2 Python基础之Python语言介绍
Python语言介绍 2.1、了解Python语言 Python 是1989 年荷兰人 Guido van Rossum (简称 Guido)在圣诞节期间为了打发时间,发明的一门面向对象的解释性编程语言。 Python来自Guido所挚爱的电视剧Monty Python's Flying Circu ......
C语言 删除字符串中第n个字符的函数
#include <stdio.h> #include <string.h> void del_str(char a[],int n) { while(a[n-1]=a[n])n++; } main() { char a[]="adsfasd"; int n=3; del_str(a,n); put ......
go语言妙用
1、利用channel关闭,实现Context.Done() 这个Context.Done()的具体实现,需要看源码: 原理是: 当contxt用完被销毁后,就会关掉这个返回的匿名chan struct{},这样Done()本身读这个channel就会返回err,即有返回值,也就满足了这个case。 ......
测绘与设计之间的鸿沟:坐标系,看图新地球软件如何巧妙化解
一、背景 2008年,我国推出了2000国家大地坐标系(以下简称国家2000坐标系),截至2022年,国家2000坐标系在自然资源领域已经取得了较高的普及率,但在工程建设领域的普及率依旧比较低,很多工程项目仍然在沿用五花八门的地方坐标系。 二、设计行业用户痛点 中科图新接触过大量的设计院用户,他们经 ......
基因组坐标到转录本坐标转换——单碱基模式
今天分享一个自己写的python小脚本可以实现单碱基的基因组位置转换到转录本的坐标,欢迎大家使用,并提出错误 #!/share/home/hujun/miniconda3/bin/python3 import pybedtools from pybedtools import BedTool imp ......
[每天例题]蓝桥杯 C语言 日期统计
日期统计 题目 小蓝现在有一个长度为 100 的数组,数组中的每个元素的值都在 0 到 9 的范围之内。数组中的元素从左至右如下所示: 5 6 8 6 9 1 6 1 2 4 9 1 9 8 2 3 6 4 7 7 5 9 5 0 3 8 7 5 8 1 5 8 6 1 8 3 0 3 7 9 2 ......
四种语言刷算法之对链表进行插入排序
力扣147. 对链表进行插入排序 1、C /** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */ struct ListNode* inserti ......
26 25 | 异常设计,让错误无处遁形
你好,我是乔新亮。 今天,我想和你聊聊有关异常设计的话题。 如果你认真听了前面的内容,那么对你来说,异常设计应该不是一个新鲜概念了。在高可用设计、监控体系建设部分,我们都聊到了对异常的管理。 那么,为什么今天我们又要单独聊异常设计呢?因为异常管理虽然属于监控体系的一部分,但并不完全依赖于监控体系或高 ......
27 26 | 上云设计,融合云计算的未来
你好,我是乔新亮。 如果不考虑本周五将要更新的“结束语”,那么实际上,我们已经来到了整个专栏的最后一讲。在这一讲里,我打算和你聊聊有关“上云设计”的话题。 为什么要在这样的时刻聊起云计算呢? 这其实和当代 IT 产业的发展趋势有关,可以说,云计算产业的成熟,直接影响了很多问题的思考方式。 前段时间, ......
25 24 | 监控设计,让一切都有迹可循,尽在掌控
你好,我是乔新亮。 这一讲,我想和你聊聊如何做好监控设计。 你可能会想,为什么要聊监控呢?做监控不是很简单吗? 所有做技术的同学,基本都会根据公司的日志规范,在代码中打印 Log ,以记录告警和报错。许多企业,也会将日志收集分析,以此形成对系统状态的监控。如果条件允许,团队还可以使用各类免费或付费的 ......
一文搞定接口幂等性架构设计方案
幂等性介绍 现如今很多系统都会基于分布式或微服务思想完成对系统的架构设计。那么在这一个系统中,就会存在若干个微服务,而且服务间也会产生相互通信调用。那么既然产生了服务调用,就必然会存在服务调用延迟或失败的问题。当出现这种问题,服务端会进行重试等操作或客户端有可能会进行多次点击提交。如果这样请求多次的 ......
23 22 | 扩展性设计,看透业务的本质
你好,我是乔新亮。 这一讲,我想和你聊聊,如何做好扩展性设计。 说到扩展性设计,可能你的第一反应是业务拆分、集群扩容等等。说得没错,这些都能增强系统的扩展性,但仅仅局限于架构和技术层面。我的下属经常兴奋地向我描述,说他实现了一个非常厉害的、高性能、高可扩展性的系统。我的回答经常是,你说的都对,然后呢 ......
19 18 | 架构设计,专业分工和协作精神的体现
你好,我是乔新亮。今天,我想和你聊聊,关于架构设计的一些认知和体会。 作为技术人,最常接触的概念,恐怕就是架构设计了。即便是初出茅庐的新手程序员,可能也听说过 6 大设计原则与 23 种设计模式。因为,要成为管理者或技术专家,架构设计绝对是你绕不开的槛。 因此,关于架构设计的书和课程非常多,多到简直 ......
21 20 | 高可用设计,让产品没有后顾之忧
你好,我是乔新亮。这一讲,我想和你聊聊,关于高可用设计的那些事儿。 一提起高可用设计,很多同学立刻就会想到“冗余设计”、“故障转移”等关键词。确实,在大部分与高可用相关的分享里,这两个词往往会被重点强调。 所谓“冗余设计”,是指要通过集群来替代单点服务,做好冗余备份。单点架构是高可用的大敌,“把鸡蛋 ......
22 21 | 高性能设计,一切都围绕着契约精神
你好,我是乔新亮。这一讲,我们来聊聊如何实现架构的高性能设计。 前面我们讲过,产品思维有两个核心关键词:“契约精神”和“洞察人性”。其实高性能设计,也和契约精神是密切相关的。我将其总结为:高性能设计,一切围绕着契约精神。 你可能会想,高性能设计不就是可以支撑大流量、高并发的架构设计吗?和契约精神又有 ......
02-ES5中的严格模式
title: 02-ES5中的严格模式 为什么在讲ES6之前,我们需要先了解ES5?因为很多人就是在学习ES6的过程中,才接触到es5这个概念。 ES的几个重要版本 ES 5 : 09年发布。 ES 6(ES2015) : 2015年发布,也称为ECMA2015。 ES 7(ES2016) : 20 ......
3D建模设计软件-Rhinoceros7中文mac版
Rhinoceros是一款三维建模设计软件,拥有强大的功能和易于使用的界面,能为您在工作中的任何时间和地点进行建模以及计算。通过将3D建模结果导出到 CAD/CAM/DOM文件夹,您可以更轻松地完成原型设计。您只需将草图转换为代码,即可完成一项复杂建筑的原型创建工作。本软件中支持多种类型的三维动画, ......
【备忘录设计模式详解】C/Java/JS/Go/Python/TS不同语言实现
简介 备忘录模式(Memento Pattern)是一种结构型设计模式。这种模式就是在不破坏封装的条件下,将一个对象的状态捕捉(Capture)住,并放在外部存储起来,从而可以在将来合适的时候把这个对象还原到存储起来的状态。备忘录模式常常与命令模式和迭代子模式一同使用。 备忘录模式的角色有三个:备忘 ......
单例模式:生成只存在一个的实例
饿汉模式 public class Singleton { /* 在类装载的时候就完成实例化 */ private static Singleton instance = new Singleton(); /* 私有构造方法,防止被实例化 */ private Singleton() { } /* ......
如何训练你自己的大型语言模型
简介 像OpenAI的GPT-4和谷歌的PaLM这样的大型语言模型已经席卷了人工智能世界。然而,大多数公司目前还没有能力训练这些模型,完全依赖于少数几个大型科技公司提供技术。 在Replit,我们大力投资建设训练自己的大型语言模型所需的基础设施。在这篇博客文章中,我们将概述如何从原始数据到部署在面向 ......
心法|大型高并发系统的逃生能力架构要如何设计
故障是无法避免的,所以作为一个大型互联网系统,逃生能力的架构设计尤其重要,一个具备优秀逃生能力的系统,在故障发生后,可以把用户影响降到最低甚至无损,多年在小爱/米家一次次大小故障的处理和复盘中,慢慢形成了一些经验和方法的思考。 大型互联网系统,模块多、依赖关系和运行环境复杂,逃生能力一定是要拿出来当 ......
1.WPF UI - 现代化设计的开源 WPF 框架
1.WPF UI - 现代化设计的开源 WPF 框架 WPF UI 是一个基于 C# 开发的, 拥有 4k star 的开源 UI 框架。WPF UI 在 WPF 的基础上,提供了更多的现代化,流利的,直观的设计和组件。重要的是,WPF UI 完全免费! 如果你对 WPF 比较熟悉,那么可以很快的上 ......
从小米小爱业务中来到其他业务中去——AiFault运维中台设计实践
“ AiFault是我们AIoT SRE团队研发的插件化智能应用运维中台,从0到1孵化自小爱一线运维实战,旨在用DevOps思想和工具化思维,系统全面的解决应用运维的各种问题,目标是能够承载一套完整的运维体系,最终实现一站式智能运维。” 生产力决定生产关系,到某个阶段,生产力要继续提升,就必须改变生 ......
AiFault之全链路监控在小米小爱的设计实践
AiFault是我们AIoT SRE团队研发的插件化智能应用运维中台,旨在用DevOps思想和工具化思维,系统全面的解决应用运维的各种问题,目标是能够承载一套完整的运维体系,最终实现一站式智能运维。 作为当初刚到小爱的SRE工程师,倍感痛苦,每天花大量时间处理告警定位问题,但似乎总是摸不到小爱同学的 ......
AiFault之运维平台的插件化设计实践——工具共享共建
AiFault是我们AIoT SRE团队研发的插件化智能应用运维中台,从0到1孵化自小米小爱的一线运维实战,旨在用DevOps思想和工具化思维,系统全面的解决应用运维的各种问题,目标是能够承载一套完整的运维体系,最终实现一站式智能运维。 AiFault插件中心 一、DevOps背景 方案都是由问题驱 ......