rebuild

angularjs1.X进阶笔记(3)——如何重构controller

三世轮回 提交于 2020-04-29 17:57:33
[TOC] 本篇是内部培训交流会的摘要总结。 培训PPT 和 示例代码 已托管至我的github仓库: https://github.com/dashnowords/blogs/tree/master/Demo/rebuild-angularjs-controller 一. 结构拆分 小型项目 通过 子路由 实现拆分分层,父级控制器控制共享模块,提供公共能力,子级分管自己的模块,父子级之间通过消息机制进行通讯。 中型项目 通过 组合视图 实现模块划分,组合视图共享同一个路由地址,分管不同的模块,组合视图之间需要通过父级控制器(或组合视图的根控制器)来实现通讯。 大型项目 通过 视图组件指令 , 业务模块指令 来进行更细粒度的模块拆分,模块通信依然建议通过消息机制来进行。 二.基本代码优化 业务逻辑代码 封装Service,通过依赖注入在Controller中或指令中使用。 数据加工代码 建议使用表达性更强的通用工具库 underscore.js 或 lodash.js 提升效率,精简代码。 DOM操作 建议学习和习惯Angular 数据驱动 的主导思想,通过数据来启用或消除DOM操作,具体的执行需要通过自定义指令进行实现。 原文出处:https://www.cnblogs.com/dashnowords/p/10125707.html 来源: oschina 链接: https:/

Intellij IDEA 那些隐藏好用的小技巧

假装没事ソ 提交于 2020-04-29 11:51:39
作者:Sam哥哥 https://blog.csdn.net/linsongbin1/article/details/80560332 概述 之前写了一篇介绍IntellIJ IDEA的文章《 Intellij Idea非常6的10个姿势 》,主要是列出一些平时大家可能没用过或者没怎么用,但是又非常好用的 IntellIJ IDEA 小技巧。由于篇幅原因,只是列出了一小部分,那么接下来的这篇文章,会继续补充一些 IntellIJ IDEA 的小技巧。 别轻易自定义快捷键 有蛮多操作, IntellIJ IDEA 并没有给我们设置默认快捷键,需要使用者自己去定义快捷键。比如说: Rebuild Project Compare With Branch 为了能在 IntellIJ IDEA 里进行 无鼠标编程 ,很多程序员都会自定义快捷键,但是有三个地方你可能需要注意一下。 经常会出现快捷键与其他应用的快捷键冲突的情况; 自定义太多快捷键了,你也不太好记住; 使用其他同事的IDEA时(比如说帮忙定位问题),你自定义的快捷键没法用。 其实在 IntellIJ IDEA 里的每个操作,都可以看出一个 action 。我们可以使用 ctrl+shift+a 来输入我们要使用的操作。比如说,上面提到的 Rebuild Project 。你可以先使用 ctrl+shift+a 快捷键,然后输入

记一次升级node版本后,运行原vue项目报错问题解决方法

南笙酒味 提交于 2020-04-28 04:43:52
今天因为想要尝试一下vue-cli3版本的脚手架,于是更新了一下node版本,结果导致原来的vue项目无法成功启动,报错信息大概类似于 “Node Sass could not find a binding for your current environment: Windows 64-bit with Node.js 10.x” 同时,命令行提示: This usually happens because your environment has changed since running `npm install`. Run `npm rebuild node-sass` to download the binding for your current environment. 看这个说明,大概意思就是说,因为我在执行了npm install指令安装好了依赖之后,环境又发生了改变(node版本变更),所以不能将当前的node环境与项目中的sass依赖建立绑定关系,需要执行“npm rebuild node-sass”来重新下载依赖。 所以,按他说的,执行命令 npm rebuild node-sass 一通下载之后,运行项目,依然报错,于是开始百度,按照其他网友的指示,再执行一次 npm update 来更新项目里的依赖包,然后,大功告成。 来源: oschina 链接:

oracle分区表的建立方法(包含已经存在的表要分区)

谁说胖子不能爱 提交于 2020-04-27 21:59:23
Oracle提供了分区技术以支持VLDB(Very Large DataBase)。分区表通过对分区列的判断,把分区列不同的记录,放到不同的分区中。分区完全对应用透明。 Oracle的分区表可以包括多个分区,每个分区都是一个独立的段(SEGMENT),可以存放到不同的表空间中。查询时可以通过查询表来访问各个分区中的数据,也可以通过在查询时直接指定分区的方法来进行查询。 分区提供以下优点: 由于将数据分散到各个分区中,减少了数据损坏的可能性; 可以对单独的分区进行备份和恢复; 可以将分区映射到不同的物理磁盘上,来分散IO; 提高可管理性、可用性和性能。 Oracle提供了以下几种分区类型: 范围分区(range); 哈希分区(hash); 列表分区(list); 范围-哈希复合分区(range-hash); 范围-列表复合分区(range-list)。 Oracle的普通表没有办法通过修改属性的方式直接转化为分区表,必须通过重建的方式进行转变,下面介绍三种效率比较高的方法,并说明它们各自的特点。 方法一:利用原表重建分区表。 步骤: SQL> CREATE TABLE T (ID NUMBER PRIMARY KEY, TIME DATE); 表已创建。 SQL> INSERT INTO T SELECT ROWNUM, CREATED FROM DBA_OBJECTS;

lab2:上板向量乘——经验和错误总结

99封情书 提交于 2020-04-24 17:48:28
经验: 1.连线和修改ip很麻烦。最好把所有verilog放到一个工程里,先不生成ip,先用add module放到画板上会快很多,还不容易混ip(因为名字真的很难起) 2.虽然综合很慢,但是连线还是要连一步测一步,如给数据直接用out等先测试。后期有错十分绝望,根本没法调,还得再走一遍。所以应该尽量早开始,综合的时间还可以干点别的。 3.warning信息不能忽略,每条都要看一下是不是逻辑错误。 数据思路: 1.将向量乘数据考到sd卡上 2.编写sdk,用fat打开数据文件,读出,用dma(画板上不用显式给出来dma,直接用ps控制就行)给特定的板上地址(从platform和addr edit都能看见)写读出的数据,可以用三个通道,发完命令忙等三个写完中断(见example的中断,但是不是写完的中断还有疑问) 3.给axi-lite传开始信号 4.pl给ps中断(可以参考7000教程?) 5.发出dma命令读high和low,用两个通道,等中断,(问题:轮数?),用fat写回sd卡。 简单的写数据:可以直接用bram写的函数,但不知道地址还用不用通过axi? 错误和小技巧:http://blog.chinaaet.com/cuter521/p/37146 :ila弹不出来等 遇到的问题: 1.导入SDK出现找不到文件头: 这是因为sdk的库不在安装目录,而在工程目录

CodeBlocks 添加 lib(.so/.a) 包

倖福魔咒の 提交于 2020-04-19 23:56:21
用Ubuntu环境举个例子,在CodeBlocks里建个工程叫test。 点中test工程 -》 选 Build options ,会弹出 Project build options 对话框 在 Linker settings -》 Other linker options 里添加 -levent 在 Search directories -》 Linker 里添加 /usr/local/lib 在rebuild时你可以看到console里有如下信息: g++ -L/usr/local/lib -o bin/Debug/test obj/Debug/main.o -levent -L后面跟的是lib目录,-l后跟的是lib名 lib名字在/usr/local/lib里的全名是libevent.so或者libevent-2.1.so.7 再给一个后来看到的链接,讲ldd的,关于动态lib的问题。 https://blog.csdn.net/renwotao2009/article/details/51398739 来源: oschina 链接: https://my.oschina.net/bxnet/blog/3275616

electron结合serialport插件开发硬件指令操作项目

别说谁变了你拦得住时间么 提交于 2020-04-19 15:34:50
electron可以开发桌面系统,serialport包是node环境下连接串口设备的依赖,如果是用electron做硬件检测项目,需要考虑加入serialport包,但是我们直接npm install安装的serialport依赖,会因为binding的问题,在运行的时候报错,所以,一般会在下载安装依赖包之后,通过electron-rebuild再次编译,用来与electron匹配。 这里通过实际操作来演示一个简单的入门demo。 本实例需要一些准备环境,node10.20.0 版本,另外需要 安装一个windows-build-tools ,就是vc+python2.7的环境。有了这些环境,我们才能更方便的进行后续的操作。 准备package.json { "name": "electronserialport", "version": "0.0.1", "description": "", "main": "index.js", "author": "buejee", "license": "ISC", "scripts": { "dev": ".\\node_modules\\.bin\\electron ." }, "dependencies": { "serialport": "^8.0.7" }, "devDependencies": { "electron": "

为何这篇RxHttp Http请求框架会如此销魂,全文干货建议收藏!

微笑、不失礼 提交于 2020-04-16 13:19:05
【推荐阅读】微服务还能火多久?>>> 前言 RxHttp相较于retrofit,功能上,两者均能实现,并无多大差异,更多的差异体现功能的使用上,也就是易用性,如对文件上传/下载/进度监听的操作上,RxHttp用及简的API,可以说碾压retrofit;另外在baseUrl、公共参数/请求头、请求加解密等功能上的易用性都要优于retrofit;然而这些,个人觉得都不算什么,个人觉得RxHttp最大的优势在于它近乎为0的上手成本、极简的API以及高扩展性,看完这篇文章,相信你会有同感。 那RxHttp就没有缺点吗?有,那就是它的稳定性目前还不如retrofit,毕竟RxHttp刚出道8个月,且全部是我一个人在维护,当然,并不是说RxHttp不稳定,RxHttp未开源前,在实际项目已经使用了近2年,接着在19年4月份将其开源,目前大大小小已迭代30多个版本,用的人也不在少数,可以说很稳定了。 2、简介 RxHttp是基于OkHttp的二次封装,并与RxJava做到无缝衔接,一条链就能发送任意请求。主要优势如下: 1. 30秒即可上手,学习成本极低 2. 完美支持 Kotlin 协程 3. 史上最优雅的处理多个BaseUrl及动态BaseUrl 4. 史上最优雅的对错误统一处理,且不打破Lambda表达式 5. 史上最优雅的实现文件上传/下载及进度的监听,且支持断点下载 6. 支持Gson

Haystack+ES解决搜索服务

半城伤御伤魂 提交于 2020-04-13 11:40:08
【今日推荐】:为什么一到面试就懵逼!>>>   最近项目组需要对老的搜索项目进行迁移和改造,刚入职2个星期的我光荣的接受了这份工作,这也是我第一次接触Haystack和Elasticsearch,以下是记录下工作中的一些需求解决,具体haystack的玩法大家可以看查看官方文档: https://django-haystack.readthedocs.io/en/master/ ,查看本文默认你已经基本了解了haystack的使用,包括基本的配置和使用 在开始 之前,我还是有必要灌输几个概念:什么是ES,什么是Haystack,两者关系。 1.什么是ES? 在本文你只需要知道它是一个搜索服务器,存放着我们需要被搜索的数据,存储结构类似于我们的数据库,也可以对其记录进行curd的操作,重要的是能够进行‘分词’,同样是建立索引,数据库则需要把整个一句话作为索引,然后才能通过查询这一句话才能使用索引找到该记录,而ES通过‘分词’建立索引,可以建立多个单词索引指向同一记录,我们可以简单的键入一两个关键字就能调用索引弹出相关的信息,当然如果数据量少,就没必要使用ES了,毕竟这种情况下使用模糊查询也慢不了多少。 2.什么是Haystack? Haystack 是以django的一个应用库,主要用来整合市场是的几大搜索后端作为django对它们操作的统一入口。   3.两者关系?  

视图、序列、索引

泪湿孤枕 提交于 2020-02-28 06:54:05
视图 视图(VIEW)也被称作虚表,即虚拟的表,是一组数据的逻辑表示。 视图对应于一个SELECT语句,结果集被賦予一个名字,即视图名字。 视图本身并不包含任何数据,它只包含映射到基表的一个查询语句,当基表数据发生变化,视图数据也随之变化。 使用视图的两种情况: 使用的查询基于非常复杂的查询之上。 查询的时候希望屏蔽数据库中真实的字段名和数据 CREATE [OR REPLAC] VIEW view_name[ ( alias[ , alias...] ) ] AS subquery [WITH CHECK OPTION] ; 视图创建后,主要是查询Subquery是SELECT查询语句,对应的表称为基表。 根据所对应的子查询种类分为:简单视图,复杂视图,连接视图。 先根据我们需要查询的视图所对应的SQL将数据检索出来,然后再根据我们对视图查询的需求,检索视图查询出来的数据,所以使用视图是两次查询。 极其不推荐对视图进行DML操作 视图中没有出现的字段,插入的时候都为NULL,所以有非空约束的时候,插入失败。 WITH CHECK OPTION具有检查约束的功能。 还可以创建只读视图。 CREATE [OR REPLAC] VIEW view_name[ ( alias[ , alias...] ) ] AS subquery [WITH CHECK OPTION] ;