Skip to content

Instantly share code, notes, and snippets.

View keelii's full-sized avatar
🎯
Focusing

kily zhou keelii

🎯
Focusing
View GitHub Profile
@keelii
keelii / jsx
Last active October 9, 2023 06:35
BezierCurve.jsx
const VIEW_SIZE = 100
function getCursorPosition(canvas, event) {
const rect = canvas.getBoundingClientRect()
const x = event.pageX - rect.left
const y = event.pageY - rect.top
return { x, y }
}
class EasingCanvas extends React.Component {
@keelii
keelii / wysiwyg.sass
Last active July 17, 2022 15:39
wysiwyg CSS
/*! wysiwyg.css v0.0.3 | MIT License | github.com/jgthms/wysiwyg.css */
/* Modified by keelii */
// Colours
$blue: #2478ff !default
$pink: #ff2450 !default
$purple: #9524ff !default
$grey-light: hsl(0, 0%, 50%) !default
$grey: hsl(0, 0%, 20%) !default
$grey-dark: hsl(0, 0%, 10%) !default
@keelii
keelii / BezierCurve.html
Created August 16, 2021 05:28
Bezier Curve Demos
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Bezier Curve Edit</title>
<script type="text/javascript">
"use strict";
const T: string = "Hello"
@keelii
keelii / package.json
Created June 29, 2020 02:13
TypeScript React development with ESBuild
{
"name": "demo",
"version": "0.0.1",
"private": true,
"dependencies": {
"react": "^16.13.1",
"react-dom": "^16.13.1"
},
"scripts": {
"dev": "NODE_ENV=development node bin/run.js"
@keelii
keelii / deno_ext.ts
Last active September 25, 2020 15:32
deno ext processer.
import { join } from "https://deno.land/std/path/mod.ts";
import { readLines } from "https://deno.land/std/io/bufio.ts";
type ProcessType = "remove" | "restore";
function getResultContent(type: ProcessType, m: string) {
const hasExtRE = /\.ts";$/;
if (type === "remove") {
if (hasExtRE.test(m)) {
return m.replace(hasExtRE, '";');
@keelii
keelii / philosophy-in-programming-8-24.md
Last active August 25, 2019 09:19
漫谈哲学与编程

漫谈哲学与编程

谈到哲学,多数人都会直觉性的认为它是很高深的一门学问。实际上大多数情况并非如此,哲学研究的往往是非常简单的一些命题,而这些命题在常人看来可能并没有现实意义。

比如说:到底是先有鸡还是先有蛋的问题;比如说:一个号称只给不能给自己理发的人理发的理发师到底能不能给自己理发的问题。当然本文的目的并不在于讨论这两个问题,我们来聊聊几个稍微简单一些的概念:

哲学中的理性与感性

理性是超越的,本质在于追求无限

++超越++的意思是说理性本身不依赖任何现实或者经验社会中的任何对象,++无限++实际上就是说理性本身需要达到的某种理想状态。

@keelii
keelii / i-want-my-aop-cn-7-5.md
Created July 6, 2019 12:26
我想要 AOP — 使用 AOP 分离关注点

我想要 AOP — 使用 AOP 分离关注点

本文翻译自:I want my AOP

关注点表示人们的一种特殊的意愿、理念或是某个感兴趣的领域。从技术角度来讲:软件系统包括若干核心的系统级别的关注点。比方说:信用卡处理系统的核心关注点是处理交易,同时系统级别的关注点或许应该是处理日志、事务、一致性、授权、安全、性能等。许多这种关注点被叫做横切关注点 — 往往会影响许多模块的实现。

使用目前的编程方法,跨越多个模块横切关注点会导致系统更难设计、理解、实现和迭代。

阅读完全的「我想要 AOP」系列文章:

  1. 第一部分
@keelii
keelii / nestjs-framework-tutorial-3-6-30.md
Created July 3, 2019 02:04
Nestjs 框架教程(第三篇:控制器)

Nestjs 框架教程(第三篇:控制器)

控制器(Controller)负责处理客户端请求并发送响应内容,在传统的 MVC 架构中控制器就是负责处理指定请求与应用程序的对应关系,路由则决定具体处理哪个请求。

路由

得益于 TypeScript,在 Nest 中我们可以使用类来实现控制器的功能,使用装饰器来实现路由功能。它们分别需要配合 @Controller 和 @Get 饰器来使用,前者是控制器类的装饰,后者是具体方法的装饰器。

比如下面的代码:

@keelii
keelii / nestjs-framework-tutorial-2-6-30.md
Last active July 3, 2019 05:10
Nestjs 框架教程(第二篇:入门)

Nestjs 框架教程(第二篇:入门)

这篇教程起,你将会学习到 Nest 的几个核心点。为了更好的了解 Nest 应用中的模块,我们将开发一个有基本 CRUD^[Create, Read, Update, Delete 通常对应于数据的增删改查功能] 功能的入门级应用。

实现语言

Nest 是 TypeScript 写的,所以天生就很好的并且渐进地支持 JavaScript。

依赖

保证你的操作系统上安装的 Node.js 版本大于 8.9.0 即可。