编程星球——水·滴20180624期

作者: 孙亖 | 来源:发表于2018-06-27 21:50 被阅读61次

    [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参数,而属性不能。

    快问码.jpg 微信群20180704前有效.png微信群20180704前有效.png

    相关文章

      网友评论

        本文标题:编程星球——水·滴20180624期

        本文链接:https://www.haomeiwen.com/subject/kuhsyftx.html