Author: admin

10 个最好的 AI 工具,让你成为 100 倍的开发者

作为开发人员,您知道了解最新工具和技术以保持行业竞争力的重要性。人工智能 (AI) 也不例外。人工智能正迅速成为软件开发不可或缺的一部分,使开发人员能够自动执行日常任务、更快地分析数据并最终提高他们的生产力。在这篇博文中,我们将探索开发人员可用于代码完成和代码生成的一些最佳 AI 工具。

ubuntu开机自启动服务设置

在ubuntu 下创建服务及自启动的方法:

1. 在 [/lib/systemd/system] 创建sandtable.service 服务,

[Unit]
Description=/etc/sandtable Compatibility
Documentation=man:systemd-sandtable-generator(8)
ConditionFileIsExecutable=/etc/sandtable
After=network.target
 
[Service]
Type=forking
ExecStart=/etc/sandtable start
TimeoutSec=0
RemainAfterExit=yes
GuessMainPID=no
 
[Install]
WantedBy=multi-user.target  
Alias=sandtable.service

2. 创建启动脚本

在[/etc]文件夹下创建sandtable启动脚本,切记加上[脚本后&], 保证服务不影响系统启动,不然那可能导致系统无法正常启动后果。

#!/bin/sh
/home/ubuntu/setup >> /home/ubuntu/test.log&

3. 启动服务

systemctl start sandtable.service #启动服务
 
systemctl status sandtable.service 

Laravel 10 现已发布!新特性一览

Laravel 10 现已发布,包括最低 PHP v8.1 版本要求、新的 Laravel Pennant 包、可调用验证规则、原生类型声明等......

Laravel 发布时间表

在Laravel 9之前,主要框架版本每年发布两次或大约每六个月发布一次。从 Laravel 9 开始,核心团队按照年度计划,在 2022 年 2 月发布 Laravel 9(而不是原计划的 2021 年 9 月):

Laravel 使用各种社区驱动的包以及九个 Symfony 组件来实现框架内的许多功能。Symfony 6.0 将于 11 月发布。出于这个原因,我们选择将 Laravel 9.0 发布推迟到 2022 年。

通过延迟发布,我们可以将我们的底层

    

图解Redis

 1 
什么是 Redis
Redis(REmote DIctionary Service)是一个开源的键值对数据库服务器。

Redis 更准确的描述是一个数据结构服务器。Redis 的这种特殊性质让它在开发人员中很受欢迎。

图片

Redis不是通过迭代或者排序方式处理数据,而是一开始就按照数据结构方式组织。早期,它的使用很像 Memcached,但随着 Redis 的改进,它在许多其他用例中变得可行,包括发布-订阅机制、流(streaming)和队列。

图片

主要来说,Redis 是一个内存数据库,用作另一个“真实”数据库(如 MySQLPostgreSQL)前面的缓存,以帮助提高应用程序性能。它通过利用内存的高速访问速度,从而减轻核心应用程序数据库的负载,例如:

  • 不经常更改且经常被请求的数据
  • 任务关键性较低且经常变动的数据

上述数据的示例可以包括会话或数据缓存以及仪表板的排行榜或汇总分析。

图片

但是,对于许多用例场景,Redis 都可以提供足够的保证,可以将其用作成熟的主数据库。再加上 Redis 插件及其各种高可用性(HA)设置,Redis 作为数据库对于某些场景和工作负载变得非常有用。

另一个重要方面是 Redis 模糊了缓存和数据存储之间的界限。这里要理解的重要一点是,相比于使用 SSD 或 HDD 作为存储的传统数据库,读取和操作内存中数据的速度要快得多。

 

图片

最初,Redis 最常被比作

28 张图,一次性说清楚 TCP

做IT相关的工作,肯定都离不开网络,网络中最重要的协议是TCP。无论是实际工作还是笔试面试,你看哪里能少得了TCP?我看过RFC中与TCP相关的文档,也看过linux中TCP相关的源码,也看过不少框架中的TCP相关的代码,对TCP是有点感觉了。
其实,搞透了TCP之后,发现它也就那么回事。

考虑最简单的情况:两台主机之间的通信。这个时候只需要一条网线把两者连起来,规定好彼此的硬件接口,如都用USB、电压10v、频率2.4GHz等,这一层就是物理层,这些规定就是物理层协议。…

js删除数组中空值的方法

1、使用 filter 过滤方法来过滤 null,undefined,''等值
js可以删除数组中的空值有多种方法,下面就来说几种自己常用的,大家参考一下。

JS示例代码:trim()为字符串方法

var arr = ['A', '', 'B', null, undefined, 'C', '  ','D','feiniaomy.com'];
var r = arr.filter(function (s) {
    return s && s.trim(); 
});
console.log(r);

打印结果:

 ["A", "B", "C", "D", "feiniaomy.com"]

2、自定义函数来过滤数组中的空值

js代码

var arr = 

阿里云服务器带宽计费模式按固定带宽和使用流量哪个更省钱?

 

阿里云服务器带宽计费模式按固定带宽和按使用流量如何选择?按固定带宽适合对网络需求比较稳定的用户,按使用流量适合网络带宽需求变化较大的场景,带宽计费模式哪个更省钱?要根据实际流量选择合适带宽计费模式,阿里云百科来详细说下阿里云服务器带宽计费模式选择方法:

阿里云服务器带宽计费模式选择攻略

带宽计费模式分为:“按固定带宽”和“按使用流量”两种,按固定带宽计费是你先指定云服务器公网出方向固定的带宽值,比如购买10M带宽,你需要先支付费用,阿里云会分配给你固定10M带宽,且带宽是独享的,不管你的带宽是否使用,哪怕购买后闲置,也需要支付带宽费用。按使用流量计费是先使用后付费,按照云服务器公网出方向产生的实际流量计费,一般1GB流量价格是0.8元,按流量计费如果后续使用过程中,没有产生流量,就可以不收费。

阿里云服务器带宽计费模式

阿里云服务器带宽计费模式

按固定带宽计费适合对网络带宽要求比较稳定的客户,平均下来费用较低;带宽按使用流量计费适合对网络带宽需求变化较大的使用场景,如平时带宽使用较低但间歇性的出现网络访问高峰的场景,比如抢红包、突发秒杀活动类使用场景,按流量是后付费模式,以GB为单位,按小时支付流量费用。

这样说,大家可能不会太理解,阿里云百科就来举几个极端的例子,帮助大家更好的理解按固定带宽和按使用流量计费模式,继而更好地选择适合自己的带宽计费模式,更省钱。

按固定带宽和按使用流量举例说明

假设阿里云百科有个秒杀APP,使用的是阿里云北京地域的云服务器。这个APP平时没什么流量,一般一个月会举办一次秒杀活动,秒杀活动时长2个小时。每到秒杀活动,由于参与秒杀的用户比较多,在活动高峰时段需要100M的公网带宽。

在这个使用场景下,如果阿里云百科选择按固定带宽计费,5M及5M以下带宽单价是23元/月,达到6M及6M以上的带宽单价按照每兆80元/月的价格收取,100M带宽使用阿里云价格计算器计算后一个月价格7725元,如下图:

阿里云服务器按固定带宽价格

阿里云服务器按固定带宽价格

如果阿里云百科选择按使用流量计费呢,100M带宽下载速度峰值是12.5M/秒,阿里云百科来计算一下活动期间2个小时带宽跑满的情况下,会产生多少流量。1个小时3600秒,2个小时7200秒,每秒产生12.5M流量,2小时流量为12.5*7200=90000M,大约是88G流量。按使用流量计费,1GB流量价格是0.8元,那么88G流量一共是70元左右。

关于阿里云服务器带宽价格参考:阿里云服务器带宽收费价格表(固定带宽和按流量计费)

所以,这种平时对网络带宽需求量较小,突发高流量的使用场景,带宽选择按使用流量计费模式更划算,为了防止突然爆发的流量产生较高的费用,用户可以指定带宽峰值避免产生高额流量费用。对于长时间使用且网络流量较平稳的应用,可以选择按固定带宽计费。

更多关于阿里云服务器带宽计费模式说明及选择,可以参考官方文档:

参考文档

官方文档:公网带宽计费详解 - 阿里云

 

linux系统下的微信安装(ubuntu20.04)

前言

今天突然了解到去年年底的一则消息:银河麒麟桌面操作系统V10,原生微信2.1.1版本终于推出。
于是我去搜了一下”银河麒麟“,发现好像跟ubuntu的官方中文版——优麒麟有点关系。我看优麒麟官网介绍,发现它的应用商店可以安装很多国产软件(比如搜狗拼音、迅雷、网易云、qq音乐等),而且也是可以安装这个原生微信的。鼓捣了一下,在原生ubuntu20.04上成功安装了原生微信。记录一下我的安装步骤。


安装步骤

从优麒麟的镜像源安装原生微信

新建文件sudo vi /etc/apt/sources.list.d/software.list

添加如下内容:

 deb http://archive.ubuntukylin.com/ubuntukylin focal-partner main

提示:网上查阅资料说理论上Ubuntu 20.10也可以,需要将上述文字中的“focal”改成“groovy”。但是Ubuntu 18.04不行

添加apt key。

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 56583E647FFA7DE7

更新列表。

sudo apt update

安装微信

sudo apt install weixin

安装完成
在这里插入图片描述

彻底弄懂 Javascript 模块导入导出

笔者开始学习 Javascript 的时候,对模块不太懂,不知道怎么导入模块,导出模块,就胡乱一通试

比如 import xx from 'test.js' 不起作用,就加个括号 import {xx} from 'test.js'

反正总是靠蒙,总有一种写法是对的,其实还是没有理解,还是不懂

尤其是在当初写 www.helloworld.net 网站的时候,一遇到这种问题,就懵逼了,尤其是引入第三方库的时候

这种情况下更多,此篇文章也是为了怕以后忘记,自查用的,也希望能帮助更多的朋友,此篇文章只是针对 ES6 的模块相关知识…