koa

AI神器竟然能代替PS抠图了

感情迁移 提交于 2020-07-28 19:44:15
感慨时代发展真快 用途 电商抠主图做海报,几秒搞定,比手工快几个数量级,我还没记得N多年前做企业网站,对照Photoshop一抠就是好几天;还有可以做证件照之类也是不在话下。 除了remove.bg以外,还有picup,Face++旷视等。 抠图效果 关于定价 均价1.3元,高冷小贵,picup的效果也不逊色,最高也不过0.1元 实力对比 picup对边缘处理不能remove.bg锐利,操作上还有要区分上传的是人像还是物品,而remove.bg可以一股脑往里扔 传统用法 最直接的就是网页版在线上传一张图片,其次是下载它们的客户端。 在线版是最傻瓜的,上手就用,还支持网址url复制粘贴过来直接识别抠图;客户端一般要先配置一下apikey密钥,再开始使用,相当于他把api集成好了,换换key就用了。 出于职业病,我还它的.exe包扒了扒,果不其然,清一色是node.js+electron写的,picup还用上了element-ui,一股熟悉的味道哈 码农用法 那当然是自己对api了。我发现它们有全PC平台的客户端,甚至连photoshop都集成上了,但是还没有小程序哈。 看了上述2家的api,如出一辙啊,我这里就以remove.bg为例 先看一下效果 前端代码 前端代码做的事情就是将图片传到自己的后端,等后端与抠图api交互,返回base64编码后的字符串,然后拼接上 'data

开源在线聊天应用-Fiora

╄→尐↘猪︶ㄣ 提交于 2020-07-27 22:03:14
Fiora是国人开发的一款在线聊天开源应用。基于node.js, mongodb, socket.io和react编写。遵守MIT开源协议。 主要功能特色: 好友, 群组, 私聊, 群聊 文本, 图片, 代码, url等多种类型消息 贴吧表情, 滑稽表情, 搜索表情包 桌面通知, 声音提醒, 消息语音朗读 自定义桌面背景, 主题颜色, 文本颜色 查看在线用户, @功能 管理员 关小黑屋 撤回消息 给用户打标签 重置用户密码 查看用户 ip GitHub 仓库挂件 WordPress 插件 yinxin630 / fiora An interesting chat application power by socket.io, koa, mongodb and react https://fiora.suisuijiang.com/ 3,890 765 Download ZIP 相关文件下载地址 本地直接下载 来源: oschina 链接: https://my.oschina.net/u/4397293/blog/4302042

deno + mongodb 实战踩坑记

送分小仙女□ 提交于 2020-07-27 10:52:41
自从 deno 1.0 发布以来,有关 deno 的文章很多,大多数都是在讨论怎么安装 deno 、deno 有哪些特点 、deno 和 node 有哪些异同、deno是不是 node 的替代品等。咱们今天不讨论这些,毕竟 Talk is cheap. Show me the code! 亲自体验一把 deno 开发带来的快感、用 deno 搞一个“企业级”应用: deno-supermarket ,难道不香吗? deno 常见的一些坑 在实战之前,还是先来介绍几个我在刚接触 deno 时遇到的小坑。 权限标志符位置的问题 我们都知道, deno 默认是安全的,就是导致了默认情况下是不允许访问网络、读写文件等。比如有个名为 index.ts 的文件内容如下: import { serve } from "https://deno.land/std@0.50.0/http/server.ts"; const s = serve({ port: 8000 }); console.log("http://localhost:8000/"); for await (const req of s) { req.respond({ body: "Hello World\n" }); } 如果直接执行 deno run index.ts , 会报错: error: Uncaught

搭建node服务(三):使用TypeScript

。_饼干妹妹 提交于 2020-07-26 02:21:11
搭建node服务(三):使用TypeScript JavaScript 是一门动态弱类型语言,对变量的类型非常宽容。JavaScript使用灵活,开发速度快,但是由于类型思维的缺失,一点小的修改都有可能导致意想不到的错误,使用TypeScript可以很好的解决这种问题。TypeScript是JavaScript的一个超集,扩展了 JavaScript 的语法,增加了静态类型、类、模块、接口和类型注解等功能,可以编译成纯JavaScript。本文将介绍如何在node服务中使用TypeScript。 一、 安装依赖 npm install typescript --save npm install ts-node --save npm install nodemon --save 或者 yarn add typescript yarn add ts-node yarn add nodemon 另外,还需要安装依赖模块的类型库: npm install @types/koa --save npm install @types/koa-router --save … 或者 yarn add @types/koa yarn add @types/koa-router … 二、 tsconfig.json 当使用tsc命令进行编译时,如果未指定ts文件

前后端分离项目从零开始

有些话、适合烂在心里 提交于 2020-07-25 19:00:03
1.创建一个项目(new-project) 执行 npm init -y; 2.借鉴了yii项目结构 把basic里面的内容放到 把没用的都删掉 3.开发controller目录 4.编辑app.js 安装koa npm install koa --save-dev(线上用就装到dev里面) 用nodemon(监听文件变动, 变动之后自动重启) 启动app.js nodemon app.js 来源: oschina 链接: https://my.oschina.net/u/4307536/blog/4334456

Cookie not being set in browser

耗尽温柔 提交于 2020-06-27 09:26:36
问题 I am trying to set a cookie which has my auth token in it. I can see it being returned in the response header set-cookie: xxxxxx but for whatever reason, the browser is not storing the cookie. On my react front end http://app1.dev:3001 I am making an POST api call as such: return axios.get( `${apiUrl}/info`, { withCredentials: true } ) .then(res => res.data) .catch(console.error) And I have a simple Koa server running on http://localhost:3000 const Koa = require("koa") const Router = require(

Is using Joi for validation on top of Mongoose good practice?

送分小仙女□ 提交于 2020-05-12 12:02:08
问题 I'm developing a RESTful API with Node.js, Mongoose and Koa and I'm a bit stuck on what are the best practices when it comes to schemas and input validation. Currently I have both a Mongoose and Joi schema for each resource. The Mongoose schema only includes the basic info about the specific resource. Example: const UserSchema = new mongoose.Schema({ email: { type: String, lowercase: true, }, firstName: String, lastName: String, phone: String, city: String, state: String, country: String, });

富文本--格式化数据并保留指定样式实现[原创]

五迷三道 提交于 2020-05-09 20:27:46
富文本实现格式化,格式化的时候保留图文、文字换行、样式。 开始 有一个需求,粘贴的时候格式化富文本内容,但是保留图文、文字换行、样式。 一开始我做的时候是全部格式化,也就是粘贴的时候拿到html (怎么拿到百度下就有了,一般大家也都是对别人的富文本进行改造。) ,然后转DOM,然后getInnerText.大功告成。这时候产品说,保留图文和换行哦。 于是修改下。 保留图文和换行 这个比较简单,看下就行了。 流程:获取img并转存 -> 替换img标签 -> 获取到纯文本 -> 添加换行 -> 恢复图片 保存图片的话先把图片下载下来,然后拿到blob再上传到服务器。 不做解析。 (核心代码就这些) 虽然比较简单,但是也有几个地方需要注意的是 图片复制粘贴进来的直接下载会跨域,也就别想绕过去了,弄个代理吧 (1) world复制竟来的别想了拿到图片,纯web做不到,因为拿到的是纯本地路径,可以提醒单图复制粘贴 复制进来图片最好先检验是否图片存在,检验可以新建一个img,然后看是否走入onload 微信公众号的比较特殊,如果用nginx (大神忽略) , 返回图片是一个微信警告,可以用nodejs做代理 Koa代理代码 main.js const error_img_url = 'https://hongqiaojiaoyu.oss-cn-shenzhen.aliyuncs.com

Egg.js 目录结构介绍 、定义 controller 以及配置路由、Egg目录约定规范

亡梦爱人 提交于 2020-05-08 09:51:04
1 、 Egg.js 目录结构介绍 2 、 Egg.js 目录约定规范 egg目录结构以及执行流程 代码: 路由配置 router,.js /* * * @param {Egg.Application} app - egg application */ module.exports = app => { const { router, controller } = app; router.get( '/' , controller.home.index); router.get( '/news' , controller.home.news); router.get( '/admin' , controller.admin.index); }; admin.js 'use strict' ; const Controller = require('egg' ).Controller; class AdminController extends Controller { async index() { // egg基于koa // koa给用户相应信息 // ctx.body='用户管理' console.log( this ); // egg给用户相应信息 this .ctx.body='用户管理' ; } } module.exports = AdminController;

Nginx中的Rewrite的重定向配置与实践

不羁岁月 提交于 2020-05-05 21:35:22
阅读目录 一:理解地址重写 与 地址转发的含义。 二:理解 Rewrite指令 使用 三:理解if指令 四:理解防盗链及nginx配置 简介: Rewrite是Nginx服务器提供的一个重要的功能,它可以实现URL重定向功能。 回到顶部 一:理解地址重写 与 地址转发的含义。 地址重写 与 地址转发 是两个不同的概念。 地址重写 是为了实现地址的标准化,比如我们可以在地址栏中中输入 www.baidu.com. 我们也可以输入 www.baidu.cn. 最后都会被重写到 www.baidu.com 上。浏览器的地址栏也会显示www.baidu.com。 地址转发 :它是指在网络数据传输过程中数据分组到达路由器或桥接器后,该设备通过检查分组地址并将数据转发到最近的局域网的过程。 因此地址重写和地址转发有以下不同点: 1. 地址重写会改变浏览器中的地址,使之变成重写成浏览器最新的地址。而地址转发他是不会改变浏览器的地址的。 2. 地址重写会产生两次请求,而地址转发只会有一次请求。 3. 地址转发一般发生在同一站点项目内部,而地址重写且不受限制。 4. 地址转发的速度比地址重定向快。 回到顶部 二:理解 Rewrite指令 使用 该指令是通过正则表达式的使用来改变URI。可以同时存在一个或多个指令。需要按照顺序依次对URL进行匹配和处理。