- 博客(49)
- 资源 (3)
- 收藏
- 关注
原创 Vue应用多语言支持工程化最佳实践
VoerkaI18n一款非常优开源多语言解决方案,本节主要介绍如何在Vue 3应用中使用VoerkaI18n
2024-01-09 20:01:37 1150
原创 自动捆绑Vue组件CSS样式-CSS-IN-JS
`vite-plugin-vue-style-bundler`可以实现, 自动提取`Vue`组件中的`css`样式一起打包到`js`源代码中,然后在运行时将`style`自动插入到`head`的`vite`插件。
2024-03-18 20:45:40 446
原创 基于有限状态机开发健壮的Nodejs/TCP客户端
`FlexState`是一款简单易用的有限状态机,本文介绍如何基于有限状态机来开发一款键壮的TCP客户端
2024-03-14 15:25:08 871
原创 轻松玩转Vite/Rollup/webpack/esbuild/Rspack/babel插件开发(二)
介绍如何使用unplugin开发一个简单的define插件
2024-03-11 17:26:10 337
原创 轻松玩转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 761
原创 Vue2/3如何强制重新渲染整个页面
VoerkaI18n是一个非常优秀的前端多语言解决方案库,提供初始化、提取文本、自动翻译、编译、自动补丁等工具链支持。本文介绍了在开发@voerkai18n/vue时如何制刷新页面的经验和技巧
2024-03-05 10:32:32 1118
原创 前端link调试神器:从yalc到yald
`yalc`是前端link调试的好工具,但好久没更新了,不支持publishConfig,所以就fork了yald,支持publishConfig
2024-03-02 16:55:13 351
原创 开发超爽的nodejs命令行程序
开发nodejs命令行程序以一般会到什么库?commander有了以下三板斧,基本上就可以写出一个很好命令行程序了吗?如果想要更爽些,则推荐使用MixedCli。是一个命令行应用开发框架,其主要是对commander/prompts/logsets的封装,提供了更加友好的命令行开发体验。
2024-01-10 21:37:53 769
原创 开发React应用的多语言支持最佳实践
[VoerkaI18n](https://zhangfisher.github.io/voerka-i18n/#/)是一款非常优秀的**全新的开源国际化多语言解决方案,本文介绍如何在React使用多语言
2024-01-09 19:58:26 1203
原创 前端国际化之痛点(三):上线后修改翻译内容
VoerkaI18n是一款非常优秀的前端国际化解决方案,其开发的出发点是为了解决现存多语言的一些痛点,接下来几篇文章将分别进行分析。
2024-01-09 18:03:24 994
原创 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 7233 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 1825
原创 理解Twisted的Deferred机制(二)使用inlineCallbacks实现类同步语法
上文提到使用deferred对象很容易陷入回调地狱中,好在python提供yield生成器语法,可以很容易就包装一套更加友好的异步编程API。就如同ES6提供的Promise等。目前在Twisted中提供了一个inlineCallbacks装饰器。能简化多Deferred操作,先上代码:from twisted.internet.defer import inlineCal
2016-06-20 09:27:27 9029 5
原创 理解Twisted的Deferred机制(一)
Twisted作为Python下的异步网络框架,在异步机制上与Nodejs很相像,但Twisted已经发展了十多年了。为了简化异步编程,Twisted引入了Deferred延迟对象的概念。Deferred是Twisted异步框架内部实现的一套callback调用的机制,或者可以说是一种设计模式。我们都知道jQuery也有一套Deferred机制,用来简化异步编程。Twisted
2016-06-20 09:15:13 5403 1
原创 开发Vue树形组件
使用SemanticUI和vue做一个menubar组件,实现方法大概是这样的: {{item.text}} {{item.label}} //如果有有children则说明是下拉菜单项,然后递归调用自身 0">
2016-04-27 09:15:41 23579 1
转载 理解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 6653
原创 创建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 5924
原创 理解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 4458
原创 理解SQLAlchemy的表继承关系(2)-Single Table Inheritance
Single Table Inheritance即单表继承,顾名思义,所有继承表的数据均保存在一个表。该种继承比较容易理解。class Employee(Base): __tablename__ = 'employee' id = Column(Integer, primary_key=True name = Column(String(50)) manager_d
2015-12-09 11:36:13 4719
原创 理解SQLAlchemy的表继承关系(1)--Joined Table Inheritance
Joined Table Inheritance指通过外健方式进行链接实现的继承方式。举个例子理解,共三个ORM类: Employee:员工,基类,具有id,name两个共有字段Manager:经理,继承Employee Engineer:工程师,继承Employee,在本例中,SQLAlchemy将会创建三个表,Employee,Manager,Engineerclass
2015-12-09 11:27:12 6107
原创 开源一个基于SQLAlchemy左右值存储的树组件
TreeModel for SQLAlchemy基于SQLAlcemy ORM库,利用左右值原理来实现树状存储的库。什么是左右值树存储原理可以问度娘。SATree可以在一张数据库表中存储多棵树,并可以方便地进行树的增加、删除、移动、输出等。树的一个节点在存储为一条记录,表现为SQLALchemy一个混合了TreeMixin的Model实例。项目地址:
2015-11-05 11:30:21 3582
原创 海尔T520智能扫地机器人使用评测
上个月入手了一台海尔T520智能扫地机器人,被广告忽悠得信心满满。实际使用如何感觉并没有想象中的智能,毛病超多:1、机器人身高限制,在一些沙发、桌子、茶几等底下,如果其高度与机器人身高相当,就比较悲催了,一准卡死。2、在U型的小空间中,机器人一进去就出不来,或者必须要很久才可以出来。3、地面如果有一些像拖鞋什么的小物件,爬上去下不来的几率也超高。4、在房间内的活动基本上
2015-10-29 11:40:54 8620 1
原创 SQLAlchemy中设置Column的默认值
在使用SQLAlchemy时,如果主健使用uuid时import uuidid = db.Column(db.String(32), default=uuid.uuid4().hex, primary_key=True)上述写法,如果在进行批量增加时,会出现“主关健字重复”的错误正确的做法应该是def gen_id(): return uuid.
2015-09-12 23:44:17 10231
原创 python下取得父文件夹绝对路径的方法
我们知道在python下可以用以下代码:import oscurrent_path=os.path.dirname(__file__)取得父文件夹绝对路径的方法如下:os.path.abspath(os.path.dirname(__file__)+os.path.sep+"..")记录一下!
2015-09-09 17:04:55 8701
原创 存在超自然力量吗?
熵用来描述自然无序状态的指标,现代科学指出,在没有外力作用下自然界的熵总是趋向增加的。也就是说,任何物体在没有外力作用下时,物体会变得无序。因此,房屋道路必须经常打扫,汽车要保养等等。假如这种说明是科学的,那么问题来了,原始地球是如何产生现如今如此丰富多彩、如此复杂奇妙、如此具有复杂形态的生命形态呢?如果没有外力作用,如何有序的生命形态是如何产生并进化的呢?难道仅仅
2015-08-11 09:32:31 2716
原创 理解Flux机制和应用
ReactJS是fackbook推出的UI组件框架,最主要特点就是引入了虚拟DOM的机制,并且提供一个非常优秀的UI组件框架,实现可复用的Web前端组件成为可能。但是ReactJS基本上就是帮助你来开发一个可复用的Web组件的框架,缺少数据双向绑定,依赖注入、绑定等一大堆特性。而在前端开发时,往往需要提供一个完整的机制来进行DOM、数据的管理,由此,各类前端MVVM框架大为流行,像Angu
2015-06-25 20:59:48 9483
原创 创建SQLAlchemy的ORM类的基类(一)
SQLAlchemy功能非常强大,一般来说我们可以采用下面方法建立一个ORM类.from sqlalchemy import create_enginefrom sqlalchemy.ext.declarative import declarative_basefrom sqlalchemy.orm import sessionmakerengine = create_engine('
2015-06-19 16:09:55 7593
原创 比较现实可靠的python模块的安装部署方法
每一个pythoner都知识pip install,安装python模块实现是方便。当一个应用扩展十几二十个python模块时,网上最流行的方法是这样的:1、pip freeze > requirements.txt将包依赖信息保存在requirements.txt文件中。requirements.txt文件的内容大概是这样的:blinker==1.3Flask==
2015-03-26 23:25:38 6069
原创 chrome不能断点调试的解决方法
chrome的调试功能实在是太强大了,相比之下ie的就是一垃圾。最近在调试时出现一种情况,死活不能设置断点,也不能跟踪调试,这下抓狂了。JS也是非常简单的,也没有压缩。为什么就不能调试呢?网上狂搜也没找到什么原因,经过自己一翻瞎折腾,终于解决问题在调试的左下方有一个{}图标,提示“pretty print”,点击,chrome就会另外打开一个:formatted的文
2015-01-15 17:15:34 37839 12
转载 建立一个更高级别的查询 API:正确使用Django ORM 的方式
摘要在这篇文章里,我将以反模式的角度来直接讨论Django的低级ORM查询方法的使用。作为一种替代方式,我们需要在包含业务逻辑的模型层建立与特定领域相关的查询API,这些在Django中做起来不是非常容易,但通过深入地了解ORM的内容原理,我将告诉你一些简捷的方式来达到这个目的。概览当编写Django应用程序时,我们已经习惯通过添加方法到模型里以此达到封装业务逻辑并隐藏实现
2013-04-16 15:44:07 3592
原创 史上最强的找回密码的解决方案
忘记密码是一般人经常会碰到的,一般网站都会有这样的环节。近日在登录百度云时,碰到一个最强的申请找回密码的表单:需要提交以下信息:以上几项信息还比较坑爹的是注册时间,NND,我哪里记得什么时候注册。还有更坑爹的是:靠,我要都记得这些,还要找回密码吗,不知道百度怎么想的,摆明了不想让人找回密码嘛。还要提交以下信息。
2013-03-06 18:41:30 3206
原创 推荐一种部署管理DJango项目第三方app的方法
Django做为python下最大的web框架,在国外非常流行。也产生了很多的第三方app,Django的app就是一个可复用的组件或功能模块。光在https://www.djangopackages.com/上就有1300多个app,涵盖了web开发的每个领域。另外在github上面也有非常多的可复用app,充分利用这些第三方app可以大大提高您的效率。我比较常用的app
2013-02-17 22:32:12 7431
百度Ueditor for Django
2012-08-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人