记第一次面试 这个暑假一个多月,想着好好利用,想着正值秋招提前批,复习一下,打算试试水,能拿到那肯定是极好的,如果有实习机会也不错。看了各大企业的需求,各路大佬们的面经,发现自己项目挺多但基础还是较差。 闲暇刷公众号,有个以前用过的框架在发文章,翻了翻网站没看到秋招相关的信息,就直接公众号问了下招不招人。没想到这一问还真有回复,要我发一下简历,匆匆忙忙更新了半年没动的简历递上去,然后就安排了面试。 复习才开始两 2022-07-20 日常 #面试
写一个简单的工具库 这几天在把之前写的一些工具类代码做个库开源出来,第一版自用的实在寒碜,要捯饬捯饬用ts重写一遍。 代码流程是用tsc转换代码,webpack打包。已经重写了一部分,但测试居然跑不通!一查果然是commonjs和esmodule的锅。 找了很多办法,发现webpack不能用来转换,这应该是babel的功能。其实webpack也是不需要的,就应该源码提交,方便其他开发者修改,需要压缩代码时他们肯定会用 2022-07-14 前端 #typescript #npm
吃一蛰长一智 以后搞钱先把合同签了,一个学期时间白搞,暑期找实习的时间也错过了。想象师兄很靠谱,现实甲方很离谱。 还是个大项目,分手机APP、桌面客户端和服务端。APP是Vue2+Uniapp,客户端是Vue3+Vite,服务端是Koajs+mongoDB。技术用的挺多,当初也是奔着学多点搞的。 糟心难受,最后把代码开源罢。 qrhub-app qrhub-client qrhub-sever 后面再整理一下核 2022-07-07 日常
使用Cloudflare Workers实现带参数的url重定向 国内的主机绑定域名是需要备案的,不是域名备案,而是网站备案,流程比前者麻烦。通过域名访问没有备案的网站会被强制拦截。纯IP访问是允许的,但谁会记这玩意?整了几个国内的便宜云主机,访问部署的服务还得先ping一下域名,再手打IP访问。这一天我受够了,想了些办法: 找个小本本 硬背 国外主机不需要备案 第三方短网址跳转 有钱就没这烦恼了,白嫖怪选第五个,用Cloudflare Workers自己搭 2022-07-04 前端 #cloudflare
关于v-bind与v-model的父子传参问题 最近用Vue3写一个组件,Vue2都没用熟也硬上了。一个组件越写越大,梳理好逻辑后决定把显示和录入拆分开。 用第三方组件库太顺手,一开始用的是v-bind的写法。因为v-bind是单向数据流,需要在子组件里用 emit 触发父组件的方法,就和下面的例子一样。 例子中,无论是从父组件还是子组件修改,都能双向同步。实际项目的逻辑只会更复杂,像这样子把更新的逻辑放到父组件里会显得很割裂,父组件也 2022-06-14 前端 #vue
最大连续子序列小结 题目输出其的和与首尾元素。原题:HDOJ 1231 题解动态规划: dp :以 a[i] 结尾的最大连续子列和,a[i] 是当前遍历元素 状态转移方程: dp[i]=max(dp[i-1]+a[i],a[i]) 状态初始化:dp[0]=a[0] 一些细节: 定义变量start、end为子序列的首尾索引值,即最大和是dp[end] 当 dp[i-1]+a[i] > a[i] 且 dp[i 2022-05-21 算法 #动态规划
快速排序小结 核心以序列中某个元素作为标准,使剩下比其小的元素放左边、比其大的元素放右边,然后递归标准元素的左右子序列。 关键点 如何选取标准 如何形成新序列 具现不同的选取方法有不同的序列形成方法,这里只写简单的做法: 始终选取第一个元素作为标准,顺序遍历后面的值,当值小于标准值时,将该元素置前,遍历结束后交换标准元素与最后一个小值,递归标准元素的左右子序列。 更详细的步骤: 第一个元素作为标准,定义i指向 2022-04-29 算法 #快速排序
01背包问题小结 先上代码 1234567891011121314151617181920212223242526272829303132333435363738#include <iostream>#include <algorithm>using namespace std;int main() { int M,N; cin>>M>>N; 2022-04-21 算法 #01背包