最新文章
自制输入法:拼音输入法与HMM
IMEHMM输入法的基本功能是将键盘输入序列映射到另一种文字序列,例如键盘按下nihao这五个键,程序输出汉字“你好”。中文用户最常用的输入法应该是拼音输入法,现在来试试用Python写一个最简单的拼音输入法。
使用Nix Flake构建可重现系统
Nix工具在之前的[介绍Nix的文章](https://elliot00.com/posts/nix-note)里,我提到了如何使用nix代码管理NixOS系统配置。通过函数式语言来描述窗口管理、系统软件包、字体等等,可以说每个NixOS的用户都有一个个人专属的定制化Linux发行版,相同的配置可以复现出同样...
优雅地使用Git
Git工具如果所有人都像甲一样操作,那这个共享的dev分支最后会变得非常混乱。
关于TypeScript结合React开发的一些技巧
ReactTypeScriptTypeScript是JavaScript的超集,为JS带来了静态类型支持,这可以帮助我们写出更清晰可靠的接口,带来更好的IDE提示。在前端项目中使用TypeScript与React的组合已经有一段时间了,是时候写一篇博客总结分享一下。下面就列举一些个人觉得在做项目中有帮助的点。
Nix入坑笔记
工具对于经常使用计算机工作的人(尤其是程序员)来说,工作设备上往往会积聚大量的文档、软件以及配置文件;如果我们需要在多台不同设备间切换,或者单纯是更换了新电脑,要是可以在不同的设备上同步配置,将会节省我们很多时间;另外假如有时由于某个操作导致系统出现了异常,要如何轻松回退到之前的状态呢?现在市面上有各类...
Django+React全栈开发:文章详情
RESTDjango修改ArticleDetail组件,从后端拿到文章正文。现在如果直接启动应用,会发现获取文章列表时后端返回了403响应,因为在[上一节](https://elliot00.com/posts/react-django-jwt)中设置了身份验证,每次请求必须携带正确的JWT,但是事实上对于文章列表和详...
百宝箱:数字人生
工具我是一个非常喜欢折腾的人,经常去尝试一些新鲜的工具、技术。在信息时代,互联网使得信息的获取变得极为便利,随时可以获取我想要的大量资料。但是,人的时间是有限的,大脑容量也是有限的。面对繁杂的信息,如何将其转化为自己的知识,甚而转化为实际产出,如一篇博客,或是一个开源软件?
Django+React全栈开发:JWT
RESTDjango在很多有关网络协议的教程里,大概都能看到「HTTP协议是无状态的」这句话,无状态主要是指HTTP不会记忆当前连接的状态,不同请求之间相互独立。
Dive into Rust: Object Oriented
RustOOP如何快速自定义一个集合类型?熟悉一些面向对象语言的程序员可能会这么写:
Dive into Rust: Ownership, Borrowing, Lifetime
Rustborrow later used here
TypeScript实现互斥参数
ReactTypeScript之前写过一个markdown相关的组件,将后端解析markdown后生成的字符串通过dangerouslySetInnerHTML插入DOM,并且设置了不少样式,通过模块化的CSS引入。
探究Python类型注解
Python最近业余时间在尝试造一些轮子,为了记录造轮子过程中的一些问题,准备开一个新系列,既然是造轮子,那这个系列就叫车轮滚滚吧~
Django+React全栈开发:关联用户
RESTDjango[上一篇文章](https://elliot00.com/posts/react-django-custom-auth)其实已经讲了一点登录验证相关的内容,不过主要还是为了回答一位群友关于定制DJango用户模型的提问而临时写的,认证(authentication)与授权(authorization...
Django+React全栈开发:自定义验证与授权
RESTDjango因为之前有人问过Django的自定义用户模型,就写了这篇文章,放在我的《Django+React全栈开发》系列里凑个数,不过和后续内容关联性不大,不感兴趣可以直接跳过。
Django+React全栈开发:路由
RESTDjango现在的网站一般来讲很少只有单个“页面”,对于我们的博客来说,除了文章列表的界面,起码还得得有个文章详情页才行。
Django+React全栈开发:界面优化
RESTDjango不少博客都会在文章列表界面仅显示文章发布距今的时间(如下图),之前我们是粗暴地将后台传回的ISO 8601格式的时间字符串显示出来,现在我们来处理一下。
Django+React全栈开发:视图
RESTDjangofrom article.serializers import ArticleSerializer
Django+React全栈开发:前置知识
RESTDjango这篇文章来简要讲一下在后续开发工作中可能碰到的一些概念,我会尽量将这些概念讲得易于理解,并列出一些我认为比较好的学习资源,以尽量避免读者在以后碰到这些概念时茫然无措。
Django+React全栈开发:序列化器
RESTDjango我们继续之前的内容,让我们先进入后端项目文件夹backend,激活虚拟环境,并安装REST framework:
Django+React全栈开发:MTV初试
Django第一步先来配置基础的开发环境,先把后端配置起来。
Django+React全栈开发:前言
ReactRESTDjango应该是2020年开始写这个系列的,不过当时写的比较混乱,最近[杜塞大佬的Django+Vue系列](https://www.dusaiphoto.com/)更新完了,并且Django3.2也发布了,那我就厚着脸皮附上一个Django+React版本吧。
近期关于哲学的一些感想
哲学一直以来我都非常感兴趣,哲学这门学科在研究什么呢?因为平时常常会听到哲学被贴上远离世俗、空谈、无用等标签,我想会不会像计算机科学常被误解为修电脑的一样,是一种不了解带来的偏见?带着一些疑问,我阅读了一些相关书籍,顺带记录下一些思考,当然我仍然是个门外汉,水平有限,不值一哂。
通过WebAssembly实现插件机制
Rust前两天在鼓捣[coco](https://github.com/inherd/coco)的插件系统,我们常说要面向接口开发而不是面向实现,插件这个东西,就像后端框架里的中间件,我们按照框架定义的接口实现中间件,这也可以算一种插件,我们有很多机制实现“编译前插件”,但是像coco这样要编译发布的二进制...
谈谈目的与手段
随想上次写了篇文章讲Vim,没过多久就在社交网络上看到一些有关编辑器的争吵,看到有人说折腾了Vim很久,感到很受折磨,总是用不好,不禁有些感慨,有些时候,我们一直走,不愿停下脚步,却忘了出发时的方向。
百宝箱:Vim进阶之路
Vim工具工欲善其事,必先利其器。强大的工具能提升工作效率,节约时间让我们做更多的事情。通过搜索引擎可以查询到很多某某方面的某工具,不过照搬照用未必就是最好的,在工具使用过程中有时也需要些思考,打磨出最适合自己的工具,于是我决定写一系列博客来记录一下个人工具链的打造过程。
再见,2020
总结今年确实是个很不平凡的一年,一不留神居然就到年尾了,就写篇文章记录一下这一年我都做了什么事吧。
论博客的进化与前端发展史
ReactDjango这次的标题十分标题党了,这篇文章实际上想要聊聊我的个人博客的技术栈变更与我感受中的前端技术的发展。
刷题笔记0x07:不同路径
算法动态规划[原题目链接](https://leetcode-cn.com/problems/unique-paths/)
给个人博客添加后台管理友链与全站公告功能
DjangoPython给个人博客网站添加了友情链接与全站公告通知功能,写篇文章记录一下。
刷题笔记0x06:双指针问题
算法Python最近在leetcode做了几题双指针题目,来做个总结。
刷题笔记0x08:石子游戏
动态规划首先,我们要求的答案是两人中谁会赢,或者说最终谁手中的石子数多。
Django+React全栈开发:代码组织
React> 好久没有更新博客了,现在终于有时间写了,以后尽量周更
Ant Design Pro页面内切换组件问题
React最近在项目中要使用Ant Design Pro,页面布局大致如图:
Serverless学习笔记0x00
PythonServerlessFastAPI最近在工作中接触到Serverless架构,学习了一些AWS相关的服务,为了避免遗忘,在这里先记录一下目前的收获。
简单探索Rust Web开发
Rust对Rust的web开发相关框架做个简单评测,同时在WebAssembly部分与微软的Blazor做个简单的对比。只是一次浅薄的评测,仅仅为了看看目前用Rust做web开发体验如何,性能方面Rust稳站顶端,因此不做评价。
刷题笔记0x09:单词拆分
动态规划算法> 给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。https://leetcode-cn.com/problems/word-break/