编程星球——水·滴20180624期

[TOC]

2018/5/14

#水·滴# 微信开发调试两个有用的网页工具链接:

X5内核调试专用页 http://debugx5.qq.com/

X5内核调试专用页 (http://debugtbs.qq.com/

2018/5/16

Vscode下快速开始编写html的方法

  1. 首先在第一行输入!
  2. 然后将光标移动到!
  3. 最后,按下tab键 4.完成

2018/5/17

#水·滴# 使用 jdk9 运行报错:Caused by: java.lang.ClassNotFoundException: javax.xml.bind.JAXBException 原因:Java9以后JAXB APIs划分为Java EE模块,不再认为是SE模块,而默认的路径只包含了SE模块中。 方案1: 虽然路径没有包含,但是JDK中包含了EE模块,可以通过命令行参数添加需要的模块,例如: --add-modules java.xml.bind 还有这些:

  • java.activation
  • java.corba
  • java.transaction
  • java.xml.bind << This one contains the JAXB APIs
  • java.xml.ws
  • java.xml.ws.annotation

如果9以下版本使用该参数会出错,可以使用-XX:+IgnoreUnrecognizedVMOptions命令行参数忽略,但使用该参数后会导致jvm不验证参数。最好是在脚本中检查版本在生成相应的命令行。 方案2: mvn配置中添加插件:

<plugin>
    <artifactId>maven-surefire-plugin<artifactId>
    <version>2.20.1<version>
    <configuration>
        <argLine>--add-modules java.xml.bind<argLine>
    <configuration>
<plugin>

方案3: 直接导入缺失的包:

<!-- Java 6 = JAX-B Version 2.0   -->
<!-- Java 7 = JAX-B Version 2.2.3 -->
<!-- Java 8 = JAX-B Version 2.2.8 -->
<dependencies>
    <dependency>
        <groupId>javax.xml.bind</groupId>
        <artifactId>jaxb-api</artifactId>
        <version>2.3.0</version>
    </dependency>
    <dependency>
        <groupId>com.sun.xml.bind</groupId>
        <artifactId>jaxb-impl</artifactId>
        <version>2.3.0</version>
    </dependency>
    <dependency>
        <groupId>com.sun.xml.bind</groupId>
        <artifactId>jaxb-core</artifactId>
        <version>2.3.0</version>
    </dependency>
    <dependency>
        <groupId>javax.activation</groupId>
        <artifactId>activation</artifactId>
        <version>1.2.0</version>
    </dependency>
</dependencies>

2018/5/21

#水·滴# Spring Data Query方法的属性表达式中,如果描述嵌入对象的属性,直接添加,例如:

List<Person> findByAddressZipCode(ZipCode zipCode); 

相当于: x.address.zipCode 但有时可能会出现冲突或混淆,可以用下划线区分:

 List<Person> findByAddress_ZipCode(ZipCode zipCode); 

参考文档:Spring Data 之 Property Expressions

2018/5/22

#水·滴# Groovy变态的语法糖: 变量不加def,将变量添加到当前脚本的binding,一般看作全局变量。

x = 1
assert x == 1
assert this.binding.getVariable("x") == 1

def y = 2

assert y == 2

try {
    this.binding.getVariable("y") 
} catch (groovy.lang.MissingPropertyException e) {
    println "error caught"
} 
Prints: "error caught"

2018/5/24

#水·滴# 一个JavaWebApp多个实例部署在一个容器(Tomcat)报错:

Web app root system property already set to different value: 'webapp.root' = [C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\myapp] instead of [C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\myapp2] - Choose unique values for the 'webAppRootKey' context-param in your web.xml files!

解决方法,设置不同的webAppRootKey,避免冲突,例如:

<!--app1中的web.xml-->
<context-param>
    <param-name>webAppRootKey</param-name>
    <param-value>app1.root</param-value>
</context-param>
 
<!--app2中的web.xml-->
<context-param>
    <param-name>webAppRootKey</param-name>
    <param-value>app2.root</param-value>
</context-param>

2018/5/25

#水·滴# Python print 小窍门: end 参数用在print 函数中作用是打印一行并允许下一次打印在同一行继续。这是一个让 print 能够不在末尾打印出\n(换行符)符号的小窍门。

2018/5/25

#水·滴# Win10 Linux Subsystem 路径:

C:\Users<username>\AppData\Local\Packages<group_name>\LocalState

  • buntu: CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc openSUSE
  • Leap 42: 46932SUSE.openSUSELeap42.2_022rs5jcyhyac
  • SUSE Linux Enterprise Server 12: 46932SUSE.SUSELinuxEnterpriseServer12SP2_022rs5jcyhyac

2018/6/9

#水·滴# windows 下MongoDB服务配置安装:

  1. 编写Mongodb配置文件
systemLog:
  destination: "file"
  path: "c:\\data\\log\\mongod.log"
storage:
  dbPath: "c:\\data\\db"
  1. 安装服务
"C:\Program Files\MongoDB\Server\3.6\bin\mongod.exe" ^
  --config "C:\Program Files\MongoDB\Server\3.6\mongod.cfg" ^
  --install

对于我是:

mongod  --config "D:\Data\MongoDB\mongod.cfg" --install

2018/6/13

#水·滴# 微软在 4 月 18 那天发布了题为《Windows Command Reference》的 PDF 文档,内容达到了惊人的 948 页,全面覆盖了超过 250 个 Windows 控制台命令。

链接:https://download.microsoft.com/download/5/8/9/58911986-D4AD-4695-BF63-F734CD4DF8F2/ws-commands.pdf

2018/6/13

#水·滴# Angular ng serve 时报错:

Could not resolve submodule for for routing:

原因路由配置问题:

export const ROUTES: Routes = [
  {path: '', loadChildren: 'app/home#HomeModule'},
  {path: '**', component: NotFoundComponent},
];

解决方法: 使用路由配置文件的相对路径,例如:

export const ROUTES: Routes = [
  {path: '', loadChildren: './home#HomeModule'},
  {path: '**', component: NotFoundComponent},
];

2018/6/14

#水·滴# Angular是目前最火的前端框架,常用的资源可以看官方网站:

链接:Angular Docs https://angular.io/resources

还有对应的中文网站:

链接:Angular Docs https://angular.cn/

另外,介绍几个我常用的第三方组件:

界面组件首选Ant: 链接:NG-ZORRO - Ant Design Of Angular https://ng.ant.design/

备选Primary: 链接:PrimeNG https://www.primefaces.org/primeng

还有官方的Material2: 链接:GitHub - angular/material2: Material Design compon...

移动端开发OnsenUI: 链接:Angular and AngularJS UI Components by Onsen UI Hy...

2018/6/14

#水滴# SqlServer从源表同步数据的语法:

--同步两个表的神奇语句
merge into TargetTable as t
using SourceTable as s
on t.id = s.id
when matched --源表和目标表存在同样ID是,更新目标表数据
then update set t.val=s.val
when not matched --目标表不存在源表数据,目标表插入源数据
then insert values(s.id, s.val)
when not matched by source --源表中不存在的数据,目标表删除
then delete;

一个实际的例子:

--同步两个表的神奇语句
merge into T_Site_Type as t
using (select * from T_Site_Type where Serial={Serial}) as s
on t.Serial = s.Serial
when matched --源表和目标表存在同样ID是,更新目标表数据
then update set t.TypeName = '雨水总排口监测点22211111'
when not matched --目标表不存在源表数据,目标表插入源数据
then insert  (TypeId, TypeName, Serial) values(s.TypeId, s.TypeName, s.Serial);
when not matched by source --源表中不存在的数据,目标表删除
then delete;

2018/6/14

#水·滴# 一段代码演示一下Python的异常处理:

def except_test(num):
    if num < 1:
        raise Exception("我错了")
condition = 1     
try:
    except_test(condition)
except Exception as arg:
    print("不好,发生异常")
    print(arg)
else:
    print("火箭发射正常")
finally:
    print("收工")

2018/6/20

#水·滴# 基于maven的Kotlin和Java混合项目,如果需要设置不同的源码路径,可以使用build-helper-maven-plugin插件,例如:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>build-helper-maven-plugin</artifactId>
    <version>3.0.0</version>
    <executions>
        <execution>
            <id>add-source</id>
            <phase>generate-sources</phase>
            <goals>
                <goal>add-source</goal>
            </goals>
            <configuration>
                <sources>
                    <source>src/main/java</source>
                </sources>
            </configuration>
        </execution>
    </executions>
</plugin>

2018/6/21

#水·滴# 使用VS创建MVC Controller时报错:

EntityType 'XXXXX' has no key defined. Define the key for this EntityType。

可能是以下几种原因:

  • 0、必须要有关键字属性;
  • 1、属性名需为id,否则在上面使用[Key]注解;
  • 2、关键字应为属性,不能是字段,没有get/set也会报错;
  • 3、关键字需public;
  • 4、关键字需要 CLS-compliant 类型,意味着无符号类型,如:uint, ulong 等等都不可以;
  • 5、关键字名称冲突,如xId,yId等,需通过[Key]注解注明;
  • 6、奇葩的一个,你新建实体类,但是没有build也会造成这个错误。

2018/6/21

#水·滴# C#类字段属性区别:

字段一般用在类的内部使用,属性一般供外部类访问。按照类的设计原则,字段都是private的,只能在类的内部使用,如果是public的,那么外部类谁都有可能访问,对字段进行破坏性的修改,这是我们不希望看到的,所以字段一定是private的。

属性相当于是给字段加了一个保护套,如果想读这个字段的值,属性里面走的一定是get{},如果想给字段赋值,属性里一定走的是set{},那么程序员可以在get{}和set{}中增加一些限制,验证要赋值的内容,或者让某个字段只能读不能赋值(对应该字段的的属性只让它有get{},不写set{})。对于外部使用者来说只能够使用它,不能控制它,如何控制操作是由类自身决定的(或者说是由程序员决定的,嘿嘿~)。

另外,字段值可以用作ref、out参数,而属性不能。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏草根专栏

.NET Core 性能分析: xUnit.Performance 简介

 xunit-performance 是xUnit的一个扩展, 使用它可以对.NET Core项目进行性能测试。

611
来自专栏Golang语言社区

golang使用protobuf

为什么要使用protobuf 最近的项目中,一直使用Json做数据传输。Json用起来的确很方便。但相对于protobuf数据量更大些。做一个移动端应用,为用户...

4015
来自专栏LEo的网络日志

go语言动态库的编译和使用

4287
来自专栏自动化测试实战

Flask第一篇——URL详解

2766
来自专栏java 成神之路

从零手写RPC

2905
来自专栏安恒网络空间安全讲武堂

Sniper-OJ 练习平台多题WriteUp

题目 ### 图书管理系统(200) ### as fast as you can(50) ### md5-vs-injection(50) ### 2048...

4747
来自专栏IT派

PHP面试知识梳理

B树是为了磁盘或者其他存储设备而设计的一种多叉平衡查找树,相对于二叉树,B树的每个内节点有多个分支,即多叉。

653
来自专栏Seebug漏洞平台

D-Link DIR-605L 拒绝服务错误报告 (CVE-2017-9675)

原文:http://hypercrux.com/bug-report/2017/06/19/DIR605L-DoS-BugReport/ 译者:Serene ...

3296
来自专栏Linux驱动

15.linux-LCD层次分析(详解)

如果我们的系统要用GUI(图形界面接口),这时LCD设备驱动程序就应该编写成frambuffer接口,而不是像之前那样只编写操作底层的LCD控制器接口。 什么是...

1946
来自专栏python学习路

四、其它(一)ModelAdmin对象InlineModelAdmin对象重写admin模板Paginator对象Page对象示例

1802

扫码关注云+社区