自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(64)
  • 资源 (3)
  • 收藏
  • 关注

原创 Vue应用多语言支持工程化最佳实践

VoerkaI18n一款非常优开源多语言解决方案,本节主要介绍如何在Vue 3应用中使用VoerkaI18n

2024-01-09 20:01:37 1551 1

原创 这可能是最好的NextJs国际化方案,没有之一

最近VoerkaI18n新出了3.0版本,功能更加强大易用,针对NextJs提供了全方面的适配,这可能是最好的NextJs国际化方案,没有之一。VoerkaI18nNextjs在Nextjs,提供访问当前语言切换语言自动更新等功能。

2025-03-24 09:07:10 380

原创 被antdesign的恐怖的scripts吓到了

近日无意中打开antdesign的,然后就看到一砣恐怖的面对如此复杂的scripts,有没有被吓到。相信我,在团队开发中,不要说团队成员,就算是开发者本身一段时间后也不一定能一眼就看到每一条脚本的作用了。但是众所周知,是不支持注释了。这里给大家推荐一个VSCODE插件,可以用来给任意JSON文件添加注释.

2024-11-29 16:40:53 558

原创 一款解析处理函数重载参数的神器:flexArgs

当函数具备多个函数签名时,flexArgs可以方便地解析输入参数,使函数接受多种传参方式。

2024-11-29 14:20:51 367

原创 深挖`React`里程碑之作`AutoStore`与`helux`的渊源

自2023/11开始,经过超的开发,以近日正式发布里程碑之作AutoStore是一款设计精巧而优雅的现代化响应式状态管理库,提供了强大的状态管理能力,支持响应式计算属性异步计算表单双向绑定信号组件等功能,为您提供一站式全自动的状态管理。是腾讯TNTWeb前端团队开源的一款集atomsignal依赖追踪为一体,支持细粒度响应式更新的状态引擎。AutoStore。

2024-11-23 15:49:39 929 1

原创 推荐一种编辑任意复杂JOSN数据的简单易方法

是一款非常优秀的前端React状态库,可以轻松实现任意复杂JSON数据对象与表单控件之间的双向绑定。好了,现在在表单与JSON对象之间的双向绑定关系,数据会同步到JSON中。实际JSON可能会更复杂,推荐一种很简单的方式,使用。

2024-11-21 11:12:06 250

原创 历经一年500+commits,React迎来状态管理的里程碑之作

历经一年500+commits,React迎来状态管理的里程碑之作历经一年,我们很高兴宣布React迎来状态管理的里程碑之作AutoStoreAutoStore是一款设计精巧而优雅的现代化响应式状态管理库,提供了强大的状态管理能力,支持响应式计算属性异步计算表单双向绑定信号组件等功能,为您提供一站式状态管理。

2024-11-20 09:20:46 441

原创 AI程序员L0-L5级别定义正式发布

最近百度秒嗒上了热搜,一时间AI要代替和消灭程序员的声音又起。曾几何时,这两年此类言论,就像狼来一样,时不时来一波,但到现在好象狼还没有来。

2024-11-14 13:34:43 1149

原创 最佳实践:如何实现函数参数之间的TS类型相依赖和自动推断

本文以一个实际的例子,介绍了在Typescript里面如何实现函数参数之间的类型依赖和自动推断,通过此文可以掌握相关的自动推断实践

2024-11-07 16:24:22 1129

原创 深入解析:React中的信号组件与细粒度更新

介绍了前端大火的signal原理,引入AutoStore为React提供了信号组件,帮助实现细粒度更新

2024-10-15 14:00:48 1015

原创 推荐Nodejs下高效存储树到数据库工具库-FlexTree

介绍一款Nodejs下高效存储树到数据库工具库-FlexTree

2024-07-31 16:40:37 989

原创 几种数据库中保存树的常见存储结构

介绍几种数据库中保存树的常见存储结构

2024-07-27 14:54:45 1193

原创 如何为Typescript/Javsscript的类提供优雅的混入(Mixins)功能

介绍如何使用ts-mixer为typescript/javascript的类提供优雅的混入功能

2024-07-24 11:17:31 375 1

原创 为什么GraphQL没有成为主流

服务器解析请求,执行相应的操作,并返回一个响应,响应中包含请求的数据和可能的错误信息。在RESTful API中,我们可以通过URL路径来管理不同版本的API,而在GraphQL中,由于只有一个端点,版本管理变得更加困难。例如,一个恶意的客户端可能会发送一个非常深度的查询,导致服务器资源耗尽。,然而实际使用后,发现还是存在不少问题的,这可能也是其在国内没有成为主流的原因吧。的开发者来说,他们需要理解一种全新的查询语言和一种不同的思考方式。已经形成了庞大的生态,每个问题均有相应的解决方案,但是总体而言,

2024-07-24 10:55:58 506

原创 编写Markdown时如何爽爽地渲染树?

在使用等静态网站生成时,一般均支持直接在Markdown中渲染显示Vue/React组件,这给个网站非常丰富极致的表现力,我们在创建静态网站时开心的使用各种Vue/ReactJSON因此,隆重推荐LiteTree这个适用于React/Vue的树组件,专用MarkDownLiteYAML。

2024-04-09 11:33:29 1148

原创 一个解析非标JSON数据的思路 - [Flex-Tools]

中也可能会使用一些第三方的库。内部可能包含一系列的符号或转义符等不利于进行后续的正则匹配。使用以下正则表达式匹配行未添加正则表达式。将一些全角字符转换为半角字符,同时使用。解析上述字符串,则会出错。如果追求解析性能,在。包裹字符串,然后使用。

2024-03-29 14:30:13 694

原创 这个Vue树组件非常适合在vitepress中使用

一款非常适合在vitepress中使用的树组件,具有简单小巧,容错性高等特点

2024-03-19 14:46:31 1084

原创 自动捆绑Vue组件CSS样式-CSS-IN-JS

`vite-plugin-vue-style-bundler`可以实现, 自动提取`Vue`组件中的`css`样式一起打包到`js`源代码中,然后在运行时将`style`自动插入到`head`的`vite`插件。

2024-03-18 20:45:40 700

原创 基于有限状态机开发健壮的Nodejs/TCP客户端

`FlexState`是一款简单易用的有限状态机,本文介绍如何基于有限状态机来开发一款键壮的TCP客户端

2024-03-14 15:25:08 1010

原创 轻松玩转Vite/Rollup/webpack/esbuild/Rspack/babel插件开发(二)

介绍如何使用unplugin开发一个简单的define插件

2024-03-11 17:26:10 502

原创 轻松玩转Vite/Rollup/webpack/esbuild/Rspack/babel插件开发(一)

`Unplugin`提供了一个非常简单的API,适配`Vite/Rollup/webpack/esbuild/Rspack/`,只需要开发一个`unplugin`就可以输出`Vite/Rollup/webpack/esbuild/Rspack/`插件。

2024-03-11 10:55:05 1010

原创 Vue2/3如何强制重新渲染整个页面

VoerkaI18n是一个非常优秀的前端多语言解决方案库,提供初始化、提取文本、自动翻译、编译、自动补丁等工具链支持。本文介绍了在开发@voerkai18n/vue时如何制刷新页面的经验和技巧

2024-03-05 10:32:32 2952

原创 前端link调试神器:从yalc到yald

`yalc`是前端link调试的好工具,但好久没更新了,不支持publishConfig,所以就fork了yald,支持publishConfig

2024-03-02 16:55:13 594

原创 我的一大波开源项目推荐

我的一大波开源项目推荐:

2024-03-02 15:14:44 347

原创 新鲜出炉:小巧优雅的 css-in-js库flexstyled

一个非常小巧优雅的css-in-js库,用于创建React组件

2024-02-20 15:42:49 1054

原创 monorepo工程开发交互nodejs命令行程序

为monorepo应用开发命令行程序提供了一套解决方案,提供了更加友好的命令行开发体验。

2024-01-10 21:40:02 541

原创 开发超爽的nodejs命令行程序

开发nodejs命令行程序以一般会到什么库?commander有了以下三板斧,基本上就可以写出一个很好命令行程序了吗?如果想要更爽些,则推荐使用MixedCli。是一个命令行应用开发框架,其主要是对commander/prompts/logsets的封装,提供了更加友好的命令行开发体验。

2024-01-10 21:37:53 986

原创 开发React应用的多语言支持最佳实践

[VoerkaI18n](https://zhangfisher.github.io/voerka-i18n/#/)是一款非常优秀的**全新的开源国际化多语言解决方案,本文介绍如何在React使用多语言

2024-01-09 19:58:26 1547

原创 前端国际化之痛点(三):上线后修改翻译内容

VoerkaI18n是一款非常优秀的前端国际化解决方案,其开发的出发点是为了解决现存多语言的一些痛点,接下来几篇文章将分别进行分析。

2024-01-09 18:03:24 1176

原创 前端国际化之痛点(二):多包多库场景下联动多语言

介绍前端国际化方案

2024-01-09 18:02:04 692

原创 前端国际化之痛点(一):让人头疼的词条Key

介绍前端国际化方案以及痛点

2024-01-09 18:00:56 1190

原创 推荐VSCODE插件:为`package.json`添加注释信息

介绍如何为`package.json`添加注释

2024-01-09 17:59:27 917

原创 FreeSwitch源码编译安装方法

准备工作操作系统:debian 8.9 首先更新一个apt-get并安装curlapt-get update && apt-get install curl下载最新的源码按官方推荐的命令,在本机下载最稳定版本的源码。FSfile=$(curl -s https://files.freeswitch.org/releases/freeswitch/ | sed -n

2018-01-24 09:52:02 7464 1

原创 创建python单例实例的装饰器

环境:python 3.5单例模式网上有很多种方法,多少有一些问题,以下是我推荐的两种方法。方法一:使用metaclassclass Singleton(type): def __init__(self, *args, **kwargs): self.__instance = None super().__init__(*args, **kwargs)

2017-06-12 20:57:55 1864

原创 理解Twisted的Deferred机制(二)使用inlineCallbacks实现类同步语法

上文提到使用deferred对象很容易陷入回调地狱中,好在python提供yield生成器语法,可以很容易就包装一套更加友好的异步编程API。就如同ES6提供的Promise等。目前在Twisted中提供了一个inlineCallbacks装饰器。能简化多Deferred操作,先上代码:from twisted.internet.defer import inlineCal

2016-06-20 09:27:27 9186 3

原创 理解Twisted的Deferred机制(一)

Twisted作为Python下的异步网络框架,在异步机制上与Nodejs很相像,但Twisted已经发展了十多年了。为了简化异步编程,Twisted引入了Deferred延迟对象的概念。Deferred是Twisted异步框架内部实现的一套callback调用的机制,或者可以说是一种设计模式。我们都知道jQuery也有一套Deferred机制,用来简化异步编程。Twisted

2016-06-20 09:15:13 5508 1

原创 开发Vue树形组件

使用SemanticUI和vue做一个menubar组件,实现方法大概是这样的: {{item.text}} {{item.label}} //如果有有children则说明是下拉菜单项,然后递归调用自身 0">

2016-04-27 09:15:41 23829

转载 理解SQLAlchemy的表继承关系(4)--高级应用

我们创建ORM的基类的目的除了提供公共字段和属性外,还可以实现更高级的功能。在stackoverflow上发现一个应用案例,在此转载一下。class Entry(AbstractConcreteBase, db.Model): """Base Class of Entry.""" id = db.Column(db.Integer, primary_key

2015-12-09 23:04:37 6777

原创 创建SQLAlchemy的ORM类的基类(二)

要为SQLAlchemy的ORM类的基类还有一种方法,就是利用继承的方法来配置。rom sqlalchemy.ext.declarative import declared_attrfrom sqlalchemy.ext.declarative import AbstractConcreteBaseengine = create_engine(...)Base = declarat

2015-12-09 22:51:19 6168

原创 理解SQLAlchemy的表继承关系(3)-Concrete Table Inheritance

Concrete Table Inheritance译成混合继承?这种继承方式会创建一个ORM基类,然后在所有继承表中会创建包含ORM基类定义的字段的独立的表。继承表与ORM基类的关系在数据库层面上没有外健关系,只是在语言层会有继承关系。class Employee(AbstractConcreteBase, Base): id =Column(Integer, pri

2015-12-09 11:45:43 4539

百度Ueditor for Django

Ueditor HTML编辑器是百度开源的HTML编辑器, 本模块帮助在Django应用中集成百度Ueditor HTML编辑器。 安装包中已经集成Ueditor v1.2.2 使用Django-Ueditor非常简单,方法如下: 1、安装方法 **方法一:下载安装包,在命令行运行: python setup.py install **方法二:使用pip工具在命令行运行(推荐): pip install DjangoUeditor 2、在INSTALL_APPS里面增加DjangoUeditor app,如下: INSTALLED_APPS = ( #........ 'DjangoUeditor', ) 3、在urls.py中增加: url(r'^ueditor/',include('DjangoUeditor.urls' )), 4、在models中这样定义: from DjangoUeditor.models import UEditorField class Blog(models.Model): Name=models.CharField(,max_length=100,blank=True) Content=UEditorField('内容 ',height=100,width=500,default='test',imagePath="uploadimg/",imageManagerPath="imglib",toolbars='mini',options={"elementPathEnabled":True},filePath='upload',blank=True) 说明: UEditorField继承自models.TextField,因此你可以直接将model里面定义的models.TextField直接改成UEditorField即可。 UEditorField提供了额外的参数: toolbars:配置你想显示的工具栏,取值为mini,normal,full,代表小,一般,全部。如果默认的工具栏不符合您的要求,您可以在settings里面配置自己的显示按钮。参见后面介绍。 imagePath:图片上传的路径,如"images/",实现上传到"{{MEDIA_ROOT}}/images"文件夹 filePath:附件上传的路径,如"files/",实现上传到"{{MEDIA_ROOT}}/files"文件夹 imageManagerPath:图片管理器显示的路径,如"imglib/",实现上传到"{{MEDIA_ROOT}}/imglib",如果不指定则默认=imagepath。 options:其他UEditor参数,字典类型。参见Ueditor的文档ueditor_config.js里面的说明。 css:编辑器textarea的CSS样式 width,height:编辑器的宽度和高度,以像素为单位。 5、在表单中使用非常简单,与常规的form字段没什么差别,如下: class TestUeditorModelForm(forms.ModelForm): class Meta: model=Blog *********************************** 如果不是用ModelForm,可以有两种方法使用: 1: 使用forms.UEditorField from DjangoUeditor.forms import UEditorField class TestUEditorForm(forms.Form): Description=UEditorField("描述",initial="abc",width=600,height=800) 2: widgets.UEditorWidget from DjangoUeditor.widgets import UEditorWidget class TestUEditorForm(forms.Form): Content=forms.CharField(label="内容",widget=UEditorWidget(width=800,height=500, imagePath='aa', filePath='bb',toolbars={})) widgets.UEditorWidget和forms.UEditorField的输入参数与上述models.UEditorField一样。 6、Settings配置 在Django的Settings可以配置以下参数: UEDITOR_SETTINGS={ "toolbars":{ #定义多个工具栏显示的按钮,允行定义多个 "name1":[[ 'source', '|','bold', 'italic', 'underline']], "name2",[] }, "images_upload":{ "allow_type":"jpg,png", #定义允许的上传的图片类型 "max_size":"2222kb" #定义允许上传的图片大小,0代表不限制 }, "files_upload":{ "allow_type":"zip,rar", #定义允许的上传的文件类型 "max_size":"2222kb" #定义允许上传的文件大小,0代表不限制 },, "image_manager":{ "location":"" #图片管理器的位置,如果没有指定,默认跟图片路径上传一样 }, } 7、其他事项: **本程序基于百度ueditor 1.2.2,安装包里面已经包括了,不需要再额外安装。 **目前暂时不支持ueditor的插件 **Django默认开启了CSRF中间件,因此如果你的表单没有加入{% csrf_token %},那么当您上传文件和图片时会失败

2012-08-28

Django官方文档中文翻译(models部分)

Django官方文档中文翻译(models部分) 非常值得一看,省得去啃原官网的英文了

2012-02-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除