落雁沙
吹牛逼大王
  • 微信公众号授权流程整理

    我们在微信公众号下获取微信授权以及绑定账户的时候,有很多流程要做。需要判断好多次各种条件,所以整理了一下流程图。 再次吐槽下腾讯的文档以及规范,果然业界出名的差。
    • 0
    • 30
    • 4
    • 2019-10-27
  • next.js ssr与单页面应用同项目的注意点

    我们使用next.js的主要目的是为了做服务端渲染,但是,在管理后台上,就没有这样的需求,单页面应用自然更加方便。 那么,如果我们在展示前台使用ssr,管理后台使用单页面应用。 需要注意一下,next.js 9.0.6使用的 "@zeit/next-css": "^1.0.1", 而@zeit/next-css中引用的css-loader 的版本是1.0.0。这个版本是比较老了,所以在使用的时候,要注意不要再依赖css-loader了,或者指定css-loader的版本1.0.0。 否则会报错哦
    • 0
    • 14
    • 0
    • 2019-10-16
  • 关于maven工程结构的一点建议

    有人喜欢谈论各种底层或者炫技的东西,我个人更倾向于先做好工程结构和代码规范。绝大部分情况下,我们是达不到语言或者系统的性能瓶颈的(大厂的系统除外),多数情况下,系统慢的原因就是一个,代码写的烂! 阿里巴巴推出的《阿里巴巴java开发手册》,很具有指导意义,大部分情况下,按照规范就可以很大程度上提高代码的可读性和规范性。但是,当遇到复杂业务的项目的时候,还是稍显不足,需要再细化一下。 在Java的项目中,无论是基于maven 还是gradle做的依赖管理,工程结构都是相似的。结合《阿里巴巴java开发手册》基本还是分为controller,service,manager,dao 相对于以前的三层结构,多了一个manager层,文档上说的是作为业务下沉,以及第三方调用。这么一来,manager层就变成了整个项目中最重的一层。我们主要也是对manager的细化。 1.出于对项目发展的不确定性,我...
    • 1
    • 79
    • 0
    • 2019-10-09
  • 解决babel-node运行sequelize的报错问题

    在使用babel-node运行sequelize项目,执行create的时候,会报如下错误 TypeError: Class constructor Model cannot be invoked without 'new' 这个问题,找了很久没找到解决方案,暂时的处理方法,就是把es6写法改成define的方式。 比如 class TestUser extends Sequelize.Model{ } TestUser.init({ id: { type: Sequelize.INTEGER, allowNull: false, primaryKey: true, autoIncrement: true }, title: { type: Sequelize.STRING } ...
    • 0
    • 22
    • 0
    • 2019-09-28
  • java bean 转换工具orika

    在java项目中,由于业务场景需要,我们经常会需要做bean的转换。 最基本的写法是get/set去对每个属性赋值,但是,更多的时候,bean里面的属性比较多,如果每次都这么手动写,工作量毕竟大,而且也不易维护。 apache,和spring都有BeanUtils,但是是基于反射的,性能较差。当然也有性能高的,比如BeanCopier,但是只能用于属性名一样的两个bean。有没有性能比较好,适用性也比较好的呢? orika可以满足。 1.jar包 <dependency> <groupId>ma.glasnost.orika</groupId> <artifactId>orika-core</artifactId> <version>1.5.4</version> </dependency> 2.创建映射工厂 MapperFactory mapperFactory...
    • 0
    • 32
    • 0
    • 2019-09-28
  • redisson实现分布式锁

    随着微服务的推广,现在越来越多的有一定体量的项目,都开始微服务化。 微服务的优点,不必赘述。但是,凡是都是有两面的,比如,分布式的并发安全性。在单应用中,我们可以通过加锁的方式去实现。那么在分布式项目中,我们同样是遵循加锁的思路。 redisson作为一个redis客户端,自身就有分布式锁的功能。 1.在spring boot项目中配置redisson 1.1添加依赖 <dependency> <groupId>org.redisson</groupId> <artifactId>redisson-spring-boot-starter</artifactId> <version>3.11.4</version> </dependency> <dependency> <groupId>org.redisson</groupId> <artifactI...
    • 0
    • 50
    • 2
    • 2019-09-25
  • feign client中对不同类型返回值decode的处理

    在spring cloud的微服务项目中,我们在微服务之间的调用经常是通过feign client去操作的。 由于是局域http的rest风格接口,很多人会去做一层包装,类似这种: { "code":"ok", "message":null, "data":"hello" } 如果是这种对象形式的返回值,一般是没有问题的。但是,由于是微服务,有的时候,我们会更倾向于贴近RPC的写法,返回什么,就是什么,不做包装。这样一来,我们就可以返回String,Integer,Long,Object等各种类型的返回值。 之前我是用的JacksonDecode作为decode的实现方式,在一次使用String 作为返回类型的时候,发现会报错。原因就是jackson不能直接继续一个非json的字符串。于是,便考虑其他途径。 我们先看Decode的接口 public interface Decoder {...
    • 0
    • 19
    • 0
    • 2019-09-22
  • nodejs模仿spring boot根据环境使用配置文件

    在spring boot的项目中,我们可以根据 spring.profiles.active参数设置当前启用的配置文件。这样,我们可以很方便的切换环境。 于是在Koa项目中,我们也模仿srping boot写一个配置文件加载的函数。 1.设计好目录结构 参考maven项目,配置文件的文件夹名称 resources,项目代码目录 server (这是一个nextjs项目,否则命名src会更好) 2.读取配置文件 在server文件夹下,创建 bootstrap文件夹,存放一些启动时需要加载的文件。配置文件读取类AppConfig 也放这里。 import _ from "lodash"; import args from "yargs"; import yaml from "js-yaml"; import fs from "fs"; const argv = args.argv; cons...
    • 0
    • 38
    • 0
    • 2019-09-18
  • nextjs 9 和 antd 组合使用

    在nextjs项目中,使用antd作为组件包,由于需要做一些样式的定制,所以使用了less文件。 但是,在使用启动时候出现如下报错: [ error ] ./node_modules/antd/es/config-provider/style/index.less // https://github.com/ant-design/ant-motion/issues/44 .bezierEasingMixin(); ^ Inline JavaScript is not enabled. Is it set in your options? in /Users/bane/Develop/workspace/moensun/ithere/it-here-web-topic/node_modules/antd/es/style/color/bezierEasing.less (lin...
    • 0
    • 16
    • 0
    • 2019-09-18
  • gitlab配置邮件通知服务

    在使用gitlab的时候,我们会需要用邮件来注册验证,所以,邮件服务是需要配置的。 vi /etc/gitlab/gitlab.rb gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = "smtp.qiye.aliyun.com" gitlab_rails['smtp_port'] = 25 gitlab_rails['smtp_user_name'] = "gitlab@moensun.com" gitlab_rails['smtp_password'] = "xxxx" gitlab_rails['smtp_domain'] = "moensun.com" gitlab_rails['smtp_authentication'] = "login" gitlab_rails['smtp_enable_star...
    • 0
    • 15
    • 0
    • 2019-09-14
文章分组
暂无数据