关于程序员:如何安装-Auto-GPT-4分步指南

动动发财的小手,点个赞吧! 您对尝试最新最好的文本生成技术感到兴奋吗? Auto GPT 4 因其令人印象粗浅的性能而广为人知,但启动和运行它仿佛令人望而却步。侥幸的是,咱们在这里提供装置 Auto GPT 4 的分步指南。 1. 查看您的零碎要求Auto GPT 4 须要肯定的硬件和软件规格能力顺利运行。查看 Auto GPT 4 网站理解特定的零碎要求,并确保您的零碎满足这些要求。 抉择一个环境来运行 Auto-GPT(抉择一个) Docker(举荐)Python 3.10 或更高版本VSCode + 开发容器2. 下载并装置 condaAnaconda 是一个 Python 发行版,包含包管理器、环境管理器和其余用于数据迷信和机器学习的有用工具。您须要下载并装置 Anaconda 能力为 Auto GPT 4 创立 Python 环境。 3. 创立新的 Conda 环境装置 Anaconda 后,关上 Anaconda Prompt 并应用以下命令创立新的 conda 环境: conda create --name gpt4 python=3.8此命令应用 Python 3.8 版创立一个名为“gpt4”的新环境。 4. 激活 Conda 环境创立环境后,您须要应用以下命令激活它 conda activate gpt4此命令将您以后的环境切换到“gpt4”环境。 5. 装置依赖Auto GPT 4 须要装置几个 Python 包能力运行。您能够通过以下命令应用 Python 包管理器 pip 装置这些包: ...

May 3, 2023 · 1 min · jiezi

关于程序员:基于CUDA的GPU计算PI值

拜访【WRITE-BUG数字空间】_[内附残缺源码和文档]基于CUDA的GPU计算PI值。本我的项目应用CUDA编程模型并行计算PI值,钻研GPU与CPU效率的比拟,剖析不同GPU线程分块对性能的影响。异构计算试验报告---试验1:基于CUDA的GPU计算PI值 第一局部:试验环境OS:Windows 10CPU:intel(R) Core(TM) i7-10510U CPU@mailto:CPU@ 1.80GhzGPU:NVIDIA GeForce MX250编译器: cl :v19.29.30133nvcc:Cuda compilationn tools, release 11.4, V11.4.120第二局部:试验内容应用 CUDA 编程模型并行计算 PI 值,钻研 GPU 与 CPU 效率的比拟,剖析不同 GPU 线程分块对性能的影响第三局部:试验原理数学原理为1 积分求解编辑切换为居中增加图片正文,不超过 140 字(可选)2 幂级数求解编辑切换为居中增加图片正文,不超过 140 字(可选)应用 CUDA 编程模型,程序执行过程为CUDAMALLOC -> CUDAMEMCPY(HTOD) ->KERNEL->CUDAMEMCPY(DTOH) 在执行和函数时指定 <<<grid,block>>> 来控制线程的数量和构造第四局部:性能剖析# define N 迭代次数 1 CPU VS GPU1.1 单核比拟N = (10001000100)=100MCPU(thread = 1):4.887(s)GPU(grid = 1,block=1):用时过长..无奈测量1.2 多核比拟首先要施展出最大的 CPU 性能,因为机器的 CPU 是逻辑 8 核的,所以实践上开启 8 个线程能够施展最大性能。所以我写了一个 8 线程并行的程序来计算,同样循环 N=(10001000100)次编辑切换为居中增加图片正文,不超过 140 字(可选)能够看出新的工夫为 0.768s 快了不少(PS:这里的程序是应用 GCC 编译的,而 CUDA 程序 NVCC 调用的是 MSCV 的编译器,Windows 平台上 NVCC 不反对 GCC,然而后果应该是差不多的)2 GPU 性能剖析接下来就是找出 GPU 的最高性能了。首先在 grid = 1 下探索 block 里的线程数对性能的影响。这里能够间接用 nvprof 剖析,十分不便。2.1 grid = (1,1,1) block = (10,1,1)编辑切换为居中增加图片正文,不超过 140 字(可选)一共用时:34.5556s 线程数:10能够留神到,在本程序中,次要的工夫是耗费在计算上的,因为没有什么要拷贝的内存,所以瓶颈只会呈现在计算上2.2 grid=(1,1,1) block=(100,1,1)编辑切换为居中增加图片正文,不超过 140 字(可选)一共用时:2.58383s 线程数:1002.3 grid=(1,1,1) block=(1000,1,1)编辑切换为居中增加图片正文,不超过 140 字(可选)一共用时:1.543s 线程数:1000每个 block 的最大线程数限度是 1024,这里就不能再减少 block 了 ...

May 3, 2023 · 1 min · jiezi

关于程序员:博客平台安利

【数字空间WRITE-BUG】是一个博客平台,它为用户提供了一个高质量的写作和分享体验。在这个平台上,你能够创立本人的博客,记录生存中的点滴,与别人分享专业知识,以及展现你的创意。 数字空间WRITE-BUG的特点之一是它的简洁明快的设计。平台的用户界面十分直观,易于应用,使得老手也能轻松上手。此外,数字空间WRITE-BUG提供了很多弱小的工具来帮忙你创作和编辑文章。这包含语法高亮显示、Markdown反对、代码块格式化等等。同时,数字空间WRITE-BUG还有丰盛的主题模板和自定义选项,让你的博客看起来更加个性化,独特。 数字空间WRITE-BUG不仅仅是一个博客平台,它还是一个社区。在这里,你能够与其余写作者进行交换、探讨和分享。为了不便沟通,数字空间WRITE-BUG还提供了内置的评论零碎和私信性能。通过这些性能,你能够与其余写作者建立联系,并建设一个更大的网络。 总之,数字空间WRITE-BUG是一个值得尝试的平台。它为写作者们提供了一个高质量的写作和分享体验,同时也为社区成员们提供了交换和互动的机会。如果你正在寻找一个简洁、易用、功能强大的博客平台,数字空间WRITE-BUG无疑是一个值得思考的抉择。

April 30, 2023 · 1 min · jiezi

关于程序员:Mummer-用法简析

动动发财的小手,点个赞吧! 4个工作流程nucmer由Perl写的流程,用于联配很相近(closely related)核酸序列。它比拟适宜定位和展现高度激进的DNA序列。留神,为了进步nucmer的精确性,最好把输出序列先做遮蔽(mask)防止不感兴趣的序列的联配,或者批改单一性限度升高反复导致的联配数。 promer 以翻译后的氨基酸序列进行联配,工作原理同nucmer. rum-mummer1 run-mummer3 两者是基于cshell写的流程,用于两个序列的惯例联配,和promer,nucmer相似,只不过可能自动识别序列类型。它们善于联配类似度高的DNA序列,找到它们的不同,也就是适宜找SNP或者纠错。前者用于1v1无重排,后者1v多有重排 nucmer 参数详解匹配: --mum, --mumreference(默认), --maxmatch--minmatch/-l: 单个匹配最小长度--forwoard/-f, --reverse/-r: 只匹配正链或只匹配负链。聚类: --mincluster/-c: 用于聚类的匹配最低长度,默认65--maxgap/-g: 两个相邻匹配间的最大gap长度,默认90--diagdiff/-D: 一个聚类中两个邻接匹配,最大对角差分,默认5--diagfactor/-d: 也是和对角差分相干参数,只不过和gap长度无关,默认0.12内涵: --breaklen/-b: 在对联配两端拓展式,在终止后持续延长的水平,默认200--[no]extend:是否内涵,默认是--[no]optimize:是否优化,默认是。即在联配分数较低时不会立即终止,而是回顾整条联配,看是否苟延残喘一会。其余: --depend: 显示依赖信息后退出--coords: 调用show-coords输入坐标信息--prefix/-p: 输入文件的前缀--[no]delta: 是否输入delta文件,默认是新增: # 在第四版新增的参数--threads/-t: 多外围---delta=PATH: 指定地位,而不是以后--sam-short=PATH:保留为SAM短格局--sam-long=PATH: 保留为SAM长格局--save=PREFIX:保留suffix array--load=PREIFX:加载suffix array实例比拟常见的用法是把一条间断的序列和另一条间断的序列比。比如说两个细菌的菌株,间接用mummer 两个残缺度高的基因组mummer -mum -b -c A.fasta B.fasta > out.mums# -mum: 计算在两个序列中惟一的最大匹配数# -b: 计算正向和反向匹配数# -c: 报告反向互补序列绝对于原始申请序列的地位高度类似序列,不含重排run-mummer1 ref.fasta qry.fasta ref_qry# 仅报告负链匹配序列run-mummer1 ref.fasta qry.fasta ref_qry -r高度类似序列,存在重排run-mummer3 ref.fasta qry.fasta ref_qry类似度不高以上的run-mummer*比拟关注序列的不同之处,那么对于类似度没有那么高的两个序列,就须要用到nucmer。nucmer关注序列的相似之处,所以它容许重排,倒置和反复景象。nucmer容许多对多的比拟形式,当然比拟罕用的是多对一的比拟。 nucmer --maxgap=500 --mincluster=100 --prefix=ref_qry ref.fasta qry.fasta# --maxgap: 两个match间最大gap为500#--minclster: 至多要有100个match能力算做一簇有点差别能够用翻译的氨基酸序列进行比拟 ...

April 30, 2023 · 1 min · jiezi

关于程序员:模拟退火算法

拜访【WRITE-BUG数字空间】_[内附残缺源码和文档]该我的项目次要是利用部分搜索算法(LS)和模拟退火算法(SA)解决 TSP 问题。先是应用 LS 求解 TSP 问题,再尝试 SA 问题,比拟两者,在效率上 SA 更占有。最初再在 LS 的根底上应用 SA,再优化 SA 局部算法,尝试求解 TSP 问题。选用的 TSP 测例为 eil101(有 101 个城市)。代码应用 python 语言编写,因而运算速度因为语言个性比编程语言要低。摘要该我的项目次要是利用部分搜索算法(LS)和模拟退火算法(SA)解决 TSP 问题。先是应用 LS 求解 TSP 问题,再尝试 SA 问题,比拟两者,在效率上 SA 更占有。最初再在 LS 的根底上应用 SA,再优化 SA 局部算法,尝试求解 TSP 问题。选用的 TSP 测例为 eil101(有 101 个城市)。代码应用 python 语言编写,因而运算速度因为语言个性比编程语言要低。导言旅行商问题,即 TSP 问题(Traveling Salesman Problem),是求最短门路的问题,即“已给一个 n 个点的齐全图,每条边都有一个长度,求总长度最短的通过每个顶点正好一次的关闭回路”。TSP 是组合优化问题,能够被证实具备 NPC 计算复杂性。如果心愿暴力搜寻其最佳解,其复杂度将是 O(n!),其计算量随着 n 的减少将轻易超过目前计算机的可能算力。因而咱们须要用更智能的办法求解。于是咱们先思考部分搜索算法。部分搜索算法是贪婪算法,他往往往邻域中最好的状态搜寻,因而容易进入部分最优后果,而无奈跳出部分最优的区域。第二局部应用模拟退火算法。模拟退火算法从某一较高初温登程,随同温度参数的一直降落,联合概率突跳个性在解空间中随机寻找指标函数的全局最优解,即在部分最优解能概率性地跳出并最终趋于全局最优。模拟退火算法比起部分搜索算法,赋予了肯定跳出部分最优解的能力,但是否跳出部分最优解仍然依赖随机性。试验过程首先应用两种不同的部分搜索算法。第一种抉择邻域的办法是随机替换两个城市在序列中的程序。每次循环中产生的候选序列为城市数(以下用 Cs 示意)*10,并从中抉择一个最优的(间隔最短的)作为下一步。第二种抉择邻域的办法是随机替换三个城市在序列中的程序。每次循环中产生的候选序列为 Cs*10,并从中抉择一个最优的(间隔最短的)作为下一步。这两种算法都按以下步骤实现:录入初始状态,并打乱程序产生一组随机状态,从这组状态(包含初始状态)当选最佳的状态作为终点;Repeat: 产生一个汇合 SRepeat 10 * Cs times: ...

April 29, 2023 · 1 min · jiezi

关于程序员:Pytorch2-如何通过算子融合和-CPUGPU-代码生成加速深度学习

动动发财的小手,点个赞吧! PyTorch 中用于图形捕捉、两头示意、运算符交融以及优化的 C++ 和 GPU 代码生成的深度学习编译器技术入门 计算机编程是神奇的。咱们用人类可读的语言编写代码,就像变魔术一样,它通过硅晶体管转化为电流,使它们像开关一样工作,并容许它们实现简单的逻辑——这样咱们就能够在互联网上观赏猫视频了。在编程语言和运行它的硬件处理器之间,有一项重要的技术——编译器。编译器的工作是将咱们人类可读的语言代码翻译并简化为处理器能够了解的指令。 编译器在深度学习中施展着十分重要的作用,能够进步训练和推理性能,进步能效,并针对多样化的 AI 加速器硬件。在这篇博文中,我将探讨为 PyTorch 2.0 提供反对的深度学习编译器技术。我将疏导您实现编译过程的不同阶段,并通过代码示例和可视化探讨各种底层技术。 什么是深度学习编译器?深度学习编译器将深度学习框架中编写的高级代码转换为优化的低级硬件特定代码,以减速训练和推理。它通过执行层和运算符交融、更好的内存布局以及生成指标特定的优化交融内核来缩小函数调用开销,从而在深度学习模型中找到优化性能的机会。 与传统的软件编译器不同,深度学习编译器必须应用高度可并行化的代码,这些代码通常在专门的 AI 加速器硬件(GPU、TPU、AWS Trainium/Inferentia、Intel Habana Gaudi 等)上减速。为了进步性能,深度学习编译器必须利用硬件特定的性能,例如混合精度反对、性能优化的内核以及最小化主机 (CPU) 和 AI 加速器之间的通信。 在深度学习算法持续疾速倒退的同时,硬件 AI 加速器也在一直倒退,以满足深度学习算法的性能和效率需要。 在这篇博文中,我将重点关注软件方面的事件,尤其是更靠近硬件的软件子集——深度学习编译器。首先,让咱们先看看深度学习编译器中的不同函数。 PyTorch 2.0 中的深度学习编译器PyTorch 2.0 包含新的编译器技术,以进步模型性能和运行时效率,并应用一个简略的 API 来针对不同的硬件后端:torch.compile()。尽管其余博客文章和文章曾经具体探讨了 PyTorch 2.0 的性能劣势,但在这里我将重点关注调用 PyTorch 2.0 编译器时产生的事件。如果你正在寻找量化的性能劣势,你能够找到来自 huggingface、timm 和 torchbench 的不同模型的性能仪表板。 在高层次上,PyTorch 2.0 深度学习编译器的默认选项执行以下要害工作: 图形捕捉:模型和函数的计算图形示意。 PyTorch 技术:TorchDynamo、Torch FX、FX IR主动微分:应用主动微分和升高到原始运算符的反向图形跟踪。 PyTorch 技术:AOTAutograd、Aten IR优化:前向和后向图级优化和运算符交融。 PyTorch 技术:TorchInductor(默认)或其余编译器代码生成:生成硬件特定的 C++/GPU 代码。 PyTorch 技术:TorchInductor、OpenAI Triton(默认)其余编译器通过这些步骤,编译器会转换您的代码并生成逐步“升高”的两头示意 (IR)。升高是编译器词典中的一个术语,指的是通过编译器的主动转换和重写将一组宽泛的操作(例如 PyTorch API 反对的)映射到一组狭隘的操作(例如硬件反对的)。 PyTorch 2.0 编译器流程: ...

April 29, 2023 · 1 min · jiezi

关于程序员:JavaScript原型原型对象原型链系列详解四

(四)、JavaScript原型、原型对象、原型链之间的作用关系为感激大家的反对,特发福利红包(支F宝口令红包),点击返回支付:GiteeJavaScript中的原型、原型对象和原型链是密不可分的概念,它们之间形成了对象继承的根底。上面我将具体介绍它们之间的作用关系: 原型对象是原型的实体原型对象是一个理论存在的对象,用于存储属性和办法。当创立一个函数时,零碎会主动创立一个原型对象并赋值给函数的prototype属性。 原型是指向原型对象的援用原型是函数的一个属性,它指向原型对象的援用。通过原型,咱们能够拜访原型对象中的属性和办法。当调用函数中未定义的属性时,JavaScript会沿着原型链逐级查找,直到找到该属性或者查找到Object.prototype为止。 原型链是原型对象之间的连贯原型链是原型对象之间的连贯,每个原型对象都有一个指向父级原型对象的指针,即Prototype属性。当查找某个属性时,如果以后原型对象上不存在该属性,JavaScript会沿着原型链往上查找,直到找到该属性或者查找到Object.prototype为止。这种查找形式就形成了原型链。 原型链实现了对象的继承通过原型链,咱们能够实现对象的继承。当咱们创立一个子类时,它的原型对象指向父类的实例,从而实现了父类的属性和办法的继承。 上面是一个简略的示例,展现了原型、原型对象和原型链之间的关系: function Person(name, age) { this.name = name; this.age = age;}Person.prototype.sayHello = function() { console.log("Hello, I'm " + this.name + ", and I'm " + this.age + " years old.");};var john = new Person("John", 30);john.sayHello(); // 输入:Hello, I'm John, and I'm 30 years old.console.log(john.hasOwnProperty("name")); // 输入:trueconsole.log(john.hasOwnProperty("sayHello")); // 输入:falseconsole.log(Object.getPrototypeOf(john) === Person.prototype); // 输入:trueconsole.log(Object.getPrototypeOf(Person.prototype) === Object.prototype); // 输入:trueconsole.log(Object.getPrototypeOf(Object.prototype) === null); // 输入:true在这个示例中,咱们创立了一个 Person 函数作为构造函数,并在它的原型对象上增加了一个办法 sayHello。而后咱们通过 new 操作符创立了一个 john 对象,并调用了它的 sayHello 办法。在拜访 john 对象的属性时,它会先查找本身是否有该属性,而后会沿着原型链查找 Person.prototype 对象,最终查找到了 Object.prototype 对象。同时,咱们也能够应用 Object.getPrototypeOf 办法来查看对象的原型是否正确。 ...

April 28, 2023 · 1 min · jiezi

关于程序员:基于Python实现的抓包分析软件

拜访【WRITE-BUG数字空间】_[内附残缺源码和文档]一、简介这是一个学习模拟WireShark的抓包软件。能够的性能有:侦听、解析、结构数据包等。其中还包含扩大性能:流量监测和攻打检测(Land攻打,Ping of Death)。软件目前反对解析:IP、IPv6、ARP、TCP、UDP、ICMP、ICMPv6、SSDP、HTTP、TLS。二、次要性能侦听指定网卡或所有网卡,抓取流经网卡的数据包!解析捕捉的数据包每层的每个字段,查看数据包的具体内容可通过不同的需要设置了BPF过滤器,获取指定地址、端口或协定等相干条件的报文针对利用进行流量监测,监测后果实时在流量图显示,并可设置流量预警线,当流量超过预警线时主动报警提供了以饼状图的模式统计ARP、TCP、UDP、ICMP报文,以柱状图的模式统计IPv4、IPv6报文可将抓取到的数据包另存为pcap文件,并能通过关上一个pcap文件对其中的数据包进行解析可逐层逐字段结构数据包,实现自定义数据包发送三、次要模块数据报文采集模块:实现网络接口数据的捕捉、解析,能够依据用户定义条件组合来进行捕捉,如只监督采纳TCP或UDP协定的数据包,也能够监督用户心愿关注的相干IP地址的数据包,同时实现数据封包日志记录,进步了零碎的灵活性。此外,对IP类型、ARP、TCP、UDP、ICMP的数量进行统计。利用流量监测模块:获取以后正在运行的利用过程,用户可抉择一个利用进行流量监测,获取利用中流量信息,同时对一些常见的入侵攻打特色进行判断,如依据源目标地址是否雷同判断Land攻打、IP头部长度是否过长判断ping拒绝服务攻打,并收回预警。报文伪造模块:能够自行结构Ether、IP、TCP、UDP、ICMP、ARP报文,并抉择send()、sendp()、sr()、srl()、srloop()五种形式发送报文以实现简略攻打或对TCP/IP进行调试。界面显示模块:设计零碎主窗口即数据报文采集界面、利用流量监测界面、报文伪造界面。并实现报文统计图的显示,流量图的显示。[](/img/bVc7Gvj)

April 28, 2023 · 1 min · jiezi

关于程序员:互联网新闻情感分析

拜访【WRITE-BUG数字空间】_[内附残缺源码和文档]随着各种社交平台的衰亡,网络上用户的生成内容越来越多,产生大量的文本信息,如新闻、微博、博客等,面对如此宏大且富裕情绪表白的文本信息,齐全能够思考通过摸索他们潜在的价值为人们服务。因而近年来情绪剖析受到计算机语言学畛域研究者们的亲密关注,成为一项进本的热点钻研工作。 本赛题指标为在宏大的数据集中精准的辨别文本的情感极性,情感分为正中负三类。面对浩如烟海的新闻信息,准确辨认蕴藏在其中的情感偏向。一、工作形容1.1 赛题背景随着各种社交平台的衰亡,网络上用户的生成内容越来越多,产生大量的文本信息,如新闻、微博、博客等,面对如此宏大且富裕情绪表白的文本信息,齐全能够思考通过摸索他们潜在的价值为人们服务。因而近年来情绪剖析受到计算机语言学畛域研究者们的亲密关注,成为一项进本的热点钻研工作。本赛题指标为在宏大的数据集中精准的辨别文本的情感极性,情感分为正中负三类。面对浩如烟海的新闻信息,准确辨认蕴藏在其中的情感偏向。1.2 工作要求对官网提供的新闻数据进行情感极性分类,其中侧面情绪对应0,中性情绪对应1以及负面情绪对应2。依据提供的训练数据,通过算法或模型判断出测试集中新闻的情感极性。1.3 数据形容数据包由两个csv文件组成:第一个是Train_Dataset,蕴含7360条新闻的id号,新闻标题和新闻内容。第二个是Train_Dataset_Label,蕴含了Dataset中新闻的id号,以其新闻的情感得分(用0,1,2示意)。二、实施方案该问题本质上为对信息的分类解决,所以核心内容是应用一个适合的分类器。其次,因为新闻是由文本形成的语言,一条新闻的情感通常能够由文本中词语的情感性决定。于是,另一个重要的内容是如何将数据进行预处理,即删除无用文字,并将新闻文本切分成一个个中文词语。2.1 数据预处理察看训练集中新闻的内容,发现新闻文本乌七八糟,有各种不属于中文词库的符号。所以预处理的第一步就是将不属于中文的文本删除(包含各种标点符号)。预处理的第二步是将修改后的文本进行词语的切分,从而将一整段话切分为一个个词语。2.2 分类器抉择情感标签有三种赋值:踊跃、中立和消极。于是所有的二分类器就不能够应用,比方规范意义下的SVM反对向量机等。思考到运行工夫和效率,咱们将抉择奢侈贝叶斯分类器作为首选(事实上,测试后果也表明奢侈贝叶斯分类器是效率和正确率均较高的分类器)

April 28, 2023 · 1 min · jiezi

关于程序员:JasperReports教程编程入门自学教程菜鸟教程免费教程分享

教程简介JasperReports入门教程 - 应用蕴含从环境设置,报告设计,编译报告设计,填充报告,查看和打印报告,导出,参数,数据源开始的基础知识到高级常识的初学者教程,简略易学地设计和创立JasperReports ,字段,表达式,变量,局部,组,款式,Scriplets,子报告,图表,Corsstabs和国际化。 教程目录JasperReports - 编译报告设计JasperReports - 填写报告JasperReports教程JasperReports - 入门JasperReports - 环境设置JasperReports - 生命周期JasperReports - 设计查看和打印报告JasperReports - 导出报告报告参数报告数据源报告字段报告表达式报告变量报告局部报告组报告字体Unicode反对报告款式报告Scriptlets创立子报告创立图表JasperReports - CrosstabsJasperReports - 国际化JasperReports - 有用的资源

April 28, 2023 · 1 min · jiezi

关于程序员:Nginx安装配置详解万字长文典藏版

Nginx装置配置详解Nginx简介Nginx(“engine x”)是一款高性能的Web服务器和反向代理服务器,它采纳事件驱动的异步构造,具备内存占用少、稳定性高、可能解决大量的并发申请,具备高效和低资源耗费的特点。 Nginx经常被用作Web服务器、负载均衡器、反向代理和缓存服务器等。 Nginx装置在Ubuntu中,装置Nginx步骤如下: 更新软件源能够通过运行以下命令更新软件源: sudo apt-get update# 在CentOS中# sudo yum install epel-release装置Nginx装置Nginx服务器能够通过以下命令: sudo apt-get install nginx# 在CentOS中# sudo yum install nginx查看Nginx是否正确装置运行以下命令能够查看Nginx是否正确装置: # 查看nginx版本号nginx -v# 查看nginx版本号以及其余配置参数,蕴含装置、配置文件门路以及内置模块等信息nginx -V如果可能输入Nginx的版本号,则示意Nginx曾经正确装置。 默认状况下,Nginx的装置门路为/usr/share/nginx,Nginx的配置文件门路为/etc/nginx/nginx.conf。 nginx帮忙手册命令以及常用命令# 查看nginx帮忙文档nginx -h# 在Linux零碎中,能够应用man命令查看nginx具体帮忙文档man nginx# 检测nginx配置文件语法是否正确nginx -t# 检测nginx配置文件语法是否正确,并把nginx配置文件信息输入到屏幕nginx -T# 设置nginx应用的配置文件(默认应用:/usr/local/etc/nginx/nginx.conf)nginx -c nginx_file.conf# 向nginx主过程发送信号,stop, quit, reopen, reloadnginx -s stop # 进行Nginx过程nginx -s quit # 疾速进行Nginx过程,但容许实现曾经承受的连贯申请nginx -s reopen # 从新关上日志文件# 与stop不同,reload不会齐全进行Nginx过程,而是平滑地从新加载配置文件,并在新的工作过程中对已有的连贯进行服务,可在不进行服务的状况下实现动静更新配置nginx -s reload 区别: stop和quit都是进行Nginx过程,但quit容许之前承受的连贯持续实现,而stop则会强制终止所有连贯。reload会重载Nginx的配置文件,并启动新的worker过程,新的worker过程会用新的配置从新跑,旧的worker过程会持续解决旧有的连贯,新配置失效后,新的连贯会从新的worker过程解决,而reopen是从新关上日志文件,在日志文件较大的时候,不便日志切割。 全局内置指令和变量Nginx罕用的全局指令user:指定Nginx所应用的零碎用户和用户组,默认为nobody;worker_processes:指定Nginx工作过程的数量,默认为1;worker_cpu_affinity:指定每个worker过程绑定的CPU外围;worker_rlimit_nofile:指定每个worker过程容许关上的最大文件数;pid:指定Nginx过程号寄存的地位,默认为/var/run/nginx.pid;access_log:指定Nginx拜访日志寄存的地位和格局;error_log:指定Nginx谬误日志寄存的地位和格局,罕用的格局有debug,info,notice,warn,error和crit;events:指定Nginx事件模块的配置,常见的配置包含worker_connections(最大连接数)和use,epoll和kqueue,以及其余一些事件模块配置;http:指定Nginx HTTP模块的配置,包含server_names_hash_max_size(域名哈希表的最大尺寸)、server_names_hash_bucket_size(每个哈希桶的大小)、client_max_body_size(前端客户端传输的最大申请体大小)等等;server:指定Nginx所有server块的配置,包含listen(服务器监听端口)、server_name(服务器域名)、access_log(拜访日志门路和格局)等等。keepalive_timeout:指定HTTP keep-alive连贯超时工夫。multi_accept:一个申请是否可能被多个 worker 解决。gzip:是否启用gzip压缩传输;ssl:开启SSL反对;use:增加 nginx 模块;更多配置信息详见官网文档:https://nginx.org/en/docs/更多指令详见官网文档:https://nginx.org/en/docs/dirindex.html nginx罕用的内置变量$request_method:所应用的 HTTP 申请办法,如 GET、POST、PUT、DELETE、HEAD 等。$host: 申请的主机名。$http_referer: 申请的 HTTP referer 头部字段。$http_user_agent: 申请的 User-Agent 头部字段。$remote_addr: 客户端的 IP 地址。$request_body: 申请主体的内容。$request_uri: 申请的 URI 包含参数局部。$args: 申请中的参数局部,同$query_string。$scheme: 申请应用的协定,比方 http 或 https。$server_name: Nginx 配置中以后虚拟主机的名称。$server_port: Nginx 监听的端口号。通过应用这些内置变量,能够不便地在Nginx配置中进行动静参数配置、申请头部字段获取等操作。同时,还能够像应用任何其余Nginx变量一样,将它们与各种指令(如if、set、map)联合应用。 ...

April 28, 2023 · 7 min · jiezi

关于程序员:考阿里云认证有什么用可以升职加薪吗

要晓得当初的社会,金钱能够硬通货,为了挣到大钱,很多人从在学习的时候,就会抉择热门的行业,而云计算能够说是目前正在兴兴升起的行业之一,很多人都会抉择这个业余,甚至在毕业后进行再教育,从而进入这一行。除此之外,还有很多人会考取相干的职业证书,只为可能减少本人的职业竞争力。 其中阿里云云的认证是十分有含金量的,作为一个老牌的云计算厂商,阿里云的市场占比稳居第一,阿里云设立的残缺的认证体系,很多人会考认证来丰盛本人的简历,上面小编简略介绍一下,有须要的能够在认证大使上具体理解。 阿里云认证含金量 1、阿里云的认证体系十分欠缺,能够让每个人找到本人适宜的认证,通过学习认证而晋升本人的业余能力。 2、阿里云的单干厂商泛滥,并且很多都是行业内的龙头企业,能够说是有相当宽广的根底盘。 3、绝对于个别的人员,领有证书的人才能够说是薪资会更高一些。 阿里云认证流程 1、阿里云认证须要先进行报名,绑定本人的常识在官网上即可抉择本人须要的认证学习,通过长时间的学习,丰盛本人的常识。 2、学习实现后,即可在官网上预约当地的考试核心,进行考试。 3、同时要在官网上实现试验,这样能力支付证书。

April 27, 2023 · 1 min · jiezi

关于程序员:JavaScript原型原型对象原型链系列详解三

(三)、JavaScript原型链为感激大家的反对,特发福利红包(支F宝口令红包),点击返回支付:Gitee原型链在 JavaScript 中,对象之间的继承是通过原型链来实现的。每个对象都有一个指向原型对象的外部链接,也就是 [[Prototype]] 属性。这个链接的作用是如果对象自身没有某个属性或办法,就会去它的原型对象上找,如果还没有,就会去原型对象的原型对象上找,以此类推,直到找到为止。这就造成了原型链。 原型链的实现在 JavaScript 中,咱们能够通过构造函数来创立一个对象,每个构造函数都有一个 prototype 属性,它指向一个对象,这个对象就是新对象的原型对象。通过 new 关键字调用构造函数时,会创立一个新的对象,并将它的原型对象指向构造函数的 prototype 属性所指向的对象。 上面是一个例子: // 定义一个构造函数function Person(name) { this.name = name;}// 定义构造函数的原型对象Person.prototype.sayHello = function() { console.log(`Hello, my name is ${this.name}`);};// 创立一个对象const person = new Person('John');// 调用对象的办法person.sayHello(); // 输入 "Hello, my name is John"在这个例子中,Person 构造函数有一个 prototype 属性,指向一个对象,这个对象有一个 sayHello 办法。当咱们通过 new 关键字调用 Person 构造函数时,会创立一个新对象 person,并将它的原型对象指向 Person.prototype 所指向的对象。 因而,当咱们调用 person.sayHello() 办法时,JavaScript 引擎会首先查找 person 对象自身是否有 sayHello 办法,如果没有,就会去它的原型对象 Person.prototype 上查找,如果还没有,就会去 Person.prototype 的原型对象 Object.prototype 上查找,以此类推,直到找到为止。 ...

April 27, 2023 · 2 min · jiezi

关于程序员:基于卷积神经网络实时识别手势动作

拜访【WRITE-BUG数字空间】_[内附残缺源码和文档] 应用办法 先用Train.py训练好模型参数,而后运行CallFrame.py调用出界面窗口, 点击窗口的相应按钮就能够在线检测手势动作,其中的执行手势按钮是和下位机通信(如STM32单片机), 通过串口函数将辨认后果传给下位机,实现依据手势动作管制的性能。利用卷积神经网络实时辨认手势动作一共辨认 5 种手势动作剪刀动作2.石头动作3.布动作4.OK 动作5.good 动作次要思路:1.构建数据集 2.建设神经网络 3.训练并调参 4.保留并调用另外我还加了界面设计和机械臂管制(通过串口通信把判断后果发给单片机,所以代码中有 serial 模块)训练集: 1~4 号动作各有 1300 张照片,5 号动作有 1450 张照片 测试集: 1~5 号动作各有 200 张照片文件解释:data 文件外面寄存 test 数据集,train 数据集,实时保留的图像(用于在线检测)。ges_ico 文件外面寄存界面窗口显示的各种图标。log 文件外面寄存训练好的 CNN 网络的模型参数。CallFrame.py 是界面窗口的逻辑文件,用来调用界面文件并编写信号与槽函数。Frame.py 是界面窗口的界面文件,通过 PyQt5 的 designer 工具生成。GetTestImage.py 是利用 OpenCV 获取图片并标记,用来制作测试集。GetTrainImage.py 是利用 OpenCV 获取图片并标记,用来制作训练集。SaveGesture.py 是利用 OpenCV 实时获取图片,并进行预处理,用于在线检测手势。TestGesture.py 是将实时获取的图片送入已训练好的 CNN 中判断其手势动作。TestInTest.py 是将测试集送入已训练好的 CNN 中判断该网络模型的准确率。Train.py 是训练 CNN 模型函数,并将训练好的模型参数保留在本地。Train_inputdata.py 是用来读取数据集的图像和标签,并打包成 batch 模式。Train_model.py 是模型构造,这里用的是 AlexNet 构造。应用办法:先用 Train.py 训练好模型参数,而后运行 CallFrame.py 调用出界面窗口, 点击窗口的相应按钮就能够在线检测手势动作,其中的执行手势按钮是和下位机通信(如 STM32),通过串口函数将辨认后果传给下位机,实现依据手势动作管制的性能。测试后果:应用该模型训练到 900 步的时候在测试集上正确率能够稳固在 95% 左右。(训练集:1,2,3,4 号动作各有 1300 张照片,5 号动作有 1450 张照片;测试集:每种动作各有 200 张照片) ...

April 27, 2023 · 1 min · jiezi

关于程序员:基于区块链的物流信息存储系统

拜访【WRITE-BUG数字空间】_[内附残缺源码和文档] 依据该项的状态机,咱们从创世纪状态开始,当交易被执后,这个创世纪状态就会转变成最终状态。在任何时刻,这个最终状态都代表着以后的状态,在项中指针 Bptr永远指向最新的状态。每个状态可能蕴含数个物流信息。这些信息都被“组团”到个区块中。个区块蕴含了系列的物流信息,每个区块都与它的前个区块链接起来。一、介绍:区块链是一种数据结构介绍视频 1介绍视频 2如果有工夫,也可系统性学习北大课程:二、工作:1~2 人一组(在本文档顶部注明分工)实现基于区块链的物流信息存储系统(下图为示意图,仅供参考)参考链接实现本文档前面的我的项目阐明课程期间全程参加钉钉会议,不定时随机点名共享屏幕解说进度 12 日 24:00 前将整个我的项目代码和本文档提交至钉钉群思考下列开放式问题,造成本人的观点,并写在文档开端:是不是万物皆可区块链,区块链到底能用来做什么?◆ 参考链接 1区块链能真正做到去中心化吗?区块链能真正做到不可篡改吗?更多问题可自行施展 …三、模型阐明该项实质就是个基于交易的状态机(transaction-based state machine)。在计算机科学中,个状态机是指能够读取系列的输,而后依据这些输,会转换成个新的状态进去的东。该状态机如下:依据该项的状态机,咱们从创世纪状态开始,当交易被执后,这个创世纪状态就会转变成最终状态。在任何时刻,这个最终状态都代表着以后的状态,在项中指针 Bptr永远指向最新的状态。每个状态可能蕴含数个物流信息。这些信息都被“组团”到个区块中。个区块蕴含了系列的物流信息,每个区块都与它的前个区块链接起来。 1

April 27, 2023 · 1 min · jiezi

关于程序员:程序员的6个真面目没有一个被冤枉

纵使工作中有许多酸甜苦辣 你在岗位上的每一点付出 每一行代码的敲下 每一次需要的实现 每一个bug的修复 都让咱们的生存变得更加高效便捷 让科技绽开出向善而动人的力量 致敬在岗位上发明不凡的你! 五一劳动节,IT行业的从业者们辛苦啦 小云为大家筹备了三大专属福利! 快来参加互动,犒劳辛勤的本人吧 01 分享有礼 参加形式 1、分享原文到朋友圈,并截图 2、将截图发送到公众号后盾,即可抽奖 请保留分享到5月10日12点开奖,兑奖将核验 02 回复有礼 参加形式 公众号后盾回复 「福利」 领材料包&红包封面 数量无限,先到先得 03 评论有礼 参加形式 ...

April 27, 2023 · 1 min · jiezi

关于程序员:WPF教程编程入门自学教程菜鸟教程免费教程分享

教程简介WPF(Windows Presentation Foundation)是微软推出的基于Windows 的用户界面框架,属于.NET Framework的一部分。它提供了对立的编程模型、语言和框架,真正做到了拆散界面设计人员与开发人员的工作;同时它提供了全新的多媒体交互用户图形界面。 WPF初入门教程 - 从简略的步骤理解WPF,从根本到高级概念,包含概述,环境设置,Hello World,XAML概述,元素树,依赖属性,路由事件,控件,布局,布局嵌套,输出,命令行,数据绑定,资源,模板,款式,触发器,调试,自定义控件,异样解决,本地化,交互,2D图形,3D图形,多媒体。 教程目录WPF教程WPF - 概述WPF - 环境设置WPF - Hello WorldWPF - XAML概述WPF - Elements TreeWPF - 依赖属性WPF - 路由事件WPF - 控件WPF - 布局WPF - 布局嵌套WPF - 输出WPF - 命令行WPF - 数据绑定WPF - 资源WPF - 模板WPF - 款式WPF - 触发器WPF - 调试WPF - 自定义控件WPF - 异样解决WPF - 本地化WPF - 互动WPF - 2D图形WPF - 3D图形WPF - 多媒体WPF - 有用的资源

April 27, 2023 · 1 min · jiezi

关于程序员:JavaScript原型原型对象原型链系列详解二

(二)、JavaScript原型对象为感激大家的反对,特发福利红包(支F宝口令红包),点击返回支付:Gitee原型对象JavaScript 的原型机制是一种十分弱小和灵便的面向对象编程概念,它应用一个对象作为另一个对象的模板,从而实现继承。在 JavaScript 中,每个对象都有一个原型对象,它定义了该对象的属性和办法,并且充当着该对象的模板。 原型对象的定义在 JavaScript 中,咱们能够通过应用构造函数来创立一个对象,构造函数中的 this 指向的是以后对象自身。同时,JavaScript 也提供了一种非凡的构造函数,称之为 Object 构造函数,它用来创立一个新的空对象。 当咱们应用 Object 构造函数创立一个新的对象时,JavaScript 会主动为该对象创立一个原型对象,该原型对象会蕴含一些根本的属性和办法,例如 toString()、valueOf() 等。 除了应用 Object 构造函数创建对象之外,咱们还能够通过应用原型对象来定义对象的属性和办法。JavaScript 中,每个对象都有一个 proto 属性,它指向该对象的原型对象。通过批改原型对象的属性和办法,咱们能够影响到所有继承自该原型对象的对象。 例如,咱们能够通过如下形式定义一个构造函数和它的原型对象: // 定义一个构造函数function Person(name, age) { this.name = name; this.age = age;}// 定义 Person 的原型对象Person.prototype.sayHello = function() { console.log('Hello, my name is ' + this.name + ', and I am ' + this.age + ' years old.');};在下面的例子中,咱们定义了一个构造函数 Person,它蕴含两个属性 name 和 age。同时,咱们还定义了一个 sayHello 办法,并将它增加到了 Person 的原型对象中。 ...

April 27, 2023 · 1 min · jiezi

关于程序员:阿里云容器认证有几个等级考试内容是什么

想从事赚钱的职业,那就肯定要尝试一下信息通信行业,而在这之中有一个十分重要的单元,那就是容器,其中利用代码与库和依赖关系以通用形式打包在一起,因而它能够在桌面、传统IT或云端等任何地位运行,而想要从事这个岗位的人,则须要领有过硬的技术,以及业余的证书。 阿里云作为目前市面上占比最大的云计算厂商,其旗下的各项认证也是十分具备含金量的,其中ACP云原生容器也是十分热门的一项证书,上面小编简略介绍一下,有须要的能够在认证大使上征询。 阿里云ACP容器概述 阿里云云原生容器工程师认证(Alibaba Cloud Certified Professional - Cloud Container)是蕴含了云原生容器人才所需技能及常识的工程师认证,定义云原生容器畛域人才的考量规范,也是阿里巴巴云原生容器产品相干体系认证打算的外围局部。 阿里云ACP容器内容 1、容器综述 2、容器服务 ACK 3、容器镜像服务 ACR 4、服务网格 ASM 5、Serverless 容器服务 ASK 6、边缘容器服务 ACK@Edge 7、阿里云容器解决方案 阿里云ACP容器考试 1、考试分为口试和试验两局部,口试为70道单选、30道多选,试验在官网上实现即可。2、考试的报名费用为1200元,然而认证大使上有优惠报名券。3、考试须要在官网上预约当地的考试核心,但认证大使能够约线上。

April 26, 2023 · 1 min · jiezi

关于程序员:JavaScript原型原型对象原型链系列详解一

(一)、JavaScript原型为感激大家的反对,特发福利红包(支F宝口令红包),点击返回支付:Gitee原型JavaScript 是一门面向对象的编程语言,其中原型(prototype)是一个重要的概念,它提供了一种创建对象的形式,使对象能够共享属性和办法。在 JavaScript 中,每个对象都有一个原型,能够从原型中继承属性和办法。 原型的定义JavaScript 的原型是一个对象,它蕴含了一些公共的属性和办法。当咱们创立一个新的对象时,它会从它的构造函数的原型中继承这些属性和办法。JavaScript 的原型链是由每个对象的 [[Prototype]] 属性所连贯的,这些属性指向它的原型对象。 咱们能够通过给构造函数的 prototype 属性赋值来创立一个原型,也能够通过 Object.create() 办法创立一个原型对象。 // 创立原型的两种形式// 形式一:通过构造函数的 prototype 属性创立function Person() {}Person.prototype.name = 'Tom';Person.prototype.sayHello = function() { console.log(`Hello, my name is ${this.name}.`);};// 形式二:通过 Object.create() 办法创立const cat = { breed: 'Persian' };const kitten = Object.create(cat);kitten.name = 'Whiskers';kitten.meow = function() { console.log(`${this.name} says "Meow!"`);};在以上示例中,咱们通过构造函数的 prototype 属性和 Object.create() 办法创立了两个不同的原型对象。其中,Person 构造函数的原型对象蕴含了 name 和 sayHello 属性和办法,而 cat 对象是一个一般对象,它的原型对象是 Object.prototype。 原型的原理JavaScript 原型的原理是基于 JavaScript 的面向对象编程中的原型继承。在原型继承中,一个对象能够从另一个对象中继承属性和办法。当咱们拜访一个对象的属性或办法时,JavaScript 会先在该对象自身中查找,如果找不到,就会到该对象的原型对象中查找。如果还是找不到,就会到原型对象的原型对象中查找,始终到最顶层的 Object.prototype 对象为止。如果在查找过程中找到了对应的属性或办法,就会应用它。如果找不到,就会返回 undefined。 ...

April 26, 2023 · 2 min · jiezi

关于程序员:第三期Apache-DolphinScheduler-每周-FAQ-集锦

4月15日-4月21日问:有openEuler + DolphinScheduler的镜像吗? 答:没有,DolphinScheduler公布的官网镜像都是基于 Debian 的。 问:有没有DolphinScheduler资源管理的示例? 答:可参考Apache DolphinScheduler应用标准与应用技巧分享,或者看看官网文档,https://dolphinscheduler.apache.org/zh-cn/docs/3.1.5/guide/re... 问:创立海豚调度数据源测试连贯连贯不上,然而在服务器下面telnet能够通,这是怎么回事呢? 答:请确定你填的用户名明码、可选配置是正确的,例如 MySQL 的 ssl 是否开启等。 问:采纳本地文件(file:///)治理,是否有上传文件的大小限度? 答:没有大小限度,然而太大能够会导致上传的时候超时。 问:曾经有用户了, 为什么还要有租户的概念? 租户对应 Linux 用户的意义是什么? 如果设置了sudo.enable=false, 是不是就相当于不能用多租户了? 答:用户->对应ds web操作系统,租户 -> 工作或者资源操作的用户,为了做资源隔离。 问:DolphinScheduler 3.1.5版本反对Trino sql的工作类型配置吗? 答:3.1.5 不反对 Trino,Trino 的反对待发版。 问:工作流实例页面中展现的完结工夫和数据库中的end_time差了13个小时,工夫不统一是怎么回事? 答:须要MySQL与Sprintboot的时区保持一致。 问:DolphinScheduler调度只能应用python2.7环境吗?新版python3,能够间接调用吗? 答:能够用Python3,但须要改datax.py脚本。 问:流都是SQL,作业流上线后,后端怎么间接调用作业流呢?在DolphinScheduler外面好想没有看到调用的,是不是框架外面用DolphinScheduler的API进行调度的呢? 答:如果是指工作流都是SQL工作,触发工作流能够通过页面,或者API接口调用。 问:DolphinScheduler最大可反对提交多少工作?单节点最大并发能够达到多少个? 答:可参考:最新性能测试 | Apache DolphinScheduler 每分钟调度工作并发是 Apache Airflow 2 倍 问:替换Airflow为DolphinScheduler的劣势和具体计划是什么? 答:DolphinScheduler外乡开发,操作更合乎国人习惯,且在性能、性能上都有劣势,可参考性能比照文章查看:最新性能测试 | Apache DolphinScheduler 每分钟调度工作并发是 Apache Airflow 2 倍迁徙案例:从 Airflow 到 Apache DolphinScheduler,有赞大数据开发平台的调度零碎演进迁徙工具:迁徙工具 Air2phin 发表开源,2 步迁徙 Airflow 至 Dolphinscheduler ...

April 26, 2023 · 1 min · jiezi

关于程序员:招商基金数字化转型下的研发管理|发布会精彩回顾

在 4 月 20 日举办的《中国企业软件研发治理白皮书》发布会上,招商基金信息技术部副总监、研发核心主管刘志昆作了《招商基金数字化转型下的研发治理》主题演讲,从数字化转型背景、研发管理所遇到的挑战登程,讲述招商基金如何摸索出适宜本身环境和业务须要的研发治理解决方案。以下为刘志昆演讲内容摘录: 招商基金数字化转型背景及研发挑战 咱们为什么要做研发治理?早些年前,我司就制订了公司的整体策略,围绕着「一核两擎四化」开展业务建设,「四化」的其中之一是「经营数字化」,公司明确要求信息科技要围绕外围的投资、营销、经营等畛域构建公司的数字化护城河,进步工作效力。公司对 IT 的要求就更加明确,从原来的「服务业务」转变为「赋能业务」,甚至是心愿在某方面「引领业务」。 因而,咱们制订了相应的战术,在 IT 治理改革、数字化文化转型和研发治理的转型等都发展了一些相应的工作。其中,研发治理的转型是最外围的一环。 我简略介绍一下招商基金在研发治理转型中面临的次要挑战。首先看一下我司科技团队的倒退历程:在 2018 年以前,我司的科技人数非常少,只有十来个人,公司要求 IT 能尽可能多地产出,因而,IT 就要求每一位研发人员都是「多面手」,需要、设计、开发一把抓,但随之而来的问题就是研发人员每个环节都不精通;在 2018-2021 年间,IT 团队增长迅速,有 50 多人,外包团队达 100 人,基本上每个我的项目都配置由项目经理、开发经理以及外包人员等组成的一个个开发团队;到了 2021 年,公司零碎建设全面开花,各个领域都有我的项目在进行,IT 团队的规模也达到了 90 多人,外包团队有 200 人左右——这也意味着更多的我的项目协同和我的项目群的治理。 招商基金科技团队倒退历程 基于以上的背景,咱们在研发过程中遇到了很多痛点问题。一方面,有团队方面的问题。正如我方才说的,晚期的研发人员是身兼多职的、精力有限,使得我的项目间的合作不够顺畅,研发治理的规范性也较差;另一方面,有能力方面的问题。例如,项目经理均凭借集体教训治理我的项目,对危险把控的强弱不一,业余岗位的缺失(比方产品经理或需要分析师),导致需要了解不到位等等,进而影响了我的项目的进度。 因而,咱们充沛意识到,随着人员规模的迅速扩张和需要的爆发式增长,招商基金研发团队的问题亟待改善。 招商基金研发治理应答策略 基于上述的问题,咱们也思考了一番,做了以下 4 个应答策略:调整组织构造、引入麻利开发模式、构建麻利团队、工具反对和数据驱动改良。 第一,调整组织构造。引入两个角色——业务侧的科技专员和 IT 侧的产品经理。科技专员,也就是懂业务的 IT 人员,他可能把业务的诉求与产品经理一起转化为 IT 的语言,带到 IT 我的项目团队中,使沟通变得更加顺畅。 招商基金组织构造 第二,引入麻利开发模式。在晚期,咱们也尝试过麻利治理,不是很胜利,起因很简略,咱们基本上是生吞活剥,没有思考团队的理论状况。起初,咱们通过外脑染指项目管理过程中,通过第三者的专家视角发现问题之后,为咱们提供倡议和解决方案,领导咱们做出调整和改良。通过一系列的微调,咱们陆续造成了一套标准的团队规定,通过每日站会,辅之可视化看板工具的无效应用,一直地标准整体的研发流程;通过查看列单,保障团队规定的继续执行,强化了麻利的项目管理模式。 用 ONES 麻利看板查看迭代进度 第三,构建麻利团队。引入麻利治理之后,也要同步构建麻利我的项目团队。招商基金的自有研发人员绝对较少,当初有 80 多人,外包人员则将近 200 人。因而,招商基金的项目经理会在外包人员中选出适合的人员进行造就,让其去承当局部的项目管理工作。同时,也会组织各类培训,建设处分机制等,让他们感触到本人被器重,晋升团队凝聚力,进而进步研发效率。 第四,工具反对和数据驱动改良。招商基金通过工作流引擎将需要从 OA 导入到 ONES 我的项目管理系统中,再利用 DevOps 工具的开放性、兼容性,将代码治理、CI/CD 等进行集成,从而买通软件开发各流程之间的壁垒,实现研发生命周期的一体化、平台化治理,进步我的项目的管理效率和品质。在这过程中,也通过 ONES Performance 同步收集了局部效力指标,为管理者提供全局视角,多维度评估研发治理的健康状况,定位问题,继续改良。 ...

April 26, 2023 · 1 min · jiezi

关于程序员:-Palladian-扩展节点-2-分钟介绍

Palladian 扩大 中有什么节点值得应用呢? <!--truncate--> Palladian 是一个基于 Java 的工具包,它有一些 Internet 信息检索的节点。还有一些用于文本处理的节点。 他的付费形式比拟特地: 如果您应用的是 KNIME AP 版本, 那么这个扩大就是收费的,如果你应用的是 KNIME Server/Hub 那么就是须要付费许可的装置这个扩大原来是存在于 KNIME community extension 中, 起初因为蕴含了一些付费内容,所以放在 NodePit 上。 它的装置办法比较简单,和一般的 KNIME 官网扩大相比,须要一些额定的步骤。 在 KNIME 的选项中, File → Preferences → Install/Update → Available Software Sites ,单击 Add... 并粘贴更新站点。确保更新站点与您以后的 KNIME 版本匹配,例如 https://download.nodepit.com/4.7 对应于 KNIME 4.7 版本, 如果您 KNIME 是其余版本的,须要做相应的调整 依照失常的搜寻装置 KNIME 扩大流程就能够下载安装了节点简略介绍这个扩大的节点次要分为: Classification 分类Extraction 提取Geo 天文Images 图片Scoring 评分Testing 测试Web 网络几个局部。基本上通过这些分类就晓得外面有些什么性能节点了。 其中我用的比拟多的是 Web 局部,尤其是 HTTP Retriever 相干节点。尽管 KNIME 也有 GET, POST 等节点,但在某些状况下,Palladian 的这些网络相干节点会更好用。比方,你获取了一篇页面,只想得到页面中的局部文字局部,那么你就能够应用 HTTP Retriever、HTML Node to Text、HTML Parser 等节点,最终以 XML 的模式进行解决。 ...

April 26, 2023 · 1 min · jiezi

关于程序员:Java8-教程编程入门自学教程菜鸟教程免费教程分享

教程简介Java 8 (又称为 jdk 1.8) 是 Java 语言开发的一个次要版本。 Java 8 是oracle公司于2014年3月公布,能够看成是自Java 5 以来最具革命性的版本。Java 8为Java语言、编译器、类库、开发工具与JVM带来了大量新个性。 Java 8入门教程 - 从简略的步骤理解Java 8,从根本到高级概念,包含概述,环境设置,Lambda表达式,办法参考,性能接口,默认办法,Streams,可选类,Nashorn JavaScript引擎,新增性能Date Time API,Base64。 教程目录Java8教程Java 8 - 概述Java 8 - 环境设置Java 8 - Lambda表达式Java 8 - 办法参考Java 8 - 性能接口Java 8 - 默认办法Java 8 - StreamsJava 8 - 可选类Java 8 - Nashorn JavaScriptJava 8 - 新的日期/工夫APIJava 8 - Base64Java 8 - 有用的资源

April 26, 2023 · 1 min · jiezi

关于程序员:阿里云ACE考试考什么在哪里考

只阿里云ACE考试改革之后,难度大大增加,费用也十分昂扬,很多人有心想考,却不晓得该怎么考,上面小编简略介绍一下,有须要的人能够在认证大使上具体理解。 阿里云ACE概述 阿里云云计算架构师ACE认证(Alibaba Cloud Certified Expert - Cloud Computing)是针对云架构师,解决方案架构师,云运维专家等技术人员的阿里云高级别技术认证。通过该技术认证能够无效证实该认证人员具备丰盛的需要剖析能力,云架构设计能力,云架构部署施行能力,云架构诊断和调优能力,洞察业务痛点,制订无效的技术改良计划,最大限度地进步零碎架构可扩展性,安全性,可靠性,耐用性和老本效益等个性。 阿里云ACE考试内容 1、口试 私有云-平安-基础设施、业务&数据 私有云-存储 私有云-计算 私有云-架构 私有云-数据库 私有云-网络、组网 私有云-原生-容器、微服务&中间件 混合云 考试题型:单选70道 多选30道 考试工夫:120min 考试地点:当地考试核心 2、试验 考试工夫:每月2-3次,10:00-18:00 考试地点:浙江省杭州市西湖区阿里巴巴云谷园区 3、面试 考试地点:试验通过后再参加面试考试,依据本身的状况抉择适合的面试考试考场

April 25, 2023 · 1 min · jiezi

关于程序员:Midjourney-注册-12-步流程教学

原文: https://bysocket.com/midjourney-register/ 先举荐一个 PromptHero 中武官网 https://promptheroes.cn/ :Prompt Heroes 官网是提供 AI 绘画相干提醒词中文网站,包含 Midjourney(MJ)、 Stable Diffusion、DALL-E 等 1、关上 discord谷歌浏览器搜寻discord,点击进入官网。如图 2、登录 discord点击login登录账号,账号会提醒异地登录验证,咱们须要去邮箱进行验证 3、关上邮箱输出邮箱网址(autorambler.ru)点击登录邮箱 4、登录邮箱登录胜利后进入邮件页面 5、点击discord验证邮件 6、点击蓝色按钮即可实现验证,切忌不要输出账号 7、在邮件处点击完蓝色按钮后,返回至登录页面进行登录即可 8、在导航栏搜寻midjourney并退出此频道 9、在导航栏创立一个属于本人的专属频道 10、将midjourney增加至方才创立的本人的专属频道 11、抉择本人的频道进行增加 12、在本人专属频道的输入框输出/imagine,点击midjourney的指令,随后输出本人想画的关键词即可最初举荐一个 PromptHero 中武官网 https://promptheroes.cn/ :Prompt Heroes 官网是提供 AI 绘画相干提醒词中文网站,包含 Midjourney(MJ)、 Stable Diffusion、DALL-E 等 出处:公号「程序员泥瓦匠」博客: https://bysocket.com/ 内容涵盖 Java 后端技术、Spring Boot、Spring Cloud、微服务架构、运维开发、系统监控等相干的钻研与常识分享。

April 25, 2023 · 1 min · jiezi

关于程序员:MySQL-备忘清单开发速查表分享

MySQL 备忘清单MySQL是一种关系型数据库管理系统,关系数据库将数据保留在不同的表中,而不是将所有数据放在一个大仓库内,这样就减少了速度并进步了灵活性。 MySQL所应用的 SQL 语言是用于拜访数据库的最罕用标准化语言。MySQL 软件采纳了双受权政策,分为社区版和商业版,因为其体积小、速度快、总体领有成本低,尤其是开放源码这一特点,个别中小型和大型网站的开发都抉择 MySQL 作为网站数据库。 MySQL备忘单旨在疾速了解 MySQL 所波及的次要概念,提供了最罕用的SQL语句,供您参考。入门,为开发人员分享疾速参考备忘单。 开发速查表纲要入门 介绍登录MySQL罕用的查看 MySQL 信息退出MySQL会话备份MySQL 示例 治理表格从表中查问数据从多个表查问应用 SQL 束缚批改数据治理视图治理触发器治理索引MySQL 数据类型 StringsDate & timeNumeric另见

April 25, 2023 · 1 min · jiezi

关于程序员:Netstat-备忘清单开发速查表分享

Netstat 备忘清单netstat命令是一个命令行工具,能够在Windows、Linux、Mac OS X等操作系统中应用,它能够帮忙用户查看本地主机的网络连接状况。它能够报告出本地主机的TCP/IP协定统计信息,包含流动的TCP连贯,UDP端口,所有的接口信息,以及流动的网络连接等。 netstat命令能够用来查看本机的网络连接状态,它能够显示出本机的TCP/IP协定统计信息,比方本机的IP地址,子网掩码,网关,DNS服务器,流动的TCP连贯,UDP端口,流动的网络连接,以及本机正在运行的应用程序等。 netstat命令能够帮忙用户更好地理解本地和近程网络的状态,它能够检测网络中存在的问题,例如检测网络连接是否失常,检测端口是否被占用,检测网络中的恶意软件等。 Netstat疾速参考备忘单提供了各种应用 netstat 命令的办法入门,为开发人员分享疾速参考备忘单。 开发速查表纲要入门 入门实例监听连贯网络路由统计数据显示没有域名的 TCP 连贯显示流动/已建设的连贯获取流动连贯的间断列表显示到特定端口的所有关上连贯查看服务是否正在运行Netstat – 平安命令 显示具备大量连贯的 IP连贯到端口 80 的 IP 地址显示端口 80 上的流动连接数仅显示内部 IP 地址显示流动 SYNC_REC每个近程 IP 的连接数查看凋谢端口(ipv4 和 ipv6)查看凋谢端口(ipv4 和 ipv6)每个 IP 的关上连接数沉闷的互联网连贯

April 25, 2023 · 1 min · jiezi

关于程序员:OpenAI-ChatGPT-能取代多少程序员的工作导致失业吗

浏览原文:https://bysocket.com/openai-chatgpt-vs-developer/ ChatGPT 能取代多少程序员的工作?导致咱们程序员就业吗?这是一个很好的话题,我这里分享下: 一、ChatGPT 是什么?有什么作用ChatGPT是一种基于人工智能技术的语言模型,是能够生成代码。 它能够了解自然语言,并生成合乎语法和语义的文本。ChatGPT的呈现,为人工智能和自然语言解决畛域带来了很多的惊喜和便当。在某些特定的畛域中,ChatGPT能够施展重要作用,例如自然语言生成、自动化测试、代码生成等。 二、程序员的工作作为一名程序员,其工作能够概括为以下几个方面: 编写代码:程序员须要依据需要,应用编程语言来编写代码,实现零碎的性能。设计零碎:程序员须要依据需要,设计零碎的架构、逻辑和数据结构,以实现零碎的高效、牢靠和安全性。调试零碎:程序员须要对系统进行测试和调试,以发现和解决零碎中的问题和故障。保护零碎:程序员须要对系统进行保护和更新,以保证系统的稳固和高效运行。优化零碎:程序员须要对系统进行优化和改良,以进步零碎的性能和可靠性。开发新零碎:程序员须要开发新的零碎和应用程序,以满足用户的需要和市场的变动。参加团队单干:程序员须要参加团队单干,与其余成员一起合作实现我的项目。程序员须要具备编程能力、零碎设计能力、团队单干能力和沟通能力,并且须要一直学习和更新本人的常识和技能,以适应一直变动的技术环境和需要。 三、ChatGPT 能取代多少程序员的工作?导致就业吗?对于程序员来说,他们须要具备更多的技能和常识,来设计和实现简单的软件系统。程序员须要把握算法设计、软件开发、零碎架构等方面的常识,以便可能设计出高效、牢靠、平安的软件。同时,程序员也须要一直学习和更新本人的常识,来适应新的技术改革和需要。 ChatGPT能够帮忙程序员编写一些重复性的工作,例如自动化测试、代码生成等。ChatGPT能够疾速地生成一些自然语言的文本,并且能够模仿人类撰写文本的形式,从而节省时间和提高效率。此外,ChatGPT能够作为一种辅助工具,用于查问和解答技术问题,或者用于创立自动化的问答零碎等。 尽管ChatGPT能够帮忙程序员实现一些工作,但它并不能齐全取代程序员的角色。程序员须要具备更多的技能和常识,来设计和实现简单的软件系统。在某些状况下,程序员须要手动编写代码,或者应用其余工具来实现工作。因而,ChatGPT通常只能作为一种辅助工具,来帮忙程序员进步工作效率和实现工作。 浏览原文:https://bysocket.com/openai-chatgpt-vs-developer/ 出处:公号「程序员泥瓦匠」博客: https://bysocket.com/ 内容涵盖 Java 后端技术、Spring Boot、Spring Cloud、微服务架构、运维开发、系统监控等相干的钻研与常识分享。

April 25, 2023 · 1 min · jiezi

关于程序员:Linux常用命令详解两万字超长文

Linux常用命令详解作为一枚程序员,熟练掌握一些常见的linux命令是很有必要的,把握这些命令能帮忙咱们更好地治理Linux零碎,进步工作效率,并无效地解决各种问题,为了不便本人后续查阅以及帮忙不相熟linux命令的小伙伴,特意破费了大量工夫整顿了这篇将近两万字的超长文博客,大家能够先珍藏起来,而后细读一两遍留个印象,后续有用到不相熟的命令的时候再回来查阅这篇文章(当然英文厉害的也能够间接查看帮忙手册,只不过帮忙手册烦扰项太多,也没有突出重点)。 快捷操作搜查目录的时候,按tab键主动补全应用高低箭头,切换最近执行的命令根本用法# 查看某个命令具体的应用办法,man是手册manual单词的缩写,退出命令详情面板输出q字母man ls文件目录切换、门路、查看、编辑cd命令用于切换当前工作目录其语法格局如下: cd [目录名]其中,目录名示意须要切换的目录名称。常见的应用形式如下: # 目录阐明/ # 代表零碎根目录~ # 代表home主目录- # 代表上一次切换的目录./ # 代表当前目录.. # 代表父级目录../.. # 代表父级的父级目录切换到以后用户的主目录:cd / #切换到零碎根目录cd ~切换到上一级目录:cd ..切换到绝对路径下的目录:cd /path/to/directory切换到相对路径下的目录:cd directory注意事项:cd命令须要有相应的权限能力切换到指定目录。如果用户没有权限进入指定目录,那么可能会收到"Permission denied"的错误信息。另外,如果目录名蕴含空格等特殊字符,须要应用单引号或双引号将目录名括起来。 ls 命令它用于列出目录下的文件和子目录的信息上面对 ls 命令的罕用参数及其含意进行介绍。 罕用参数 -l:以长格局显示文件信息,包含文件的权限、所有者、所属组、大小、批改工夫等等。-a:显示所有文件及目录,包含暗藏文件和目录。以.结尾的文件和目录都被认为是暗藏文件和目录。-h:以易读形式显示文件大小,比方ls -lh 。-r:将文件依照相同的顺序排列,即倒序排列。-t:将文件依照批改工夫的先后顺序排列,最近批改的文件排在最后面。-d:显示目录本身的信息,而不是目录下的文件。例如ls -ld /etc。示例 显示目录下的所有文件和子目录信息:ls。以长格局列出目录下的所有文件和子目录的详细信息:ls -l。列出目录下的所有文件和子目录,包含暗藏文件和目录:ls -a。列出所有目录中最新批改的文件:ls -lt。以易读形式显示目录下文件的大小:ls -lh。列出/root目录的详细信息:ls -ld /root。注意事项:ls 命令既能用来查看文件信息,也能够用来查看目录信息。如果你想要查看一个目录下的所有文件和子目录的详细信息,间接在该目录下执行 ls -l 命令即可。如果你想要查看一个文件的详细信息,须要在该文件所在的目录下执行 ls -l 文件名 命令。 pwd命令用于显示当前工作目录的绝对路径其语法格局如下: pwd [选项]常见的选项有: -L : 显示符号链接的绝对路径。-P : 显示理论门路,而非符号链接门路。常见的应用形式如下: 显示当前工作目录的绝对路径:pwd显示符号链接的绝对路径:pwd -L显示理论门路:pwd -P注意事项:pwd命令个别用于查看当前工作目录的门路,不须要其余非凡的权限。如果当前目录被删除或者权限发生变化,那么pwd命令可能会显示谬误的后果。 vim是一个十分弱小的文本编辑器,罕用于Linux零碎下编辑文本文件上面是vim命令的具体用法: 关上文件:vim <文件名>例如,要关上名为file.txt的文本文件,能够输出以下命令: vim file.txt命令模式:vim有三个模式:命令模式、插入模式和视觉模式。当你关上一个文本文件时,首先进入的是命令模式。在命令模式下,能够执行以下操作: 挪动光标:h(左)、j(下)、k(上)、l(右)。切换到插入模式:i(以后光标处插入)、a(以后光标后插入)、o(以后行下方插入)、O(以后行上方插入)、cw(替换从以后光标地位开始到单词结尾的内容)、cc(替换整行内容)。删除:x(删除以后字符)、dw(删除以后光标所在的单词)、dd(删除整行)、D(从以后地位删除到行尾)。撤销:u(撤销上一步操作)。搜寻:/(前向搜索)、?(反向搜寻)。插入模式:在命令模式下按下i、a、o等插入命令后,就进入了插入模式。在插入模式下,能够间接输出文本内容,直至按下Esc键回到命令模式。 ...

April 24, 2023 · 6 min · jiezi

关于程序员:Perl教程编程入门自学教程菜鸟教程免费教程分享

教程简介Perl入门教程 - 从根本到高级概念的简略简略步骤理解Perl,包含简介,环境,语法,数据类型,变量,标量,数组,哈希,IF ... ELSE,循环,运算符,日期和工夫,子程序,援用,格局,文件I / O,目录,错误处理,非凡变量,编码标准,正则表达式,发送电子邮件,套接字编程,面向对象,数据库拜访,CGI编程,包和模块,流程治理,嵌入式文档,函数参考。 教程目录Perl教程Perl - 简介Perl - 环境Perl - 语法概述Perl - 数据类型Perl - 变量Perl - ScalarsPerl - 数组Perl - 哈希Perl- 条件语句 - IF ... ELSEPerl - 循环Perl -操作符Perl - 日期和工夫Perl - SubroutinesPerl - 参考文献Perl - 格局Perl - 文件I / O.Perl - 目录Perl - 错误处理Perl - 非凡变量Perl - 编码标准Perl - 正则表达式Perl - 发送电子邮件Perl - Socket编程Perl - 中面向对象的编程Perl - 数据库拜访Perl - CGI编程Perl - 包和模块Perl - 流程治理Perl - 嵌入式文档Perl - 函数参考Perl - 有用的资源

April 24, 2023 · 1 min · jiezi

关于程序员:JavaScript数据类型及差异说明

为感激大家的反对,特发福利红包(支F宝口令红包),点击返回支付:GiteeJavaScript 中的数据类型能够分为根本类型和援用类型 根本类型数字类型(number):示意数值,包含整数和浮点数。字符串类型(string):示意文本字符串,能够蕴含任意字符。布尔类型(boolean):示意 true 或 false。空值类型(null):示意一个空值。未定义类型(undefined):示意一个未定义的值。符号类型(symbol):示意惟一的、不可变的值,用于对象属性的惟一标识符。援用类型对象类型(object):示意简单的数据结构,能够蕴含多个属性和办法。数组类型(array):是对象类型的一种非凡模式,用于存储和操作多个值的有序汇合。函数类型(function):也是对象类型的一种非凡模式,能够接管参数、执行代码块并返回后果。日期类型(date):用于示意日期和工夫的对象。正则表达式类型(regexp):用于解决字符串的模式匹配。谬误类型(error):示意程序执行过程中的谬误。在 JavaScript 中,根本类型的值是存储在栈内存的变量中,而援用类型的值则是存储在堆内存中的对象,变量实际上是对象的援用。因而,对于援用类型的值,变量存储的是对象的地址,而不是对象自身。 Question 1如何了解根本类型和援用类型,次要从变量类型(根本类型和援用类型)、申明、赋值、复制、存储几方面详细描述变量类型:根本类型的变量间接存储值,而援用类型的变量存储的是对象的援用。申明:申明根本类型变量时,应用 var、let 或 const 关键字,后跟变量名和初始值;申明援用类型变量时,只需应用 var、let 或 const 关键字和变量名,不须要为其调配初始值,初始值能够在前面赋值。赋值:根本类型变量的赋值是将一个值复制到变量中,而援用类型变量的赋值是将一个对象的援用复制到变量中。复制:当将一个根本类型变量复制到另一个变量时,会创立一个新的变量,它的值与原变量雷同;而当将一个援用类型变量复制到另一个变量时,只是复制了对象的援用,两个变量都指向同一个对象。存储:根本类型变量的值存储在栈内存中,援用类型变量存储在堆内存中,变量名存储在栈内存中,变量名指向对象在堆内存中的地址。 例如,申明一个根本类型变量: var num = 10;此时,变量 num 存储的是数字 10 的值,它的值间接存储在栈内存中。 而申明一个援用类型变量: var obj = {name: 'John', age: 30};此时,变量 obj 存储的是对象在堆内存中的地址,它的值存储在堆内存中。当咱们应用 obj 拜访对象属性时,实际上是通过援用拜访对象属性的。如果将 obj 赋值给另一个变量 newObj,那么 newObj 也会指向同一个对象,它们共享同一块堆内存空间。 总之,根本类型和援用类型在变量类型、申明、赋值、复制和存储等方面存在差别,开发者应该依据具体的利用场景,正当地抉择应用根本类型或援用类型。 Question 1null和 undefined的区别在JavaScript中,null和undefined是两个非凡的原始值,它们都示意“无”,但在某些状况下它们有一些轻微的差异。 首先,undefined示意一个未定义的值,通常是因为变量曾经申明但没有被初始化赋值,或者对象没有定义某个属性。例如: let x;console.log(x); // undefinedconst obj = {};console.log(obj.foo); // undefined相同,null示意一个空的值,即便存在一个变量或属性,但其值为空。例如: const x = null;console.log(x); // nullconst obj = {foo: null};console.log(obj.foo); // null另一个区别是,undefined是一个全局变量,它的值能够被从新赋值为其余值。而null不是一个变量,它只是一个关键字,示意一个空值。 ...

April 24, 2023 · 1 min · jiezi

关于程序员:DevOps-与研发效能资深技术专家张乐研发效能的升维思考与降维执行

在 4 月 20 日举办的《中国企业软件研发治理白皮书》发布会上,DevOps 与研发效力资深技术专家张乐老师做了一场名为《研发效力的升维思考和降维执行》的主题演讲,论述了如何系统化思考研发效力的要害因素、互动构造及施行门路,并将其与落地执行有机联合起来。以下为张乐老师的演讲内容摘录。 首先我要反对一下《中国企业软件研发治理白皮书》,在我看来这是特地好的一个载体。因为咱们之前看到很多与研发治理相干的内容都是从国外引入的,比方 DevOps 现状调查报告等。这次十分开心可能看到咱们外乡输入的研发治理的实践经验,为宽广研发效力管理者和从业人员提供参考,这是一次无益的尝试。 回到正题,明天我分享的话题是「研发效力的升维思考和降维执行」,心愿能给大家带来一些启发。 研发效力到底怎么晋升? 当咱们议论研发效力时,所指代的内容、议论的焦点可能并不完全相同。所以在讲研发效力怎么晋升之前,咱们首先要答复的是:大家议论的研发效力到底是什么?我把这个问题抛给了最近很火的 ChatGPT,同时也在行业里调研了一些软件工程师。 大家的答复里列举了很多有助于研发效力晋升的因素,比方指标、流程、办法、技能、常识、工具,还有团队沟通等。这些内容为咱们找到效力晋升的突破口提供了一些线索,但绝对部分和全面,并无奈间接答复「组织研发效力如何晋升」这个综合性的问题。 所以,咱们明天讲研发效力的升维思考,首先是要分明地晓得总体目标是什么,与达到目标相干的因素有哪些,以及这些因素之间的关联关系是什么。只有这样,能力看到问题的实质,无效晋升效力。 如下图所示,我从治理、工程和技术三个要害维度登程,对影响研发效力的要害因素进行了一些梳理: 第一个是治理维度,强调通过流程、文化和人来帮忙组织提效。从效率层面看,首先要关注的一个点与需要相干。行业里有句话叫「GIGO(Garbage in garbage out)」,如果你的输出是低质量的,那么你的输入也是低质量的。这就要求咱们在研发源头肯定要防止开发不靠谱的需要,而实例化需要的实际可能帮忙咱们。 从品质层面看,测试/平安左移、品质门禁、各种利用变更治理等都能够对品质的晋升产生促进作用。那这些因素怎么能力对工程师的体验产生很好的影响呢?一个卓有成效的办法就是标准化和简化研发流程。比如说有没有一些在 Code Review 阶段就能发现的问题?有没有在主动扫描阶段就能发现的问题?通过流水线是否主动检出 Bug?而不是所有的变更都要走重量级的审批流程。 第二个是工程维度,也就是通过自动化、一致性的形式来执行研发流动。 从效率层面看,代码分支怎么管?是骨干开发还是分支开发,还是 Git Flow?这些不同的分支模型,都会对研发效率产生很大影响。除此之外,还有自动化构建/测试、环境治理、部署公布等,也都会对团队的交付周期和交付效率产生影响。 在品质层面,代码评审、单元测试都是工程维度常常须要思考的实际。跟大家分享一个数据,近期腾讯公布了《2022年腾讯研发大数据报告》,外面提到代码评审的参与率是 74.6%,代码评审的千行评论数为 15.3 个。也就是说参加代码评审的每 1000 行代码,就有 15 个评论。这阐明代码评审这件事是在实实在在地做,而不是外表功夫。 那么从工程维度看,怎么优化咱们研发工程师的开发体验呢?就是通过自动化流程,缩小手工反复的工作,让大家聚焦在业务代码的开发上。 第三个是技术维度,侧重于利用和基础设施架构的设计和实现,以及新技术的利用。 比方云原生,还有当初十分火的 ChatGPT。很多同学曾经开始尝试让 ChatGPT 帮忙咱们细化需要,生成概要设计,或者在部分做代码补全、代码重构,以及主动生成一些测试。能够说,智能化开发、智能化测试、智能化运维逐步走进咱们的视线了。 但问题是,这些因素不能独自存在,因而咱们须要一个抓手,将这些因素体系化,能力真正落地到理论中。 研发效力的黄金三角模型 在 2021 年,我提出了「研发效力黄金三角」的框架,将效力实际、效力平台和效力度量对立起来。通过这两年的继续摸索和实际积淀,我把这个模型升级成了 2.0 版本,在框架里减少了更多细节形容,比方效力实际地图、效力平台的五个档次、效力度量的五项精进等,目标是让咱们对于研发效力晋升的了解具备全局性和系统性。 总的来说,落地研发效力晋升工作,并不是只关注效力实际、效力平台、效力度量这三件事就能够了,这还是一种动态思维。我心愿咱们去思考因素和因素之间的互动、关联关系,并让这些因素造成一个彼此强化、继续优化的加强回路。这个加强回路可能把研发效力里的优良实际积淀到工具平台上,通过一站式的平台来承载这些研发实际,帮忙咱们做规模化的扩大;而效力平台又会产生大量数据,撑持咱们做效力的度量与剖析,造成继续改良的闭环。 研发效力的实际地图 黄金三角看上去还是比拟形象,所以我在外面写了一些落地的条目:比方在效力实际里,咱们须要关注产品导向的交付范式,关注麻利精益合作、继续交付的工程实际、云原生的继续交付等。我将这些内容总结演绎成了「研发效力的降维执行——效力实际地图」,如下图所示: 外面的要点有很多,我着重讲一下产品导向的交付范式。如下图,我将产品导向与我的项目导向的交付模式从多个维度进行了比照: 首先,从思维模式来看。世界上很多举世瞩目的工程都有项目管理实践的撑持,比方甘特图,它是由亨利·劳伦斯·甘特在 1917 年所创,随后被用于建筑过后世界上最大的混凝土构造——胡佛大坝。值得注意的是,甘特图在过后的应用场景是高确定性的基础设施工程,重复性工作多,不确定性工作较少。 在相似的场景下,用这种治理范式足够了。然而,咱们不能指望两次工业革命之前的范式到明天的数字化时代仍然见效。现如今,大环境是疾速的、迭代的,其显著特色是易变性、不确定性、模糊性、复杂性,那么研发范式也须要做相应的调整才行。所以当初的研发项目管理,除了我的项目导向外,也要思考产品导向。 什么是产品导向的思维模式呢?就是要抵赖不确定性,用迭代的思路去解决不确定环境的问题,继续交付业务价值。 去年我翻译了一本书 Project to product,书名直译是《从我的项目到产品》,但最终我认为,《价值流动》这个书名更能体现书中要表白的内容,因为这本书强调咱们要思考价值在企业里逾越多个部门的流动,要从端到端的视角去看企业全局的价值交付过程,而不是某个组织、某个部门的部分过程。 为什么很多企业有技术债?肯定水平上是我的项目模式导致的。一个我的项目是有起点的,到截止工夫之后,没有人再违心投入资源。那时工作会指派给一个人,让他在做新我的项目的同时再去保护老我的项目,这就导致大量没有人违心保护的技术债权变得越来越多。但如果从产品导向来解决这个问题,会容易一些。 其次,从胜利规范来看,我的项目导向是以老本核心的经营模式,以按时、按估算实现我的项目既定的交付内容来作为胜利规范。然而产品导向,是把业务胜利作为真正的胜利规范,它更聚焦于增量的价值交付。 ...

April 24, 2023 · 1 min · jiezi

关于程序员:读读旧书-by-Ted-Lamade

读读新书 by Ted LamadeTed Lamade 带给了咱们一些十分有见地的想法。 原文链接:https://collabfund.com/blog/read-old-books/偶然,你会遇到一些真正让你思考的事件。不久前,我在 YouTube 上观看了一个名叫 尼尔-福阿德 的人揭示他从父亲那里学到的重要一课的片段,就产生了这种状况。 福阿德讲述了他十几岁时如何浏览一本商业书籍,并急不可待地与他的父亲分享其中的 "启发"。然而,当他最终这样做时,他对父亲的反馈感到诧异。他的父亲并没有对这本书的精辟见解大加赞叹,而是说: “Do yourself a favor. Read old books (as opposed to these “how-to” manuals). What you are going to discover is that anything in them that is still true today will be true forever.” "帮你本人一个忙。浏览新书(绝对于这些 "如何做 "的手册)。你要发现的是,其中任何明天依然正确的货色将永远是正确的。"福阿德驳回了他父亲的倡议,开始浏览多年前出版的书籍。这样一来,他比大多数人更早地学到了贵重的一课。用福阿德的话说: “Human beings don’t change. It’s the same sad, silly mistakes and the ridiculous comedy of existence back then as it is now.” ...

April 24, 2023 · 3 min · jiezi

关于程序员:面向Nodejs和TypeScript的下一代ORM工具Prisma

面向Node.js和TypeScript的下一代ORM工具Prisma筹备数据库筹备数据库能够通过docker跑一个服务,然而目前市场上也有好几个能提供收费的PostgreSQL 服务云厂商,有如下几个 SupabaseHerokuRailwaySupabase是一款开源的后端即服务(Backend-as-a-Service)平台,它提供了相似于Firebase的性能,包含实时数据同步、身份验证和受权,以及通过SQL查问API拜访PostgreSQL数据库。Supabase收费打算能够创立两个利用,并且PostgreSQL数据库每个月提供1GB的存储空间和50GB的传输量,集体开发应该入不敷出,这里我采纳Supabase ,首先注册个账号,新建个利用 创立利用后,在设置选项中查看连贯选项, 能够看到在这个数据库URI地址 Supabase自身就提供了数据库相干操作的性能,能够间接通过快捷的UI交互,创建表格和字段,执行查问语句,查看表数据等,但这里咱们重点是应用它来学习 Prisma这一新一代ORM工具 初始化我的项目Prisma次要由三局部组成: Prisma Client: 为Node.js和TypeScript主动生成和类型平安的查问生成器Prisma Migrate: 迁徙工具,能够轻松地将数据库模式从原型设计利用到生产Prisma Studio: 用于查看和编辑数据库中数据的GUI可用于各种工具和框架, 以Nextjs应用举例,你能够决定在构建时(getStaticProps)、申请时(getServerSideProps)、应用 API 路由或将后端齐全拆散成独立的服务器来拜访您的数据库,如下别离对应四种场景 首先通过命令创立一个Nextjs我的项目 npx create-next-app@latest装置Prisma npm install prisma初始化prisma设置 npx prisma init执行完后,多了个配置文件prisma/schema.prisma和.env文件,内容如下 generator client { provider = "prisma-client-js"}datasource db { provider = "postgresql" url = env("DATABASE_URL")}其中datasource代表数据源 provider默认就是postgresql无需批改,其依据不同的数据库还反对mysql、sqlite、sqlserver、mongodb等 url 字段指连贯 URL。通常由以下局部组成(SQLite 除外): User: 数据库用户名Password: 数据库用户明码Host: 数据库服务器的 ip 或者域名Port: 数据库服务器的端口Database name: 数据库名称DATABASE_URL="postgresql://johndoe:randompassword@localhost:5432/mydb?schema=public"依据提醒,咱们将env中的数据库地址批改成咱们的地址 Prisma SchemaPrisma schema 的数据模型定义局部定义了你的利用模型(也称为 Prisma 模型)。模型: 形成了应用领域的 实体映射到数据库的 表(关系型数据库,例如 PostgreSQL)或 汇合 (MongoDB)形成 Prisma Client API 中 查问 的根底假如咱们有以下模型 ...

April 23, 2023 · 7 min · jiezi

关于程序员:一图读懂|ONES-X-中国信通院中国企业软件研发管理白皮书

近日,ONES 联结中国信息通信研究院公布了《中国企业软件研发治理白皮书》,力求扎根数字化实际,摸索研发治理的适合门路。内容丰盛,干货满满,还等什么,当初就带你揭秘白皮书的核心内容!

April 23, 2023 · 1 min · jiezi

关于程序员:NGINX-备忘清单开发速查表分享

NGINX 备忘清单Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器 ,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:)开发的,公开版本1.19.6公布于2020年12月15日。 Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协定下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中体现较好。 nginx 疾速参考备忘单显示了它的罕用命和配置应用清单。入门,为开发人员分享疾速参考备忘单。 开发速查表纲要入门 服务治理Docker 装置简略代理全局变量监听端口域名 (server_name)负载平衡(简略实例)负载平衡(权重)upstream ip_hashupstream fairserver 可选参数upstream url_hashupstream keepalive子文件夹中的代理反向代理动态资源(传统 Web 服务器)HTTPS 协定重定向(301永恒)重定向(302长期)永恒重定向到 HTTPS 平安域重定向参数HTTP 申请端实在的IP示例 websocket 的代理 keepaliveApache 的反向代理Gitlab 的反向代理重定向整个网站重定向单页重定向整个子门路负载平衡内容缓存跨域问题重定向 URI 来解决跨域问题跳转到带 www 的域下面代理转发屏蔽 IP强制将 http 重定向到 https代理转发连贯替换爬虫 User-Agent 过滤图片防盗链虚拟目录配置屏蔽文件目录防盗图配置阻止常见攻打Gzip 配置使网站不可索引另见

April 23, 2023 · 1 min · jiezi

关于程序员:马斯克预计两个月内再次尝试发射星舰|Google-真慌了正快速将-AI-融入搜索引擎|思否周刊

40 S 新闻速递马斯克打算两个月内再次尝试发射星舰,首次轨道级试飞失败终极对决 OpenAI,DeepMind 和谷歌大脑两大 AI 钻研部门将合并苹果在 AI 竞争中落伍落后业内最新报告:ChatGPT 或会裸露企业机密信息马斯克称微软非法应用 Twitter 数据训练其人工智能,威逼要提起诉讼OpenAI CEO 确认该公司目前没有在训练 GPT-5OpenAI CEO:大语言模型规模已迫近极限Google 真慌了,正疾速将 AI 融入搜索引擎OpenAI 招聘剧透:手机或成生成式 AI 的新入口Fuchsia F10 公布深度操作系统 deepin 20.9 正式公布Node.js 20 公布Wasmer 3.2.0 公布Apache Dubbo 3.2.0 公布行业资讯马斯克打算两个月内再次尝试发射星舰,首次轨道级试飞失败依据此前音讯,马斯克旗下的太空摸索技术公司 SpaceX 最近尝试发射新一代运载火箭星舰(Starship),但惋惜在空中爆炸,首次轨道级试飞以失败告终。然而最近,马斯克在推特上回复示意,“看起来太空摸索技术公司(SpaceX)的‘星舰’试射可能在1到2个月内再次准备就绪”。这意味着星舰无望在将来 1-2 个月内再次尝试发射。 终极对决 OpenAI,DeepMind 和谷歌大脑两大 AI 钻研部门将合并谷歌母公司 Alphabet 将合并旗下的 DeepMind 和谷歌大脑两个人工智能钻研部门,从而完结伦敦和硅谷这两大人工智能钻研基地之间的外部竞争,在生成式人工智能畛域夺回被微软和 OpenAI 抢走的失地 。之前 9 年,哈撒比斯始终在从事与谷歌外部业务关系不大的尖端人工智能钻研,但在此之后,他领导的部门将在谷歌的将来业务中施展核心作用。谷歌大脑负责人杰夫·迪恩(Jeff Dean)将会负责新设立的谷歌首席科学家一职,并专任合并后的人工智能部门首席科学家。 苹果在 AI 竞争中落伍落后4 月 19 日音讯,眼下,寰球生成式人工智能(AI)的竞争已趋于白热化,然而有一家科技巨头却仍旧保持沉默,它就是苹果公司。微软已向 ChatGPT 开发商 OpenAI 投资 100 亿美元,并重新配置了该公司构建服务器群的形式,以包容更多英伟达的先进处理器,对 AI 进行训练。与此同时,谷歌已将应答 ChatGPT 作为首要任务。电商巨头亚马逊也借助其云计算部门退出了竞争。从各方面来看,苹果节约了自成为第一家开发 AI 语音助手的大型科技公司以来所建设起的领先地位。Siri 显然从一开始就有缺点,但当初以 ChatGPT 的规范来看,它曾经老掉牙了。往年 2 月,苹果举办了一次外部 AI 峰会,探讨了机器学习和该技术在苹果产品上的其余部署事宜,但没有任何倒退生成式 AI 的迹象。 ...

April 23, 2023 · 2 min · jiezi

关于程序员:7-个-Python-API-最佳实践

动动发财的小手,点个赞吧! 本文将介绍7 个 Python API 最佳实际 API 是软件开发必不可少的工具。它们容许开发人员创立能够与其余零碎和服务交互的应用程序。因为其简略性和灵活性,Python 是一种用于构建 API 的风行编程语言。 然而,构建 Python API 须要遵循某些最佳实际,以确保其高效、平安和可保护。在本文中,咱们将探讨您应该遵循的 7 个 Python API 最佳实际。 API 的最佳实际是什么?API 的最佳实际是使其易于应用、平安和可扩大。一个好的 API 应该有清晰的文档、统一的命名约定和错误处理。 它还应该在设计时思考到安全性,并具备适当的身份验证和受权机制。最初,它应该是可扩大的,可能在不影响性能的状况下解决大量申请。 我应该为 Python 应用什么 API?有多种 API 可用于 Python,具体取决于您的须要。一些风行的 API 包含 Flask、Django 和 FastAPI。 Flask 是一个易于应用和自定义的轻量级框架。 Django 是一个更弱小的框架,它提供了许多内置性能,包含 ORM 和治理界面。 FastAPI 是一个更新的框架,专为高性能和可扩展性而设计。 RESTful API 的 5 条准则是什么?RESTful API 的 5 条准则是: 客户端-服务器架构:客户端和服务器应该是拆散的,它们之间有清晰的接口。无状态:每个申请都应该蕴含实现申请所需的所有信息,而不依赖于以前的申请。可缓存性:响应应该是可缓存的以进步性能。分层体系:API应该分层设计,每一层负责一个特定的性能。对立接口:API 应具备统一且可预测的接口,具备明确的命名约定和错误处理。RESTful API 的 3 个组件是什么?RESTful API 的 3 个组件是: 资源:资源是 API 操作的对象,例如用户或产品。URI:URI是资源的惟一标识,如/users/1234。HTTP 办法:HTTP 办法,例如 GET、POST、PUT 和 DELETE,用于对资源执行操作。Python 中的 REST API 是什么?Python 中的 REST API 是一类遵循 REST 准则的 API。它应用 HTTP 办法(例如 GET、POST、PUT 和 DELETE)对资源执行操作。 Python 提供了多种用于构建 REST API 的框架,包含 Flask、Django 和 FastAPI。 ...

April 22, 2023 · 1 min · jiezi

关于程序员:Midjourney-提示词工具10-个国内外最好最推荐的

Midjourney,是一个革命性的基于人工智能的艺术生成器,能够从被称为提醒的简略文本形容中生成令人惊叹的图像。Midjourney曾经迅速成为艺术家、设计师和营销人员的首选工具(包含像我这样基本不会设计任何货色的无能之辈)。 为了帮忙你开始应用这个弱小的工具,咱们汇编了一份15个资源的清单,能够帮忙你为你的下一个我的项目制作更好的提醒语......或者让咱们抵赖,在你无聊的时候应用。 无论你是专家还是初学者,这些资源将给你带来灵感和领导,让你用Midjourney创作出真正令人惊叹的作品。 1. PromptHero 中武官网(强烈推荐)PromptHero 中武官网 https://promptheroes.cn/ :Prompt Heroes 官网是提供 AI 绘画相干提醒词中文网站,包含 Midjourney(MJ)、 Stable Diffusion、DALL-E 等 热门标签性能搜寻性能:依据中文或英文关键词间接,搜相干图 + MJ prompt每天更新几十张难看的 AI 绘画图 + MJ prompt : https://promptheroes.cn/categories/midjourney-prompt/ 点击关上:https://promptheroes.cn/ 2. AiTuts Prompthttps://prompts.aituts.com/ AiTuts Prompt 是一个精心策划的高质量Midjourney提醒数据库,提供了宽泛的不同格调供你抉择。对于任何想用Midjourney发明令人惊叹的AI生成的图像的人来说,这是一个很好的资源。该数据库包含各种提醒,如游戏艺术提醒,平面设计提醒,艺术和工艺,插图,等等。 3. Midjourney Prompts Databasehttps://aealexander.com/midjourney-prompt-database/ 该数据库分为几个类别,每个类别都集中在一个特定的艺术风格、媒介或主题。该数据库还包含传统艺术家、电视和电影、视频游戏和角色提醒的类别,为用户提供了宽泛的抉择。 4. MJ Prompt Toolhttps://prompt.noonshot.com/ 该工具中的选项包含格调、灯光、相机类型或款式、艺术家、色彩、资料、大小、焦点、品质,甚至还能够抉择风格化或上传灵感图片。 MJ提醒工具是一个用户敌对和高效的工具,使创立中捷提醒变得轻而易举。它的GUI性能,宽泛的选项,以及上传鼓舞人心的图像的能力,使用户可能轻松地生成他们想要的图像。 5. Promptmaniahttps://promptomania.com/midjourney-prompt-builder/ Promptmania是一个Midjourney的提醒构建器,能够让你轻松地创立提醒,用于基于AI的艺术生成器,Midjourney。它与MJ Prompt Tool类似,但有不同的形式来构建提醒。 Promptmania的一个突出特点是,它为你抉择的每个选项提供了例子。如果你有一个特定的艺术风格,你想实现它,但你不太确定如何解释,或者你想要一个特定的相机场景,你不再须要只是设想和写进去,因为他们有每个例子。 6. Midjourney Styles and Keywords Referencehttps://github.com/willwulfken/MidJourney-Styles-and-Keywords-Reference/blob/main/README.md 在这里,你将学习到所有你须要晓得的货色。在这里,你将学习所有你须要晓得的,在生成AI图像方面从零到业余。 你能够理解特定主题的不同艺术风格,艺术家,灯光,资料及其属性,几何学,格式化,以及一些参数,这些都将进步你编写提醒的 "技巧"。 7. Arthub AIhttps://arthub.ai/ Arthub.ai 是一个众筹 Midjourney 提醒资源的网站。该网站的独特之处在于,所有的提醒和其生成的人工智能艺术都显示进去,供你查看,复制,还能够加注或减注。这使你可能摸索Midjourney的不同类型的提醒和图像,以及为你本人的我的项目取得灵感。 Arthub.ai的另一个平凡的特点是,它包含海报应用的参数,以及用于生成图像的种子数和比例、步骤和尺寸等设置。 8. Jrnylisthttps://www.jrnylist.com/ ...

April 22, 2023 · 1 min · jiezi

关于程序员:ActivityPub-10-规范

W3C 提案标准,2018 年 1 月 23 日公布本版本: https://www.w3.org/TR/2018/PR-activitypub-20180123/最新版本: https://www.w3.org/TR/activitypub/ 标准化身份制作、内容创立和交互行为,使能凋谢、分享和单干。 ActivityPub 是凋谢社交网络的分布式网络协议并且基于现有通用语言的概念建设在 ActivityStreams2.0规范上。该规范使得在不同服务和用户之间的凋谢数据交换和分布式交互成为可能,构建一个对立的社交网络。 它简化了实现复杂度,通过共享的消息传递机制打消了服务之间建设专用连贯的必要性。 本文档定义了一组 API 端点、音讯格局、签名形式和传输机制,组成 ActivityPub 的标准。ActivityPub设计用于实现凋谢、分布式和联结的社交网络,其中蕴含内容创立、社交互动和网络联通服务。它持续了旨在促成竞争、翻新并为用户带来抉择自在的可互操作性概念。 规范主旨使不同的社交利用和服务之间能够轻易地互相操作和连贯。这些利用和服务被称为“服务器”。使集体能在不同服务器之间自在交互和参加。通过在服务器之间传递信息,能够构建凋谢和联结的社交网络。基于现有开源社交网络应用的工作,而不是从新开始。ActivityPub 构建在已被多个利用宽泛采纳的 ActivityStreams 2.0 格局上。简化服务器实现的复杂性。无需各实现之间建设双向连贯,应用共享的消息传递协定代替。激励竞争和翻新。通过标准化接口和数据格式,不同服务器实现能够互相操作,且集体能够自由选择应用。赋权给集体和社区。集体应该有权拜访和管制他们本人的数据。服务器应答社区负责并思考他们的需要。反对不同级别的联结。从最根本的信息替换到齐全联结的社交网络。 为了实现这些指标,本规范定义了:一组 API 端点,用于服务器之间和集体之间的交互。一组 JSON 音讯格局,代表集体和社交内容及其上下文。这基于ActivityStreams 2.0。一种签名机制,用于验证音讯及其发布者。一组传输和替换机制,用于在端点和参与者之间传递音讯。一组用户界面元素和交互模式,作为可选实现指南。 除了技术细节,本规范还蕴含一些非规范性指南资料,解释了规范背地一些抉择的理念。术语与缩略语上面是ActivityPub标准中用到的一些要害术语和缩略语: 资源:ActivityPub网络中的实体,如用户、内容项、组织等等。资源由 URI 标识。对象:一种资源,代表能够在 ActivityPub 网络上替换和代表的实体,如文章、评论、图片等。主体:流动的发起者。能够是一个用户、一个组织或者一个应用程序。主体由 URI 标识。用户:一个人应用的账号。用户由 URI 标识,用户可能领有多个账号,每个账号都代表一个用户。公布:一种告诉其余主体一个新对象曾经创立或更新的流动。关注:一种订阅另一个主体的公开流动的流动。喜爱:一种示意用户赞叹某对象的流动。流动:主体执行的一个动作,如创立、更新或删除一个对象。 流动通过“流动”对象来代表。谓词:用来形容对象的属性或动作的词。ActivityPub 应用谓词来示意对象与流动之间的关系。服务器:实现ActivityPub协定并托管用户、对象和流动的数据存储的服务。工具:用于 ActivityPub 网络中进行音讯传送和信息替换的应用程序或服务。端点:接管和发送ActivityPub音讯的服务器API接口。寻址:用于在ActivityPub网络内标识和定位资源的机制。传输:用于在ActivityPub 网络中节点和参与者之间发送音讯的机制。社交网络:通过 ActivityPub 协定联通的服务器和用户形成的联结网络。联结:服务器之间严密单干以独特构建社交网络的水平。从最根本的音讯替换到齐全的用户和数据共享均在范畴内。规范构造概述:规范的指标和范畴,相干工作的概述。要求:对实现细节提出的强制要求。术语与缩略语:规范中应用到的要害术语和缩略语。流动和对象:规范中应用的次要 JSON 音讯格局的定义。API:ActivityPub网络中用于公布和替换音讯的API端点。传输:音讯在网络中的传输机制。签名:用于验证消息来源和内容的数字签名机制。寻址:在ActivityPub网络内标识和定位资源的机制。联结:服务器间不同水平的单干与集成。用户界面和交互:与ActivityPub交互的可选UI元素和模式。平安考量:应用规范时须要思考的平安问题和威逼。可扩展性:规范将来可能倒退的方向。后续将针对该协定公布更细的解读和一些示例代码。

April 22, 2023 · 1 min · jiezi

关于程序员:js小数运算精度丢失问题解决方案-JavaScript精度丢失问题详解

如有帮忙请点赞、珍藏+关注,更多技术材料获取请点击Gitee JavaScript中的数值计算会存在精度失落问题,这是因为JavaScript应用IEEE 754规范的浮点数表示法来示意数字,这种示意办法无奈准确示意所有数字,特地是波及到小数的时候。除javascript外,java、python等都有相似问题,因为浮点数IEEE754是被广泛应用的规范 示例console.log(0.1 + 0.2) // 0.30000000000000004console.log(0.2 + 0.4) // 0.6000000000000001console.log(19.9 * 100) // 1989.9999999999998本源整数:因为数据太大,最大数2^53小数:因为小数在转换成二进制时呈现了有效循环解决方案对于整数,前端呈现问题的几率可能比拟低,只有不超过2^53就不会失落精度对于小数,前端呈现问题的几率还是很多的,先把小数变成整数(乘倍数),再放大回原来倍数(除倍数)实现思路判断两个数的类型和值是否正确,如果不正确则返回null或抛出谬误。判断两个数的小数位数,取其中较大的小数位数,将两个数都扩充相应倍数,转换成整数。进行数值运算,失去后果。ChatGPT提供的办法function calculate(num1, num2, operator) { // 判断类型和值是否正确 if (typeof num1 !== 'number' || typeof num2 !== 'number' || isNaN(num1) || isNaN(num2)) { return null; } // 判断运算符是否正确 if (operator !== '+' && operator !== '-' && operator !== '*' && operator !== '/') { return null; } // 正则验证 if (!/^-?\d+(\.\d+)?$/.test(num1) || !/^-?\d+(\.\d+)?$/.test(num2)) { return NaN; } // 将两个数扩充相应倍数 const multiplier = Math.pow(10, Math.max(getDecimalDigits(num1), getDecimalDigits(num2))); const int1 = Math.round(num1 * multiplier); const int2 = Math.round(num2 * multiplier); // 进行数值运算 let result; switch (operator) { case "+": result = (int1 + int2) / multiplier; break; case "-": result = (int1 - int2) / multiplier; break; case "*": result = (int1 * int2) / Math.pow(multiplier, 2); break; case "/": result = (int1 / int2) * (multiplier / Math.pow(10, getDecimalDigits(num2))); break; default: result = NaN; } return result;}function getDecimalDigits(num) { if (Number.isInteger(num)) { return 0; } return num.toString().split(".")[1].length;}console.log(calculate(0.1, 0.2, '+')) // 0.3console.log(calculate(0.2, 0.4, '+')) // 0.6console.log(calculate(19.9, 100, '*')) // 1990本文由mdnice多平台公布 ...

April 21, 2023 · 1 min · jiezi

关于程序员:WCF教程编程入门自学教程菜鸟教程免费教程分享

教程简介Windows通信开发平台(Windows Communication Foundation,简称WCF)是由微软开发的一系列反对数据通信的应用程序框架,能够翻译为Windows通信开发平台。 整合了原有的windows通信的 .net Remoting,WebService,Socket的机制,并交融有HTTP和FTP的相干技术。 是Windows平台上开发分布式应用最佳的实际形式。 WCF入门教程 - 从简略的步骤理解WCF,从根本到高级概念,包含概述,Versus Web服务,开发人员工具,架构,创立wcf服务,托管wcf服务,IIS托管,自托管,WAS托管, Windows服务托管,生产wcf服务,服务绑定,实例治理,事务,ria服务,安全性,异样解决。 教程目录WCF教程WCF - 概述WCF - 与Web服务比照WCF - 开发人员工具WCF - 架构WCF - 创立WCF服务WCF - 托管WCF服务WCF - IIS主机WCF - 自托管WCF - WAS主机WCF - Windows服务托管WCF - 应用WCF服务WCF - 服务绑定WCF - 实例治理WCF - 事务WCF - Ria服务WCF - 平安WCF - 异样解决WCF - 有用的资源

April 21, 2023 · 1 min · jiezi

关于程序员:免费领取-ONES-联合中国信通院发布中国企业软件研发管理白皮书

4月20日,由 ONES 与中国信通院联结发动的《中国企业软件研发治理白皮书》发布会暨「软件质效沙龙一北京站」正式举办。发布会上,ONES 与中国信通院云计算与大数据研究所的各位领导、行业专家及泛滥软件从业者一起,聚焦研发治理热点动静,探讨软件研发前沿趋势,分享标杆企业实际,以本身案例阐释研发治理降级计划与思路。 中国信通院云计算与大数据研究所副总工程师陈屹力示意,中国信通院始终以来继续深耕软件研发治理畛域的规范撰写和产业钻研工作。对于软件研发治理畛域将来的倒退,陈屹力谈道,软件研发治理应聚焦行业个性,并增强建设一体化研发治理平台;同时,软件研发的「提质」和「增效」需并行不悖,研发治理规范体系也需继续降级。下一步,中国信通院将持续施展好国家业余智库和产业翻新平台的作用,不断加强与产学研各界的交换单干,推动软件组织高效转型,翻新驱动倒退,独特助力数字中国、品质强国的建设。 中国信通院云大所副总工程师陈屹力 ONES 创始人兼 CEO 王颖奇在致辞中对中国信通院云大所给予白皮书的反对,以及 ONES 客户长久以来的反对表示感谢。他指出,在数字化浪潮下,中国的软件生产曾经从简略的「研发」变成了「软件工业」,软件研发的需要逐步增多,研发治理成为企业的刚需。ONES 始终以「助力企业更好更快地公布产品」为使命,凭借业余的解决方案及服务能力,帮忙企业高效搭建研发治理全流程。ONES 与中国信通院曾经单干多年,将来,ONES 将持续积极参与行业建设,为晋升软件工业倒退贡献力量。 ONES 创始人兼 CEO 王颖奇 ONES 联结创始人兼 CTO 冯斌对白皮书进行了抽丝剥茧式的深刻解读。冯斌示意,本白皮书聚焦软件研发治理中产业链的新倒退新变动,重点围绕工作办法、实际门路、外围指标、效力度量等研发治理畛域的热点话题以及研发治理的发展趋势进行深入探讨,从而摸索研发治理的产业动向。尤其是,基于研发治理的历史沿革以及麻利治理的转型冲破,本白皮书创新性地提出了通过实际总结重复验证的「研发治理数字化模型」——该模型整合了以晋升研发效力为门路的办法与实际,通过四个方面的实际模块实现转型落地:「组织与文化」「研发治理实际」「工程技术实际」「研发基础设施」。 ONES 联结创始人兼 CTO 冯斌 招商基金信息技术部副总监、研发核心主管刘志昆具体介绍了招商基金数字化转型下的研发治理具体实际案例,讲述了招商基金如何摸索出适宜本身环境和业务须要的研发治理解决方案。具体计划包含:IT 与业务双产品经理,独特开展业务数字化转型;构建麻利团队,疾速响应变动,进步生产效率;敏稳双态,灵便适配不同项目管理需要;买通我的项目与工程数据壁垒,实现研发生命周期治理一体化。 招商基金信息技术部副总监、研发核心主管刘志昆 中国信息通信研究院云大所高级业务主管韩思齐对云时代软件工程的特点与面临的挑战、软件工程「质效稳铁三角」进行梳理和剖析,瞻望云时代下的软件工程发展趋势,解说如何构建云上软件工程规范体系,为新一代软件工程的继续高速倒退提供新动能。 中国信息通信研究院云大所高级业务主管韩思齐 ONES 研发效力改良资深征询参谋董晓红系统性地解说某世界 500 强企业晋升效力的理论案例,探讨了该企业研发治理降级的整体计划与思路,以及确保计划落地的配套办法,切实有效地帮忙企业建设研发管理体系,继续晋升研发数字化治理能力。 ONES 研发效力改良资深征询参谋董晓红 DevOps 与研发效力资深技术专家张乐以《研发效力的升维思考与降维执行》为题,论述了如何系统化思考研发效力的要害因素、互动构造及施行门路,并将其与落地执行有机联合起来。张乐认为,研发治理数字化不仅是对软件交付模式的颠覆,也包含治理理念、运作模式、工程和技术上的翻新,使企业产生了由内而外的深远扭转,从而升高交付老本并晋升价值交付,实现研发效力在效率和有效性方面的双重晋升。本白皮书的「研发数字化模型」将研发治理思路用残缺的逻辑和清晰的脉络出现进去,凝聚了丰盛的实践经验和效力晋升的形式办法,为研发治理从业者提供了十分好的门路参考和教训借鉴。 DevOps 与研发效力资深技术专家张乐 ONES 在研发治理畛域深耕多年,打磨出了成熟、业余的研发治理平台,胜利帮忙各行各业的优良企业实现软件研发全流程治理与效力晋升。此次 ONES 与中国信通院联结发动,并邀请行业专家、头部企业客户独特撰写《中国企业软件研发治理白皮书》,置信对于摸索研发治理、构建良好研发团队、进步研发效力等方面均能提供更多参考价值,帮忙企业加强市场竞争力,进而晋升商业效率。 想要深刻理解研发治理数字化模型、研发治理数字化外围能力以及行业领军者提效实际,欢送扫码收费获取白皮书。

April 21, 2023 · 1 min · jiezi

关于程序员:Midjourney一步一步教你如何使用-AI-绘画-MJ

一步一步如何应用 Midjourney 教程:教学怎么用 MJ? 一、Midjourney(MJ)是什么? Midjourney是一款应用文字描述来生成高质量图像的AI绘画工具。这篇文章次要介绍了Midjourney及其用处,并针对Midjourney的应用提供了一些指南。该工具能够帮忙人们更疾速、更容易地创立图像。 与市场上的其余AI绘画工具相比,Midjourney和Stable Diffusion是支流的两款工具。Stable Diffusion的性能比拟弱小,但也须要肯定的基础知识。 而Midjourney则没有太多的上手难度。对于想要学习AI绘画的人来说,抉择这两个工具就足够了。 Midjourney 团队专一于设计、人力基础设施和人工智能。它能够帮忙人们通过应用文字描述来生成高质量的图像。尽管最终图像的品质与AI的计算模型有很大关系,但对于普通用户来说,只需尽可能准确地形容本人想要的图像即可。 再举荐一个 PromptHero 中武官网 https://promptheroes.cn/ :Prompt Heroes 官网是提供 AI 绘画相干提醒词中文网站,包含 Midjourney(MJ)、 Stable Diffusion、DALL-E 等 二、Midjourney 有什么用?利用场景是什么Midjourney的作用。Midjourney能够用来做很多事件,包含以下几个方面: 制作图标:Midjourney能够生成各种款式的图标,例如社群的logo。漫画创作:Midjourney能够生成漫画人物、场景和背景,有助于漫画作者更疾速、更容易地创作漫画。抖音、视频号等平台的漫画号也能够应用它来生成漫画图片。设计优化师:Midjourney能够依据现有的图像和关键字疾速生成新的图像和设计,以此进步设计效率和创造力。生成游戏各种场景、配备图:Midjourney能够生成各种游戏场景和配备图像。对于游戏公司来说,这种高效率的出图能够节省成本,进步利润。以上是Midjourney的一些利用场景。 三、Midjourney 教程教学,如何应用 MJ如果你想应用 Midjourney ,就能够注册它们的Discord账号。 第一步:注册 DiscordMidjourney 目前在 Discord 频道上运行,因而必须领有 Discord 帐号能力应用。请留神,目前 Midjourney 临时不向收费用户提供应用权限,必须通过付费订阅能力应用。 应用 Discord 注册并付费,能力体验 Midjourney。为了应用 Midjourney,咱们须要先注册 Discord。 Discord 是一款收费的通信软件,次要用于与好友、游戏社群和游戏开发者进行语音、视频和文字聊天。简略来说,它就像微信这样的通信软件。因为 Midjourney 目前在 Discord 频道上运行,所以咱们须要注册 Discord。 在进行 Discord 注册之前,须要筹备一台可能失常拜访 Discord 的电脑或手机、一个邮箱、一个手机号码以及一张银行卡(金额不少于 10 美元)。请留神: 手机和邮箱只须要可能失常接管和发送短信即可,国内的也能够应用。如需应用 Discord,须要应用梯子。银行卡能够应用国内的银行卡,例如招商银行的信用卡或普通卡即可失常开明。Discord 注册网页链接为:https://discord.com/register 。在该网页上填写根本注册信息后,进入 Discord 页面并点击页面上方的验证邮箱提醒,而后在注册邮箱中查找验证邮件并进行验证即可。 ...

April 21, 2023 · 1 min · jiezi

关于程序员:重磅-Shifu物联网开发框架成为CNCF认证项目

近日,边无际Shifu我的项目被收录进CNCF云原生全景图,成为了云原生计算基金会认证的我的项目之一。此次收录证实了Shifu具备了合乎CNCF规范的技术能力和良好的社区倒退,展示了Shifu在云原生计算畛域的实力和可信度,坚固了Shifu在云原生畛域的位置。作为CNCF认证我的项目,Shifu将会有更多机会为AIoT开发者解决利用开发痛点。 1、Shifu物联网开源社区高速倒退Shifu物联网开发框架于2022年8月29日正式开源。目前在中国领有超500人数量的开发者社区,在GitHub的star数超800。Shifu与CNCF认证的Openyurt、Kubesphere、MicroK8s、Akri等我的项目实现适配与性能拓展,同时可与Oneflow、EMQ、Tdengine等开源我的项目造成综合的解决方案。Shifu将继续扩充本身的开源生态体系,与泛滥开源我的项目造成高质量的物联网解决方案。 CNCF (Cloud Native Computing Foundation) 是一个非营利性开源组织,旨在推广和保护云原生技术的规范、标准和工具。CNCF Landscape全景图中蕴含了CNCF社区成熟或应用范畴较广、具备最佳实际的产品和计划。NCF Landscape全景图是CNCF中的一个重要我的项目,它始于2016年11月,旨在为云原生利用者提供一个资源地图,帮忙企业和开发人员疾速理解云原生体系的全貌,并帮忙用户在不同组件档次去抉择失当的软件和工具进行反对。 作为云原生框架,Shifu通过Kubernetes的CRD性能延长了Kubernetes的资源,来实现高可用,动态域名,服务治理等性能,Shifu能够反对对任何设施进行任何模式的配置。当连贯物理设施时,Shifu会辨认并以一个K8s Pod的形式启动该设施的数字孪生 deviceShifu。开发者通过接入 deviceShifu 的接口,能够获取物联网设施的所有性能,同时编程定义设施本来不具备的性能。 2、边无际携Shifu放慢物联网商业利用落地边无际是Shifu的开创团队与外围保护团队,团队成员次要来自于微软、亚马逊、谷歌等公司云计算外围部门。2022年,边无际在Shifu开发框架根底上胜利实现多场景落地,撑持无人工厂数据监测、工业4.0实验室软件系统搭建、合成生物可降解零碎搭建、AI质检、AR巡检等利用场景的开发,与中国船舶、厦门国贸、之江实验室、微软、亚马逊等企业达成深度单干。 边无际以Shifu为外围的解决方案,在2022年取得入围信通院实时互动翻新利用优良案例,写入亚马逊云科技IoT翻新案例集、获颁中关村协同翻新平台智能网联汽车翻新成果奖等荣誉。Shifu开发框架的利用扩展性、稳定性、安全性失去了行业内的广泛认可,曾经成为多家央国企信息化部门翻新场景物联中的根底框架。 Shifu的翻新劣势是通过通明框架内的数字孪生技术,为设施赋予有思考能力的“数字大脑”。数字孪生将反映设施的实时状态,对其进行开发操作等同于操作设施自身。物联网设施接入到Shifu中便会生成标准化接口,实现互联网互动,通过平台层对场景内所有设施、机器进行北向数据收集和南向指令管控。 Shifu提供了桥接式设施互联解决方案,微服务架构令设施能力模块可调用,可复用,指标实现通过配置文件轻松接入各种异构设施。Shifu 曾经实现通过HTTP、MQTT、TCP Socket、RTSP、OPC UA等协定接入物联网设施,同时已将西门子S7、海康威视(HIKVISION)等通过公有协定通信的设施进行了集成。 3、Shifu场景案例:工业4.0实验室工业4.0液体实验室是一个波及到多种设施的简单零碎,如分液器、酶标仪、液体定量器、主动导引车、机械臂等。Shifu是一种边无际自主研发的边缘计算开发平台,它通过将设施形象成API的形式,将设施的管制和编排实现数字化。通过边缘计算,咱们能够实现对数据的实时处理,并通过云边协同实现近程设施监控与数据分析,进步生产效率和品质。 设施接入与抽象化:首先,通过Shifu边缘计算技术将工厂中的设施(分液器、酶标仪、液体定量器、主动导引车、机械臂等)进行接入和抽象化,将其形象成标准化API,以不便进行近程管制和操作。例如,将机械臂、传送带等设施形象成API,以不便近程管制和调用。 边缘节点搭建:为了实现边缘计算,咱们须要在工厂中部署边缘节点。边缘节点能够是一台工控机、嵌入式设施等,用于接管设施的数据、进行数据处理和剖析,并将解决后的数据发送到云端进行进一步解决和剖析。咱们能够采纳Shifu提供的边缘计算平台来实现边缘节点的搭建。 数据处理与剖析:以Shifu为外围能够搭建起物联中台,可拓展连贯AI中台与数据中台,实现交融式AIoT中台的一体化框架。在边缘节点上,能够采纳机器学习算法、深度学习算法等进行数据处理和剖析。例如,咱们能够通过图像识别算法来实现对生产流程的实时监测和辨认,或者通过数据挖掘算法来对生产数据进行剖析和预测。通过边缘计算,咱们能够实现对数据的实时处理和剖析,进步生产效率和品质。 管制与优化:通过对设施进行抽象化和管制,咱们能够通过API来对生产流程进行自动化管制和优化。例如,咱们能够通过API来管制机械臂的动作,将产品从传送带上取下并送到下一个流程中;或者通过API来管制设施的启停,以优化整个生产流程。通过交融式AIoT中台,咱们能够实现对生产流程的智能化管制和优化。 本文由边无际受权公布

April 21, 2023 · 1 min · jiezi

关于程序员:JavaScript隐式类型转换原理优先级规则及场景

写作不易,如有帮忙请点赞、珍藏+关注,更多技术材料获取请点击Gitee JavaScript中的类型转换是一项十分重要的性能,它使得在编写代码时更加灵便和便捷。其中,隐式类型转换是指在代码执行期间,JavaScript主动地将一个数据类型转换为另一个数据类型,而无需手动进行显式类型转换。 隐式类型转换的原理能够总结为以下几点:JavaScript是一门动静类型语言,变量的类型是在运行时确定的。在表达式中应用不同类型的变量时,JavaScript引擎会依据变量的值和上下文主动进行类型转换。JavaScript中的类型转换是通过内置的类型转换函数实现的。例如,Number()函数用于将一个值转换为数字类型,String()函数用于将一个值转换为字符串类型。隐式类型转换的规定是由JavaScript引擎所遵循的,不同的引擎实现可能会有所不同。通常,JavaScript引擎会尽可能地依照开发者的用意进行转换,但也有一些隐式类型转换可能会导致一些意外的行为。在JavaScript中,布尔类型值会被转换为数字类型进行运算。true会被转换为1,false会被转换为0。字符串类型的值会被尝试转换为数字类型进行运算,如果无奈转换则会返回NaN。另外,在进行字符串和数字类型的加法操作时,数字类型的值会被转换为字符串类型,而后进行字符串的拼接。须要留神的是,只管JavaScript引擎可能主动执行隐式类型转换,但在编写代码时,最好还是尽可能地防止隐式类型转换,以缩小代码的不确定性和谬误。在须要进行类型转换的状况下,倡议尽量应用显式类型转换函数来进行转换,以减少代码的可读性和可维护性。 优先级在 JavaScript 中,隐式类型转换的优先级是依据数据类型和操作符来决定的。以下是一些常见的数据类型和操作符的优先级: 字符串拼接(+):如果一个操作数是字符串,则另一个操作数将被强制转换为字符串。因而,字符串拼接的优先级高于其余所有操作符。比拟操作符(==、!=、<、>、<=、>=):比拟操作符比算术操作符的优先级要高。如果两个操作数的类型不同,则 JavaScript 会进行隐式类型转换,以使它们类型雷同,并尝试进行比拟。算术操作符(+、-、、/、%):算术操作符的优先级要低于比拟操作符。(+)执行"字符串拼接"准则,(-、、/、%)则转为数字,进行数学计算。如果一个操作数是布尔值、null 或 undefined,另一个操作数是数字,则进行隐式类型转换为数字,如果另一个操作数是字符串,则执行"字符串拼接"准则。逻辑操作符(&&、||):逻辑操作符的优先级比算术操作符低。如果操作数是布尔值,则进行布尔逻辑运算。如果操作数是非布尔值,则进行隐式类型转换为布尔值。三元运算符(?:):三元运算符的优先级最低。如果第一个操作数为 true,则返回第二个操作数;否则返回第三个操作数。如果操作数类型不同,则进行隐式类型转换以使它们类型雷同。须要留神的是,尽管隐式类型转换能够使代码更简洁和不便,但也可能会导致一些难以发现的谬误。因而,在开发 JavaScript 应用程序时,应尽可能防止依赖于隐式类型转换,尽可能应用显式类型转换和严格比拟操作符(如 === 和 !==)。 转换规则值转换为字符串转换为数字转换为布尔值转换为对象undefined"undefined"NaNfalsethrow TypeErrornull"null"0falsethrow TypeErrortrue"true"1 new Boolean("true") false"false"0 new Boolean("false")""(空字符串) 0falsenew String("")"1.2"(非空,数字) 1.2truenew String("1.2")"1.2a"(非空,非数字) NaNtruenew String("1.2a")"aaa" NaNtruenew String("aaa")0"0" falsenew Number(0)-0"0" falsenew Number(-0)NaN"NaN" falsenew Number(NaN)Infinity"Infinity" truenew Number(Infinity)-Infinity"-Infinity" truenew Number(-Infinity)1(无穷大,非零)"1" truenew Number(1){}'[object Object]'NaNtrue []""0true [9]"9"9true ["a"]"a"NaNtruefunction(){}'function(){}'NaNtrue 场景逻辑判断和逻辑运算,如需深刻学习,JavaScript权威指南(犀牛书)第三章-3.8类型转换,请返回Gitee获取 特例console.log({} == {}) // false 比拟援用地址console.log({} == !{}) // false !{}->false->0 {}->"[object Object]"->NaNconsole.log({} == true) // falseconsole.log([] == []) // false 比拟援用地址console.log([] == ![]) // true []->""->0 ![]->false->0console.log([] == 0) // true []->""->0console.log(![] == 0) // true ![]->false->0console.log({} == []) // 报错 ({}, ==[])->报错console.log(NaN == NaN) // falseconsole.log(undefined == null) // trueconsole.log(null == null) // trueconsole.log(undefined == undefined) // trueconsole.log('2' > '10') // true //首先将操作符两边都转为字符编码再进行比拟 '2'.charCodeAt() //50 '10'.charCodeAt() // 49 所以 '2'>'10' 会返回trueconsole.log({} + {}) // "[object Object][object Object]"console.log([1,2,3] + []) // "1,2,3" + "" ->"1,2,3" console.log([] + {}) // "" + "[object Object]" -> "[object Object]"// 非变量模式console.log({} + []) // 0 {}被当做一个块,并非{}转NaN,相当于执行 ({},+[]),返回值为小括号最初面的表达式的返回值console.log({q:1} + []) // 0// 变量模式var a = {q:1};console.log(a + []) // "[object Object]"本文由mdnice多平台公布 ...

April 21, 2023 · 1 min · jiezi

关于程序员:出版学术研究论文的一些小技巧

动动发财的小手,点个赞吧! 本文的目标是与研究生分享一些对于在期刊和会议上发表文章的指南。这是基于我过来作为博士生的教训。我的一篇 AI(深度学习)论文最近在 Google Scholar中被援用了 1000 次。依据 Web of Science™ 数据库,只有约 0.026% 的论文被援用次数超过 1k。尽管很快乐看到论文发表后的影响,但论文被承受之前经验了大量的重复试验。这篇论文被回绝了屡次,花了几年工夫,在承受之前经验了屡次迭代。我试图将我在这里的学习提炼成一个有领导的过程。心愿以下指南对您的出版之旅有所帮忙。 问题发表论文很难,特地是如果你的学校要求提交给高影响力的期刊/会议。大多数博士课程都有发表要求,这甚至可能成为推延毕业的起因。 指标缩短发论文的工夫放大论文的影响力路线以下是我的一些教训,您可能会发现它们有助于加重出版带来的压力。打个比方,我认为开办一家初创公司和博士论文发表过程有一些共同点。两者最后的将来都不确定,但最终都可能在各自畛域做出新的奉献。就像初创公司一样,您的公布过程须要考察、愿景、策略、迭代和公布。我的想法依照雷同的程序组织如下。 调研浏览您要公布的畛域的最新技术。请记住,您正在尝试增加到曾经存在的内容中。许多出版物都是凋谢获取的,因而查找无关最新钻研的论文应该不是问题。另外,你的大学也应该可能为你提供必要的拜访权限。 Google Scholar 和 ResearchGate 是很棒的开源资源。鉴于技术和科学研究倒退如此之快,我也会在 LinkedIn、Twitter 和相似网站上关注您钻研畛域的顶尖钻研人员和公司,以获取最新动静。如果实用,我还会摸索统计数据和数据存储库以进行探索性剖析。依据考察的进度,倡议的数量从每周浏览 1 到 7 篇论文以筹备文献综述和在考察中蕴含/援用 30 到 200 篇论文不等。 愿景考察完结后,制订您想要公布的主题的愿景。初创公司从它打算解决的问题开始。创始人制订了与他们以及他们打算解决的问题统一的愿景。为了帮忙找到适宜本人的匹配项,请从以下问题开始: 您的学习/业余畛域有哪些未解决的问题?例如,这个是一个很好的参考列表,用于解决各个学科中未解决的问题。考察论文中探讨了哪些沉闷的钻研畛域?在资格预审课程中,哪门课程最让您兴奋?您的参谋的业余畛域是什么? 尝试从下面维恩图中至多有三个重叠的区域中抉择主题。撰写摘要并从您的参谋那里取得反馈。确保它包含您的次要指标和拟议的论文纲要。反馈越要害,这个阶段须要的调整就越多。 策略在初创公司的初始阶段,其次要指标是进行试验、最大限度地学习并着手构建市场理论须要的新鲜产品,即找到难以捉摸的产品市场契合点。在您的状况下,这将登陆出版物,即纸质出版物适宜。两者都须要策略。 在制订策略之前,请思考以下事项: 您能够为出版工作投入多少工夫和精力?您将如何均衡其余承诺?你的参谋有多少工夫来领导你?尝试看看您是否能够与您的参谋建设经常性的接触根底。您取得必要的出版物毕业的指标工夫是什么时候?确保这是事实的。你如何治理压力?请留神,北美约有 50% 的博士候选人在取得学位之前就辍学了。您将须要某种类型的生存技巧能力取得博士学位。一旦你弄清楚了这些问题并做了一些回顾,想出一个出版策略,包含: 论文题目/问题文章类型迭代一旦你和你的参谋在策略/重点上达成统一,就开始你的钻研并尝试达到你有货色能够展现的境地(也就是 MVP 或守业术语中的最小可行产品)。一旦你有了 MVP 论文,就能够提交给难度范畴较高但审稿周期较短的期刊/会议。更短的审查周期让您能够更快地迭代和合并反馈,并在须要时更快地调整策略。 不要因回绝而灰心,而是应用批评(或严格)的反馈来对您的论文和/或策略进行大胆的更改。确保您正在评估、回应和整合审阅者提供的反馈/差距。回绝反馈是一种祝愿,也是该过程的重要组成部分。将其视为训练 AI 模型。人工神经网络的权重依据训练过程中标记/训练数据的反馈进行调整。如下图所示,这些调整最后较高,当您靠近论文发表拟合(或 AI/ML 中的全局最小值)时逐步缩小。 抉择与您的论文钻研相符的期刊/会议,并仔细阅读投稿指南。没有什么比期待几个月的反馈更蹩脚的了,后果才晓得你提交的论文不能被思考,因为它不合乎期刊/会议的主题,或者你错过了一个重要的提交步骤。如果实用,这将有助于钻研您提交给期刊/会议的过来论文,并从这些论文中援用相干工作。此外,如果您的合著者(例如,参谋)在某些期刊上发表过胜利的论文,也请尝试一下。 调整随着回绝起因变得不那么重要,您将逐步把握使您在几次迭代后更靠近发表的过程。达到那里可能须要很长时间。请留神,您的第一份出版物很可能是最艰难的并且破费的工夫最长。 在机器学习中,有一种称为迁徙学习的技术,您能够将解决一个工作中取得的常识利用到另一个相干工作中,同时缩小学习工作量。就像那样,从您的第一个出版物中取得的所有通过验证的学习将十分有助于放慢您的第 2、3 次和后续出版物的速度。 更快的反馈周期和迭代是要害。利用它来取得必要数量的出版物。保持适宜您的办法,并持续学习和调整流程以取得更有影响力的出版物。祝你好运! 本文由mdnice多平台公布

April 20, 2023 · 1 min · jiezi

关于程序员:PHP-教程编程入门自学教程菜鸟教程免费教程分享

教程简介PHP开发入门教程 - 一个简略而简短的PHP教程和所有内置PHP函数的残缺参考手册。本教程是为初学者和高级开发人员设计的。您将理解PHP内置函数,预约义变量示例,面向对象的PHP,数字,标量,数组,散列文件I / O,IF,ELSEIF,执行,循环,运算符,正则表达式,GET,POST,子程序,编码标准,模块,文件治理,套接字通信,参考,非凡变量,语法概述,表单验证,高级PHP,库,Web设计,PayPal集成,MySQL登录,Ajax搜寻,Ajax XML解析器,Ajax主动实现搜寻,Ajax RSS源例如,XML简介,简略XML,简略XML GET,SAX解析器示例,DOM解析器示例,框架工作,外围php vs框架工作php,设计模式。 教程目录PHP - 简介PHP - 环境设置PHP - 语法概述PHP - 变量类型PHP - 常量类型PHP - 运算符类型PHP - 决策PHP - 循环类型PHP - 数组PHP - 字符串PHP - Web概念PHP - GET和POST办法PHP - 文件蕴含PHP - 文件和I/OPHP - 函数PHP - CookiesPHP - 会话PHP - 应用PHP发送电子邮件PHP - 文件上传PHP - 编码标准PHP - 预约义变量PHP - 正则表达式PHP - 谬误和异样解决PHP - 谬误调试PHP - 日期和工夫PHP和MySQLPHP和AJAXPHP& XMLPHP中面向对象的编程实用于C开发人员的PHPPHP for PERL DevelopersPHP - 表单简介PHP - 验证示例PHP - 残缺表格PHP - 登录示例PHP - Facebook登录PHP - PayPal集成PHP - MySQL登录PHP - Ajax搜寻PHP - Ajax XML ParserPHP - Ajax主动实现搜寻PHP - Ajax RSS Feed示例PHP - XML简介PHP - 简略的XMLPHP - 简略的XML GETPHP - SAX解析器示例PHP - DOM解析器示例PHP - 框架工作PHP外围与框架PHP - 设计模式PHP - 函数援用PHP - 有用的资源

April 20, 2023 · 1 min · jiezi

关于程序员:JavaScript-Window对象计时事件Cookie

如有帮忙请点赞、珍藏+关注,更多技术材料获取请点击Gitee Window 对象所有浏览器都反对 window 对象。它示意浏览器窗口。所有 JavaScript 全局对象、函数以及变量均主动成为 window 对象的成员。全局变量是 window 对象的属性。全局函数是 window 对象的办法。HTML DOM 的 document 也是 window 对象的属性之一Window 尺寸有三种办法可能确定浏览器窗口的尺寸。 对于Internet Explorer、Chrome、Firefox、Opera 以及 Safari: window.innerHeight - 浏览器窗口的外部高度(包含滚动条)window.innerWidth - 浏览器窗口的外部宽度(包含滚动条)对于 Internet Explorer 8、7、6、5: document.documentElement.clientHeightdocument.documentElement.clientWidth 或者document.body.clientHeightdocument.body.clientWidth其余 Window 办法window.open() - 关上新窗口window.close() - 敞开以后窗口window.moveTo() - 挪动以后窗口window.resizeTo() - 调整以后窗口的尺寸Window Screenwindow.screen对象在编写时能够不应用 window 这个前缀。screen.availWidth - 可用的屏幕宽度screen.availHeight - 可用的屏幕高度Window Locationlocation.hostname 返回 web 主机的域名location.pathname 返回以后页面的门路和文件名location.port 返回 web 主机的端口 (80 或 443)location.protocol 返回所应用的 web 协定(http: 或 https:)Window Historyhistory.back() - 与在浏览器点击后退按钮雷同history.forward() - 与在浏览器中点击向前按钮雷同Window Navigatorwindow.navigator 对象在编写时可不应用 window 这个前缀。 ...

April 20, 2023 · 1 min · jiezi

关于程序员:JavaScript条件语句

如有帮忙请点赞、珍藏+关注,更多技术材料获取请点击Gitee 条件语句if 语句if (condition){ 当条件为 true 时执行的代码}if...else 语句if (condition){ 当条件为 true 时执行的代码}else{ 当条件不为 true 时执行的代码}if...else if...else 语句if (condition1){ 当条件 1 为 true 时执行的代码}else if (condition2){ 当条件 2 为 true 时执行的代码}else{ 当条件 1 和 条件 2 都不为 true 时执行的代码}switch语句switch(n){ case 1: 执行代码块 1 break; case 2: 执行代码块 2 break; default: 与 case 1 和 case 2 不同时执行的代码}while语句while (条件){ 须要执行的代码}for循环for (语句 1; 语句 2; 语句 3){ 被执行的代码块}let arr = new Array(999999).fill(1) console.time('forTime')for(let i = 0; i< arr.length; i++){}console.timeEnd('forTime') /* 输入* forTime: 4.864990234375 ms*/// 注:计数i用var或let申明不会影响执行工夫,但var申明的计数i内存不会开释break和continuebreak 语句 ...

April 20, 2023 · 1 min · jiezi

关于程序员:JavaScript作用域事件this关键字严格模式错误类型

如有帮忙请点赞、珍藏+关注,更多技术材料获取请点击Gitee 作用域在 JavaScript 中, 作用域为可拜访变量,对象,函数的汇合。别离有全局作用域、函数作用域和块级作用域,函数作用域和块级作用域又统称为部分作用域。 全局作用域,能够了解为网页的全副范畴部分作用域 函数作用域,函数外部,所以不同的函数内能够申明雷同的变量块级作用域,if...else、for、forEach、while...事件HTML 事件是产生在 HTML 元素上的,JavaScript 能够触发这些事件。事件能够是浏览器行为,也能够是用户行为。 常见的HTML事件onchange:HTML 元素扭转onclick:用户点击 HTML 元素onmouseover:鼠标指针挪动到指定的元素上时产生onmouseout:用户从一个 HTML 元素上移开鼠标时产生nkeydown:用户按下键盘按键onload:浏览器已实现页面的加载事件能够用于解决表单验证,用户输出,用户行为及浏览器动作:页面加载时触发事件页面敞开时触发事件用户点击按钮执行动作验证用户输出内容的合法性...this关键字面向对象语言中 this 示意以后对象的一个援用。但在 JavaScript 中 this 不是固定不变的,它会随着执行环境的扭转而扭转。 在办法中,this 示意该办法所属的对象如果独自应用,this 示意全局对象在函数中,this 示意全局对象在函数中,在严格模式下,this 是未定义的(undefined)在事件中,this 示意接管事件的元素相似 call() 和 apply() 办法能够将 this 援用到任何对象变量晋升和严格模式变量晋升函数及变量的申明都将被晋升到函数的最顶部变量能够在应用后申明,即变量能够先应用再申明只有申明的变量会晋升,初始化的不会严格模式严格模式(strict mode)即在严格的条件下运行。"use strict" 指令在 JavaScript 1.8.5 (ECMAScript5) 中新增。它不是一条语句,然而是一个字面量表达式,在 JavaScript 旧版本中会被疏忽。 为什么应用严格模式?打消Javascript语法的一些不合理、不谨严之处,缩小一些怪异行为打消代码运行的不平安之处,保障代码运行的平安进步编译器效率,减少运行速度为将来新版本的Javascript做好铺垫严格模式的限度不容许应用未声明的变量不容许删除变量或对象不容许删除函数不容许变量重名不容许应用八进制不容许应用转义字符不容许对只读属性赋值不容许对一个应用getter办法读取的属性进行赋值不容许删除一个不容许删除的属性变量名不能应用 "eval" 字符串变量名不能应用 "arguments" 字符串因为一些平安起因,在作用域 eval() 创立的变量不能被调用禁止this关键字指向全局对象严格模式新增了一些保留关键字 implementsinterfaceletpackageprivateprotectedpublicstaticyield谬误类型引擎执行 JavaScript 代码时,会产生各种谬误。可能是语法错误,通常是程序员造成的编码谬误或错别字。可能是拼写错误或语言中短少的性能(可能因为浏览器差别)。可能是因为来自服务器或用户的谬误输入而导致的谬误。当然,也可能是因为许多其余不可预知的因素。 ReferenceErrorSyntaxErrorTypeError捕捉语句try { ... //异样的抛出 } catch(e) { ... //异样的捕捉与解决 } finally { ... //完结解决 }本文由mdnice多平台公布 ...

April 20, 2023 · 1 min · jiezi

关于程序员:JavaScript语法-字面量变量操作符关键字数据类型内置函数内置对象

如有帮忙请点赞、珍藏+关注,更多技术材料获取请点击Gitee JavaScript 是一个脚本语言,轻量及弱小的编程语言。 字面量数字 整数或者是小数,或者是迷信计数(e)。例如:100、3.14、12e3字符串 应用单引号或双引号包裹表达式 用于计算数组 [40, 100, 1, 5, 25, 10]对象 {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"}函数 function myFunction(a, b) { return a * b;}变量用关键字var 来定义变量, 应用等号来为变量赋值变量能够通过变量名拜访。在指令式语言中,变量通常是可变的。字面量是一个恒定的值变量是一个名称。字面量是一个值操作符算术运算符(+ - * /)赋值运算符(=)位运算符(& | ^ ~ >> << >>>>)条件、比拟运算符(== === != !== > < >= <=)逻辑运算符(&& || !)关键字仅列举一些常见关键字 var、let、const、function、this instanceof、typeof true、false、if、else、while、switch、case try、catch、finally、throw、return export、import、default 数据类型根本类型(值类型) string、number、boolean、undefined、null、symbol(ES6)、bigint(ES10)援用类型(对象类型) object<font color=#FF000 >Notice:</font> String、Number、Boolean是构造函数 undefined是全局变量,在window或global上 null是关键字,类型为object 内置函数惯例函数数组函数日期函数数学函数字符串函数内置对象StringDateArrayMath......本文由mdnice多平台公布

April 20, 2023 · 1 min · jiezi

关于程序员:技术招聘演化论怎样从纸上答题升级到实战编程

  翻新赛道的呈现一些企业或者曾经对招聘管理系统(Applicant Tracking System,简称 ATS)有肯定理解,ATS 能够帮忙企业治理招聘流程,其中包含公布招聘信息、接管简历、筛选候选人和安顿面试等。在中国,一些出名的 ATS 厂商包含北森、图谱、Moka 和大易。 然而,您可能还不晓得,随着招聘畛域的精细化倒退,一类新的行业赛道——技术能力评估(Technical Skills Assessment,简称 TSA)应运而生。它专一于钻研如何无效评估技术候选人的技术能力,包含编码能力、解决问题能力和调试技能等。这一赛道的倒退将帮忙企业更精确地评估候选人的技术水平,以确保招聘到适合的技术人才。 上面是一个简略的表格,比照招聘管理系统(ATS)和技术能力评估零碎(TSA) 的区别: 依据 G2(海内商业软件在线评估平台)的数据显示,截至 2023 年,仅在海内市场, 技术能力评估(TSA)赛道已有 117 家公司百花齐放;而在中国,该赛道尚处于初期阶段,倒退空间绝对较大,ShowMeBug 就是这一赛道的代表企业。 海内 117 家技术能力评估平台 在海内,技术能力评估TSA 这一赛道中企业融资情况十分炽热,比方代表之一的 CodeSignal。2021年,CodeSignal 实现了 C 轮融资,筹集了 5000 万美元。该公司成立于 2015 年,总部位于旧金山,致力于通过帮忙科技公司评估工程人才,颠覆寰球 2000 亿美元的招聘行业。间隔 CodeSignal 实现 2500 万美元的 B 轮融资不到一年,就进行了这轮融资。这表明投资者对该公司的业务增长和将来前景充满信心。这也表明该公司正在迅速扩张,须要更多资金来反对其增长。由此可见,技术能力评估(TSA)赛道的热度一直攀升。 那么,技术能力评估为何引起资本的极大关注?从根本上讲,这归功于它在进步技术能力评估的信效度方面所获得的显著功效。想要明确这背地的起因,咱们须要先追溯技术能力评估的三个阶段。 三个阶段程序员的技术能力评估经验了三个阶段: 第一个阶段是传统笔面试。在通过简历初筛后,候选人应邀参加企业的纸质考试,企业重点考查候选人的基础理论常识。技术面试采纳线下一对一形式,评估规范次要依赖于面试官的集体教训。 第二个阶段为在线编程。自 2000年以来,Google 等公司开始推广白板编程。这种办法要求候选人在白板或相似工具上,手动推导算法并写下代码。一些在线编程练习平台也随之开始风行,很多候选人心愿通过练习算法题,更好地筹备技术面试。 第三个阶段是在线实战编程。在后疫情时代,技能评估进入新阶段,尤其是随着 ChatGPT 技术的呈现,在线编程阶段的算法题考试已无奈满足寻找高绩效程序员的需要,应运而生的是在线实战编程,通过为候选人提供实在的模仿编程环境和我的项目片段,让他们解决理论我的项目问题,从而全面评估其技能程度。 这三个阶段最基本的区别在于技术评估的规范从知识点的考查回升到了编程技能的考查。利用 ASK 模型解释,前两个阶段的评估更侧重于 Knowledge(常识)的考查,而第三个阶段的评估则更侧重于 Skill(技能)的考查。 ASK 模型 确切地说,前两个阶段难以称之为真正的技术能力评估(Technical Skills Assessment)。技术能力评估真正起源于第三个阶段,因为它采纳了模仿实战编程的办法,更高效地评估程序员的编程技能。 企业理论须要的是具备技能的人才,而非仅仅具备常识的人才。他们须要可能真正解决我的项目编码问题的人,而不是仅能纯熟编写二叉树的程序员。通过技术能力评估平台,企业可能准确、低成本地找到所需的技能型人才。这也正是海内技术能力评估平台受到资本热捧的真正起因。 优劣势剖析为了让您更深刻地了解技术能力评估(TSA)赛道的倒退历程,咱们将通过一个表格为您出现技术能力评估三个阶段的优缺点: ...

April 20, 2023 · 1 min · jiezi

关于程序员:美国空军为何45天内将Kubernetes部署到F16

起源 | thenewstackEdgenesis编译 本篇文章来自美国空军首席软件官Nicholas Chaillan在2019年Kubecon上的演讲,表明美国国防部(DoD)在F-16战斗机上采纳Kubernetes部署,凸显了Kubernetes在安全性和其余方面的个性。Kubernetes是一个开源容器编排平台,能够自动化应用程序部署、扩大和治理。在这种状况下,美国国防部抉择应用Kubernetes作为其基础设施的一部分,阐明了其在安全性、灵活性和可扩展性方面的信赖。就混合云策略而言,美国空军尝试驳回更先进的技术。 军事组织越来越依赖于软件,并且它们正转向各种开源工具,如Kubernetes和Istio,以实现工作。2019年,美国空军首席软件官Nicholas Chaillan在圣地亚哥的KubeCon演讲中说到:从武器零碎到战斗机,这些工具都部署在一些十分重要的中央。F-16正在应用这些工具在那些喷气式飞机内置的遗留硬件上运行Kubernetes。 Chaillan说:“团队要证实这是能够做到的”。他向空军及其合作伙伴发动挑战,让他们在45天外在喷气式飞机上运行Kubernetes。尽管这听起来很艰难,但团队最终还是实现了指标。F-16当初就正在运行三个并发的Kubernetes集群。 很重要的问题是,为什么要用Kubenetes进行实现?在KubeCon开幕式后的演讲中,Chaillan解释了空军为何在容器、Istio和Kubernetes上押下重注:因为这是一个灵便但通用的开发平台,实用于整个军队的软件团队,能够避免供应商锁定。 “在开始这个我的项目之前,大多数军事软件团队都在应用老式的瀑布(waterfall)流程构建软件,新代码可能须要数年工夫能力齐全投入生产。即便如此,更新、测试甚至平安审查都重大依赖人工来实现那些早就应该实现自动化的工作。” 就执行工作所需的技术而言,军方不能落后前沿技术太远。如果竞争对手在本身软件实力上鼎力投资,那么他们在战场上的劣势就会显现出来。而更新军方要害应用程序的过程很迟缓,这对国家平安的影响是不言而喻的。 “对咱们来说,缩小攻击面并可能加重威逼十分重要,” Chaillan示意。 1、国防部企业DevSecOpsChaillan团队决定采纳开源软件作为新开发平台的根底,他们将其称为 DoD Enterprise DevSecOps Initiative。该打算规定了一组平安要求严格的容器来“软化”外部开发标准,指定Kubernetes、Istio、Knative作为默认的软件开发平台。 Chaillan说:“不同部门或地区的软件团队有肯定的自主权,但所有货色都必须建设在空军的平台层上。乏味的是,因为国防部授予微软的10年JEDI云合同产生了微小争议,整个堆栈被设计为可在Amazon Web Services或Microsoft Azure上上运行。 演讲完结后,CNCF主持了一场新闻发布会,Chaillan在会上就这点进行了具体论述,并解释说“咱们不想被任何一件事所解放。” 出于这个起因,该团队专门抉择应用Kubernetes,Istio等其余我的项目为DoD堆栈的网络层提供安全性。他同时说到:“咱们心愿确保Istio在整个堆栈中能继续运行”。 当然,这一路走来也遇到了很多挑战。Chaillan说,Kubernetes并不是为军方在许多状况下必须应用断开连接的环境而设计的,这些环境波及的数据永远不会达到互联网。他暗示到:国防部将就Kubernetes保护人员所解决的局部提出倡议,这可能有助于为Kubernetes在其余敏感操作环境中的应用铺平道路。 “咱们十分习惯于应用互联网进行更新,并与互联网连贯,间接从互联网取得更新。对咱们来说,咱们必须将整个堆栈随身携带。”这些堆栈须要装置在被设计为断网的喷气式飞机或武器零碎上。 2、在美国国防部的规模下开源栈美国国防部的经营规模与简直所有商业经营不同;Chaillan不仅要培训10万人把握DevSecOps准则,还要学会应用新工具。“技术文化的转变很乏味,”他在新闻发布会上示意,仿佛有些克服。 该规模反映了美国国防部将应用这个新的开发平台来解决许多一般和未经分类的应用程序:超过200万人在军队工作,他们中的大多数都没有为运行Kubernetes的F-16战机工作。 “战机很乏味,但它只是咱们正在做的其余工作的一小部分。咱们有很多业务零碎正在转向云原生环境,转向微服务,并从一开始就构建,”Chaillan说。 整个美国国防部企业DevSecOps打算采纳开源的技术栈,并可供任何人查看,Chaillan说。他示意,军事机构正在“变得更好”地将更多工作公布到开源社区,还指出“咱们不会分叉(开源)软件。” 本文由边无际受权公布

April 20, 2023 · 1 min · jiezi

关于程序员:KgCaptcha文字点选验证码建议收藏

款式设置哎!这验证码状态多变,怎么烦扰这么多?这文字数量怎么一会点4个、一会点6个,这到底是怎么弄的。这些问题一下就给我整懵了,终于让我发现通过 KgCaptcha 能够胜利实现,接下来开始分享它的设置应用。 01 图片宽度设置验证码背景图片的宽度、单位 px。 02 图片高度设置验证码背景图片的高度、单位 px。 03 文字旋转设置文字是否随机旋转角度,默认开启。 04 图片圆角边框设置验证码底图边框圆角,单位 px。 05 外间距设置底图离周围的外间距,单位 px。 06 点击文字数量设置验证码须要点击的文字数量。 07 烦扰文字数量设置验证码烦扰文字的数量。 08 底图文字大小设置底图下面的文字大小,单位 px。 09 烦扰杂点数量设置验证码文字烦扰杂点的数量。 10 烦扰扰杂线数量设置验证码文字烦扰杂线的数量。 相干链接SDK下载:https://github.com/KgCaptcha 在线体验:https://www.kgcaptcha.com/demo/

April 20, 2023 · 1 min · jiezi

关于程序员:物联网信创开新局边无际Shifu物联网开发平台与麒麟软件完成互认证

边无际Shifu物联网开发平台和麒麟软件信创操作系统日前实现了互认证,这将为物联网设施的开发和利用提供更加全面的反对和保障。据悉,边无际Shifu物联网开发平台曾经在河汉麒麟桌面操作系统(兆芯版)V10、河汉麒麟桌面操作系统(海光版)V10、河汉麒麟麟桌面操作系统(AMD64版)V10上整体运行稳固,性能和兼容性等方面体现良好。 边无际Shifu物联网开发平台提供全场景设施托管和一体化软件开发的通明框架,致力于为用户提供更加便捷、高效的物联网设施接入和治理服务。通过应用边无际Shifu平台,开发者能够更加轻松地连贯、监督和管制任何物联网设施。目前,边无际Shifu曾经实现了通过HTTP、MQTT、TCP Socket、RTSP、OPC UA等协定接入物联网设施,并胜利集成了西门子S7、海康威视(HIKVISION)等通过公有协定通信的设施。 麒麟软件信创操作系统是中国自主研发的一种操作系统,具备自主可控、高性能、高牢靠、高安全性等特点,被广泛应用于政务、金融、教育、医疗、智能家居等畛域。作为中国政府重点反对的软件之一,麒麟软件在国内市场上领有着宽泛的用户和良好的口碑。此次与Shifu物联网开发平台的互认证,是麒麟软件在推动国内软件自主可控、促成产业降级方面所做的又一重要动作。 河汉麒麟高级服务器操作系统V10也是麒麟软件在信创产业中的又一代表作。河汉麒麟高级服务器操作系统V10适应虚拟化、云计算、大数据、工业互联网等畛域对主机系统可靠性、安全性、性能、扩展性和实时性等方面的需要。 河汉麒麟桌面操作系统提供了稳固、牢靠、高效的操作系统环境,为边无际Shifu物联网开发平台的运行提供了松软的根底。边无际Shifu物联网开发平台则为河汉麒麟桌面操作系统的用户提供了全场景设施托管和一体化软件开发的解决方案,使用户可能更加便捷、高效地治理和利用物联网设施。 随着信息技术的疾速倒退和遍及,信创产业不断涌现出各种新的利用场景和商业模式。它涵盖了智能制作、智慧城市、物联网、云计算、大数据、人工智能、区块链等畛域。在国家“双创”政策的推动下,信创产业也逐步成为中国新兴产业的重要代表之一。在这一大背景下,麒麟软件作为中国自主可控软件的代表,不仅为信创产业的倒退提供了撑持,也在推动中国软件产业的翻新和降级方面施展了踊跃的作用。 边无际Shifu物联网开发平台和麒麟软件信创操作系统的互认证将为物联网设施的开发和利用提供更加便捷、高效的反对和保障。将来,边无际Shifu物联网开发社区将继续加强与相干畛域的单干和交换,为用户提供更加优质的服务和产品,助力物联网信创产业的倒退。 本文由边无际受权公布

April 19, 2023 · 1 min · jiezi

关于程序员:中国企业软件研发管理白皮书发布会倒计时1天|精彩抢先看

April 19, 2023 · 0 min · jiezi

关于程序员:Python-异步-常见反对意见24

动动发财的小手,点个赞吧! Asyncio 和协程可能不是解决程序中所有并发问题的最佳解决方案。话虽这么说,但也可能存在一些误会,使您无奈充分利用 Python 中 asyncio 的性能。 在本节中,咱们回顾了开发人员在思考应用Asyncio时看到的一些常见异议。 1. 全局解释器锁(GIL)怎么样?GIL 爱护 Python 解释器的外部免受多线程的并发拜访和批改。异步事件循环在一个线程中运行。这意味着所有协程都在单个线程中运行。因而,在应用 asyncio 和协程时 GIL 不是问题。 2. Python 协程是“实在的”吗?协同程序在软件中进行治理。协程在 Python 运行时的 asyncio 事件循环中运行和治理(切换)。它们不是底层操作系统提供的性能的软件示意,如线程和过程。从这个意义上说,Python 不反对“原生协程”,但我不确定古代操作系统中是否存在这样的货色。 3. Python 不是并发谬误吗?错! Python 通过协程、线程和过程提供一流的并发性。它曾经存在了很长时间,并宽泛用于开源和商业我的项目中。 4. Python 不是并发的坏抉择吗?开发人员喜爱 Python 的起因有很多,最常见的起因是它易于应用且开发速度快。Python 通常用于胶水代码、一次性脚本,但越来越多地用于大型软件系统。如果您应用的是Python,而后须要并发,那么您能够应用所领有的货色。问题是毫无意义的。 如果您须要并发性并且您没有抉择一种语言,那么另一种语言可能更适合,也可能不适合。思考我的项目的性能和非性能需要(或用户需要、欲望和冀望)的全副范畴以及不同开发平台的性能。 5. 为什么不应用线程呢?您能够应用线程而不是异步。任何应用线程开发的程序都能够重写为应用 asyncio 和协程。任何应用协程和 asyncio 开发的程序都能够重写为应用线程。在我的项目中采纳 asyncio 是一种抉择。 在大多数状况下,它们在性能上是等效的。许多用例将应用线程执行得更快,并且可能为更宽泛的 Python 开发人员所相熟。 网络编程和执行系统命令畛域的一些用例在应用 asyncio 时可能更简略(代码更少),并且比应用线程更具可扩展性。 本文由mdnice多平台公布

April 18, 2023 · 1 min · jiezi

关于程序员:packagejson-备忘清单开发速查表分享

package.json 备忘清单如果你以前用过 Node.js,则可能会遇到 package.json 文件。它是一个 JSON 文件,位于我的项目的根目录中。你的 package.json 蕴含对于我的项目的重要信息。它蕴含对于我的项目的使人类可读元数据(如项目名称和阐明)以及性能元数据(如程序包版本号和程序所需的依赖项列表)。 我的项目的 package.json 是配置和形容如何与程序交互和运行的核心。 npm CLI(和 yarn)用它来辨认你的我的项目并理解如何解决我的项目的依赖关系。package.json 文件使 npm 能够启动你的我的项目、运行脚本、装置依赖项、公布到 NPM 注册表以及许多其余有用的工作。 npm CLI 也是治理 package.json 的最佳办法,因为它有助于在我的项目的整个生命周期内生成和更新 package.json 文件。package.json 会在我的项目的生命周期中表演多个角色,其中某些角色仅实用于公布到 NPM 的软件包。即便你没有把我的项目公布到 NPM 注册表中,或者没有将其公开公布给其他人,那么 package.json 对于开发流程依然至关重要。你的我的项目还必须蕴含 package.json,而后能力从 NPM 装置软件包。这可能是你在我的项目中须要它的次要起因之一。 package.json开发速查备忘清单 蕴含了对于 package.json 文件中所需内容的全部内容。重要字段,为开发人员分享疾速参考备忘单。 开发速查表纲要重要字段 介绍nameversionTips装置 name 包信息类字段 descriptionlicensekeywords链接类字段 homepagerepositorybugs我的项目保护类字段 authorcontributors文件类信息 filesmainmandirectoriesbintypes打包包字段 esnextmodulebrowserexports 导出exports 导出子门路中的模块exports 简写 (. 惟一的导出)条件导出(exports)main Vs exports工作类字段 scripts特定的 scriptsconfig依赖形容类字段 dependenciesworkspacesdevDependenciesoverridespeerDependenciesoptionalDependenciesbundledDependenciespeerDependenciesMeta零碎 enginesoscpu公布 privatepublishConfigYarn flatresolutions另见

April 17, 2023 · 1 min · jiezi

关于程序员:大咖力荐-中国企业软件研发管理白皮书为什么值得看

数字产业是这个时代最大的增量。ONES 与中国信通院联结公布的《中国企业软件研发治理白皮书》力求摸索研发治理的最佳实际门路,获多位行业大咖倾情举荐。他们纷纷表示:书内提炼的研发治理的数字化模型、研发管理系统六大外围能力、行业领军者的实际案例等内容,都为企业软件研发治理提供了重要的领导和参考,帮忙读者晋升软件研发管理水平。 该白皮书将于 4 月 20 日 正式公布。届时,多位专家将对白皮书进行深刻解读,并聚焦研发治理的最新动静,独特探讨软件研发趋势。想要理解更多发布会相干内容,欢送扫码预约发布会,精彩不容错过!

April 17, 2023 · 1 min · jiezi

关于程序员:像沙特门将一样可靠云鲨RASP是您应用安全的最佳守门员

阿根廷与梅老板的本届世界杯首秀在万众瞩目中爆冷完结,沙特门将一战封神。如果说,将网络安全比作成一场强烈的足球比赛,那么RASP能够说是利用平安的守门员,云鲨RASP像沙特守门员一样靠谱,是您利用平安的最初一道防线。 卡塔尔世界杯举世瞩目的世界杯正在卡塔尔热火朝天地举办,然而,11.22日梅西梅老板首秀,世界排名51的沙特阿拉伯在万众瞩目中,以2-1逆转美洲冠军阿根廷队,终结了阿根廷队的36场不败纪录,爆出了本届世界杯开赛以来第一大冷门。 图片起源:NEW YORK POST复盘这场精彩的较量,在这场能载入沙特足球史册的较量中,沙特门将阿洛瓦伊斯居功至伟,面对阿根廷以梅西、迪马利亚、马丁内斯等领衔的堪称奢华的防御阵容,沙特门将阿洛瓦伊斯体现神勇,5次扑救、2次解围,一战封神,守护了沙特的大门。 图片起源:yahho!sports“我很快乐咱们可能在对阵这支十分驰名的球队时获得这样的后果,”沙特门将穆罕默德·阿洛维斯说。“咱们曾经做好了筹备。咱们100%筹备好了,心愿咱们未来会有更好的后果。” 如果说,将网络安全比作成一场强烈的足球比赛,那么RASP能够说是利用平安的守门员,是您利用平安的最初一道防线。上面就追随小镜,看看在这硝烟弥漫的攻防战场中,云鲨RASP是怎么为您的利用守好球门的~ 图片: 应用RASP应答Log4j2.x咱们将网络攻击比喻成足球场上的争锋,对手能够通过Web通用破绽(如SQL注入、命令执行等OWASP破绽)、第三方框架及开源组件破绽和0Day破绽进行攻打,而云鲨RASP则能够通过设置策略进行防守,甚至追踪: 攻击方式 防守形式可在治理后盾自定义检测和阻断两种根底的威逼免疫模式。 检测模式:是指在检测到平安攻打时,将具体的攻打参数记录下来。 阻断模式:不仅可能检测到平安攻打,同时实时拦挡检测到的平安攻打,通过相应的危险监控配置,及时获取告警动静及平安危险。 无效溯源云鲨RASP通过对被攻打应用程序与内网流量进行剖析,肯定水平上还原攻击者的攻打门路与攻打手法,对所有攻打以及攻打特色等信息记录下来并加以分析,通过列表、数据图表等可视化形式进行展现,将攻打特色信息转换成进攻劣势,针对性地克制网络攻击。 云鲨RASP 基于运行时情境感知技术的新一代利用威逼免疫平台 悬镜云鲨RASP自适应威逼免疫平台作为悬镜第三代DevSecOps智适应威逼管理体系中经营环节的继续检测响应平台,通过专利级AI检测引擎、利用破绽攻打免疫算法、运行时平安切面调度算法及纵深流量学习算法等关键技术,将主动防御能力“注入”到业务利用中,借助弱小的利用上下文情景剖析能力,可捕获并进攻各种绕过流量检测的攻击方式,提供兼具业务透视和性能解耦的内生被动平安免疫能力,为业务利用出厂默认平安免疫迎来变革倒退。 官网网址:https://rasp.xmirror.cn/

April 17, 2023 · 1 min · jiezi

关于程序员:Python-异步-常见问题-Part223

动动发财的小手,点个赞吧! 本节答复开发人员在 Python 中应用 asyncio 时提出的常见问题。 6. 正在运行的工作是否会阻止事件循环退出?不会! 独立调度和运行的工作不会阻止事件循环退出。如果你的主协程没有其余流动要实现并且有独立的工作在后盾运行,你应该检索正在运行的工作并期待它们 7. 如何显示正在运行的工作的进度?咱们能够在每个工作上应用 done 回调函数来显示进度。实现回调是咱们能够在 asyncio.Task 上注册的函数。 一旦工作实现,它就会被调用,无论是失常还是失败。done 回调函数是一个惯例函数,而不是协程,并将与其关联的 asyncio.Task 作为参数。咱们能够对所有工作应用雷同的回调函数并以通用形式报告进度,例如通过报告音讯。 # callback function to show progress of tasksdef progress(task): # report progress of the task print('.', end='')咱们能够在咱们收回的每个 asyncio.Task 上注册一个回调函数。这能够通过在每个工作上应用 add_done_callback() 办法并将回调函数的名称传递给它来实现。 ...# add a done callback to a tasktask.add_done_callback(progress)8. 如何在提早后运行工作?咱们能够开发一个自定义包装器协程来在提早后执行指标协程。包装协程可能有两个参数,一个协程和一个以秒为单位的工夫。它将在给定的提早距离内休眠(以秒为单位),而后期待提供的协程。上面的 delay() 协程实现了这一点。 # coroutine that will start another coroutine after a delay in secondsasync def delay(coro, seconds): # suspend for a time limit in seconds await asyncio.sleep(seconds) # execute the other coroutine await coro要应用包装协程,能够创立协程对象并间接期待或作为工作独立执行。例如,调用者能够挂起并调度提早协程并期待它实现: ...

April 16, 2023 · 2 min · jiezi

关于程序员:谷歌-Bard-聊天机器人实验更新页面上线|美国司法部称谷歌垄断阻碍了创新如-ChatGPT-的早期发展|思否周刊

40 S 新闻速递美国司法部称谷歌垄断妨碍了翻新如 ChatGPT 的晚期倒退亚马逊推出 Amazon Bedrock 和 Amazon Titan 大语言模型Adobe 推出翻新技术系列视频应用程序,引领行业先河谷歌 Bard 聊天机器人试验更新页面上线,数学和逻辑能力失去晋升微软开源 Deep Speed Chat,让大语言模型训练更简略马斯克公开呐喊暂停 AI 钻研,暗中却购买上万个 GPU 推动 AIGC 我的项目OpenAI、微软、谷歌等科技巨头探讨制订 AI 应用规范Django 4.2 公布Node 19.9.0 公布Android 14 首个 Beta 版本释出Kubernetes 1.27 正式公布Databricks 公布开源指令微调大语言模型 Dolly 2.0行业资讯美国司法部称谷歌垄断妨碍了翻新如 ChatGPT 的晚期倒退美国司法部周四指出,如果不是谷歌垄断搜寻市场,像 ChatGPT 这样的技术创新可能早在几年前就曾经问世。该部门负责反垄断案的首席律师示意:“过来 12 年间,谷歌始终在维持垄断位置。如果没有这个垄断,ChatGPT 和其余 5 家竞争对手是否能在搜寻畛域竞争,这些问题咱们无法回答。” 亚马逊推出 Amazon Bedrock 和 Amazon Titan 大语言模型亚马逊退出生成式 AI 比赛,推出其 AWS 平台上的大语言模型,以帮忙用户构建聊天机器人。与微软和 Google 不同,亚马逊 Bedrock 平台提供用户拜访由 Anthropic 和 AI21 开发的模型,以及其自有的模型,如 Titan Text 和 Text Embeddings,可用于生成文本并解决翻译和搜寻等工作。除此之外,AWS 还提供了开源模型 Stable Diffusion,帮忙用户创立更加稳固的模型。 ...

April 16, 2023 · 2 min · jiezi

关于程序员:PHP-备忘清单开发速查表分享

PHP 备忘清单PHP(PHP: Hypertext Preprocessor)即“超文本预处理器”,是在服务器端执行的脚本语言,尤其实用于Web开发并可嵌入HTML中。PHP语法学习了C语言,吸纳Java和Perl多个语言的特色倒退出本人的特色语法,并依据它们的长项继续改良晋升本人,例如java的面向对象编程,该语言当初创立的次要指标是让开发人员疾速编写出优质的web网站。PHP同时反对面向对象和面向过程的开发,应用上非常灵活。 PHP开发速查备忘单为疾速查找最罕用代码的正确语法提供了参考入门,为开发人员分享疾速参考备忘单。 开发速查表纲要入门 hello.php变量 Variables字符串 Strings数组 Arrays运算符 OperatorsInclude性能 Functions正文 Comments常数 Constants类 ClassesPHP 类型 布尔值 Boolean整数 Integer字符串 Strings数组 Arrays浮点数 Float (Double)Null可迭代对象 IterablesPHP 字符串 字符串 String多行 Multi-line操作 ManipulationPHP 数组 定义多阵列多类型操作索引迭代价值迭代要害迭代串联阵列Into 函数Splat运算符PHP 运算符 算术调配比拟逻辑的算术按位PHP 条件 If elseif elseSwitch三元运算符匹配匹配表达式PHP 循环 while 循环do while 循环for i 循环break 跳出循环continue 持续foreach 循环PHP 函数 返回值返回类型可空返回类型有效函数变量函数匿名函数递归函数默认参数箭头函数PHP 类 构造函数 Constructor继承 Inheritance类变量 Classes variables魔术办法接口各种各样的 根本错误处理PHP 8.0 中的异样自定义异样Nullsafe 运算符罕用表白fopen() 模式运行时定义的常量另见

April 14, 2023 · 1 min · jiezi

关于程序员:ONES-×-中国信通院中国企业软件研发管理白皮书即将发布

由 ONES 与中国信息通信研究院联结发动的《中国企业软件研发治理白皮书》(下称「白皮书」)将于 4 月 20 日 正式公布。白皮书由 ONES、中国信息通信研究院云计算与大数据研究所、招商基金治理有限公司、紫金财产保险股份有限公司、深圳市鸿合翻新信息技术有限责任公司、深圳市中农网有限公司独特撰写。发布会采取线上线下同步直播的形式,行业大咖将深度解读白皮书外围论点、探讨前沿趋势、分享标杆企业实际案例。 「如何利用技术赋能商业价值」简直是所有企业管理者无奈绕开的课题。随着我国数字化过程一直推动,软件研发数字化被很多企业所器重,产品、用户、内容越来越细分,但企业对于软件研发的治理绝对滞后,软件研发的低效治理和产品需要的疾速倒退造成了显明的矛盾。 鉴于此,本白皮书聚焦软件研发治理中产业链的新倒退、新变动,从研发治理的历史沿革以及麻利治理的转型冲破,再到研发治理数字化模型的提出,重点围绕工作办法、实际门路、外围指标、效力度量等研发治理畛域的热点话题以及研发治理的发展趋势进行深入探讨,旨在帮忙读者更好地把握研发治理的产业动向。 白皮书亮点一:独创研发治理数字化模型该模型通过四大实际进行数字化转型,以商业效率为最终目标、研发效力为实现门路,将研发治理思路用残缺的逻辑和清晰的脉络出现进去,凝聚了丰盛的实践经验和效力晋升的技巧,为研发治理从业者提供门路参考和教训借鉴。 白皮书亮点二:提炼研发治理数字化外围能力白皮书演绎了研发治理数字化零碎的六大外围能力,别离是「端到端的需要生命周期治理」「项目管理兼顾研发全过程」「自动化晋升企业组织效力」「常识教训积淀为过程资产」「有度量才有针对性的改良」和「多工具集成适配大型团队」。这六大能力笼罩软件研发的全过程,继续改良研发效力,实现企业的数字化指标。 白皮书亮点三:分享行业领军者提效实际案例本白皮书从客户的实在痛点登程,分享了多家行业领军者提效实际案例,将 ONES 产品落地至客户研发场景中,助力企业标准研发管理体系、晋升团队交付能力。 白皮书触达了研发效力的最终价值,对研发效力的商业价值和社会价值都有深刻的探讨和分析。想与行业专家独特探讨数字化与软件研发提效实际?连忙预约直播吧!关注万事 ONES 视频号预约直播,第一工夫获取白皮书。

April 13, 2023 · 1 min · jiezi

关于程序员:PostgreSQL-备忘清单开发速查表分享

PostgreSQL 备忘清单PostgreSQL是一种个性十分齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是以加州大学计算机系开发的POSTGRES,4.2版本为根底的对象关系型数据库管理系统。POSTGRES的许多当先概念只是在比拟迟的时候才呈现在商业网站数据库中。PostgreSQL反对大部分的SQL规范并且提供了很多其余古代个性,如简单查问、外键、触发器、视图、事务完整性、多版本并发管制等。同样,PostgreSQL也能够用许多办法扩大,例如通过减少新的数据类型、函数、操作符、汇集函数、索引办法、过程语言等。另外,因为许可证的灵便,任何人都能够以任何目标收费应用、批改和散发PostgreSQL。 PostgreSQL开发速查备忘清单为您提供了罕用的 PostgreSQL 命令和语句。入门,为开发人员分享疾速参考备忘单。 开发速查表纲要入门 入门psql 命令取得帮忙PostgreSQL 工作 Recon 察看Databases 数据库Tables 表Permissions 权限Columns 列Data 数据Users 用户SchemaPostgreSQL 命令 表查问缓冲区信息连贯格式化输入输出变量杂项大对象各种各样的 备份复原近程拜访导入/导出 CSV另见

April 12, 2023 · 1 min · jiezi

关于程序员:jQueryUI教程编程入门自学教程菜鸟教程免费教程分享

教程简介JqueryUI入门教程 - 从根本到高级概念的简略简略步骤理解JqueryUI,其中包含概述,环境设置,交互,可拖动,可搁置,可调整大小,可选,可排序,小部件,手风琴,主动实现,按钮,Datepicker,对话框,菜单, Progressbar,Slider,Spinner,Tabs,Tooltip,Effects,Add Class,Color Animation,Effect,Hide,Remove Class,Show,Switch Class,Toggle,Toggle Class,Utilities,Position,Widget Factory 教程目录JqueryUI - DatepickerJqueryUI教程JqueryUI - 概述JqueryUI - 环境设置JqueryUI - 可拖动JqueryUI - DroppableJqueryUI - 可调整大小JqueryUI - 可选JqueryUI - 可排序JqueryUI - 手风琴JqueryUI - 主动实现JqueryUI - 按钮JqueryUI - 对话JqueryUI - 菜单JqueryUI - ProgressbarJqueryUI - 滑块JqueryUI - SpinnerJqueryUI - 标签JqueryUI - 工具提醒JqueryUI - 增加类JqueryUI - 彩色动画JqueryUI - 成果JqueryUI - 暗藏JqueryUI - 删除类JqueryUI - 显示JqueryUI - Switch类JqueryUI - 切换JqueryUI - 切换类JqueryUI - 地位JqueryUI - Widget Factory

April 12, 2023 · 1 min · jiezi

关于程序员:Seal-AppManager发布基于平台工程理念的全新应用部署管理体验

4月12日,数澈软件Seal(以下简称“Seal”)发表推出新一代利用对立部署治理平台 Seal AppManager,采纳平台工程的理念,升高基础设施操作的复杂度为研发和运维团队提供易用、统一的利用治理和部署体验,进而晋升研发人员和运维人员的生产力。  平台工程(Platform Engineering)专一于缩小古代软件交付的复杂性和不确定性,优化研发人员体验并放慢产品团队为客户发明价值的速度。  基于此,Seal AppManager 提供可屏蔽基础设施的下层形象,反对异构基础设施,提供利用多部署治理以及丰盛的 Day2 运维能力,同时借助 OpenAI 的 GPT 大语言模型能力简化利用模块的生成,升高软件开发流程中的复杂度并缩小琐碎的工作,帮忙用户放慢利用交付速度。  产品试用:https://seal.io/trial 产品文档:https://seal-io.github.io/docs/   独特的利用部署治理框架随着云原生技术迎来大暴发,越来越多企业将业务迁徙到云端,并采纳云原生的形式进行利用部署。但将所有业务齐全迁徙到云端既不事实,也存在危险。因而,大多数企业外部采纳混合的 IT 架构,但与此同时会减少基础设施的异构性,造成 IT 复杂性回升。  据钻研显示,因为零碎复杂性减少,研发人员将 25% 的工夫节约在利用运维上。为了升高此类复杂性,加重研发和运维团队的累赘,优化利用部署体验,Seal AppManager 提供以下能力:  反对异构基础设施。包含传统部署和云原生部署。反对任意 Kubernetes 集群、私有云或者公有云基础设施,实现对立框架下的多云、混合云利用部署与治理。 提供可屏蔽基础设施的下层形象。借助这一个性,研发人员无需把握基础设施(Kubernetes/云服务)的相干常识也可能领有和运维专家统一的利用治理体验。 利用多部署治理。用户能够从利用零碎的维度对立治理多个部署实例,进而简化利用管理工作,促成研发团队间的无缝合作。 具备丰盛的 Day2 运维能力。Day2 来源于云时代软件生命周期中的概念,泛指利用上线后到周期终结之间的一段时间。Seal AppManager 提供了利用部署、降级、销毁、调试、日志查看、近程 Shell 连贯等性能。 提供灵便的集成能力。既能够间接接入企业现有的 CI/CD 流水线中,也能够作为一个功能模块集成到外部开发者平台中。 多环境治理。环境是利用的部署指标,借助环境治理个性,研发人员在不理解底层环境细节的状况下可能自助部署利用。Seal 的利用形象能够部署在多套、多种环境中。 AIGC 简化利用模块生成Seal AppManager 中的利用模块按照 DRY(Don't Repeat Yourself)准则设计,用户能够反复利用并在理论应用过程中逐步积淀研发和运维团队的最佳实际。  在最新版本中,Seal AppManager 已集成 ChatGPT,用户通过输出自然语言形容即可一键生成利用模块代码,并对生成的代码进行纠错和解释,进一步简化利用部署工作。  此外,Seal AppManager 的利用模块领有良好的扩大能力,可能无缝对接支流平台和零碎。通过提供利用模块的反对,升高了基础设施的复杂度,实现研发和运维团队关注点拆散。  多维度可视化云老本助力实现 FinOps今年年初,国内出名 IT 软件企业 Flexera 公布了《Flexera 2023年云计算现状报告》,该报告曾经间断公布12年。往年的报告显示,FinOps 首次超过平安问题成为云计算决策者面临的最大挑战。并且据受访者团队外部估算,企业均匀节约了 28% 的云计算收入。因而,老本治理成为企业亟需解决的问题。  Seal AppManager 提供云原生环境的资源开销、共享费用(如闲暇费用、管理费用)的老本汇算和摊派,并内置多维度老本剖析视图为用户提供老本洞察。另外,用户也能够根据集群、我的项目、利用等维度自定义老本视图。通过多视角、多维度的老本可视化,助力企业实现降本增效。   收费试用,欢送体验随着对自动化测试和开发工具的需要减少,软件和零碎复杂度的回升在劫难逃。为了保障业务迭代效率,企业须要采取措施防止研发人员和运维人员的职业倦怠,平台工程或者是最佳抉择。  ...

April 12, 2023 · 1 min · jiezi

关于程序员:T-级数据量迁移知名云巨头如何从-Jira-切换至-ONES

2021 年,Atlassian 旗下 Jira&Confluence 等系列产品 Server 版(本地私有化部署版)全面停售,并将在 2024 年进行保护,Server 版客户必须迁徙至 Cloud(云)或 Data Center(数据中心版)。此次「强制上云」,不仅让国内企业的订阅老本陡然翻倍,也带来了微小的数据安全隐患。 基于此,大量中国企业开始寻求更适宜国人的、兼具平安和性价比的外乡软件,ONES 作为国内当先的业余研发治理平台,成为国产代替的支流抉择。此前,ONES 已帮忙国内某云计算巨头、浪潮软件、白山云科技、凌云光等多家大中型企业高效实现了 Jira&Confluence 到 ONES 的无缝替换。 本文将聚焦某出名云计算巨头的迁徙实际,详解 ONES 如何帮忙该企业实现 8000 人团队、TB 量级的 Jira&Confluence 数据迁徙,并在全团体全方位推广落地,实现项目管理和常识管理系统从可用到好用的逾越。 客户介绍该公司是中国云计算市场名列前茅的标杆厂商,为减速技术升级,夯实规模化竞争劣势,该公司向来高度重视研发治理的标准及效率。除此之外,包含研发团队在内的各业务部门,均有文档协同、知识库积淀、周报治理等常识治理的需要。 此前,该公司各事业部间不足对立的我的项目和常识治理平台,数据彼此割裂,治理难度大,合作不顺畅。为晋升团体研发治理、常识治理的效率及精细化水平,满足全球化团队高速倒退的业务诉求,同时实现平安合规、降本增效,该公司决定从 Jira 和 Confluence 迁出。 通过对国内厂商的产品匹配度、操作易用性、服务业余度、数据迁徙能力、系统安全性能进行评估,该公司最终抉择切换至 ONES,以下为应用详情: 迁徙诉求与功效数据迁徙是一个繁琐而庞杂的工程。5年的深度应用,使得该公司在 Jira和 Confluence 上积淀了海量的历史数据。迁徙过程对迁徙速度、迁徙品质、零碎性能、兼容性、存储空间等都有着严苛的要求,不同版本的混合应用,进一步加大了迁徙的复杂度。 立足于该公司的迁徙诉求与痛点。ONES 为其制订了笼罩方案设计、零碎部署、数据迁徙和培训推广的全流程解决方案,并组建了业余的售前征询、施行部署、售后服务团队,帮忙该公司实现了 Jira&Confluence 零碎数据、插件和宏的全面切换。 ONES 数据迁徙解决方案本计划将从零碎部署、方案设计、范畴确认、过程施行、数据验证和培训推广六大重点登程,为大家介绍该公司数据迁徙的最佳实际。 ONES 部署施行全流程 迁徙前:零碎部署与方案设计数据迁徙是系统实施中的关键环节,后期部署与基于理论需要的方案设计,决定了迁徙的成败。在这一阶段,ONES 与该公司进行了深度沟通,最终布局出了最具可行性的迁徙计划。 (1)迁徙环境部署 为保障迁徙平安可控,ONES 从数据安全、数据备份、零碎测试等方面动手,制订了基于公有部署的高可用计划,以确保软硬件环境进入最佳状态,保障迁徙顺利。 数据安全:通过系统安全扫描、异样行为监控、根底平安审计等策略,为数据安全保驾护航;数据备份:确保集群发⽣灾难性损坏时,能够收到告警告诉和数据恢复,不用放心数据失落或损坏;零碎测试:组织了多轮压力测试、高可用测试,辨认高并发下的性能瓶颈,升高迁徙潜在危险。 此外,ONES 针对该公司的理论应用诉求,实现了更灵便的系统集成和系统配置: 系统集成:将 ONES 与 DDP 数据平台、企业微信、SSO 单点登录等第三方账号零碎进行对接,晋升了零碎间的集成水平;系统配置:一方面,依靠于多团队治理的能力,使团体与子公司间既能实现平台对立,也能保证数据隔离;另一方面,联合该公司的治理标准,ONES 为其配置了差异化的权限、流程、我的项目模板等,确保上手即用。 (2)需要收集与方案设计 部署实现后,便进入数据迁徙环节。ONES 具体评估了该公司 Jira 和 Confluence 的用量、环境配置等信息,并对治理侧、业务侧以及外围部门的应用习惯、迁徙需要别离进行了针对性调研。通过多轮意见收集和协商比对,ONES 就迁徙办法、预估工夫和迁徙成果进行了布局,输入了基于单方认可的迁徙计划。 ...

April 11, 2023 · 1 min · jiezi

关于程序员:技术招聘漫谈-Java工程师招聘难你可能需要这份独家指南

两周前,咱们公布了一篇对于怎么招聘前端工程师的文章(点击此处回顾)。在文章中,咱们剖析了前端岗位有哪些必不可少的考查要点,以及如何在面试中考核对方是否能写出高质量的代码,这篇文章失去了大量技术面试官的好评。 前端工程师之外,Java 后端工程师也是一个岗位需要小户,这个岗位的招聘也常让技术面试官们头疼。 它的招聘难点有 2 个:一方面,因为大多数 IT 企业的后端都是用 Java 语言写成,宏大的市场需求导致简直所有的后端工程师都多少会一些 Java,人才辨认的老本很高;另一方面,Java 工程师是一个对知识结构要求较为全面的岗位,仅仅依附在面试时挖我的项目经验,很难考查候选人的综合能力。 在这篇文章中,咱们将为技术面试官支支招,帮你在茫茫简历中,锁定合格的候选人。 怎么辨别高级/中级 Java 工程师?在开始招聘之前,面试官须要先明确岗位的招聘需要,团队是想要招聘的是高级还是中级的 Java 工程师?依据需要的不同,对候选人技能把握水平的要求也会有所区别。 高级 Java 工程师须要有扎实的 Java 编程根底、罕用的Java 开发框架及工具的利用能力和根本的软件开发能力。此外,良好的学习和解决问题的能力也是十分必要的。 中级 Java 工程师则须要把握 Java 高级编程语言个性、高级数据结构和算法、罕用开发框架的高级利用以及深刻的软件开发流程和项目管理办法。 怎么设计一套适合的技术测评试题?ShowMeBug 采访了 30 余位业内资深技术面试官,有近 80% 的面试官示意,先用技术测评题进行一轮“预面试”,再正式进行面试,能无效进步面试成功率,技术测评的关键在于如何设置一套考点全面的试卷。 在考点设置上,咱们倡议: 传统的技术测评中,通常有这几种考核题型:通过选择题,辨析一些根底概念;通过程序浏览题,要求候选人写出程序运行的后果;通过问答题,要求候选人写出代码片段;通过一些像“青蛙跳台阶”这样算法类的题目,考查候选人对根本语法和算法思维的把握。 不过,这四种题型都有肯定的局限性。前三种题型难以精确考核候选人的编写和调试代码能力,第四种题型考查的知识点,不适用于每个 Java 后端工程师的理论业务需要 ,因为不是每一个 Java 工程师都必须精通动静布局——一种为了找到最优解的算法思维,在理论工作场景中其实很少应用到。 如何判断候选人是否可能在理论的编程环境中,应用编程语言或者开发框架实现开发工作呢?ShowMeBug 提供了一个解决方案 —— 咱们反对开箱即用的云上轻协同 IDE 环境,能够间接用实战编程题型进行技术测评。 ShowMeBug SpringBoot后端框架编程题 在 ShowMeBug 的题库中,咱们设置了上百道 Java 实战编程题目,技术面试官随时能够取用。 ShowMeBug 题库局部 Java 编程题 让咱们来举例说明。对于高级工程师,如果想考查候选人是否把握了 Java 语言的根底语言个性,能够用这道题: 如果将这道题放进 ShowMeBug 的在线编程环境,候选人都将看到这样一个界面: ShowMeBug Java 岗位编程题 提交试卷后,ShowMeBug 将为这道带有测试用例的题目主动评分,候选人的答题过程将被全程记录,不便技术面试官进行后续复盘。 ...

April 11, 2023 · 1 min · jiezi

关于程序员:git管理项目关联多个远程仓库githubcoding

git治理我的项目关联多个近程仓库(github、coding)背景因为github屏蔽了百度蜘蛛,所以github上的货色,百度搜寻不到,想让本人部署在github的集体博客网站中的文章能让百度搜索引擎搜寻到,所以想把github.io上的代码迁徙到coding仓库治理,coding服务器部署在国内,所以国内拜访绝对在外网的github速度可能会快一点,而且coding还能够收费设置公有仓库等长处。让git关联多个近程仓库就能够只改一次代码别离提交到不同的近程仓库了,这样会不便很多。 git关联多个近程仓库1、首先,咱们在coding中新建一个我的项目 2、把coding仓库我的项目关联到github我的项目应用git remote add [refs] [addr命令关联近程仓库,refs指向近程仓库,默认是origin,addr指向我的项目仓库地址,比方: git clone git clone https://git.coding.net/liaolongdong/blog.git // 克隆coding仓库我的项目到本地cd blog // 进入我的项目git remote add github https://github.com/liaolongdong/liaolongdong.github.io.git // 把github仓库的我的项目关联到coding仓库我的项目3、关联胜利当前能够应用git remote -v或者vim .git/config查看该我的项目关联的git近程仓库 4、把github仓库我的项目关联到coding当前,咱们拉取github近程仓库的代码到coding仓库,应用git pull github master命令,留神这里应用的是github而不是默认的origin,origin拉取的是coding近程仓库的代码,而github拉取的是github近程仓库的代码,在执行该git命令操作当前会呈现fatal: refusing to merge unrelated histories谬误提醒,回绝合并没有关联的历史记录,解决这个问题只需在pull的时候加上--allow-unrelated-histories选项,容许合并没有关联的历史记录,能够应用git pull --options命令查看,git pull的配置选项 5、拉取胜利当前再应用git push origin master命令就能够将github近程仓库拉取的代码推送到coding近程仓库啦! 6、github仓库我的项目关联coding仓库操作也和下面操作相似,别离在对应的近程仓库我的项目本地操作以上命令即可,coding仓库我的项目中的代码是私密的所以要输出账号和明码能力拉取。 7、git提交批改到多个近程仓库,以coding仓库我的项目为例 git push origin master // 提交到coding近程仓库git push github master // 提交到github近程仓库本文由mdnice多平台公布

April 10, 2023 · 1 min · jiezi

关于程序员:腾讯云副总裁黄俊洪驭云原生之力驱动产业互联网持续发展

引言在云计算倒退的十余年间,企业对云计算的诉求产生了巨大变化。已经,企业上云更多集中在一些可见的云资源层面,然而随着上云的不断深入,很多企业发现业务数字化仅靠资源层很难实现,尤其是在以大数据甚至大规模技术为主导的智能化畛域。 现在,无论是传统企业还是互联网企业,都已从过来的“搬迁上云”转变到了“深度用云”的全新阶段。企业已不再满足于简略地将物理机转移至虚拟机,而是更心愿借助云原生的能力实现降本增效,云原生已成为了企业用云规范的新范式。 近日,在腾讯云 TVP 与 51CTO 联结主办的 LeaTech 寰球 CTO 领导力峰会中,51CTO 对腾讯云副总裁 黄俊洪进行了专访,51CTO副总裁杨文飞与腾讯云副总裁黄俊洪开展了深度对话。面对一系列无关云计算行业倒退及云原生实际的焦点问题,黄俊洪毫无保留地向 51CTO 分享了诸多本人粗浅而独到的见解。 企业云原生化革新之道访谈伊始,黄俊洪便向 51CTO 介绍了腾讯公布的云原生革新白皮书,并对腾讯在企业云原生革新方面所积攒的贵重教训进行了分享。据黄俊洪介绍:腾讯外部将企业云原生革新划分为四个次要阶段,别离为:开发云原生、计算云原生、架构云原生以及数据云原生。 开发云原生阶段次要解决“企业研发运维流程效率”问题。企业组织架构、研发运维流程是否合乎 DevOps 理念,是否可能反对对利用进行疾速迭代、测试、公布、试错和优化;是否能建设和应用软件流程中的工具平台,晋升团队合作效率,同时依据流程标准搭建自动化平台,缩小人为因素导致的低效或失误是掂量该阶段实现成果的两个关键因素。 计算云原生阶段则重点关注“容器化”、“Serverless 化”两大关键词。革新指标是升高 IaaS 层的异构和差别、资源的部署和调度的关注。 架构云原生阶段须要深刻简单的软件架构层面,尽管难度较大,但收益十分可观。在革新过程中,一些成熟的框架服务的应用,能让革新事倍功半。例如微服务平台、服务网格等,它们集成了很多运维能力,包含日志、监控、服务注册和发现、故障容灾等。除了进步研发效率外,也能晋升革新后零碎的整体运维能力。 而在数据云原生阶段,企业的云原生革新曾经进入到深水区,指标是将Kubernetes、Serverless 的技术和理念利用到“数据服务”中,让“数据服务”也具备极致的弹性伸缩能力,在资源老本上可能做到最优。 黄俊洪示意:任何企业的转型或革新都不是欲速不达的,随同着企业数字化与智能化的不断深入,将来企业对上云的外围诉求也将发生变化——不再只满足于简略地应用云上的 IaaS 能力,实体经济的转型将更须要贴近业务的 PaaS 和 SaaS 能力。 例如在政务畛域,联合更多 AI、大数据等能力能力为企业发明更大价值;而金融畛域则须要构建本身的 PaaS 平台,来疾速响应客户的业务需要和晋升平台的开发效率;工业畛域 PaaS 则能为企业提供云服务所必须的各种中间件、分层的动静扩大机制、开发和运维等撑持能力,帮忙企业疾速构建面向工业畛域的云服务。 而在腾讯方面,为了能更好地实现自主可控以及对用户的继续赋能,在过来几年中,腾讯 ToB 业务被动调整了支出构造。在加大音视频、大数据、数据库等 PaaS 畛域投入的同时,将“衰弱可继续”作为业务的增长指标,并采取了包含进步自研产品竞争力、激励产品被集成、丰盛搭档生态在内的一系列动作。心愿可能以“长期主义”心态来推动整个产业互联网的长期可继续倒退。 云原生时代的研发效力晋升在谈及无关企业研发效力晋升的问题时,黄俊洪提到:云原生可能为研发效力晋升带来新的变动。作为综合性的解决方案,云原生畛域中蕴含许多不同的技术和工具,其目标就是为了进步应用程序的可移植性、弹性和可靠性。而基于云原生的效力晋升推动则能够分为布局、架构、开发、集成部署和运维多个阶段进行。 在布局阶段,能够通过剖析现有的技术性指标来确定须要改良的方向,重点是建设与业务指标统一的清晰且定义明确的打算,能够通过我的项目协同、OKR 工具等进行施行。 应用程序架构设计阶段,须要优先思考应用程序的可伸缩性和容错性,以实现应用程序的疾速迭代和部署。此时,重点关注应用程序的整体架构设计,包含微服务的设计、容器化设计和服务网格的构建等。 利用程序开发阶段,则要着重优化开发过程和开发环境。侧重点是应用云原生技术构建高质量的微服务和容器化利用,例如能够应用 CI 工具自动化构建流程,通过缩短构建工夫和进步构建品质来进步开发效率。同时也须要关注开发过程的自动化和测试的品质管制。 集成和部署阶段,须要将应用程序和基础设施进行集成,自动化部署和管理应用程序的生命周期。在这个阶段次要关注基础设施自动化和容器编排,前者可应用自动化工具来治理和保护基础设施;后者应用容器编排工具(如 Kubernetes)来治理和协调应用程序的部署、扩大、故障复原等工作。通过全生命周期治理,将云原生应用程序疾速、牢靠地公布到开发测试与生产环境中。 在运维阶段,要重点关注应用程序的稳定性、可靠性和可维护性。重点是建设与应用云原生的可观测性,包含日志剖析、监控和链路追踪等。能够应用监控工具对应用程序进行实时监控,包含应用程序性能、资源应用状况;应用日志剖析工具对应用程序的日志进行剖析,及时发现并解决问题。 黄俊洪强调称:尽管上述不同阶段通过云原生技术能够帮助实现研发效力的量化与推动,但在具体推动阶段企业还是须要依据不同团队的理论状况进行调整,并一直总结经验,一直优化和降级云原生基础设施和应用程序,这样能力从最适宜企业、团队的门路实现研发效力晋升的指标。 对于研发效力工具和研发管理模式的变化趋势,黄俊洪则示意,随着将来企业软件以及研发团队规模的一直减少,研发效力工具和管理模式的继续演进将成为必然。 自动化工具的广泛应用将是将来最显著的一大趋势,随着自动化工具的一直倒退,研发过程中许多重复性工作和手动操作将会自动化。例如自动化测试、自动化构建和自动化部署、DevSecOps 能力以及可复用的模版等将会变得越来越遍及。 另一方面是平台工程的遍及与实际,也就是云原生背景下应具备面向服务的 DevOps 服务,除了须要通过平台级能力为开发团队提供自动化的工程平台,还须要 IaC、申明式、GitOps 等技术手段帮忙开发团队屏蔽简单的底层基础设施,从而升高研发团队对云原生底层技术的学习门槛。 而数据驱动的研发效力治理也将是将来企业将更加关注的管理模式,通过价值流工具捕捉要害节点指标,通过数据来掂量研发效力,从而进步生产力。这将须要企业在数据收集、剖析和利用方面进行投资。 最初一点,则是开源工具的逐渐遍及。明天咱们能够看到,开源工具在研发畛域中的利用曾经越来越宽泛了,将来企业中的研发团队也会更多地采纳开源工具来提高效率和降低成本。 FinOps的当初与将来在访谈开端,黄俊洪分享了本人对于现在云原生畛域大火的 FinOps 理念的一些认知与了解。黄俊洪认为:FinOps 的实质是财务管理、企业经营和老本优化的组合。之所以 FinOps 会受到如此关注,次要是因为云原生技术栈的确提供了一系列进步资源利用率的根底能力,如对资源更细粒度的管控和调配、主动伸缩能力等。 ...

April 10, 2023 · 1 min · jiezi

关于程序员:Blender机械建模插件MESHmachine偏移

举荐:将NSDT场景编辑器退出你的3D工具链https://ted.sinoccdc.cn/ 偏移偏移工具用于复制和偏移布尔运算符交点处的边循环。这样,在布尔运算的外围建设了外围循环模式的洁净拓扑。它不是通用的偏移工具。偏移能够解决辣手的几何重叠,并显著缩小因为这些重叠而导致的手动清理工作。留神理智的做法是在应用偏移工具之前运行布尔清理。抉择抉择边或顶点的循环。它应该是循环抉择,否则将创立非流形几何。布尔交点或倒角处的循环边环,顶点环也能够

April 10, 2023 · 1 min · jiezi

关于程序员:使用springcloudalibaba搭建高可用可扩展系统架构设计思考

Spring Cloud Alibaba 是一款基于 Spring Cloud 和阿里巴巴的开源中间件的一组工具,它蕴含多个组件,如 Nacos、Sentinel、RocketMQ 等,能够帮忙咱们疾速构建高可用、可扩大的分布式系统。以下是应用 Spring Cloud Alibaba 搭建高可用、可扩大零碎架构的一些思路:1、服务注册与发现应用 Nacos 作为服务注册与发现核心,它反对多种注册形式(例如被动注册、DNS 解析等),并且能够依据不同的利用场景和需要配置注册核心集群和多个命名空间,以保障服务的高可用和可扩展性。2、服务网关应用 Spring Cloud Gateway 或者 Alibaba 的 Dubbo Gateway 作为服务网关,它能够提供反向代理、负载平衡、平安认证、流量管制等性能,同时还能够与 Sentinel 集成,实现限流和熔断降级等性能。3、服务调用应用 Spring Cloud OpenFeign 或者 Dubbo 作为服务调用框架,它们都反对负载平衡、容错解决、超时管制等性能,能够让微服务之间的通信更加牢靠和高效。 4、服务配置应用 Nacos 作为配置核心,它能够实现动静配置和主动刷新,同时还反对多种配置格局(例如 properties、yaml 等),能够满足不同我的项目的配置需要。5、服务监控应用 Prometheus 和 Grafana 进行服务监控和数据可视化,通过监控零碎的要害指标,如 CPU 使用率、内存使用率、响应工夫等,能够及时发现和解决问题,进步服务的稳定性和可靠性。6、日志收集应用 ELK(Elasticsearch + Logstash + Kibana)作为日志收集和剖析零碎,它能够实时收集和剖析服务的日志数据,帮忙咱们及时发现和解决问题,同时还能够反对多种数据可视化形式。 7、音讯队列应用 RocketMQ 作为音讯队列,它能够实现异步通信、解耦服务之间的依赖关系,同时还反对多种音讯传输协定和音讯队列集群部署,能够保障音讯的牢靠传递和高可用性。综上所述,应用 Spring Cloud Alibaba 搭建高可用、可扩大的零碎架构,须要留神服务注册与发现、服务网关、服务调用、服务配置、服务监控、日志收集和音讯队列等方面的设计和实现。同时,还须要针对不同的利用场景和需要进行正当的配置和优化,以满足零碎的性能和可靠性要求。 点击查看原文

April 9, 2023 · 1 min · jiezi

关于程序员:H5实现类似微信可拖拽左右吸边浮动按钮

H5实现相似微信可拖拽左右吸边浮动按钮背景之前我的项目需要产品经理要求实现一个能够实时拖拽的按钮,刚好咱们挪动端H5用的调试工具vconsole也有相似性能,于是钻研了一下vconsole外面具体实现的源码,参考其中代码本人也实现了一个, 点击查看demo成果 而后在做另外一个需要的时候产品经理无心中看到我手机微信的那个能够拖拽并且能够主动左右吸附的浮窗按钮,说这个成果不错,就依照微信的这个成果来,于是在原来的那个根底上有实现了一个相似微信可拖拽左右吸边浮动按钮,点击查看demo成果 技术实现其实实现这个性能所应用到的技术点并不难,次要是要解决边界状况和各种细节 实现实时拖拽性能技术点: 挪动端: 监听touchstart、touchmove、touchend事件PC端: 监听mousedown、mousemove、mouseup事件以及一些dom操作的api,获取节点的地位等实现源码废话不多说,间接上源码,这里只放js代码,要看html/css/js,间接能够在demo页面,按F12查看残缺内容 const app = new Vue({ el: "#app", data: { isMove: false, // 是否在挪动 isLeft: false, // 吸附右边 mineBtnPos: { x: 0, // right y: 0, // bottom 该值必须是初始定位款式值的倍数(比方应用750px设计稿的须要设置初始值为设计稿的一半),否则首次拖拽可能会错位 startX: 0, startY: 0, endX: 0, endY: 0, }, }, created() { this.mineBtnPos = Object.assign(this.mineBtnPos, this.btnInitStyle); }, mounted() { this._bindEvent(); }, methods: { clickMineBtn() { location.href = "https://liaolongdong.com/"; }, /** * bind DOM events * @private */ _bindEvent() { let that = this; let dWidth = document.documentElement.clientWidth || document.body.clientWidth; let $mineBtn = document.querySelector(".c-draggable-likewxfloat"); let mWidth = $mineBtn.getBoundingClientRect().width; let bottomPx = parseFloat(window.getComputedStyle($mineBtn, null).bottom) || 0; that.mineBtnPos.y = bottomPx; $mineBtn.addEventListener("touchstart", function (e) { that.mineBtnPos.startX = e.touches[0].pageX; that.mineBtnPos.startY = e.touches[0].pageY; }); $mineBtn.addEventListener("touchend", function (e) { that.mineBtnPos.x = that.mineBtnPos.endX; that.mineBtnPos.y = that.mineBtnPos.endY; // 减少左右吸附成果 // that.mineBtnPos.x的值是从左边开始计算的 that.isMove = false; if (that.mineBtnPos.x < dWidth / 2) { that.mineBtnPos.x = 0; that.isLeft = false; } else { that.isLeft = true; that.mineBtnPos.x = dWidth - mWidth; } $mineBtn.style.right = that.mineBtnPos.x + "px"; that.mineBtnPos.startX = 0; that.mineBtnPos.startY = 0; }); $mineBtn.addEventListener("touchmove", function (e) { that.isMove = true; if (e.touches.length > 0) { let offsetX = e.touches[0].pageX - that.mineBtnPos.startX, offsetY = e.touches[0].pageY - that.mineBtnPos.startY; let x = that.mineBtnPos.x - offsetX, y = that.mineBtnPos.y - offsetY; // check edge if (x + $mineBtn.offsetWidth > document.documentElement.offsetWidth) { x = document.documentElement.offsetWidth - $mineBtn.offsetWidth; } if ( y + $mineBtn.offsetHeight > document.documentElement.offsetHeight ) { y = document.documentElement.offsetHeight - $mineBtn.offsetHeight; } if (x < 0) { x = 0; } if (y < 0) { y = 0; } $mineBtn.style.right = x + "px"; $mineBtn.style.bottom = y + "px"; that.mineBtnPos.endX = x; that.mineBtnPos.endY = y; e.preventDefault(); } }); }, },});demo成果地址H5实现相似微信可拖拽左右吸边浮动按钮H5实现相似于vconsole的实时拖拽性能本文由mdnice多平台公布 ...

April 9, 2023 · 2 min · jiezi

关于程序员:Google-搜索引擎将加入-AI-聊天功能|Meta-计划今年推出商用-AIGC-技术|思否周刊

40 S 新闻速递Google 搜索引擎将退出 AI 聊天性能AI 绘画神器 MidJourney 更新:图生文性能上线Meta 打算往年推出商用 AIGC 技术Bard 转用 PaLM 模型,取代现役 LaMDA 模型比尔•盖茨称无人车会像 PC 一样具备革命性Twitter 公开举荐算法源代码,马斯克获特地虐待Mozilla 诞生 25 周年Google 否定 Bard 通过窃取 ChatGPT 数据进行训练ChatGPT Plus 付费订阅服务现已复原Google Drive 撤销 500 万文件数量限度Rust Native GUI 库 Slint 1.0 公布Chrome 112 公布,反对 WASM 垃圾收集Swift 5.8 公布Kotlin 1.8.20 公布行业资讯Google 搜索引擎将退出 AI 聊天性能Alphabet 和 Google CEO 桑达·皮采(Sundar Pichai)在承受采访时示意,Google 搜索引擎将退出 AI 聊天性能。他示意,AI 技术的提高将加强 Google 答复一系列搜寻查问的能力。他批驳了聊天机器人对其搜寻业务构成威胁的说法,并指出,“如果说有影响的话,那就是机会空间比以前更大了。”长期以来,Google 始终处于开发大型语言模型计算机程序方面的领先地位。这些模型能够像人类一样解决和回复自然语言指令。然而,Google 还没有将这种技术利用于搜寻应用方面。皮采称这一点将会扭转。 AI 绘画神器 MidJourney 更新:图生文性能上线工夫去构思和批改 Prompts,能够更快更不便地取得称心的绘画后果。MidJourney 近期新增了一个/describe 性能,让用户更不便地构思和批改 Prompt。该性能容许用户上传任意图片,MidJourney 会主动剖析图片内容并生成 4 条适宜的 Prompt 和 4 个按钮。用户能够点击按钮生成更多相似的图片,或在这些 Prompt 的根底上增加本人的想法,发明更多乏味的作品。这个性能能够帮忙用户更快、更便捷地取得称心的绘画后果,而无需破费过多工夫去构思和批改 Prompt。 ...

April 9, 2023 · 2 min · jiezi

关于程序员:vscode编辑器常用插件汇总

vscode编辑器罕用插件汇总Chinese (Simplified) Language Pack for Visual Studio Code此中文(简体)语言包为 VS Code 提供本地化界面ESLint代码标准校验检测工具Beautify格式化 javascript, JSON, CSS, Sass, and HTMLBabel JavaScriptjavascript语法高亮,反对 ES201x, React JSX, Flow and GraphQLES7 React/Redux/GraphQL/React-Native snippetsreact开发语法插件GitLens查看每一行代码或者文件最近一次批改人以及批改历史记录等Git HistoryView git log, file history, compare branches or commitscssrempx转rem插件pxtorempx转rem插件Easy LESSless转css或者wxssIdentical Sublime MonokaiSublime Monokai主题界面,集体比拟喜爱这个格调Code Runner点击鼠标右键->run code, 执行对应的编程语言,比方C, C++, Java, JavaScript, PHP, Python, Perl, Perl 6, Ruby, Go等等open in browser抉择中HTML文件,右键,可抉择在浏览器中关上Vetur应用vue,必备的工具插件Path Intellisense/Path Autocomplete文件门路提醒主动补全插件koroFileHeader在vscode中用于生成文件头部正文和函数正文的插件,通过多版迭代后,插件:反对所有支流语言,功能强大,灵便不便,文档齐全,食用简略!留神该插件和vscode-fileheader插件快捷键有抵触不可共用,举荐应用该插件 vscode-fileheader文件头主动生成工具插件Npm Intellisense引入npm模块主动提醒插件webpackwebpack配置文件主动生成工具Live Server疾速启动一个本地环境Markdown Preview Enhancedhttps://shd101wyy.github.io/markdown-preview-enhanced/#/zh-cn/可把Markdown转换成HTML、PDF等markdownlintmarkdown语法检测工具插件docs-markdown编写markdown应用快捷命令插件,在首选项 -> 设置 -> 勾选"Show Toolbar",在底部显示markdown工具栏Markdown Shortcuts编写markdown应用快捷命令插件,在.md文件中,点击鼠标右键,显示快捷方式minapp微信小程序标签、属性的智能补全(同时反对原生小程序、mpvue 和 wepy 框架,并提供 snippets)插件用法总结每个插件的具体用法能够查看,对应插件的应用阐明在扩大搜素外面输出输出关键字,如"react",即可查看react相干插件,可依据须要自行装置装置完插件,须要敞开vscode,从新关上,插件才会失效本文由mdnice多平台公布 ...

April 8, 2023 · 1 min · jiezi

关于程序员:前端面试常见编程题汇总

JS 编程题阿里面试题(变量赋值)let a = { n: 1,};let b = a;a.x = a = { n: 2,};console.log(a.x); // undefinedconsole.log(b); // {n: 1, x: {n: 2}}let a = 12, b = 12;function fn() { // console.log(a, b); // Uncaught ReferenceError: Cannot access 'a' before initialization at fn console.log(b); // 12 let a = (b = 13); console.log(a, b); // 13 13}fn();console.log(a, b); // 12 13let i = 1;let fn = (i) => (n) => console.log(n + ++i);let f = fn(1);f(2); // 4fn(3)(4); // 8f(5); // 8console.log(i); // 1var n = 0;function a() { var n = 10; function b() { n++; console.log(n); } b(); return b;}var c = a();c();console.log(n);// 11 12 0参考js 间断赋值的问题 ...

April 7, 2023 · 12 min · jiezi

关于程序员:一句话理解原型和原型链

一句话了解原型和原型链原型每个对象都有__proto__属性每个函数都有prototype原型因为函数也是对象,所以函数都有这两个属性原型链每个对象的__proto__都指向它构造函数的原型(prototype)每个函数对象的__proto__都指向Function.prototype用一句话概括原型和原型链每个对象都有__proto__属性,该属性都指向它构造函数的原型(prototype),每个函数都有prototype原型,而函数也是对象,所以函数都蕴含这两个属性,且所有函数对象的__proto__都指向Function.prototype 原型链:从实例对象中查找某一属性和办法的时候,如果实例对象自身就有查找的属性和办法,则应用该实例的,如果该实例对象上没有,则会沿着原型链(实例对象的公有属性__proto__)进行查找,直到Object.prototype._prototype = null,如果还没查找到,则返回undefined 每个实例对象( object )都有一个公有属性(称之为 proto )指向它的构造函数的原型对象(prototype )。该原型对象也有一个本人的原型对象( proto ) ,层层向上直到一个对象的原型对象为 null。依据定义,null 没有原型,并作为这个原型链中的最初一个环节。参考继承与原型链-mdn 代码实例阐明如下: function Person() {};function Child() {};var person = new Person();console.log(person.prototype); // undefined// 解析:实例对象没有原型(prototype)属性Person.prototype.constructor === Person; // true// 解析:构造函数原型对象的constructor指向构造函数// child原型继承person类Child.prototype = person;// 须要从新设置Child.prototype.constructor = Child// Child.prototype.constructor = Child;Child.prototype.__proto__ === Person.prototype; // trueChild.prototype.constructor === Child; // false// 解析:此处为false的起因是因为后面那行Child.prototype = person代码重写了Child构造函数的原型,如需满足Child.prototype.constructor === Child为true,则须要从新设置Child.prototype.constructor = Childvar child = new Child();child.__proto__ === Child.prototype; // trueperson.__proto__ === Person.prototype; // truePerson.prototype.__proto__ === Object.prototype; // true// 原型链child.__proto__ === Child.prototype; // trueChild.prototype.__proto__ === Person.prototype; // truePerson.prototype.__proto__ === Object.prototype; // trueObject.prototype.__proto__ === null;// 须要特地留神Function和Object之间的关系Function.prototype.__proto__ === Object.prototype; // true// 解析:Function.prototype原型对象其实也是Object构造函数的一个实例对象(每个对象的__proto__都指向它构造函数的原型(prototype))Child.__proto__ === Function.prototype; // truePerson.__proto__ === Function.prototype; // trueObject.__proto__ === Function.prototype; // trueFunction.__proto__ === Function.prototype; // true// 解析:构造函数(函数对象)的__proto__都指向Function.prototypeFunction.__proto__ === Object.__proto__; // true// 解析:因为Object.__proto__ === Function.prototype和Function.__proto__ === Function.prototype都为true,所以Function.__proto__ === Object.__proto_也为true,阐明它们援用地址也雷同本文由mdnice多平台公布 ...

April 7, 2023 · 1 min · jiezi

关于程序员:H5页面实现摇一摇功能

H5页面实现摇一摇性能最近公司做了一个微信摇一摇领红包的流动,趁着刚上线有点空余工夫,做一下摇一摇流动总结,记录一下做摇一摇流动过程中遇到的问题,旨在为了不便本人下次做相似流动的时候查阅以及让没做过摇一摇流动的小伙伴们少踩坑吧 <!-- > 留神:因为我的集体博客域名协定是http的,所以苹果手机ios12以上没有成果 --> 点这里查看摇一摇demo成果 用手机扫描二维码查看成果: 摇一摇要实现的性能细节1. 如何实现监听手机设施摇一摇性能应用H5原生API devicemotion事件监听设施摇摆频率 具体代码如下: //静止事件监听if (window.DeviceMotionEvent) { window.addEventListener( "devicemotion", deviceMotionHandler, false );} else { alert("该浏览器不反对摇一摇性能");}留神:该事件在ios12以上非https协定下会生效,安卓手机不会,所以在ios手机上测试必须要在https协定的域名环境测试 2. 如何判断手机设施是不是在摇一摇具体代码如下: // 获取加速度信息// 通过监听上一步获取到的x, y, z 值在肯定工夫范畴内的变化率,进行设施是否有进行晃动的判断。// 而为了避免失常挪动的误判,须要给该变化率设置一个适合的临界值。let SHAKETHRESHOLD = 4000;let lastUpdate = 0;let x, y, z, lastX = 0, lastY = 0, lastZ = 0;function deviceMotionHandler(eventData) { let acceleration = eventData.accelerationIncludingGravity; let curTime = new Date().getTime(); if (curTime - lastUpdate > 50) { let diffTime = curTime - lastUpdate; lastUpdate = curTime; x = acceleration.x; y = acceleration.y; z = acceleration.z; let speed = (Math.abs(x + y + z - lastX - lastY - lastZ) / diffTime) * 10000; if (speed > SHAKETHRESHOLD) { setTimeout(() => { alert("祝贺你,摇到丑陋妹纸一枚!"); // Do something }, 1000); } } lastX = x; lastY = y; lastZ = z; }}3. 如何实现手机振动性能navigator.vibrate() 该办法能够调用手机设施的振动性能 ...

April 7, 2023 · 1 min · jiezi

关于程序员:腾讯会议10秒编译百万代码|鹅厂编译加速标杆案例公开

腾小云导读 作为一个人造跨平台的产品,腾讯会议从第一行代码开始,团队就保持同源同构的思维,即同一套架构,同一套代码,服务所有场景。过来一年,腾讯会议,迭代优化了 20000 个性能,稳固反对了数亿用户,其客户端仅下层业务逻辑代码就超 100 万行,通过优化,目前在 Windows 平台上的编译工夫最快缩短到 10秒,成为行业 C++ 跨平台我的项目的标杆。本文将具体介绍背地的优化逻辑,心愿给业界同行提供参考。 看目录,点珍藏 1 编译减速有哪些方向? 2 如何优雅的预编译 Module 产物? 2.1 构建在哪执行 2.2 如何增量公布产物 2.3 预编译产物上传到何处 2.4 如何应用预编译产物 3 公布 Module 产物 4 应用Module产物 4.1 匹配产物 4.2 CMake产物替换源码编译 4.3 主动Generate 4.4 半自动Generate 4.5  IDE显示源码 5 断点调试 5.1 Android产物替换 5.2 成也Maven,败也Maven 5.3 Android Studio显示产物源码 6 万物皆可增量 7 构建参数 8  总结 01、 编译减速有哪些方向?大家晓得,编译是将源代码通过编译器的预处理、编译、汇编等步骤,生成可能被计算机间接执行的机器码的过程,而这个过程是非常耗时的。 惯例的开发工具如 xcode、gradle 为了提高效率都会自带编译缓存的性能,行将上一次编译的后果缓存起来,对于没有批改的代码再次编译就间接应用缓存。 但此这些缓存文件个别存在于本地,更新代码后不免须要一次重编,生成新的编译缓存。在会议这样一个上百人的团队里,批改提交非常频繁,更新一次代码所须要重编的代码量往往是非常微小的。特地是一些被深度依赖的头文件被批改,往往等价于须要全量编译了。 虽说也有一些工具可能反对云端共享编译缓存,如 gradle 的 remote build cache,然而对 C++ 局部并没有 cache,而且计划也不能跨平台通用。 ...

April 7, 2023 · 8 min · jiezi

关于程序员:Python-异步-常见问题-Part123

动动发财的小手,点个赞吧! 本节答复开发人员在 Python 中应用 asyncio 时提出的常见问题。 1. 如何进行工作?咱们能够通过 asyncio.Task 对象上的 cancel() 办法勾销工作。如果工作被勾销,cancel() 办法返回 True,否则返回 False。 ...# cancel the taskwas_cancelled = task.cancel()如果工作曾经实现,则无奈勾销,cancel() 办法将返回 False,工作不会处于已勾销状态。 下次工作有机会运行时,它将引发 CancelledError 异样。如果 CancelledError 异样未在包装协程内解决,工作将被勾销。 否则,如果在包装协程内解决了 CancelledError 异样,工作将不会被勾销。cancel() 办法还能够承受一个音讯参数,该参数将在 CancelledError 的内容中应用。 咱们能够摸索如何勾销正在运行的工作。 在这个例子中,咱们定义了一个工作协程,它报告一条音讯而后阻塞片刻。 而后咱们定义用作 asyncio 程序入口点的主协程。它报告一条音讯,创立并安顿工作,而后期待片刻。 而后主协程在运行时复原和勾销工作。它再等一会儿,让工作响应勾销申请。而后主协程报告勾销工作的申请是否胜利。 工作被勾销,而后实现。主协程而后在关闭程序之前报告工作的状态是否已勾销。 # SuperFastPython.com# example of canceling a running taskimport asyncio # define a coroutine for a taskasync def task_coroutine(): # report a message print('executing the task') # block for a moment await asyncio.sleep(1) # custom coroutineasync def main(): # report a message print('main coroutine started') # create and schedule the task task = asyncio.create_task(task_coroutine()) # wait a moment await asyncio.sleep(0.1) # cancel the task was_cancelled = task.cancel() # report whether the cancel request was successful print(f'was canceled: {was_cancelled}') # wait a moment await asyncio.sleep(0.1) # check the status of the task print(f'canceled: {task.cancelled()}') # report a final message print('main coroutine done') # start the asyncio programasyncio.run(main())运行该示例会启动 asyncio 事件循环并执行 main() 协程。main() 协程报告一条音讯,而后创立并调度工作协程。而后它暂停并期待片刻以容许工作协程开始运行。工作运行,报告音讯并休眠一段时间。 ...

April 6, 2023 · 2 min · jiezi

关于程序员:Python-异步-常见错误22

动动发财的小手,点个赞吧! 本节举例说明开发人员在 Python 中应用 asyncio 时遇到的个别谬误。 1. 尝试通过调用协程来运行协程asyncio 初学者遇到的最常见谬误是像调用函数一样调用协程。 例如,咱们能够应用“async def”表达式定义协程: # custom coroutineasync def custom_coro(): print('hi there')而后初学者将尝试像函数一样调用这个协程,并冀望打印消息被报告。 ...# error attempt at calling a coroutine like a functioncustom_coro()像调用函数一样调用协程不会执行协程体。相同,它将创立一个协程对象。而后能够在 asyncio 运行时中期待该对象,例如事件循环。 咱们能够应用 asyncio.run() 函数启动事件循环来运行协程。 ...# run a coroutineasyncio.run(custom_coro())或者,咱们能够暂停以后协程并应用“await”表达式调度另一个协程。 ...# schedule a coroutineawait custom_coro()2. 不要让协程在事件循环中运行如果协程未运行,您将收到如下运行时正告: sys:1: RuntimeWarning: coroutine 'custom_coro' was never awaited如果您创立协程对象但不安顿它在 asyncio 事件循环中执行,就会产生这种状况。 例如,您可能会尝试从惯例 Python 程序中调用协程: ...# attempt to call the coroutinecustom_coro()这不会调用协程。相同,它将创立一个协程对象。 ...# create a coroutine objectcoro = custom_coro()如果您不容许此协程运行,您将收到运行时谬误。正如咱们在上一节中看到的,您能够通过启动异步事件循环并将协程对象传递给它来让协程运行。 ...# create a coroutine objectcoro = custom_coro()# run a coroutineasyncio.run(coro)或者,在复合语句的一行中: ...

April 6, 2023 · 2 min · jiezi

关于程序员:长安信托拥抱数字信托探索多项目管理新路径

长安信托:公司应用 ONES 曾经 2 年了。ONES 最大的劣势是可能无效串联我司信息科技研发过程中各个环节,从需要治理到研发工作跟踪再到测试治理,ONES 能明确地展现出业务部门从需要提出到零碎研发上线的全链路过程,体现信息科技价值。随着金融数字化的疾速倒退与浸透,信托业以「受人之托,代人理财」为外围,继续构建数字化基因,在经营治理、研发治理、经营策略等方面发展数字化降级,并将其全面利用到业务流程,无效晋升数智化程度。 信托的数字化转型为业务提供翻新能源,软件研发在其中扮演着重要的角色。这意味着,为了促成信托服务的提质增效, 研发流程的规范化、科学化治理将无效推动优质资源的调配,进而进步企业的市场竞争力。 业务挑战公司技术的更新换代以及业务范围的扩充,让长安信托很快意识到,原有的研发管理工具已无奈承载多元化业务并存的格局。要想实现多我的项目的无效治理与资源的正当调配,必须借助业余的研发管理工具标准研发流程,无效串联研发过程中各个环节,加强研发团队合作效率。 基于这样的认知,长安信托抉择了在金融行业有着成熟研发治理解决方案的 ONES。在对长安信托进行全面理解后,ONES 明确了其研发治理的痛点: ONES 研发治理解决方案针对长安信托的研发治理痛点,ONES 从以下三个方面登程,为其提供了残缺的解决方案。 01 全局视角掌控我的项目进度,进步交付效率长安信托我的项目繁多,次要分为三类:研发类、洽购类、招采类。应用 ONES 之前,长安信托的管理者不足对多我的项目的全局治理,进度掌控难度大。基于不同我的项目的特点和诉求,长安信托别离配置了差异化的我的项目流程,实现个性化、精细化的治理: 研发类我的项目:采取「麻利+瀑布」的管理模式,一方面,通过 ONES 迭代治理实时跟踪迭代停顿,疾速交付产品版本,更好地适应日益变动的市场需求;另一方面,通过瀑布治理的「我的项目打算」组件创立 WBS,将我的项目指标拆解为打算和工作,以便于管理者高效把控我的项目的范畴、进度与资源; 洽购类我的项目:从项目前期的商务跟进、我的项目施行到定制化开发,长安信托利用 ONES 自定义组件的能力,灵便治理商务工作、研发工作、交付工作等不同类型的工作; 招采类我的项目:利用 ONES Project 列好所有投标待办工作和工夫打算,设置告诉和揭示,以便成员跟进本人的工作。 为了实现多项目管理, 长安信托应用 ONES Plan 中的甘特图直观把控多我的项目进度,对立调配资源,同时对所有我的项目进行跟踪,为 PMO 提供了管理者视角;对于须要重点关注的我的项目,还能够进入具体我的项目,查看我的项目详细信息。 用 ONES 甘特图查看我的项目进度 02 建设端到端的需要全流程治理,优化团队合作因为信托业务线繁多,研发团队须要解决来自各信托机构 APP、小程序的需要。因而,难以对起源多、数量大的需要进行对立治理成为长安信托亟需解决的痛点。 长安信托通过 API 接口将 ONES 和外部 OA 零碎进行集成,业务和研发需要先在 OA 零碎进行对立审批,通过审批的需要,则主动流转到 ONES 需要池中。随后,产品经理明确需要的优先级,将优先级高的需要布局入迭代,并指派给研发人员发展研发工作。同时,团队成员在 ONES Wiki 中积淀产品需要文档,促成成员间的沟通和合作。用 ONES 治理需要用 ONES 治理需要文档 03 无效治理外包工时,正当调配团队资源 数字化过程的日益放慢,越来越多的金融机构将 IT 服务外包给业余的外包公司,以进步产出效率、晋升技术协作的灵活性。长安信托也不例外,公司的外包研发人员占比高达 80%。然而,外包成员占比大会面临诸多挑战,如成员的工作饱和度无奈度量、绩效难以评估等。 ...

April 6, 2023 · 1 min · jiezi

关于程序员:测试

Markdown Nice 这么好用,几乎是{喜大普奔|hē hē hē hē}呀! <,,> ::: block-1 容器块 1 示例读一本好书,就是在和崇高的人谈话。 ——歌德:::::: block-2 容器块 2 示例读一本好书,就是在和崇高的人谈话。 ——歌德:::::: block-3 容器块 3 示例读一本好书,就是在和崇高的人谈话。 ——歌德:::![]() ![]() ---分列 :::: column::: column-left 右边的内容 :::::: column-right 左边的内容 ::::::: 设置百分比示例如下: :::: column::: column-left 30% 右边的内容 :::::: column-right 70% 左边的内容 ::::::: --- 视频外链 <video controls="controls" src="https://gitcode.net/sugela8/img_temp/-/raw/master/mixkit-couple-having-coffee-in-a-campsite-43165-small.mp4"></video> 本文由mdnice多平台公布

April 6, 2023 · 1 min · jiezi

关于程序员:2023-好用免费图床推荐

1. 聚合图床 该收费图床由来已久,稳固运行多年!满足多种个性化须要 、能够说该图床是所有举荐当中最为灵便、扩展性最强图床! 反对水印设置、防盗链设置 、甚至还能够统计数据量大小,有普通用户和付费用户辨别,付费用户自定义性能将更加弱小 ,就集体而言,即便免费版也足能够满足需要; 惟一毛病就是普通用户图片总量只有1000张 ,超出将不能上传! 如下显示了该图床推出的套餐价格 举荐: 2. 路过图床 路过图床 imgse.com 成立于2011年,曾应用域名imgchr.com和imgtu.com提供高速稳固的图片上传和分享服务. 如下是官网简介: 咱们的劣势: 收费, 至多始终会保留收费套餐.反对外链, 有限空间, 有限流量.无需登录即可上传,最大反对10M的图片.寰球CDN减速, 晋升您的图片在寰球访问速度.全站启用SSL加密链接,保障您的信息安全.图床从2011年至今都稳固运行.除违反TOS之外, 咱们不会删除图片, 即便是多年无任何流量的图片也不会删除.应用云存储技术, 数据实时本地和异地多重备份, 保障您的数据安全数据中心美国, 加拿大, 法国, 德国, 荷兰, 新加坡, 香港, 日本 网络服务商OVHcloud, Hetzner Online, Scaleway, Alibaba Cloud, Tencent Cloud, Amazon AWS, Cloudflare 寰球网络 就目前应用而言 ,无论是速度还是稳定性都十分牢靠 ,不过网上评论说网站会 莫名删除集体图片 ,如果是集体写博客之类的十分举荐,尤其当你写完文章后批量上传至博客 ,例如csdn、等会主动转换为 csdn外链 存储至服务器一份 ,即便以后图床将你的个别图片删了也不影响应用 ,作为一个中介转换十分不错! 举荐: 3. 遇见图床该图床默认提供 10G 收费存储空间,图片最大反对 10.00 MB 最多反对同时上传 10 张 已托管 1694147 张图片. 上传的图片会存储至多个节点服务器,能够说可靠性毋庸置疑!然而上传速度个别 ,不过胜在稳固牢靠不必放心网站挂掉的危险 ,是否抉择应用集体自行评估 ...

April 6, 2023 · 1 min · jiezi

关于程序员:抖音无需API开发连接SeaTable实现自动线索汇总到表单

1. 抖音用户应用场景每当企业抖音收到动向客户发来的私信时,常须要经营人员将客户信息同步到SeaTable进行汇总,便于剖析客户画像,优化经营策略,但经营人员工作繁多,难免会漏掉局部信息,导致动向用户散失,因而,经营负责人经常在想这一套流程是否能够实现自动化?  如果要连贯两个不同零碎的数据,往往须要零碎开发,费用高,工夫周期长,并且像抖音这种比拟灵便,企业常常会调整应用流程,零碎字段,这会导致须要一直地进行调整和开发。 2. 抖音如何无代码集成第三方零碎?利用集简云零碎,企业能够轻松实现这个性能,将多个软件中的数据主动同步,并且无需开发,即使没有任何技术常识的业务人员,也能够轻松应用。 通过集简云无代码集成平台,无需开发就能够将抖音无缝集成到各种第三方利用零碎,例如:OA办公零碎,客户服务零碎,MySQL数据库,企业微信,表单零碎,CRM等数十款利用零碎,以及企业外部零碎进行数据同步与性能执行。 查看残缺的可用利用列表:集简云apps 集简云的应用流程:· 触发动作:当一个利用零碎产生了什么事件时 · 执行动作:主动在一个或者多个不同零碎中执行不同事件 【抖音+日期工夫格局变更+SeaTable】具体操作演示抖音,是由字节跳动孵化的一款音乐创意短视频社交软件。该软件于2016年9月20日上线,是一个面向全年龄的短视频社区平台。 日期工夫格局变更:帮忙解决不同利用步骤中对日期工夫格局的不同要求。比方利用A中的日期格局是“年月日”的格局,利用B中的日期格局是工夫戳或者其余工夫格局,在这种状况下,咱们能够在利用A步骤与利用B步骤之间增加一个日期工夫格局变更步骤,将工夫格局转换后再进行同步。 SeaTable是一款新型的在线协同表格和信息管理工具。它反对“文件”、“图片”、“单选项”、“合作人”、“计算公式”等丰盛的数据类型。 它帮忙你用表格的模式来不便的组织和治理各类信息,同时又和专门的软件系统一样弱小。它还能够依照你的须要进行扩大,实现数据处理的自动化和业务流程的自动化。 1. 实现目标:每当抖音有新动向用户增加时,能够主动汇总用户信息到SeaTable相应表单中,无需人工再手动一一进行复制粘贴,省时省力,且防止信息同步谬误。 2. 数据流程由两个局部组成(触发&执行) ● 触发动作:当抖音有新动向用户增加时 ● 执行动作:主动调整日期工夫格局 ● 执行动作:SeaTable主动新增数据 达成成果:每当抖音有新动向用户增加时,通过集简云,会主动汇总用户信息到SeaTable相应表单中,不便企业人员查看,无需人工再手动进行复制粘贴,省时省力,且防止信息同步谬误。3.更多流程示例: ● 抖音+CRM零碎:当有新增动向用户时,主动创立销售线索并调配销售人员跟进 ● 抖音+OA零碎:当抖音有动向客户提交信息时,发送企业微信 ● 抖音+营销零碎:当抖音有动向客户增加时,通过手机号码查问其在营销零碎中的用户信息,并增加其抖音ID到营销零碎中以便买通用户体系 ● 用户经营零碎+抖音:当用户实现指定行为后,发送抖音私信进行沟通 ● 电商零碎+抖音:当有促销流动时,通过抖音发送流动信息 集简云: 让连贯更简略集简云是一款超级软件连接器,无需开发,无需代码常识就能够轻松买通数百款软件之间的数据连贯,构建自动化与智能化的业务流程。通过自动化业务流程,每月可节俭您数百甚至数万小时的人工成本。 咱们置信:业务流程自动化与智能化是企业新的增长引擎 官网地址:「集简云官网」软件集成能够如此简略 为什么抉择集简云 ?无需开发,简略疾速地扩大现有零碎的性能通过集简云能够疾速扩大您现有零碎的性能,例如为您的表单零碎减少微信揭示,邮件揭示,短信揭示性能,为您的微信公众号减少赠送卡券同步CRM零碎性能,为您的OA办公零碎减少逻辑判断与数据存储性能等等。而这所有无需任何技术开发,简略疾速地晋升您零碎的能力。 业务流程自动化,节俭企业数万小时的人工成本 您的团队还在人工导出导入不同零碎之间的数据信息,手动的在不同的零碎中录入,批改和执行各种操作吗?通过集简云,无需任何开发既能够疾速搭建自动化的业务流程,简略快捷,人人可用,几分钟创立的自动化业务流程或者能够节俭企业数万小时的人工成本。 利用AI人工智能技术,晋升业务流程的效率与价值在自动化业务流程之外,集简云提供了AI人工智能组件,帮忙企业将那些须要人工参加的重复性工作转由AI人工智能技术主动解决,包含语义剖析,预测模型,信息主动提取等多种不同的AI模块。 集简云开放平台:让您的零碎领有与500+款软件连贯的能力集简云开放平台是集简云为开发者(软件公司,企业外部开发者,独立开发者)提供疾速与集简云平台中的利用进行连贯的能力,您能够将您的软件接口上线到集简云平台轻松实现数百款应用软件的数据互通。您也能够将集简云的集成能力嵌入到您的软件系统中,将数百款软件的集成能力变成您产品的性能与卖点,扩大额定支出,晋升客户成交率,成交金额与满意度。

April 6, 2023 · 1 min · jiezi

关于程序员:网站seo优化搜索引擎网站收录

网站seo优化、搜索引擎网站收录网站做SEO最次要的目标:让用户在搜索引擎搜寻和本人网站相干的关键字时,可能让本人网站展现在搜寻后果靠前的地位,以此来减少网站的曝光率和点击率。 网站页面标签seo网站题目、网站关键字、网站形容网站页面标签语义化,如题目h1~h6标签、段落p标签、头部header标签、底部footer标签等等网页页面层级构造清晰具体代码如下: <head> <meta name="robots" content="index,follow" /> <meta name="keywords" content="网站关键字" /> <meta name="description" content="网站形容" /> <meta name="author" content="better" /> <meta name="copyright" content="版权" /> <meta name="baidu-site-verification" content="百度搜寻网站收录生成码" /> <meta name="google-site-verification" content="谷歌搜寻网站收录生成码" /> <meta name="360-site-verification" content="360搜寻网站收录生成码" /></head>被动让各种搜索引擎网站收录去各大搜索引擎资源平台(站长平台)“增加网站”,“验证站点”,让搜索引擎被动收录搜寻资源平台 “链接提交”,“主动推送”应用sitemap(站点地图)具体代码如下: <head> <meta name="robots" content="index,follow" /> <meta name="keywords" content="网站关键字" /> <meta name="description" content="网站形容" /> <meta name="author" content="better" /> <meta name="copyright" content="版权" /> <meta name="baidu-site-verification" content="百度搜寻网站收录生成码" /> <meta name="google-site-verification" content="谷歌搜寻网站收录生成码" /> <meta name="360-site-verification" content="360搜寻网站收录生成码" /></head>1、增加站点增加站点的目标是让搜索引擎被动收录站点 这里我以百度搜寻资源平台为例,其它搜索引擎站长平台也大同小异,具体步骤如下: 第一步:输出网站,辨别http和https第二步:站点属性,最多设置3个属性第三步:验证站点,验证站点有三种形式:文件验证、HTML标签验证、CNAME验证,抉择其中一种即可,我这里抉择的是“HTML标签验证”形式 留神:验证站点,增加完meta标签当前,必须公布到线上环境,能力验证通过 2、链接提交,主动推送链接提交 1、链接提交工具是网站被动向百度搜寻推送数据的工具,本工具可缩短爬虫发现网站链接工夫,网站时效性内容倡议应用链接提交工具,实时向搜索推送数据。本工具可放慢爬虫抓取速度,无奈解决网站内容是否收录问题 2、百度搜寻资源平台为站长提供链接提交通道,您能够提交想被百度收录的链接,百度搜索引擎会依照规范解决,但不保障肯定可能收录您提交的链接。主动推送 1、主动推送是百度搜寻资源平台为进步站点新增网页发现速度推出的工具,装置主动推送JS代码的网页,在页面被拜访时,页面URL将立刻被推送给百度。 2、JS链接推送代码以网页为最小对象,服务于全平台多终端,PC站和挪动站均可应用。 3、装置代码的页面在任意平台(浏览器、微信、微博)被加载时,页面链接会被第一工夫推送给百度,从而进步站点新内容的发现速度。<script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();</script>具体步骤如图所示: ...

April 5, 2023 · 1 min · jiezi

关于程序员:也许我是真的很想拿到那个游戏机致思否面试闯关挑战

致 SegmentFault 思否面试闯关挑战赛!(https://segmentfault.com/a/1190000043508712)。流动尽管曾经完结几天了,回想起仍旧耿耿于怀。 首先呢,我认为我能进前三;然而呢,名单颁布并没有我。 为什么我能这么认为呢在那几天踊跃答复问题过程中,尽量克服本人不要水答案。但实际操作中难免会有几个凑数目标水答复。为了防止这种问题,只能去挖掘一些历史问题。 当然当初来看应该是这块的问题。 名单没有我很奇怪在流动快完结的前几天,机会每次都要看一下最近7天答复排行榜的用户,看看他们答复了多少,本人是否会掉出前3。 然而,后果却出其不意。 翻找一下排名前三的其中一个用户。 流动3月7日开始,依照每页20条计算的话,都算是的话,也20*7=140个答复。 再看下本人的。 首页排除7个(3月31日后),第8页排除3个,即20*8-(7+3)=150个答复。 用事实谈话将3月7日当前的数据,都跑了一遍。统计得出本人的答复数是:115。这跟答复问题列表对不上,必定是哪块出了问题。 难道是遗记增加小尾巴?随机点了几个都没问题。 将本人的所有答复都跑一遍,再跟那115比照找出差别。而后后果进去了 [ "https://segmentfault.com/q/1010000041877078/a-1020000043605840", "https://segmentfault.com/q/1010000041917221/a-1020000043605780", "https://segmentfault.com/q/1010000042021398/a-1020000043605614", "https://segmentfault.com/q/1010000042053862/a-1020000043605541", "https://segmentfault.com/q/1010000042062490/a-1020000043605525", "https://segmentfault.com/q/1010000042066926/a-1020000043605511", "https://segmentfault.com/q/1010000042071594/a-1020000043605455", "https://segmentfault.com/q/1010000042073134/a-1020000043605399", "https://segmentfault.com/q/1010000042075695/a-1020000043605333", "https://segmentfault.com/q/1010000042084939/a-1020000043605306", "https://segmentfault.com/q/1010000042089184/a-1020000043605272", "https://segmentfault.com/q/1010000042090039/a-1020000043605238", "https://segmentfault.com/q/1010000042090314/a-1020000043605188", "https://segmentfault.com/q/1010000042092759/a-1020000043605021", "https://segmentfault.com/q/1010000042186613/a-1020000043604877", "https://segmentfault.com/q/1010000042191347/a-1020000043602335", "https://segmentfault.com/q/1010000042198250/a-1020000043604816", "https://segmentfault.com/q/1010000042198291/a-1020000043604698", "https://segmentfault.com/q/1010000042280867/a-1020000043585103", "https://segmentfault.com/q/1010000042293685/a-1020000043585097", "https://segmentfault.com/q/1010000042334572/a-1020000043606710", "https://segmentfault.com/q/1010000042363851/a-1020000043602310", "https://segmentfault.com/q/1010000042448414/a-1020000043585090", "https://segmentfault.com/q/1010000042489463/a-1020000043585079", "https://segmentfault.com/q/1010000042529159/a-1020000043585064", "https://segmentfault.com/q/1010000042539012/a-1020000043585055", "https://segmentfault.com/q/1010000042543867/a-1020000043585043", "https://segmentfault.com/q/1010000042556294/a-1020000043585036", "https://segmentfault.com/q/1010000042556466/a-1020000043584972", "https://segmentfault.com/q/1010000042556767/a-1020000043584886", "https://segmentfault.com/q/1010000042710276/a-1020000043584865", "https://segmentfault.com/q/1010000042748792/a-1020000043584858", "https://segmentfault.com/q/1010000042754278/a-1020000043584852", "https://segmentfault.com/q/1010000042757403/a-1020000043602282", "https://segmentfault.com/q/1010000042838304/a-1020000043602271"]轻易选了几个点击去发现,都是答复的那些历史问题。 应该是在流动统计时,并没有统计这些数据。 另外还有个赔罪为了实现Level 1:易错求解工作,水了比拟多的发问。目前均已删除,向各位激情如我的答题小能手说声道歉~ 兴许当前的日子不会再像那几天那么痴迷和疯狂。 该释怀了,兴许也该做个道别了~ 2023-04-05 20:40:45 于沙河

April 5, 2023 · 1 min · jiezi

关于程序员:echarts折线图饼状图圆环图使用总结

echarts折线图、饼状图、圆环图应用总结这篇博客次要记录咱们应用罕用图表时,常常遇到的一些问题,这些问题是在echarts demo上没有写到的,具体具体的代码,请看这篇博客demo的源码,每个配置都有具体的正文。 点这里查看demo成果 绘制图表获取echarts有好几种形式: 应用npm或者yarn下载应用cdn引入间接把对应的js代码拷贝到我的项目中咱们在理论我的项目开发中能够依据我的项目须要在线定制所须要的图标性能,如图: 我这里为了不便间接应用cdn引入,代码如下: <!DOCTYPE html><html><head> <meta charset="utf-8"> <!-- 引入 ECharts 文件 --> <script src="https://cdn.bootcss.com/echarts/4.2.0-rc.2/echarts.min.js"></script></head><body> <!-- 为ECharts筹备一个具备大小(宽高)的Dom --> <div id="main" style="width: 600px;height:400px;"></div> <script type="text/javascript"> // 基于筹备好的dom,初始化echarts实例 var myChart = echarts.init(document.getElementById('main')); // 指定图表的配置项和数据 var option = { title: { text: 'ECharts 入门示例' }, tooltip: {}, legend: { data:['销量'] }, xAxis: { data: ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"] }, yAxis: {}, series: [{ name: '销量', type: 'bar', data: [5, 20, 36, 10, 10, 20] }] }; // 应用刚指定的配置项和数据显示图表。 myChart.setOption(option); </script></body></html>图表中罕用的配置参数title: 配置题目组件,蕴含主题目和副标题legend: 配置图例组件grid: 配置直角坐标系内绘图网格xAxis: 直角坐标系 grid 中的 x 轴yAxis: 直角坐标系 grid 中的 y 轴tooltip: 配置提示框组件series: 配置系列列表。每个系列通过 type 决定本人的图表类型,比方,line(折线图)、pie(饼状图)等等color: 配置调色盘色彩列表。如果系列没有设置色彩,则会顺次循环从该列表中取色彩作为系列色彩graphic: 配置原生图形元素组件,比方文本块、增加水印等每个配置具体细节详见配置项 ...

April 5, 2023 · 2 min · jiezi

关于程序员:阿里云服务器上部署node和mongodb教程

阿里云服务器上部署node和mongodb教程前言:从阿里云购买域名、ECS云服务器到实名认证、域名解析、网站备案再到部署node和mongodb数据到阿里云服务器,查了很多相干的材料,踩过有数的坑,终于实现了。作为一个没怎么接触过后端以及运维常识的前端er来说,真心不容易啊,所以特意写一篇博客记录一下本人踩过的坑,防止本人当前再踩同样的坑,同时,也能让一些想在阿里云服务器上部署本人的博客或者网站的老手少走弯路、少踩坑。 第一步,在阿里云购买域名和云服务器ECS域名购买,点链接 购买阿里云服务器ECS,点链接 新注册的阿里云的用户或者淘宝账号实名认证的学生,首次购买有优惠,笔者购买的ECS配置: CPU: 1核 内存: 1 GB 操作系统: CentOS 7.4 64位 留神:购买时会设置云服务登录明码,创立实例会有近程连贯明码,两个不是同一个明码 留神:不同操作系统的包装置治理命令不一样,比方:CentOS|Redhat linux应用的是yum、Ubuntu应用的是apt-get、Mac OS 是brew 购买完服务器当前能够进入控制台 在控制台点击云服务器ECS,再点击云服务器,能够进入云服务器实例列表界面,如图: 进入实例列表页面,点击治理可进入实例列表详情页面 在实例详情页面,能够操作治理实例,常常操作的次要有:进行、重启云服务器;配置实例平安组等 点击平安组,可进入平安组列表页面,进入该页面,点击配置规定,进行配置平安组 留神:必须给云服务器ECS实例配置平安组,否则,部署的网站不能失常拜访,比方:http协定默认端口号拜访网站的必须配置80端口号平安组,https和mongodb也一样 点击近程连贯命令行输出界面(需输出近程连贯明码) 输出6位数字近程连贯明码,进入linux命令行操作界面 输出用户名:root 明码:云服务器登录明码 登录云服务器 输出linux命令行 cd / 进入云服务器根目录,如图: Mac电脑:可关上终端命令窗口进行操作 ssh root@公网IP地址// 输出云服务器登录明码如图: 不喜爱命令行操作的同学能够下载图形化操作软件————FileZilla,来进行文件操作,如图: Windows电脑:图形化操作软件xshell或者winscp软件 命令行操作界面软件putty 留神:应用ssh root@公网IP地址 登录明码 进入的默认目录是root目录,该目录下是没有货色的,必须应用cd /回到根目录,而后输出cd ls查看根目录下所有的文件 第二步,在阿里云服务器上安装node和mongodb依据第一步的操作,咱们相熟了 阿里云服务器控制台相干的基本操作应用ssh root@0.0.0.0(0.0.0.0替换成本人云服务器ecs实例的公网IP地址) 加登录明码 登录到云服务器给实例增加平安组装置node和mongodbnode - 编译后二进制文件在/usr/local/bin/node下 mongodb - 装置在usr/local/mongodb下装置node1、先降级CentOS,在命令窗口输出 yum -y update2、降级实现当前,进入到/usr/local/src文件夹下,该文件夹通常用来寄存软件源代码 cd /usr/local/src3、下载node代码压缩包并解压,通过命令行下载node源码压缩包可能比较慢,能够下载到本地电脑当前再通过FileZillas上传到云服务器站点指导目录,再进行解压source code 下载地址 应用命令行下载 wget https://nodejs.org/dist/v10.13.0/node-v10.13.0.tar.gz4、解压node源码压缩包 tar -xzvf node-v10.13.0.tar.gz5、进入解压后的文件夹 ...

April 5, 2023 · 3 min · jiezi

关于程序员:红圈CRM如何无需API开发连接表单系统OA系统CRM系统数据库等第三方应用

1.  红圈CRM+用户应用场景:公司销售人员在红圈CRM+创立报价单后,还须要二次同步信息到钉钉上提交审批。但人工手动同步数据费时费力且易出错,尤其每张报价单常蕴含多项信息,一旦其中的某项数据呈现偏差,还需从新核查,减少不必要的工作量。因而,销售负责人经常在想这一套流程是否能够实现自动化? 如果要连贯两个不同零碎的数据,往往须要零碎开发,费用高,工夫周长,并且像红圈CRM+这种比拟灵便,企业常常会调整应用流程,零碎字段,这会导致须要一直地进行调整和开发。 2. 红圈CRM+如何无代码集成第三方零碎?利用集简云零碎,企业能够轻松实现这个性能,将多个软件中的数据主动同步,并且无需开发,即使没有任何技术常识的业务人员,也能够轻松应用 通过集简云无代码集成平台,无需开发就能够将红圈CRM+无缝集成到各种第三方利用零碎,例如:OA办公零碎,客户服务零碎,MySQL数据库,企业微信,表单零碎,CRM等数十款利用零碎,以及企业外部零碎进行数据同步与性能执行。 查看残缺的可用利用列表:集简云apps 集简云的应用流程:· 触发动作:当一个利用零碎产生了什么事件时 · 执行动作:主动在一个或者多个不同零碎中执行不同事件 【红圈CRM+钉钉自建+钉钉自建+钉钉自建】具体操作演示红圈CRM+是一款基于红圈 PaaS 平台构建的企业级创新型挪动销售治理云服务零碎,以先进的挪动互联网、云计算、大数据为根底,以客户为核心,通过系统化、精细化的客户关系治理与销售过程治理,帮忙企业实现了标准、有序,且可预测的销售治理与服务治理的业务闭环。 钉钉,阿里巴巴出品,专为寰球企业组织打造的智能挪动办公平台,含PC版,Ipad和手机版。近程视频会议,音讯已读未读,DING音讯工作治理,让沟通更高效;挪动办公考勤,签到,审批,企业邮箱,收费企业OA,企业通讯录,钉钉教育解决方案,让工作学习更简略。 1. 实现目标: 每当业务人员在红圈CRM+新增报价单后,主动同步到钉钉提交审批,不便审批人操作。无需人工再一一手动进行同步,简化工作流程,进步工作效率。 2. 数据流程由两个局部组成(触发&执行) ● 触发动作:当红圈CRM+有新增的业务数据时 ● 执行动作:钉钉自建依据手机号查问员工ID ● 执行动作:钉钉自建主动查问用户详情 ● 执行动作:钉钉自建主动发动审批实例 3. 达成成果:通过集简云,每当业务人员在红圈CRM+新增报价单后,主动同步到钉钉提交审批,不便审批人操作。无需人工再一一手动进行同步,简化工作流程,进步工作效率。 3. 更多流程示例:● 表单零碎+红圈CRM:每当表单零碎有新增数据时,会主动同步数据到红圈CRM新建业务。 ● 表单零碎+红圈CRM+OA零碎:每当表单零碎有数据更新时,红圈CRM主动获取业务对象形容并批改业务数据,而后通过OA零碎发送音讯告诉企业相干成员。 ● 客服零碎+红圈CRM:每当客服零碎有数据新增时,主动同步数据到红圈CRM中新建业务。 集简云: 让连贯更简略集简云是一款超级软件连接器,无需开发,无需代码常识就能够轻松买通数百款软件之间的数据连贯,构建自动化与智能化的业务流程。通过自动化业务流程,每月可节俭您数百甚至数万小时的人工成本。 咱们置信:业务流程自动化与智能化是企业新的增长引擎 官网地址:「集简云官网」软件集成能够如此简略 为什么抉择集简云 ?无需开发,简略疾速地扩大现有零碎的性能通过集简云能够疾速扩大您现有零碎的性能,例如为您的表单零碎减少微信揭示,邮件揭示,短信揭示性能,为您的微信公众号减少赠送卡券同步CRM零碎性能,为您的OA办公零碎减少逻辑判断与数据存储性能等等。而这所有无需任何技术开发,简略疾速地晋升您零碎的能力。 业务流程自动化,节俭企业数万小时的人工成本您的团队还在人工导出导入不同零碎之间的数据信息,手动的在不同的零碎中录入,批改和执行各种操作吗?通过集简云,无需任何开发既能够疾速搭建自动化的业务流程,简略快捷,人人可用,几分钟创立的自动化业务流程或者能够节俭企业数万小时的人工成本。利用AI人工智能技术,晋升业务流程的效率与价值在自动化业务流程之外,集简云提供了AI人工智能组件,帮忙企业将那些须要人工参加的重复性工作转由AI人工智能技术主动解决,包含语义剖析,预测模型,信息主动提取等多种不同的AI模块。集简云开放平台:让您的零碎领有与500+款软件连贯的能力集简云开放平台是集简云为开发者(软件公司,企业外部开发者,独立开发者)提供疾速与集简云平台中的利用进行连贯的能力,您能够将您的软件接口上线到集简云平台轻松实现数百款应用软件的数据互通。您也能够将集简云的集成能力嵌入到您的软件系统中,将数百款软件的集成能力变成您产品的性能与卖点,扩大额定支出,晋升客户成交率,成交金额与满意度。

April 5, 2023 · 1 min · jiezi

关于程序员:JavaScript语言精粹学习笔记

JavaScript语言精粹学习笔记语法1、正文 JS提供了两种正文形式:一种是块正文:/ 被正文的内容 / ,另一种是行正文:// 被正文的内容。应用块正文是不平安的,例如,应用正则表达式: // /* var test = /test*/;// */2、数字 var isNaN = isNaN(number); // 用isNaN办法判断是否为数字,不是数字返回true,反之,返回false3、字符串不可变 'A' === '\u0041'; // true'c' + 'a' + 't' === 'cat'; // true'cat'.toUpperCase() === 'CAT'; // true4、语句 条件判断会被当成false的值:false,null,undefined,'',0,NaN,其余所有值都为被当做true。 5、运算符 typeof运算符产生的值有:'number','string','boolean','undefined','function','object'. '+' 加号的转换规则优先思考字符串连贯,如果其中一个操作数是字符串或者转换为字符串的对象,另一个操作数将会转换为字符串,加法将进行字符串的连贯操作。如果两个操作数都不是类字符串(string-like) 的,那么都将进行算术加法运算。 1 + 2 // 31 + '2' // '12''1' + '2' // '12'1 + {} // '1[object Object]'1 + [] // '1'1 + [1] // '11'true + true // 22 + null // 22 + undefined // NaN'/' 运算符可能产生一个非整数后果,即便两个运算数都是整数。 '&&' 运算符应用技巧:当&&的第一个运算数的值为假时,取第一个运算数的值,反之,取第二个的值。 ...

April 4, 2023 · 15 min · jiezi

关于程序员:前端开发中常用的工具方法

前端开发中常常应用到的专用办法(应用的是ES6的语法)毫秒数转换成日期(格局:yyyy-mm-dd、yyyy-mm-dd hh:mm、yyyy-mm-dd hh:mm:ss)/** * @desc 毫秒数转换成日期(格局:yyyy-mm-dd、yyyy-mm-dd hh:mm、yyyy-mm-dd hh:mm:ss) * @param timeStamp 工夫戳毫秒数 * @param type 默认格局为:yyyy-mm-dd 1 对应日期格局yyyy-mm-dd hh:mm 2 对应日期格局yyyy-mm-dd hh:mm:ss * @return 格式化日期字符串 */export const formatDate = (timeStamp, type) => { let formatDateStr = ''; let date = new Date(timeStamp); let year = date.getFullYear(); let month = date.getMonth() + 1; let day = date.getDate(); let hour = date.getHours(); let minute = date.getMinutes(); let second = date.getSeconds(); month = month < 10 ? '0' + month : month; day = day < 10 ? '0' + day : day; hour = hour < 10 ? '0' + hour : hour; second = second < 10 ? '0' + second : second; if (type === 1) { formatDateStr = `${year}-${month}-${day} ${hour}:${minute}`; } else if (type === 2) { formatDateStr = `${year}-${month}-${day} ${hour}:${minute}:${second}`; } else { formatDateStr = `${year}-${month}-${day}`; } return formatDateStr;}// 测试后果console.log(formatDate(1506664038876)); // 2017-09-29console.log(formatDate(1506664038876, 1)); // 2017-09-29 13:47console.log(formatDate(1506664038876, 2)); // 2017-09-29 13:47:18过来了多长时间(几秒前、几分钟前、几小时前)/** * @desc 过来了多长时间(几秒前、几分钟前、几小时前) * @param timeStamp 过来工夫毫秒数 * @return 间隔以后工夫多久的字符串 */export const durationTime = (timeStamp) => { let durationTimeStr = ''; let duration = (+Date.now() - timeStamp) / 1000; if (duration < 60) { durationTimeStr = `${Math.round(duration)}秒前`; } else if (duration >= 60 && duration < 60 * 60) { durationTimeStr = `${Math.round(duration / 60)}分钟前`; } else if (duration >= 60 * 60 && duration < 60 * 60 * 24) { durationTimeStr = `${Math.round(duration / 60 / 60)}小时前`; } else { // 应用下面的日期格式化formatDate办法 durationTimeStr = formatDate(timeStamp, 2); } return durationTimeStr;}// 测试后果console.log(durationTime(1506664038876)); // 10分钟前倒计时(间隔当初还有00天00小时00分钟00秒)/** * @desc 倒计时(间隔当初还有00天00小时00分钟00秒) * @param remainTime 剩余时间毫秒数 * @param mountId 挂载dom节点 * @return 间隔当初还剩多长时间的字符串 */let futureDateTime = Date.parse('2018-10-25');export const countDownNow = (remainTime, mountId) => { let intDay, intHour, intMin, intSecond, timeStr; let saveRemainTime = remainTime; remainTime = remainTime - Date.now(); // 剩余时间减去以后工夫 if(remainTime > 0) { intDay = Math.floor(remainTime / (24 * 60 * 60 * 1000)); // 残余天数 remainTime = remainTime - (intDay * 24 * 60 * 60 * 1000); // 减去残余天数的毫秒数 intHour = Math.floor(remainTime / (60 * 60 * 1000)); // 残余小时数 remainTime = remainTime - (intHour * 60 * 60 * 1000); // 减去残余小时数的毫秒数 intMin = Math.floor(remainTime / (60 * 1000)); // 残余分钟数 remainTime = remainTime - (intMin * 60 * 1000); // 减去残余分钟数的毫秒数 intSecond = Math.floor(remainTime / 1000); // 残余秒数 intDay < 10 && (intDay = '0' + intDay); intHour < 10 && (intHour = '0' + intHour); intMin < 10 && (intMin = '0' + intMin); intSecond < 10 && (intSecond = '0' + intSecond); timeStr = intDay + '天' + intHour + '时' + intMin + '分' + intSecond + '秒'; // document.getElementById(mountId).innerText = timeStr; // 配合测试 console.log('剩余时间', timeStr); setTimeout(function () { countDownNow(saveRemainTime, mountId); }, 1000); } else { console.log('666', timeStr); // document.getElementById(mountId).innerText = '该工夫点已过'; }}// 测试后果countDownNow(futureDateTime, 'mountId');// 剩余时间 284天15时34分26秒// 剩余时间 284天15时34分22秒 .....手机格局校验/** * @desc 手机格局校验 * @param phoneNum 手机号码 * @return boolean 是否是合格的手机号 */export const checkPhoneNum = (phoneNum) => { let phoneReg = /^(0|86|17951)?(13[0-9]|15[012356789]|166|17[0-9]|18[0-9]|14[0-9])[0-9]{8}$/; return phoneReg.test(phoneNum);}// 测试后果console.log(checkPhoneNum(13556891025)); // true手机格式化(135 1025、135--1025)/** * @desc 手机格局校验 * @param phoneNum 须要格式化的手机号 * @param connector 格式化的连贯字符 * @return 格式化的手机号 */ export const formatPhoneNum = (phoneNum, connector) => { let arr = phoneNum.split(''); connector = connector || ' '; arr.splice(3, 0, connector); arr.splice(8, 0, connector); return arr.join('');}// 测试后果console.log(formatPhoneNum('135****1025')); // '135 **** 1025'console.log(formatPhoneNum('135****1025', '-')); // '135-****-1025'input输入框手机号码实时格式化/** * @desc input输入框手机号码实时格式化 该办法应在实时监听input输入框变动的回调函数中应用 通过这两个值的长度大小进行比拟,来辨别变动是删除还是减少 * @param prevPhoneNum为input框变动前的值 * @param phoneNum为input以后的 */ export const RTFormatPhoneNum = (prevPhoneNum, phoneNum) => { // 判断是否为删除 if (prevPhoneNum < phoneNum) { // 输出第4位数字和时后面加空格 if (phoneNum.length === 4) { phoneNum = phoneNum.split(''); phoneNum.splice(3, 0, ' '); phoneNum = phoneNum.join(''); } // 输出第8位数字和时后面加空格 if (phoneNum.length === 9) { phoneNum = phoneNum.split(''); phoneNum.splice(8, 0, ' '); phoneNum = phoneNum.join(''); } } else { // 删除第4位数时同时删除后面的空格 if (phoneNum.length === 4) { phoneNum = phoneNum.substr(0, 3); } // 删除第8位数时同时删除后面的空格 if (phoneNum.length === 9) { phoneNum = phoneNum.substr(0, 8); } }}应用正则表达式格式化手机号/** * @desc 应用正则表达式格式化手机号 * @param phone require 须要格式化的手机号 * @param connector option 格式化的连贯字符 * @return 返回格式化后的手机号码 */export const formatPhone = (phone, connector) => { let reg = /\B(?=(\d{4})+(?!\d))/g; return String(phone).replace(reg, connector || ' ');}// 测试后果console.log(formatPhone(13556891025)); // 135 5689 1025console.log(formatPhone(13556891025, '-')); // 135-5689-1025应用正则表达式格式化银行卡号或订单号/** * @desc 应用正则表达式格式化银行卡号或订单号 * @param bankNo require 须要格式化银行卡号或订单号 * @param connector option 格式化的连贯字符 * @return 返回格式化后的银行卡号或订单号 */export const formatBankNo = (bankNo, connector) => { let reg = /\B(?<=(?<!\d)(\d{4})+)/g; return String(bankNo).replace(reg, connector || ' ');}// 测试后果console.log(formatBankNo('8888888888888888')); // 8888 8888 8888 8888console.log(formatBankNo('6666666666666666666')); // 6666 6666 6666 6666 666获取url参数(应用正则表达式)/** * @desc 获取url参数(应用正则表达式) 如https://www.baidu.com/?id=123456&name=xiaoxin * @param name 要获取参数值的名称 * @return 返回参数对应的值 */export const getUrlQueryString = (name) => { let reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)'); // let r = window.location.search.substr(1).match(reg); // 仅测试用 let r = 'id=123456&name=xiaoxin'.match(reg); if (r !== null) { return decodeURI(r[2]); } else { return null; }}// 测试后果console.log(getUrlQueryString('id')); // '123456'console.log(getUrlQueryString('name')); // 'xiaoxin'获取url地址参数(将url参数转成对象返回)/** * @desc 将url参数转成对象返回 * @param name type: string (no-require) 参数的key,如:id * @param url type: string (require) url字符串, 如:https://www.baidu.com/?id=123456&name=Better&age=18 * @return 参数对象或者某个参数的值 */export function urlParamToObj(name, url) { let obj = {}; let a = document.createElement('a'); // 避免url编码,应用decodeURIComponent把编码解析进去 a.href = decodeURIComponent(url || window.location.href); // 设置默认url为以后页面地址 let search = a.search; a = null; if (search.indexOf('?') === 0) { let str = search.substr(1); let arr = str.split('&'); arr.forEach(item => { let paramArr = item.split('='); obj[paramArr[0]] = paramArr[1]; }); } return name ? obj[name] : obj;}// 测试后果:console.log(urlParamToObj('', 'https://www.baidu.com/?id=123456&name=Better&age=18')); // {id: "123456", name: "Better", age: "18"}console.log(urlParamToObj('name', 'https://www.baidu.com/?id=123456&name=Better&age=18')); // 'Better'在url前面减少参数/** * @desc 在url上减少参数 * @param url type: string (require) url字符串, 如:https://www.baidu.com/?id=123456&name=Better&age=18 * @param param type: object (require),如:{key: value} * @return 返回拼接好的url字符串 */ export function addParamToUrl (url, param) { let a = document.createElement('a'); a.href = url; let arr = []; let search = a.search; if (param) { Object.keys(param).forEach((item) => { if (param[item] !== '' && param[item] !== null && param[item] !== undefined) { arr.push(encodeURIComponent(item) + '=' + encodeURIComponent(param[item])); } }); } if (arr.length !== 0) { search += search === '' ? '?' + arr.join('&') : '&' + arr.join('&'); } let resultUrl = a.origin + a.pathname + search + a.hash; a = null; return resultUrl; } // 测试后果: addParamToUrl('https://www.baidu.com/?id=123456&name=Better&age=18', {from: 'wx'}); // "https://www.baidu.com/?id=123456&name=Better&age=18&from=wx"/** * @desc 在hash url上减少参数 * @param url type: string (require) url字符串, 如:https://c2b-test2.brightoilonline.com/bdh5/channel.html#/chelunGasList?pcode=c2b0293jm44x97an6339&fromApp=true * @param param type: object (require),如:{key: value} * @return 返回拼接好的url字符串 */export function addParamToHashUrl (url, param) { let a = document.createElement('a'); a.href = url; let arr = []; let hash = a.hash; if (param) { Object.keys(param).forEach((item) => { if (param[item] !== '' && param[item] !== null && param[item] !== undefined) { arr.push(encodeURIComponent(item) + '=' + encodeURIComponent(param[item])); } }); } if (arr.length !== 0) { hash += a.href.indexOf('?') === -1 ? '?' + arr.join('&') : '&' + arr.join('&'); } let resultUrl = a.origin + a.pathname + a.search + hash; a = null; return resultUrl; }// 测试后果:addParamToHashUrl('https://c2b-test2.brightoilonline.com/bdh5/channel.html#/chelunGasList?pcode=c2b0293jm44x97an6339&fromApp=true', {from: 'wx'}); // "https://c2b-test2.brightoilonline.com/bdh5/channel.html#/chelunGasList?pcode=c2b0293jm44x97an6339&fromApp=true&from=wx"挪动端判断微信浏览器、ios、Android留神:微信浏览器判断要放在第一位,因为ios和android手机微信浏览器代理信息中都蕴含ios或者android也能够通过device === ''来判断是否为PC端浏览器/** * @desc 判断浏览器环境,wx、ios、android * @return 浏览器环境类型 */export const whatDevice = () => { let device = ''; let ua = window.navigator.userAgent.toLowerCase(); if (/MicroMessenger/i.test(ua)) { device = 'wx'; } else if (/(iPhone|iPad|iPod|iOS)/i.test(ua)) { device = 'ios'; } else if (/(Android)/i.test(ua)) { device = 'android'; } return device;}// 测试后果: 用的是PC端谷歌浏览器测试console.log(whatDevice()); // ''// 应用微信开发者工具测试console.log(whatDevice()); // 'wx'localStorage用法封装/** * @desc 设置本地存储 * @param {string} name key * @param {string|object} value value 能够是string、obj等 * @param {number} cacheTime 缓存工夫(ms) * @return */export const setLocalStorage = (name, data, cacheTime) => { if (!name) return; const storage = { data, cacheTime, createdTime: new Date().getTime(), }; localStorage.setItem(name, JSON.stringify(storage));} /** * @desc 获取本地存储,如果未设置缓存工夫或者在缓存工夫内则返回数据,如果过期则返回undefined * @param {string} name key * @return */export const getLocalStorage = name => { if (!name) return; const storage = JSON.parse(localStorage.getItem(name)); if (!storage) return; if (storage.cacheTime && new Date().getTime() - storage.createdTime > storage.cacheTime) { clearLocalStorage(name); return; } return storage.data;} /** * @desc 革除本地存储 * @param {string} name key * @return */export const clearLocalStorage = name => { if (!name) return; localStorage.removeItem(name);}cookie的获取、增加、删除/** * @desc 增加cookie * @param name cookie名称 * @param value cookie值 * @param expiresHours cookie设置无效工夫 单位小时 */export const addCookie = (name, value, expiresHours) => { let cookieStr = ''; // 如果value为对象,进行序列化操作 if (Object.prototype.toString.call(value) === '[object Object]') { value = JSON.stringify(value); } cookieStr = name + '=' + value; if (expiresHours) { let date = new Date(); date.setTime(date.getTime() + expiresHours * 3600 * 1000); cookieStr = cookieStr + ';expires=' + date.toGMTString(); } document.cookie = cookieStr + ';path=/';}/** * @desc 获取cookie * @param name cookie名称 * @return name对应的cookie值 */export const getCookie = (name) => { let arr = document.cookie.match(new RegExp('(^| )' + name + '=([^;]*)(;|$)')); if (arr != null) { if ((/^\{.*\}$/g).test(arr[2])) { // 如果cookie的值是对象,进行反序列化 return JSON.parse(arr[2]); } return arr[2]; } return null;};/** * @desc 删除所有cookie */export const clearAllCookie = () => { let keys = document.cookie.match(/[^ =;]+(?=\=)/g); console.log('keys', keys); if (keys) { for(let i = keys.length; i--;) document.cookie = keys[i] + '=0;domain=' + window.location.hostname +';expires=' + new Date(0).toUTCString() + ';path=/'; console.log('cookie', document.cookie); } console.log('革除所有cookie胜利');}// 测试后果let userInfo = { naem: 'xiaoxin', age: 18};addCookie('userInfo', userInfo);console.log(getCookie('userInfo')); // {naem: "xiaoxin", age: 18}let userName = 'liaoxiaoxin';addCookie('userName', userName);console.log(getCookie('userName')); // 'liaoxiaoxin'生成由数字和字母组合的随机字符串export const getNonceStr = (num) => { let res = ''; let chars = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']; for (let i = 0; i < num; i++) { let index = Math.ceil(Math.random() * 35); res += chars[index]; } return res;};// 测试后果console.log(getNonceStr(28)); // 'KYN4UDPK1KXOSZ9W4UARD6RT79LE'按天然程序排序参数对象字符串,如连贯形式userName=liaoxiaoxin&age=18export const getParamsStr = (paramsObj) => { let paramsStr = ''; const keys = Object.keys(paramsObj).sort(); keys.map((key) => { paramsStr += `&${key}=${paramsObj[key]}`; }); paramsStr = paramsStr.substr(1); return paramsStr;};// 测试后果let params = { userName: 'xiaoxin', age: 18, position: 'front-end engineer'}console.log(getParamsStr(params)); // age=18&position=front-end engineer&userName=xiaoxin禁止输入框输出表情// 用苹果手机亲测如同只能避免输出局部表情export const maskEmoji = (text) => { let regRule = /\uD83C[\uDF00-\uDFFF]|\uD83D[\uDC00-\uDE4F]/g; if (regRule.test(text)) { text = text.replace(/\uD83C[\uDF00-\uDFFF]|\uD83D[\uDC00-\uDE4F]/g, ''); alert('不能输出表情'); } return text;};疾速排序传统实现形式function quickSort (arr) { //如果数组只有一个数,就间接返回 if (arr.length <= 1) { return arr; } //找到两头数的索引值,如果是浮点数,则向下取整 let index = Math.floor(arr.length / 2); //找到两头数的值 let numValue = arr.splice(index, 1); const left = []; const right = []; for (let i = 0; i < arr.length; i++) { //基准点的右边的数传到右边数组 if (arr[i] < numValue) { left.push(arr[i]); } else { //基准点的左边的数传到左边数组 right.push(arr[i]); } } //递归一直反复比拟 return quickSort(left).concat([numValue], quickSort(right));}// 测试后果console.log(quickSort([2, 1, 3, 5, 4])); // [1, 2, 3, 4, 5]疾速排序算法ES6简洁实现export const quickSort = (arr) => { //如果数组只有一个数,就间接返回 if (arr.length <= 1) { return arr; } const [prev, ...rest] = arr; return [ ...quickSort(rest.filter(value => value < prev)), prev, ...quickSort(rest.filter(value => value >= prev)) ];}// 测试后果let arr = [6, 2, 9, 4, 7, 1, 8, 3, 5, 6, 9, 3];console.log(quickSort(arr)); // [1, 2, 3, 3, 4, 5, 6, 6, 7, 8, 9, 9]数组对象排序/** * @desc 对象数组排序,例如按工夫倒序 * @param 排序字段名prop,排序形式type: 正序:positive, 倒序reverse 默认倒序 * @return 数组排序比拟函数 */export const objArrayCompareByProp = (prop, type = 'reverse') => { return (obj1, obj2) => { let val1 = obj1[prop]; let val2 = obj2[prop]; if (!isNaN(Number(val1)) && !isNaN(Number(val2))) { val1 = Number(val1); val2 = Number(val2); } if (type === 'positive') { return val1 - val2; } else { return val2 - val1; } };};// 测试后果:let objArr = [{name: 'wangxiaowu', age: 20}, {name: 'liaoxiaoxin', age: 18}, {name: 'Better', age: 19}];console.log(JSON.stringify(objArr.sort(objArrayCompareByProp('age')))); // [{"name":"wangxiaowu","age":20},{"name":"Better","age":19},{"name":"liaoxiaoxin","age":18}]console.log(JSON.stringify(objArr.sort(objArrayCompareByProp('name')))); // [{"name":"wangxiaowu","age":20},{"name":"liaoxiaoxin","age":18},{"name":"Better","age":19}]console.log(JSON.stringify(objArr.sort(objArrayCompareByProp('age', 'positive')))); // [{"name":"liaoxiaoxin","age":18},{"name":"Better","age":19},{"name":"wangxiaowu","age":20}]数组对象去重Set 对象容许你存储任何类型的惟一值,无论是原始值或者是对象援用。根本数据类型去重咱们间接应用Array.from(new Set(arr));就能够了,然而雷同对象去重,不能应用这个办法 ...

April 4, 2023 · 10 min · jiezi

关于程序员:Bidding模型训练新范式阿里妈妈生成式出价模型AIGB详解

导读: 明天以ChatGPT为代表的生成式大模型让科技行业从新兴奋起来,也为广告营销注入了新的想象力。生成式大模型简直肯定会带来用户与互联网产品交互模式的扭转,进而颠覆广告营销模式。广告技术人,你们筹备好了吗?阿里妈妈技术已提前在该方向布局,并推出了新的广告营销智能技术体系,明天将揭露出其神秘面纱的一角,窥探背地的思考和实际。 ▐ 摘要出价产品智能化成为行业趋势,极简产品背地则是弱小的主动出价的撑持,其技术一直演进走过了3个大的阶段:PID管制、RL-based Bidding、SORL(Sustainable Online RL),那么下一步代际性技术升级是什么?明天以ChatGPT为代表的生成式大模型以波澜壮阔之势到来,简直肯定会颠覆广告营销模式,一方面,新的用户交互模式会孕育新的商业机会,给主动出价的产品带来微小扭转;另一方面,新的技术理念和技术范式也会给主动出价算法带来革命性的降级。阿里妈妈技术团队提前布局,以智能营销决策大模型AIGA(AI Generated Action)为外围重塑了广告智能营销的技术体系,并衍生出以AIGB(AI Generated Bidding)为代表的各种畛域技能模型。AIGB是一种基于生成式模型结构的出价模型优化计划,与以往解决序列决策问题的强化学习视角不同,其将策略建模为条件生成模型,从而打消了以往强化学习视角下的复杂性问题。具体实现上,将出价、优化指标和束缚等具备相关性的指标视为一个联结概率分布,并以优化指标和束缚项为条件,生成相应出价策略的条件散布。训练时将历史次优投放轨迹数据作为训练样本,以最大似然预计的形式拟合轨迹数据中的散布特色;推断时基于束缚和优化指标,以合乎散布法则的形式输入出价策略。本文提出的计划可防止传统RL计划中的散布偏移和策略进化问题,又具备满足不同出价类型和不同束缚的灵活性。通过AIGB的技术钻研和线上实际,咱们愈发地感触到新的技术浪潮正在朝咱们奔来,AIGB只是这所有的开始... 一、背景1.1 出价产品智能化成为行业趋势广告平台吸引广告主继续投放的外围在于给广告主带来更大的投放价值,出价产品的智能化已成为行业趋势并加以重点建设的能力(如图1)。以阿里妈妈为代表的互联网广告平台一直地摸索流量的多元化价值,并设计更能贴近营销实质的主动出价产品,广告主只须要简略的设置就能清晰的表白出营销诉求。极简产品背地则是弱小的出价策略撑持,广告主出价策略从海量数据中开掘更好的营销模式,晋升广告主对特定价值的优化能力,赋能广告主投放。 1.2 主动出价技术的一直演进阿里妈妈技术团队多年来致力于极致的优化主动出价策略,帮忙广告主取得最好的投放成果,其主动出价策略的技术演进能够大体分为三个大的阶段,具体如下图。 第一阶段:估算耗费管制,通过管制估算的耗费速度尽可能平滑来优化成果,个别通过经典的控制算法,如PID等。在假如竞价环境中流量价值散布平均的状况下,这种办法可能达到比拟好的成果。 第二阶段:RL-based Bidding,事实环境中的竞价环境是非常复杂且动态变化的,只管制估算无奈满足更多样的出价打算的进一步优化。AlphaGo的惊艳体现,展示了强化学习的力量,而主动出价是一个十分典型的序列决策问题,在估算周期内,后面花的好不好会影响到前面的出价决策,而这正是强化学习的强项,因而第二阶段咱们用了基于强化学习的Bidding。Simulation based bidding 的一些工作[1]奠定了咱们在广告主报价畛域的领先地位。 第三阶段:SORL,它的特点是针对强化学习中离线仿真环境与在线环境不统一。咱们间接在在线环境中进行可交互的学习,这是工程设计和算法设计联结的例子。SORL[2]上线之后,很大水平上解决了强化学习强依赖于仿真平台的问题。 明天以ChatGPT为代表的生成式大模型让科技行业从新兴奋起来,也为广告营销注入了新的想象力。生成式大模型简直肯定会带来用户与互联网产品交互模式的扭转,例如,多模态交互式对话形式会取代搜索引擎的位置,以广告位拍卖为根底的互联网广告的逻辑也会产生扭转。一方面,新的用户交互模式会孕育新的商业机会,给主动出价的产品带来颠覆的扭转;另一方面,新的技术理念和技术范式也会给主动出价算法带来革命性的降级。 现在,革命性降级曾经到来! 二、相干工作2.1 主动出价建模思考到广告指标、估算和 个KPI束缚,打算的诉求能够通过(LP1)示意为对立的带束缚竞价问题。 $$\max_{xi} \sum_iv_ix_i$$ $$s.t. \sum_ic_ix_i \leq B$$ $$\frac{\sum_ic_{ij}x_i}{\sum_ip_{ij}x_i} \leq k_j , \forall j$$ $$x_i \leq 1 , \forall i$$ $$x_i \geq 0 , \forall i$$ 如果曾经晓得流量汇合的全副信息,包含可能触达的每条流量i的流量价值 $v_i$和老本 $c_{i}$等,那么能够通过解决线性规划问题(LP1)来取得最优解 $x_i$。然而,在理论利用中,咱们须要在流量汇合未知的状况下进行实时竞价。因为在线广告池的动态变化以及每天拜访用户的随机性,很难通过精确的预测来构建流量汇合。因而,惯例的线性规划解决办法并不齐全实用。所以在理论利用中,通过对上述出价公式的一些变换,结构一个最优出价公式,将原问题转化为求解最优参数的问题,从而大大降低了在线状况下求解此问题的难度。 最优的出价公式为: $$b_i ^*= w^*_0 v_i - \sum_j w^*_j(q_{i,j}(1-1_{CR_j})-k_jp_{ij})$$其中,$q_{i,j}$是常数项,$w^*$是参数,其范畴为:$w^*_0>0$。如果束缚j是CR,则 $w^*_j \in [0,1]$;如果束缚 j 是NCR,则 $w^*_j>0$。证实过程详见论文[1]。 ...

April 4, 2023 · 2 min · jiezi

关于程序员:抖音无需API开发连接维格表实现评论自动汇总到表单

1. 抖音用户应用场景自媒体时代,人人皆可当博主,做自媒体最次要的工作之一就是须要随时关注抖音视频下的评论,这样能力更好地理解粉丝心里,便于产出高质量内容,并且有机会发现商务单干。但大部分的博主身兼数职,无奈始终紧盯抖音,且多个视频蕴含多条评论,不免顾及不过去。因而,许多自媒体人经常在想这一套流程是否能够实现自动化运行?  如果要连贯两个不同零碎的数据,往往须要零碎开发,费用高,工夫周期长,并且像抖音这种比拟灵便,企业常常会调整应用流程,零碎字段,这会导致须要一直地进行调整和开发。 2. 抖音如何无代码集成第三方零碎?利用集简云零碎,企业能够轻松实现这个性能,将多个软件中的数据主动同步,并且无需开发,即使没有任何技术常识的业务人员,也能够轻松应用。 通过集简云无代码集成平台,无需开发就能够将抖音无缝集成到各种第三方利用零碎,例如:OA办公零碎,客户服务零碎,MySQL数据库,企业微信,表单零碎,CRM等数十款利用零碎,以及企业外部零碎进行数据同步与性能执行。 查看残缺的可用利用列表:集简云apps 集简云的应用流程:· 触发动作:当一个利用零碎产生了什么事件时 · 执行动作:主动在一个或者多个不同零碎中执行不同事件 【抖音+维格表】具体操作演示抖音:是由字节跳动孵化的一款音乐创意短视频社交软件。该软件于2016年9月20日上线,是一个面向全年龄的短视频社区平台。 维格表:将过来简单的IT数据库技术,做得像表格一样简略 ,能够将简单的可视化数据库、电子表格、实时网络协同、低代码开发技术四合为一,1个维格表,满足团队合作、项目管理、数据合作等1000+场景,让所有工作连贯和整合。  1、 实现目标: 每当抖音新增评论时,能够主动同步到维格表汇总,,无需人工始终紧盯抖音平台查看,省时省力。 2、数据流程由两个局部组成(触发&执行) ●  触发动作:当视频新增评论时(普通用户) ● 执行动作:维格表主动增加数据 3、达成成果:通过集简云,每当抖音新增评论时,能够主动同步到维格表汇总,,无需人工始终紧盯抖音平台查看,省时省力。 3. 更多流程示例● 抖音+CRM零碎:当有新增动向用户时,主动创立销售线索并调配销售人员跟进 ● 抖音+OA零碎:当抖音有动向客户提交信息时,发送企业微信 ● 抖音+营销零碎:当抖音有动向客户增加时,通过手机号码查问其在营销零碎中的用户信息,并增加其抖音ID到营销零碎中以便买通用户体系 ● 用户经营零碎+抖音:当用户实现指定行为后,发送抖音私信进行沟通 ● 电商零碎+抖音:当有促销流动时,通过抖音发送流动信息 集简云: 让连贯更简略集简云是一款超级软件连接器,无需开发,无需代码常识就能够轻松买通数百款软件之间的数据连贯,构建自动化与智能化的业务流程。通过自动化业务流程,每月可节俭您数百甚至数万小时的人工成本。 咱们置信:业务流程自动化与智能化是企业新的增长引擎 官网地址:「集简云官网」软件集成能够如此简略 为什么抉择集简云 ?无需开发,简略疾速地扩大现有零碎的性能 通过集简云能够疾速扩大您现有零碎的性能,例如为您的表单零碎减少微信揭示,邮件揭示,短信揭示性能,为您的微信公众号减少赠送卡券同步CRM零碎性能,为您的OA办公零碎减少逻辑判断与数据存储性能等等。而这所有无需任何技术开发,简略疾速地晋升您零碎的能力。 业务流程自动化,节俭企业数万小时的人工成本 您的团队还在人工导出导入不同零碎之间的数据信息,手动的在不同的零碎中录入,批改和执行各种操作吗?通过集简云,无需任何开发既能够疾速搭建自动化的业务流程,简略快捷,人人可用,几分钟创立的自动化业务流程或者能够节俭企业数万小时的人工成本。 利用AI人工智能技术,晋升业务流程的效率与价值 在自动化业务流程之外,集简云提供了AI人工智能组件,帮忙企业将那些须要人工参加的重复性工作转由AI人工智能技术主动解决,包含语义剖析,预测模型,信息主动提取等多种不同的AI模块。 集简云开放平台:让您的零碎领有与500+款软件连贯的能力集简云开放平台是集简云为开发者(软件公司,企业外部开发者,独立开发者)提供疾速与集简云平台中的利用进行连贯的能力,您能够将您的软件接口上线到集简云平台轻松实现数百款应用软件的数据互通。您也能够将集简云的集成能力嵌入到您的软件系统中,将数百款软件的集成能力变成您产品的性能与卖点,扩大额定支出,晋升客户成交率,成交金额与满意度。

April 4, 2023 · 1 min · jiezi

关于程序员:学IT应该怎么选培训机构如何才能避免走弯路成都雅心为你揭秘

近年来,随着中国互联网产业疾速崛起,很多敌人开始纷纷转向IT行业,个别没有专业知识背景的,只能通过培训机构来学习,而学IT怎么抉择培训机构?如何能力防止走弯路,这是很多敌人的疑难,作为IT行业的资深从业者,明天就为大家揭秘一些抉择小技巧。首先抉择培训机构肯定要理解其背景和口碑,咱们能够通过网上查找相干信息,如果这家公司的学员评估不是很高,肯定要留神避雷。因为,亲身经历者的评估不会空穴来风。其次要查看教学内容和教学方法,理解机构的教学内容和教学方法是否与本人的需要相符合,是否可能提供实践经验和我的项目实战,以及是否可能帮忙本人达到预期的学习指标。另外师资力量是一个培训机构胜利与否的关键因素。还要留神培训机构是否提供学习保障:例如学习期限、课程重修、学习反对等等。这些保障措施能够让学员在学习过程中取得更好的反对,同时也能够缩小学员的学习压力。最初须要特地留神的是,抉择培训机构不是广告打的多就靠谱,在抉择时还是要擦亮眼睛看清楚,因为,真正用心做IT培训的是不会把钱投在推广上,他们往往会把钱用于打造优质的师资团队。成都雅心作为在成都耕耘三年的培训机构,就特地重视师资品质和教学质量,咱们采纳实战化教学,每个学习阶段均装备丰盛的企业级我的项目实战训练,每年均会新增企业我的项目,帮忙学员积攒丰盛纯熟的开发教训。通过大量的贯通全课程的实在企业级我的项目实战,在我的项目的施行中全方位晋升技术能力,学习能力和解决问题的能力,如果您对IT行业感兴趣,或者想转换到IT行业,能够在https://www.yaxinzaixian.com/留言征询学习,咱们会第一工夫进行回复并安顿专人与您对接。

April 3, 2023 · 1 min · jiezi

关于程序员:springboot

创立我的项目我的项目名 抉择依赖 运行在8080端口查看 批改端口 hello world

April 3, 2023 · 1 min · jiezi

关于程序员:Pytorch-备忘清单开发速查表分享

Pytorch 备忘清单Pytorch 是一种开源机器学习框架,可减速从钻研原型设计到生产部署的过程,备忘单是由IT宝库整顿的Pytorch开发速查备忘清单为您提供了 Pytorch 根本语法和初步利用参考入门,为开发人员分享疾速参考备忘单。 开发速查表纲要入门 介绍意识 Pytorch创立一个全零矩阵数据创立张量Pytorch 的根本语法 加法操作(1)加法操作(2)加法操作(3)加法操作(4)张量操作张量形态取张量元素Torch Tensor 和 Numpy array调换Torch Tensor 转换为 Numpy arrayNumpy array转换为Torch Tensor导入 Imports 个别神经网络 APITorchscript 和 JITONNXVision分布式训练另见→Pytorch 备忘清单入口←

April 3, 2023 · 1 min · jiezi