
基础框架技术
文章平均质量分 76
云焰
集思广益,不必拘执,融百家之长为吾所用。
展开
-
nodejs版本管理实践指南
nodejs版本管理实践原创 2022-09-03 11:09:48 · 1154 阅读 · 1 评论 -
uniapp开发移动端上传指南
介绍Uniapp是 DCloud公司于2012年开始研发的能够一次代码开发,生成H5、小程序(微信、支付宝、百度、华为等)、APP等应用的技术的统称,开发工具是HBuilderX,功能非常强大,由此引申出许多技术社区与生态环境。引言Uniapp开发移动端上传,需要前端、后台接口的配合,是比较常见和通用的需求场景,包括许多细节的实现,如:前端上传页面ui,选择文件(图片或视频等),选择时上传文件大小的判断、上传状态的设定,上传后调用后台服务器上传接口上传到服务器,上...原创 2022-05-04 21:20:37 · 3932 阅读 · 3 评论 -
uniapp多端开发技术解析
介绍 Uniapp是 DCloud公司于2012年开始研发的能够一次代码开发,生成H5、小程序(微信、支付宝、百度、华为等)、APP等应用的技术的统称,开发工具是HBuilderX,功能非常强大,由此引申出许多技术社区与生态环境。参考uni-app官网https://uniapp.dcloud.io/uView 2.0 - 全面兼容nvue的uni-app生态框架 - uni-app UI框架uView UI,是uni-app生态最优秀的UI框架,全面的组件和便捷的工具会...原创 2022-05-04 15:05:10 · 5948 阅读 · 0 评论 -
JWT机制原理及实战指南
介绍JWT,JSON Web Token,开放的、行业标准(RFC 7519),用于网络应用环境间安全传递声明。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的业务逻辑所须的声明信息。特点:跨语言:支持主流语言自包含:包含必要的所有信息,如用户信息和签名等易传递:很方便通过HTTP头部传递具体来说:JWT 默认是不加密,但也是可以加密的。生成原始 Token 以后,可以用密钥再加密一次JWT 不加密的情况下,不能原创 2022-05-02 20:10:14 · 1106 阅读 · 0 评论 -
Vuex之store原理及使用指南
介绍Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。引言Vuex的store组件,主要存储应用中的状态,具体应用中如何来用呢?存储我们也可以使用缓存比如uni.setStorageSync(...) uni.getStorageSync(),来存储应用级的状态,也可以实现相应需求。单纯缓存数据可能并不能很好满足一定的业务场景,而且缓存数据是多样化的,状态的交互在应用中存在很多,不同模块间互原创 2022-05-02 18:13:38 · 6329 阅读 · 1 评论 -
Typescript入门及指南
绍TypeScript是微软开发的一个开源的编程语言,通过在JavaScript的基础上添加静态类型定义构建而成。TypeScript通过TypeScript编译器或Babel转译为JavaScript代码,可运行在任何浏览器,任何操作系统。TypeScript 是 JavaScript 的一个超集,支持 ECMAScript 6 标准(ES6 教程)。TypeScript 由微软开发的自由和开源的编程语言。TypeScript 设计目标是开发大型应用,它可以编译成纯 JavaScript,原创 2022-04-27 21:12:57 · 1392 阅读 · 0 评论 -
GoLang-Gin框架之自动路由封装
Gin框架封装了基础框架,给开发人员带来了很多方便,但是具体项目中,如果只使用Gin框架原生的来开发,还是有些单薄,如Gin的路由,写法比较冗长,如果开发项目,代码量过多,冗余重复代码比较多,看起来逻辑不够清晰,我们经过一些封装可能就比较简单清晰,我们就可以专注于业务逻辑的实现来编码了。原创 2022-04-26 00:23:29 · 5287 阅读 · 2 评论 -
web3+区块链 入门及技术指南
web3.js开发环境安装安装nodejs,参考Nodejs入门及技术指南_yan_dk的专栏npm 安装web3$ npm install web3 --save检测是否安装成功$ node>require("web3")显示如下:说明web3.js已经安装成功。安装testrpc(在本地使用内存模拟的一个以太坊环境)>npm install ethereumjs-testrpc -g安装成功后,启动testrpc 区块链节点>test原创 2021-12-02 10:49:12 · 27910 阅读 · 9 评论 -
Uniapp入门及技术指南
uni-app是一个使用Vue.js开发小程序、H5、App的统一前端框架。官网地址:https://uniapp.dcloud.io安装IDE工具环境HBuilder开发工具HBuilder,下载地址HBuilderX-高效极客技巧:HBuilderX-高效极客技巧HBuilderX是当前最快的HTML开发工具,强大的代码助手帮你快速完成开发,最全的语法库和浏览器兼容性数据让浏览器碎片化不再头痛https://www.dcloud.io/hbuilderx.html:下载后,安装...原创 2021-10-24 23:29:56 · 558 阅读 · 0 评论 -
laravel框架之模型
介绍 MVC模式中的Model模型,就是一个快速操作数据库(准确的说是对应的数据表,一个模型对应一个数据表)的方法,可以利用模型加上一些自己想要的操作对数据表进行快速操作。如查找特定的记录,增删查改都可。很多语言(Java、Go)都会提供Model的封装,Java有Hibernate,Go的Gin框架的Gorm等,这些封装的提供了接口方法来实现MVC程序逻辑。laravel框架提供的一套Model机制,很多方面值得学习,模型是laravel框架很重要的基础,Eloquent ORM组件提供...原创 2021-06-18 00:19:09 · 1338 阅读 · 3 评论 -
linux时间同步
介绍 linux作为服务器使用时,时间保持正确同步很重要,比如秒杀等场景,用到系统时间如果不精确,到了准点了,秒杀没有及时开始、结束,大家对系统就很不信任。所以部署服务器时,我们必须将系统时间调整准确,随时都要准确。参考Linux系统时间同步方法小结:https://www.cnblogs.com/williamjie/p/10768657.html方法本人以linux,centos7为例,进行如下步骤。安装ntpdate工具# yum install -...原创 2021-06-16 15:22:43 · 559 阅读 · 0 评论 -
laravel之rabbitmq组件使用
介绍 laravel入门及技术指南,参见相关文章。laravel集成使用消息中间件rabbitmq,提供服务器异步消息处理,提升服务器性能。下面谈谈如何安装及集成使用。安装代码集成.env文件...#laravel默认连接为sync,改为rabbitmq QUEUE_CONNECTION=rabbitmq#增加rabbitmq QUEUE_DRIVER=rabbitmqRABBITMQ_HOST=172.17.0.3RABBITMQ_PORT=567...原创 2021-06-15 18:17:47 · 2818 阅读 · 2 评论 -
GoLang之开发常用技巧积累
介绍 goLang开发常遇到一些问题,或者使用中的技巧,逐步积累,以便在开发中方便查找使用。参考golang自动生成setter和getterhttps://www.cnblogs.com/xdao/p/go_accessor.htmlgo语言入门及技术指南https://blog.youkuaiyun.com/yan_dk/article/details/110557155技巧汇集注:本人经常使用IDE工具为goland,下文都以此环境为例。经常查阅G...原创 2021-06-14 13:47:46 · 715 阅读 · 1 评论 -
laravel之laravel-s组件技术指南
介绍 laravel框架入门可参见(《laravel入门及技术指南》https://blog.youkuaiyun.com/yan_dk/article/details/117375890),laravel结合swoole,可以实现高性能Http服务,提升应用性能。hhxsv5/laravel-s是第三方的组件包,我们可以安装使用。参考Laravel6使用hhxsv5/laravel-s实现高性能Http服务https://blog.youkuaiyun.com/php12345679/ar...原创 2021-06-13 09:44:58 · 1072 阅读 · 0 评论 -
GoLang之统一框架
GoLang语言开发,有beego、gin等框架,gin框架使用较多,笔者也较为熟悉。gin框架提供的是基础框架,对于如何封装框架gin框架没有做固定的要求,我们在go程序开发中对它进行的封装也有很多不同的方法,笔者看到的很多golang的gin框架封装代码的可以说千差万别、各自为阵,有些封装的也冗余太多,不够精简和统一,其实让我们更加清晰的看懂和进行加入团队进行开发的框架结构,决定了我们的开发效率,如果很多差异太多的框架封装,往往会占用我们很多学习成本。原创 2021-06-10 17:13:51 · 1157 阅读 · 2 评论 -
docker之apt-get update解决方法
问题 使用docker生成容器后,进入容器后,提供的指令很少,使用apt-get组件进行扩展,但是会遇到apt-get update有时会失败的问题。参考创建好docker后不能apt-get update解决方法https://blog.youkuaiyun.com/TJH_I_CAN/article/details/80812022?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-1&spm=1001....原创 2021-06-08 00:55:16 · 7126 阅读 · 0 评论 -
docker搭建ngnix+php
介绍 我们应用中往往会需要不同的应用服务器环境,如果服务器中已经有应用程序在运行了,如果用原有的环境可能不能满足需求,如果覆盖安装新环境,会影响服务器原有程序正常运行。比如我要新建一个php7.3的应用,而现在环境是7.1。比较好的方式是使用docker重新搭建,我们常见nginx,nginx本身不能解析php,需要再安装新的php,做好fastcgi的对应php解析,才能正常运行php程序。下面我们用docker来搭建一下这个环境。参考https://blog.csdn....原创 2021-06-08 00:51:46 · 458 阅读 · 2 评论 -
GoLang之网络并发编程
介绍并发:在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行。网络程序性能比较差、网络流量高时容易发生并发问题。并发涉及进程、线程的执行,以及CPU对进程、线程的调度等问题,如果没有控制好并发的应对处理,可能造成程序执行错误(如超卖、支付数据错误等严重问题),也会造成网站系统瘫痪等问题。因此并发问题需要对程序的优化、系统调优处理。Go语言自身性能优良、以及提供协程、消息队列等特性,可以有效应对并发问原创 2021-06-06 20:47:02 · 208 阅读 · 0 评论 -
GoLang之网络基本编程
介绍网络通信:就是两个程序(我们称为客户端、服务端)通信方式。网络通信协议:就是通信约定的规范协议(tcp/udp/websocket/http)。Tcp: 传输控制协议(TCP,Transmission Control Protocol),是一种面向连接(连接导向)的、可靠的、基于字节流的传输层(Transport layer)通信协议,因为是面向连接的协议,数据像水流一样传输,会存在黏包问题。场景:短信、聊天Udp:用户数据报协议(UDP,User Datagram Protocol原创 2021-06-06 11:17:06 · 257 阅读 · 0 评论 -
kafka入门及技术指南
介绍 Kafka是最初由Linkedin公司开发,是一个分布式、分区的、多副本的、多订阅者,基于zookeeper协调的分布式日志系统(也可以当做MQ系统),常见可以用于web/nginx日志、访问日志,消息服务等等,Linkedin于2010年贡献给了Apache基金会并成为顶级开源项目。主要应用场景是:日志收集系统和消息系统。1. kafka具备吞吐量大无限扩容的特点,相比起同类,它更适合需要无限扩容, 吞吐量要大(并发量很大) 的场景,比如日志大数据等。 2. 本来...原创 2021-06-05 18:52:32 · 510 阅读 · 1 评论 -
GoLang之RPC学习及技术指南
介绍RPC 原理示例1(简单通信)RPC是指远程过程调用,也就是说两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法,由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语义和传达调用的数据。RPC原理及调用步骤 了解完了RPC技术的组成结构我们来看一下具体是如何实现客户端到服务端的调用的。实际上,如果我们想要在网络中的任意两台计算机上实现远程调用过程,要 解决很多问题,比如: 两台物理机器在网络中要建立稳定可靠的通信连接。 两台服务器的通信协议的定义问题,即两台原创 2021-06-04 00:46:54 · 454 阅读 · 0 评论 -
laravel入门及技术指南
介绍参考https://learnku.com/docs/laravel/5.7/installation/2242原创 2021-05-29 11:39:58 · 1489 阅读 · 1 评论 -
openresty入门及技术指南
介绍 OpenResty是一个基于Nginx与Lua的高性能web平台,由中国人章亦春发起,其内部集成了大量精良的Lua库、第三方模块以及大多数的依赖项。用于方便搭建能处理超高并发、扩展性极高的动态Web应用、web服 务和动态网关OpenResty简单理解成就相当于封装了NGINX,并且集成了LUA脚本,开发人员只需要简单的使用其提供了模块就可以实现相关的逻辑,而不像之前,还需要在NGINX中编写lua的脚本。 安装部署我们在linux环境使用docker...原创 2021-05-25 18:22:39 · 399 阅读 · 0 评论 -
Elasticsearch入门及技术指南
简介 Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。Elasticsearch 是一个分布式、高扩展、高实时的搜索与数据分析引擎。它能很方便的使大量数据具有搜索、 分析和探索的能力。充分利用Elasticsearch的水平伸缩性,能使数据在生产环境变得更有价值。Elasticsearch 的实现原理主要分为以下几个步骤,首先用户将数据提交到Elasticsearch 数据库中,再通过分词控制器去将 对应的语句分词,将其权重和...原创 2021-05-24 12:30:34 · 474 阅读 · 0 评论 -
rabbitmq入门及指南
参考https://registry.hub.docker.com/_/rabbitmq/https://blog.youkuaiyun.com/qq_34701838/article/details/107231204 最新安装rabbitmq都要求使用docker安装(大概现在趋势很多linux组件都会使用docker安装),以前的安装文档可能不适用了,有些都不提供链接地址下载安装了。所以我们要先安装docker,参考可以链接https://blog.youkuaiyun.com/yan_dk/art...原创 2021-05-20 19:56:17 · 172 阅读 · 0 评论 -
thinkphp的常用页面标签小结
thinkphp的页面,以前很多用php语法输出,如<?php echo 'hello';?>,这样在页面中看起来很混乱,最好使用thinkphp提供的标签,或者可以二者混合使用,这样页面更加简洁清晰易读。下面总结一下比较常用的页面标签。volist标签一般用于循环迭代集合类变量的输出,范例如下:<volist name="news_List" id="v" empty="暂时没有数据"> <li><a href="/news/{$v....原创 2020-11-15 09:35:09 · 509 阅读 · 0 评论 -
谈谈悲观锁和乐观锁
我们在软件开发中比较常见的概念,数据库的悲观锁、乐观锁。 为什么会有这两种锁,主要解决什么问题? 通常是解决并发读写的问题,用生活中例子就是,上厕所需要上锁,一次只能进1个人,加上锁等方便完后再轮到下一个人得到锁去方便。用在数据库方面的锁,只不过是换了一种技术概念,叫做并发读写的锁。悲观锁,顾名思义,是比较悲观的锁,在写入时认为别人也会同时改写数据,所以会上这种锁,防止别人改写,这种加锁限制比较严格些,导致吞吐量下降,适用于多写少读的场景。乐观锁,顾名思义,是比较乐观的锁,允许多人同...原创 2020-11-05 17:47:31 · 233 阅读 · 0 评论 -
php数组array的函数方法的灵活使用技巧总结
array_pusharray_slicearray_chunk原创 2020-11-02 17:38:26 · 206 阅读 · 0 评论 -
Json数据的解析处理技巧小结
关于Json数据结构的概念和内容这里不必过多讲解(网上资料很多),在我们很多项目中都使用Json来传递数据,以及作为Api 接口输入输出的参数,因为Json数据结构相对确实比较统一、清晰、简化,有助于减少和优化开发的处理代码,很多不同系统可能是用不同语言、不同框架写的,如果没有一个统一的数据结构,那么代码可能会千变万化,无法把握。如果有了Json统一的结构,那么我们去做统一的解析处理,统一的接口、实现方法允许不同。这样也便于对系统的整合和重构。那么我们来看看使用Json解析处理有哪些技巧吧...原创 2020-10-29 20:15:04 · 500 阅读 · 1 评论 -
切换系统php版本的环境
linux系统中部署的php软件或网站,往往使用不同的php版本,那么当前的php版本是多少,可能在线运行着一些定时任务,如果版本不对,有些php程序运行可能会出现错误,所以当前的php版本切换到相应的版本是比较关键的。我们看一下如何切换。1.查看当前的php版本环境#php -v2.切换当前php版本#ln -sf /www/server/php/71/bin/php /usr/bin/php#php -v发现当前php版本已经正常切换。...原创 2020-10-16 08:26:36 · 378 阅读 · 0 评论 -
Redis入门及技术指南之2
参考文档Redis入门及技术指南之1:https://blog.youkuaiyun.com/yan_dk/article/details/89470966上述《Redis入门及技术指南之1》介绍了redis的环境安装。回顾redis基本指令#redis-cli -h [localhost]-p [6379] //连接redis>auth [password] //认证>flushall //清除全部缓存,谨慎操作>keys * //列出全部...原创 2020-10-06 18:48:44 · 171 阅读 · 0 评论 -
lavarel入门及技术指南
参考文档https://www.cnblogs.com/fogwang/p/10318692.htmllavarel安装1.环境配置本地一般是使用windows开发环境,建议安装集成环境phpstudy8.x,集成了php+composer,所以安装环境比较简便些。安装phpstudy8.x不必赘述,默认安装好的是php7.3.4,composer1.8.5作为其中的插件也进行安装安装目录截图如下:下面我们配置php、composer的windows环境变量, 使系统路径原创 2020-09-05 07:27:20 · 441 阅读 · 0 评论 -
Beanstalkd消息中间件入门及技术指南
初识Beanstalkd Beanstalk,一个高性能、轻量级的分布式内存队列系统,最初设计的目的是想通过后台异步执行耗时的任务来降低高容量Web应用系统的页面访问延迟,支持过有9.5 million用户的FacebookCauses应用。参考:https://www.cnblogs.com/jkko123/p/8177731.html安装# yum in...原创 2020-02-05 11:37:04 · 741 阅读 · 0 评论 -
Git入门及技术指南
初识Git Git是一个分布式的版本控制系统,作为开源代码库以及版本控制系统,Github目前拥有很多开发者用户。随着越来越多的应用程序转移到了云上,Github已经成为了管理软件开发以及发现已有代码的首选方法。 GitHub可以托管各种git库,并提供一个web界面,但与其它像 SourceForge或Google Code这 样的服务不同,GitHub的独特卖......原创 2021-11-27 22:32:34 · 6615 阅读 · 0 评论 -
Webpack入门及技术指南
初识Webpack webpack是一个基于node.js编写的资源整合打包器(官方原称:MODULE BUNDLER),通过指定入口文件,他能将该入口文件中引用的所有前端资源都合并打包,并最终输出到你指定的输出目录。参考资料我为什么要使用Webpack?https://www.jianshu.com/p/9f2d0b64f3b8什么是Webpack?怎么使用...原创 2020-01-31 23:55:12 · 249 阅读 · 0 评论 -
Flask入门及进阶指南-第一篇 Flask基础篇--Python Web开发概述
本书第一篇Flask基础篇,主要介绍学习Flask开发的基础知识,第1章从Python语言做Web开发讲起,介绍了Python的几种当前主流的Web框架,以及框架选型的原则建议,第2章进一步讲解开始Flask开发环境的搭建,Flask的开发Python的基础知识,后续第3章以后讲解Flask开发实践运用的相关知识,包括视图和路由,Flask模板、Flask表单、Flask数据库、F...原创 2020-01-26 10:46:42 · 838 阅读 · 0 评论 -
SaaS模式应用软件经验介绍
SaaS全称Software-as-a-Service,软件即服务,它是一种软件运营服务的模式。传统软件应用模式是把软件当作一种商品直接卖给用户,而且用户还需要花费大量的硬件、软件、人员维护;SaaS是一种创新的软件应用模式,可以发布在互联网上,用户只需要支付一定的租赁费用就可以享受到硬件、软件和维护服务,享有软件使用权和不断升级,是网络应用最具效益的营运模式。下面以我公司的SaaS模式的开发为例原创 2012-11-28 23:57:54 · 669 阅读 · 0 评论 -
Memcached使用经验介绍
Memcached是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。最初为了加速 LiveJournal 访问速度而开发的,后来被很多大型的网站采用。起初作者编写它可能是为了提高动态网页应用,为了减轻数据库检索的压力,来做的这个缓存系统。它的缓存是一种分布式的,也就是可以允许不同主机上的多个原创 2012-09-11 17:00:32 · 1977 阅读 · 0 评论 -
Ant构建工具的使用经验介绍
Ant已成为Java开源项目构建的事实标准。网上有许多技术资料。下面谈一下我的使用经验。 Ant是一个非常有用的工具,举几个实例介绍一下。例1:比如一个软件项目开发目录中,其中有些是临时文件、中间文件、编译文件等,想过滤掉不需要的文件,打包成一个自己需要格式的软件包,如果频繁的拷贝、粘贴来打包,一次这样的操作还可以,如果项目开发代码一直在更新,用这种方式想频繁的打包,效率很原创 2012-07-02 15:25:14 · 3766 阅读 · 0 评论 -
linux基础命令指南
编程shell命令for循环for i in `seq 1 1000000`;doecho $idonefor((i=1;i<10000000;i++));doecho $idonewhile循环i=1while(($i<10000000));doecho $ii=`expr $i + 1`done常用命令关机 #shutd...原创 2012-06-26 09:44:50 · 637 阅读 · 0 评论