??xml version="1.0" encoding="utf-8" standalone="yes"?>网络捕鱼游戏http://www.oiklr.tw/paulwong/archive/2020/01/15/435038.htmlpaulwongpaulwongWed, 15 Jan 2020 09:17:00 GMThttp://www.oiklr.tw/paulwong/archive/2020/01/15/435038.htmlhttp://www.oiklr.tw/paulwong/comments/435038.htmlhttp://www.oiklr.tw/paulwong/archive/2020/01/15/435038.html#Feedback0http://www.oiklr.tw/paulwong/comments/commentRss/435038.htmlhttp://www.oiklr.tw/paulwong/services/trackbacks/435038.htmlhttps://shapeshed.com/unix-du/




paulwong 2020-01-15 17:17 发表评论
]]>
SPRING INTEGRATION ERROR HANDLINGhttp://www.oiklr.tw/paulwong/archive/2020/01/10/435027.htmlpaulwongpaulwongFri, 10 Jan 2020 07:32:00 GMThttp://www.oiklr.tw/paulwong/archive/2020/01/10/435027.htmlhttp://www.oiklr.tw/paulwong/comments/435027.htmlhttp://www.oiklr.tw/paulwong/archive/2020/01/10/435027.html#Feedback0http://www.oiklr.tw/paulwong/comments/commentRss/435027.htmlhttp://www.oiklr.tw/paulwong/services/trackbacks/435027.htmlhttps://github.com/zakyalvan/spring-integration-java-dsl-learn

package com.jwebs.learn.errorhandling;

import java.util.Random;

import javax.jms.ConnectionFactory;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.integration.annotation.IntegrationComponentScan;
import org.springframework.integration.channel.PublishSubscribeChannel;
import org.springframework.integration.core.MessageSource;
import org.springframework.integration.dsl.IntegrationFlow;
import org.springframework.integration.dsl.IntegrationFlows;
import org.springframework.integration.dsl.core.Pollers;
import org.springframework.integration.dsl.jms.Jms;
import org.springframework.integration.support.MessageBuilder;
import org.springframework.messaging.MessagingException;

/**
 * Show how to handle error in spring integration flow.
 * Please note, errorChannel in spring integration only applicable to
 * error thrown in asynch component.
 * 
 * 
@author zakyalvan
 
*/
@SpringBootApplication
@IntegrationComponentScan
public class ErrorHandlingApplication {
    public static void main(String[] args) throws Exception {
        ConfigurableApplicationContext applicationContext = new SpringApplicationBuilder(ErrorHandlingApplication.class)
                .web(false)
                .run(args);
        
        Runtime.getRuntime().addShutdownHook(new Thread(() -> applicationContext.close()));
        
        System.out.println("Pres enter key to exit");
        System.in.read();
        System.exit(0);
    }

    @Autowired
    private ConnectionFactory connectionFactory;
    
    @Bean
    public MessageSource<Integer> randomIntegerMessageSource() {
        return () -> MessageBuilder.withPayload(new Random().nextInt()).build();
    }
    
    @Bean
    public IntegrationFlow withErrorFlow() {
        return IntegrationFlows.from(randomIntegerMessageSource(), spec -> spec.poller(Pollers.fixedDelay(1000)))
                    .handle(Jms.outboundGateway(connectionFactory)
                    .requestDestination("processor.input")
                    .replyContainer(spec -> spec.sessionTransacted(true)))
                    .get();
    }
    
    @Autowired
    @Qualifier("errorChannel")
    private PublishSubscribeChannel errorChannel;
    
    @Bean
    public IntegrationFlow errorHandlingFlow() {
        return IntegrationFlows.from(errorChannel)
                .handle(message -> System.out.println("@@@@@@@@@@@@@@@@@@@@@" + ((MessagingException) message.getPayload()).getFailedMessage().getPayload()))
                .get();
    }
}


paulwong 2020-01-10 15:32 发表评论
]]>
APM资源http://www.oiklr.tw/paulwong/archive/2019/12/30/435006.htmlpaulwongpaulwongMon, 30 Dec 2019 08:50:00 GMThttp://www.oiklr.tw/paulwong/archive/2019/12/30/435006.htmlhttp://www.oiklr.tw/paulwong/comments/435006.htmlhttp://www.oiklr.tw/paulwong/archive/2019/12/30/435006.html#Feedback0http://www.oiklr.tw/paulwong/comments/commentRss/435006.htmlhttp://www.oiklr.tw/paulwong/services/trackbacks/435006.htmlhttps://my.oschina.net/10000000000/blog/3119697

监控理之Spring Boot Admin使用
https://my.oschina.net/xiedeshou/blog/2051625


https://my.oschina.net/janlle/blog/3040749

paulwong 2019-12-30 16:50 发表评论
]]>
微服?|关http://www.oiklr.tw/paulwong/archive/2019/12/30/435005.htmlpaulwongpaulwongMon, 30 Dec 2019 08:44:00 GMThttp://www.oiklr.tw/paulwong/archive/2019/12/30/435005.htmlhttp://www.oiklr.tw/paulwong/comments/435005.htmlhttp://www.oiklr.tw/paulwong/archive/2019/12/30/435005.html#Feedback0http://www.oiklr.tw/paulwong/comments/commentRss/435005.htmlhttp://www.oiklr.tw/paulwong/services/trackbacks/435005.htmlhttps://felord.cn/kong-api-gateway.html

云原生网?Kong 和Kong 理UI Konga的完全安装攻?br />https://felord.cn/kong-and-konga-install.html






paulwong 2019-12-30 16:44 发表评论
]]>
2020 qY件开发趋劉K有哪些Q?/title><link>http://www.oiklr.tw/paulwong/archive/2019/12/30/435004.html</link><dc:creator>paulwong</dc:creator><author>paulwong</author><pubDate>Mon, 30 Dec 2019 01:09:00 GMT</pubDate><guid>http://www.oiklr.tw/paulwong/archive/2019/12/30/435004.html</guid><wfw:comment>http://www.oiklr.tw/paulwong/comments/435004.html</wfw:comment><comments>http://www.oiklr.tw/paulwong/archive/2019/12/30/435004.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.oiklr.tw/paulwong/comments/commentRss/435004.html</wfw:commentRss><trackback:ping>http://www.oiklr.tw/paulwong/services/trackbacks/435004.html</trackback:ping><description><![CDATA[<h3>基础设施Q条条道路通云?/h3><p data-spm-anchor-id="a2c6h.13066369.0.i12.58da6e62uYEUBC" style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">对于云厂商来_2019 q是果累篏的一q。不仅初创公司在使用云计,那些很注重安全的“保守z?#8221;公司Q如政府机构、医疗保健机构、银行、保险公司,甚至是美国五角大|也在q移C端。这U趋势在 2020 q将会l,大大小的公叔R(或者至有计划Q迁Ud云端。Gartner 公司最q发布了一个数字:</p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;"><img src="https://ucc.alicdn.com/pic/developer-ecology/0bfef0510c1348c6818e7c0fd62e1c0d.png" alt="image.png" style="-webkit-tap-highlight-color: transparent; box-sizing: content-box; border: 0px none; background-color: rgba(255, 255, 255, 0.1); max-width: 100%; height: auto;" /></p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">如果你是一个还在考虑要不要迁Ud云端的决{者,不妨重新审视一下你的策略。如果你是一个独立开发者,q且q没使用q云基础设施Q那么完全可以在 2020 q尝试一下。很多大型的云厂商(如亚马逊、微软、谷歌)都提供了免费的体验机会。谷歌在q方面做得特别大方,它提供了价?300 元的一q免Ҏ务?/p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;"><img src="https://ucc.alicdn.com/pic/developer-ecology/913339f136434be5af191c738af7c0e2.png" alt="image.png" style="-webkit-tap-highlight-color: transparent; box-sizing: content-box; border: 0px none; background-color: rgba(255, 255, 255, 0.1); max-width: 100%; height: auto;" /></p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">{划注:阉K、腾讯、华为等国内云厂商同h免费云服务试用品?/p><h3>云^収ͼ亚马逊领_其他跟上</h3><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">作ؓW一大云厂商Q亚马逊在 2019 q可谓风生水赗凭借其丰富的品组合,亚马逊将把它的优势gl到 2020 q。Canalys 发布?2019 q第三季度报告指出,大型云厂商(AWS、Azure、GCPQ占?56% 的市Z额,其中 AWS 独n 32.6%?/p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;"><img src="https://ucc.alicdn.com/pic/developer-ecology/d34f6d455f5f45a9b3ba05e90355765f.png" alt="image.png" style="-webkit-tap-highlight-color: transparent; box-sizing: content-box; border: 0px none; background-color: rgba(255, 255, 255, 0.1); max-width: 100%; height: auto;" /></p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">其他云厂商也在努力羃短与 AWS 之间的差距。微软把主要目标转向了大型企业。最q,微Y打|了亚马逊,从美国五角大楼拿C一?100 亿美元的大单子。这个单子将提升 Azure 的声誉,同时削弱 AWS 的士气?/p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;"><img src="https://ucc.alicdn.com/pic/developer-ecology/a444952dda9040ef9a308aa08e6e3d8e.png" alt="image.png" style="-webkit-tap-highlight-color: transparent; box-sizing: content-box; border: 0px none; background-color: rgba(255, 255, 255, 0.1); max-width: 100%; height: auto;" /></p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">h一直在推动 CNCFQ实C计算q维的标准化。谷歌的长期目标是让云迁Ud得更ҎQ方便企业从 AWS q移?GCP。IBM 之前斥资 360 亿美元收购了 RedHatQ也惌在云计算市场占有一席之地?/p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;"><img src="https://ucc.alicdn.com/pic/developer-ecology/ce9de1c45cf4433cbd2738a0a3cce835.png" alt="image.png" style="-webkit-tap-highlight-color: transparent; box-sizing: content-box; border: 0px none; background-color: rgba(255, 255, 255, 0.1); max-width: 100%; height: auto;" /></p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">在亚太地区,阉K云市模超q了 AWS、Azure 的dQ全球排名第三。中国国内腾讯云{企业的增长势头也十分迅猛?/p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">2020 q将出现更多的ƈ购。当Ӟ很多初创公司会带来新的x和创斎ͼ例如多云服务。因为竞争激烈,q些公司只能从降价和推出更多的创C品来获取利润?/p><h3>容器化:Kubernetes 会更酷</h3><p data-spm-anchor-id="a2c6h.13066369.0.i4.58da6e62uYEUBC" style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">在容器编排领域,虽然一度出C“三鼎立”QKubernetes、Docker Swarm ?MesosQ,?Kubernetes 最l脱颖而出Q成为绝对的赢家。云是一个分布式pȝQ?Kubernetes 是它?OSQ分布式?LinuxQ?019 q北?KubeCon+CloudNativeCon 大会的参会者达C 12000 名,?2018 q增长了 50%。以下是q去 4 q参会h数的增长情况?/p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;"><img src="https://ucc.alicdn.com/pic/developer-ecology/46dc555bee9d4314b11e2690aaa38101.png" alt="image.png" style="-webkit-tap-highlight-color: transparent; box-sizing: content-box; border: 0px none; background-color: rgba(255, 255, 255, 0.1); max-width: 100%; height: auto;" /></p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">?2020 q_Kubernetes 不仅不会后退Q只会变得越来越强,你完全可以把赌注压在 Kubernetes w上。另外值得一提的是,Migrantis 最q收购了 Docker EnterpriseQ不q收购数额不详?/p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;"><img src="https://ucc.alicdn.com/pic/developer-ecology/18a7dc3b400f4d85b988313526c8534c.png" alt="image.png" style="-webkit-tap-highlight-color: transparent; box-sizing: content-box; border: 0px none; background-color: rgba(255, 255, 255, 0.1); max-width: 100%; height: auto;" /></p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">几年前,Z张口闭口说的都是 DockerQ而现在换成了 Kubernetes。Docker 在它的全盛时期未能盈利,反而在优势渐退几年之后才尝试变现。这再次说明Q在C技术世界,时机是一切?/p><h3>软g架构Q微服务成Z?/h3><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">h势表明Q微服务架构范式?2019 q持l增长了一整年?/p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;"><img src="https://ucc.alicdn.com/pic/developer-ecology/07577b66d9b540998ede0f6ebc846ac6.png" alt="image.png" style="-webkit-tap-highlight-color: transparent; box-sizing: content-box; border: 0px none; background-color: rgba(255, 255, 255, 0.1); max-width: 100%; height: auto;" /></p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">随着软g行业整体逐步q移C端,微服务也成为占dC的架构范式。微服务架构崛v的一个主要原因是它与云原生完契合,可以实现快速的软g开发。我在之前的一博文中解释了微服务架构的基本原则及其优势和劣势?/p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">https://towardsdatascience.com/microservice-architecture-a-brief-overview-and-why-you-should-use-it-in-your-next-project-a17b6e19adfd</p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">我假讄在也存在一U回归到单体架构的趋势,因ؓ在很多情况下Q微服务架构有点q头了,而且做好微服务架构设计其实很难。微服务架构有哪些好的实践?在之前的另一博文中Q我也给Z一些大概,希望对读者有用?/p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">https://towardsdatascience.com/effective-microservices-10-best-practices-c6e4ba0c6ee2</p><h3>~程语言Q整体)QPython 吞噬世?/h3><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">机器学习、数据分析、数据处理、Web 开发、企业Y件开发,甚至是拼接黑z照片,Python 的媄子无处不在?/p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">在著名的~程语言排行榜网?TIOBE 上,Python 位居最行~程语言W三位,仅次?Java ?C 语言?/p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;"><img src="https://ucc.alicdn.com/pic/developer-ecology/22dbb6f358cc4c46855442435ee4f0dc.png" alt="image.png" style="-webkit-tap-highlight-color: transparent; box-sizing: content-box; border: 0px none; background-color: rgba(255, 255, 255, 0.1); max-width: 100%; height: auto;" /></p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">更有意思的是,?2019 q_Python 的流行度M一番(?5% ?10%Q?/p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">Python 的崛起将?2020 qgl,q羃短与 Java ?C 语言之间的差距。另一门无所不在的编E语a JavaScript 正面临下行的风险。ؓ什?Python 的势头会如此强劲Q因为它的入手门槛低Q有一个优U的社区在支持Qƈ受到数据U学家和新生代开发者的喜爱?/p><h3>~程语言Q企业方面)QJava 占d</h3><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">之前?TIOBE |站截图昄QJava 仍然是一门占dC的编E语aQƈ在 2020 ql保持这U地位。JVM ?Java 的基矻I其他~程语言Q如 Kotlin、Scala、Clojure、GroovyQ也?JVM 作ؓq行时。最q,Oracle 修改?JVM 的许可协议?/p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;"><img src="https://ucc.alicdn.com/pic/developer-ecology/4d28c879c0c0427bb7a134d13bb9e206.png" alt="image.png" style="-webkit-tap-highlight-color: transparent; box-sizing: content-box; border: 0px none; background-color: rgba(255, 255, 255, 0.1); max-width: 100%; height: auto;" /></p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">新的许可协议意味着使用 Java、Kotlin、Scala 或其?JVM ~程语言的公叔R要向 Oracle 支付大额费用。所q的是,OpenJDK ?JVM l箋免费。另外,q有其他一些公ؓ JVM 提供企业支持?/p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;"><img src="https://ucc.alicdn.com/pic/developer-ecology/eb1bc539b6e24a7fbd6f541c0493df0a.png" alt="image.png" style="-webkit-tap-highlight-color: transparent; box-sizing: content-box; border: 0px none; background-color: rgba(255, 255, 255, 0.1); max-width: 100%; height: auto;" /></p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">因ؓ体积和速度斚w的问题,Z JVM 的编E语aq不适合用在今天的无服务器环境中。Oracle 正在推动 GraalVM 计划Q旨在让 Java 变得更加敏捷和快速,让它更适合用在无服务器环境中。因为除?JavaQ没有其他编E语a可以提供企业U的E_性和可靠性,所?Java 在 2020 ql占dC?/p><h3>企业?JavaQSpring l箋发力</h3><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">曑և何时Q在企业开发领域,Spring ?JavaEE 之间存在着白热化的竞争。但因ؓ Oracle ?JavaEE 斚w没有作ؓQ在竞争中惨败,q导致了“MicroProfile”计划的Ş成,q最l促成了 JakartaEE?/p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">虽然所有的政策和活动都是围l?JavaEE 展开Q但 Spring 事实上已l赢得了q场企业 JVM 之争?020 q_Spring 成?JVM 生态系l的头牌?/p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">有两个正在进展中的项目,它们旨在减小 Java 的体U,让它更适合用在无服务器环境中?/p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">其中一个是 MicronautQhttps://micronaut.io/Q?/p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;"><img src="https://ucc.alicdn.com/pic/developer-ecology/3181542535da411e94dac5f548148541.png" alt="image.png" style="-webkit-tap-highlight-color: transparent; box-sizing: content-box; border: 0px none; background-color: rgba(255, 255, 255, 0.1); max-width: 100%; height: auto;" /></p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">另一个是 QuarkusQhttps://quarkus.io/Q?/p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;"><img src="https://ucc.alicdn.com/pic/developer-ecology/0666532c3a5a43ee9e92698f2c0296b3.png" alt="image.png" style="-webkit-tap-highlight-color: transparent; box-sizing: content-box; border: 0px none; background-color: rgba(255, 255, 255, 0.1); max-width: 100%; height: auto;" /></p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">q两个项目都使用?GraalVMQ它们在 2020 q将会得?Java C֌更多的关注?/p><h3>~程语言Q后起之U的突?/h3><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">2000 q代Q编E语a的发展出C停滞。大多数为没有必要再d发新的编E语aQJava、C 语言、C++、JavaScript ?Python 已经可以满所有的需求。但是,h?Go 语言为新~程语言大门打开了一扇大门。在q去十年出现了很多有的~程语言Q比?Rust、Swift、Kotlin、TypeScript。导致这U情늚一个主要原因是已有的编E语a无法充分利用g优势Q例如多核、更快的|络、云Q。另一个原因是C~程语言更加x开发者经,卛_现更快速更Ҏ的开发。在 Stackoverflow 提供的一份开发者报告中Q排名靠前的C~程语言如下所C(Rust q箋 4 q名列第一Q?/p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;"><img src="https://ucc.alicdn.com/pic/developer-ecology/85bd1d2f808a45ab92a71f12764f9126.png" alt="image.png" style="-webkit-tap-highlight-color: transparent; box-sizing: content-box; border: 0px none; background-color: rgba(255, 255, 255, 0.1); max-width: 100%; height: auto;" /></p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">在之前的一博文中Q我深入探讨了现代编E语aQ对?Rust ?Go 语言Qƈ说明了ؓ什么现在是采用q些语言的好时机?/p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">https://towardsdatascience.com/back-to-the-metal-top-3-programming-language-to-develop-big-data-frameworks-in-2019-69a44a36a842</p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">最q,微Y宣布他们在探索?Rust 来开发更安全的Y件?/p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;"><img src="https://ucc.alicdn.com/pic/developer-ecology/b4bfc8e1fb7b437490569b80dac3a214.png" alt="image.png" style="-webkit-tap-highlight-color: transparent; box-sizing: content-box; border: 0px none; background-color: rgba(255, 255, 255, 0.1); max-width: 100%; height: auto;" /></p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">亚马逊最q也宣布要赞?Rust?/p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;"><img src="https://ucc.alicdn.com/pic/developer-ecology/85329fe3c4b54a28811d1cd4ec9aa0ab.png" alt="image.png" style="-webkit-tap-highlight-color: transparent; box-sizing: content-box; border: 0px none; background-color: rgba(255, 255, 255, 0.1); max-width: 100%; height: auto;" /></p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">h宣布?Kotlin 作ؓ Android 官方开发语aQ所以,?JVM 领域QKotlin 成了 Java 的主要竞争对手?/p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;"><img src="https://ucc.alicdn.com/pic/developer-ecology/256f853fa72e4f42ac432d61df0d2be0.png" alt="image.png" style="-webkit-tap-highlight-color: transparent; box-sizing: content-box; border: 0px none; background-color: rgba(255, 255, 255, 0.1); max-width: 100%; height: auto;" /></p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">Angular 使用 TypeScript 代替 JavaScriptQ将其作Z要的~程语言Q其?JavaScript 框架Q如 React ?VueQ也开始ؓ TypeScript 提供更多的支持?/p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">q种势在 2020 qgl下去,很多巨头公司会深入了解C代编E语aQ如 Rust、Swift、TypeScript、KotlinQ,它们会站出来公开表示支持?/p><h3>WebQJavaScript l箋占主导地?/h3><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">曑և何时QJavaScript q不被认为是一门强大的~程语言。在当时Q前端内容主要通过后端框架在服务器端进行渲染?014 q_AngularJS 的出现改变了q种局面。从那个时候开始,更多?JavaScript 框架开始涌玎ͼAngular 2+、React、Vue、MeteorQ,JavaScript 已然成ؓL?Web 开发语a。随着 JavaScript 框架不断创新以及微服务架构的崛vQJavaScript 框架?2020 q将l箋d前端开发?/p><h3>JavaScript 框架QReact 闪耀</h3><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">虽然 React 是在 AngularJS 之后出现的,但在q去十年?Web 开发生了巨大的媄响,q也?Facebook 在与 Google+ 的竞争中打了一战。React 为前端开发带来了一些新的想法,比如事g溯源、虚?DOM、单向数据绑定、基于组件的开发,{等。它对开发者社Z生了重大影响Q以至于h攑ּ?AngularJSQƈ借鉴 React 的想法推Zd重写?Angular 2+。React 是目前ؓ止最为流行的 JavaScript 框架Q下图显CZ相关?NPM 下蝲l计信息?/p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;"><img src="https://ucc.alicdn.com/pic/developer-ecology/9d351058b1de4807a2a8ae3c87078888.png" alt="image.png" style="-webkit-tap-highlight-color: transparent; box-sizing: content-box; border: 0px none; background-color: rgba(255, 255, 255, 0.1); max-width: 100%; height: auto;" /></p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">Z获得更好的ƈ发和用户体验QFacebook 宣布完全重写 React 的核心算法,推出?React-Fiber 目?/p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;"><img src="https://ucc.alicdn.com/pic/developer-ecology/6fd523518e6444a2a3231a49bd2fbff6.png" alt="image.png" style="-webkit-tap-highlight-color: transparent; box-sizing: content-box; border: 0px none; background-color: rgba(255, 255, 255, 0.1); max-width: 100%; height: auto;" /></p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">2020 q_React 仍然是你开发新目的首?Web 框架。其他框Ӟ?Angular/Angular 2+ ?VueQ呢QAngular 仍然是一个不错的 Web 开发框Ӟ特别适合企业开发。我敢肯定谷歌在未来几年会在 Angular 上加大投入。Vue 是另一个非常流行的 Web 框架Q由中国的巨头公叔R里巴巴提供支持。如果你已经在?Angular ?VueQ就没必要再q移?React 了?/p><h3>App 开发:原生应用</h3><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">在移?App 开发方面,有关混合应用开发的炒作有所消停。؜合开发提供了更快的开发速度Q因为只需要一个开发团队,而不是多个。但原生应用提供了更好的用户体验和性能。另外,混合应用需要经q调整才能用一些高U特性。对于企业来_原生应用仍然是首选的解决ҎQ这U趋势将?2020 qgl。Airbnb 在一博文中非常详细地说明了Z么他们要攑ּ混合应用开发^?React Native?/p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">https://medium.com/airbnb-engineering/sunsetting-react-native-1868ba28e30a</p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">管 Facebook 试改进 React NativeQ谷歌也非常努力地推动؜?App 开发^?FlutterQ但它们仍然只适合用于原型、POC、MVP 或轻量应用的开发。所以,原生应用?2020 q仍l占dC?/p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">在原生应用开发方面,h和苹果分别将 Kotlin ?Swift 作ؓ各自q_主要的编E语a。谷歌最q再ơ重申了?Kotlin 的支持,q对?Kotlin 用户来说无疑是个好消息?/p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;"><img src="https://ucc.alicdn.com/pic/developer-ecology/f35d8fda69394f4abbd04064ca8257a0.png" alt="image.png" style="-webkit-tap-highlight-color: transparent; box-sizing: content-box; border: 0px none; background-color: rgba(255, 255, 255, 0.1); max-width: 100%; height: auto;" /></p><h3>混合应用开发:React Native</h3><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">在很多情况下Q؜合应用是个不错的选择。在q方面也有很多选择QXamarin、Inoic、React Native ?Flutter。Facebook Z成熟?React 框架推出?React Native。就?React ?Web 框架领域占据dC一PReact Native 在؜合应用领域也占据着dCQ如下图所C?/p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;"><img src="https://ucc.alicdn.com/pic/developer-ecology/a81452d3794b4a55bcac6fe87bccdc8d.png" alt="image.png" style="-webkit-tap-highlight-color: transparent; box-sizing: content-box; border: 0px none; background-color: rgba(255, 255, 255, 0.1); max-width: 100%; height: auto;" /></p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">React Native ?React 有共同的基因Q都提供了高度的代码重用性以?#8220;一ơ开发,到处q行”的能力。React Native 的另一个优势是 Facebook 本n也用它来开发移动应用。谷歌在q个领域h较晚Q但在去q_h的؜合应用开发框?Flutter 获得了不关注。Flutter 提供了更好的性能Q但需要用另一门不是那么流行的~程语言 Dart。React Native ?2020 q将l箋占主导地位?/p><h3>APIQREST 占dC</h3><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">REST ?API 领域事实上的标准Q被q泛用在Z API 的服务间通信上。当Ӟ除了 RESTQ我们还有其他选择Q比如来自谷歌的 gRPC 和来?Facebook ?GraphQL?/p><p data-spm-anchor-id="a2c6h.13066369.0.i7.58da6e62uYEUBC" style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">它们提供了不同的能力。谷歌开发的 gRPC 作ؓq程q程调用Q如 SOAPQ的化nQ?Protobuf 代替 JSON 作ؓ消息格式。Facebook 开发的 GraphQL 作ؓ一个集成层Q避免频J的 REST 调用。gRPC ?GraphQL 都在各自的领域取得了成功?020 q_REST 仍然是占dC?API 技术,?GraphQL ?gRPC 作充技术?/p><h3>人工QTensorflow 2.0 占dC</h3><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">h?Facebook 也是深度学习 / 经|络领域的主要玩家。谷歌基于深度学习框?Theano 推出?TensorFlowQ它很快成为深度学?/ 经|络的主要开发库。谷歌还推出了特别设计的 GPUQTPUQ来加?TensorFlow 的计?/p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">Facebook 在深度学习领域也不甘落后Q他们拥有世界上最大的囑փ和视频数据集合。Facebook Z另一个深度学习库 Torch 推出了深度学习库 PyTorch。TensorFlow ?PyTorch 之间有一些区别,前者用的是静态图q行计算Q?PyTorch 使用的是动态图。用动态图的好处是可以在运行时U正自己。另外,PyTorch ?Python 支持更好Q?Python 是数据科学领域的一门主要编E语a?/p><p data-spm-anchor-id="a2c6h.13066369.0.i9.58da6e62uYEUBC" style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">随着 PyTorch 变得来流行,h也赶紧在 2019 q?10 月推Z TensorFlow 2.0Q也使用了动态图Q对 Python 的支持也更好?/p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;"><img src="https://ucc.alicdn.com/pic/developer-ecology/67f2d4c6eb9543c7b3f561c9ec8ebf0a.png" alt="image.png" style="-webkit-tap-highlight-color: transparent; box-sizing: content-box; border: 0px none; background-color: rgba(255, 255, 255, 0.1); max-width: 100%; height: auto;" /></p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">2020 q_TensorFlow 2.0 ?PyTorch 齐头ƈq。考虑?TensorFlow 拥有更大的社区,我估?TensorFlow 2.0 成为占dC的深度学习库?/p><h3>数据库:SQL是王?分布式SQL是王?/h3><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">在炒?NoSQL 的日子里Qh们嘲W?SQLQ还指出?SQL 的种U不뀂有很多文章?NoSQL 有多么的好,q将要取?SQL。但{到炒作的潮水褪去,Z很快意识到Q我们的世界不能没有 SQL。以下是最行的数据库的排名?/p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;"><img src="https://ucc.alicdn.com/pic/developer-ecology/6594d66494d1439b9b6e219d4efff102.png" alt="image.png" style="-webkit-tap-highlight-color: transparent; box-sizing: content-box; border: 0px none; background-color: rgba(255, 255, 255, 0.1); max-width: 100%; height: auto;" /></p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">可以看到QSQL 数据库占据了前四名。SQL 之所以占dCQ是因ؓ它提供了 ACID 事务保证Q?ACID 是业务系l最潜在的需求。NoSQL 数据库提供了横向伸羃能力Q但代h是不提供 ACID 保证?/p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">互联|公怸直在L“大师U数据库”Q也是既能提供 ACID 保证又能?NoSQL 那样可横向׾~的数据库。目前有两个解决Ҏ可以部分满?#8220;大师U数据库”的要求,一个是亚马逊的 AuroraQ一个是h?Spanner。Aurora 提供了几乎所有的 SQL 功能Q但不支持横向写伸羃Q?Spanner 提供了横向写伸羃能力Q但?SQL 支持得不好?/p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">2020 q_但愿q两个数据库能够走近Q或者有Z带来一?#8220;分布?SQL”数据库。如果真有h做到了,那一定要l他颁发囄奖?/p><h3>数据湖:MinIO 要崛v</h3><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">C数据q_非常的复杂。企业一般都会有支持 ACID 事务?OLTP 数据库(SQLQ,也会有用于数据分析的 OLAP 数据库(NoSQLQ。除此之外,它们q有其他各种数据存储pȝQ比如用于搜索的 Solr、ElasticSearchQ用于计的 Spark。企业基于数据库构徏自己的数据^収ͼ?OLTP 数据库的数据拯到数据湖中。各U类型的数据应用E序Q比?OLAP、搜索)数据湖作ؓ它们的事实来源?/p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">HDFS 原本是事实上的数据湖Q直C马逊推Z对象存储 S3。S3 可׾~,h便宜Q很快就成ؓ很多公司事实上的数据湖。?S3 唯一的问题是数据q_被紧紧地l定在亚马逊的 AWS 云^C。虽然微?Azure 推出?Blob StorageQ谷歌也有类似的对象存储Q但都不?S3 的对手?/p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">对于很多公司来说QMinIO 或许是它们的救星。MinIO 是一个开源的对象存储Q与 S3 兼容Q提供了企业U的支持Qƈ专门Z原生环境而构建,提供了与云无关的数据湖?/p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;"><img src="https://ucc.alicdn.com/pic/developer-ecology/258809d816b141dfb3448edd4ab5d9b8.png" alt="image.png" style="-webkit-tap-highlight-color: transparent; box-sizing: content-box; border: 0px none; background-color: rgba(255, 255, 255, 0.1); max-width: 100%; height: auto;" /></p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">微Y?Azure Marketplace 是这么描q?MinIO 的:“?Azure Blog Storage 服务提供与亚马?S3 API 兼容的数据访?#8221;。如果谷?GCP 和其他云厂商也提?MinIOQ那么我们将会向多云q出一大步?/p><h3>大数据批处理QSpark l闪耀</h3><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">现如今,企业通常需要基于大规模数据执行计算Q所以需要分布式的批处理作业。Hadoop ?Map-Reduce 是第一个分布式批处理^収ͼ后来 Spark 取代?Hadoop 的地位,成ؓ真正的批处理之王。Spark 是怎样提供了比 Hadoop 更好的性能的?我之前写了另一文章,对现代数据^台进行了深入分析?/p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">https://towardsdatascience.com/programming-language-that-rules-the-data-intensive-big-data-fast-data-frameworks-6cd7d5f754b0</p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">Spark 解决?Hadoop Map-Reduce 的痛点,它将所有东西放在内存中Q而不是在完成每一个昂늚操作之后把数据保存在存储pȝ中。尽?Spark 重度使用 CPU ?JVM 来执行批处理作业Q但qƈ不妨它成ؓ 2020 q批处理框架之王。我希望有h能够使用 Rust 开发出一个更加高效的批处理框Ӟ取代 SparkQƈZ业省下大量的云资源费用?/p><h3>大数据流式处理:Flink 是未?/h3><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">几年前,实现实时的流式处理几乎是不可能的事情。一些微Ҏ处理框架Q比?Spark StreamingQ可以提?#8220;几近”实时的流式处理能力。不q,Flink 改变了这一状况Q它提供了实时的式处理能力?/p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">2019 q之前,Flink 未能得到_的关注,因ؓ它无法撼?Spark。直?2019 q?1 月䆾Q中国巨头公叔R里巴巴收购了 Data ArtisanQFlink 背后的公司)?/p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;"><img src="https://ucc.alicdn.com/pic/developer-ecology/ac0bbdee81f849ab9c5f27752b0d72b1.png" alt="image.png" style="-webkit-tap-highlight-color: transparent; box-sizing: content-box; border: 0px none; background-color: rgba(255, 255, 255, 0.1); max-width: 100%; height: auto;" /></p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">?2020 q_企业如果惌q行实时式处理QFlink 应该是不二之选。不q,?Spark 一PFlink 同样重度依赖 CPU ?JVMQƈ且需要用大量的云资源?/p><h3>字节码:WebAssembly被q泛采用</h3><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">我从 JavaScript 作?Brandon Eich 的一ơ访谈中知道?WebAssembly q个东西。现?JavaScriptQES5 之后的版本)是一门优U的编E语aQ但与其他编E语a一P都有自己的局限性。最大的局限性是 JavaScript 引擎在执?JavaScript 旉要读取、解析和处理“抽象语法?#8221;。另一个问题是 JavaScript 的单U程模型无法充分利用CgQ如多核 CPU ?GPUQ。正因ؓq些原因Q很多计密集型的应用程序(如游戏?D 囑փQ无法运行在览器中?/p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">一些公司(?Mozilla 带领Q开发了 WebAssemblyQ一U底层字节码格式Q让M一门编E语a都可以在览器中q行。目前发布的 WebAssembly 版本可以支持 C++、Rust {?/p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;"><img src="https://ucc.alicdn.com/pic/developer-ecology/905b5e69be0e464ba62a95d2fe056554.png" alt="image.png" style="-webkit-tap-highlight-color: transparent; box-sizing: content-box; border: 0px none; background-color: rgba(255, 255, 255, 0.1); max-width: 100%; height: auto;" /></p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">WebAssembly 让计密集型应用E序Q比如游戏和 AutoCADQ可以在览器中q行。不q,WebAssembly 的目标不仅限于此Q它q要让应用程序可以在览器之外运行。WebAssembly 可以被用在以下这?#8220;览器外”的场景中?/p><ul style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; list-style-position: initial; list-style-image: initial; margin: 0px 0px 16px; padding: 0px 0px 0px 2em; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;"><li style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; margin: 0px; padding: 0px; list-style: inherit; line-height: 26px;">Ud讑֤上的混合原生应用?/li><li style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; margin: 0.25em 0px 0px; padding: 0px; list-style: inherit; line-height: 26px;">没有冷启动问题的无服务器计算?/li><li style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; margin: 0.25em 0px 0px; padding: 0px; list-style: inherit; line-height: 26px;">在服务器端执行不受信ȝ代码?br style="-webkit-tap-highlight-color: transparent; box-sizing: border-box;" />我预,2020 q将?WebAssembly 取得H破的一q_很多巨头公司Q包括云厂商Q和C֌会拥抱 WebAssembly?/li></ul><h3>代码Q低代码 / 无代码将更进一?/h3><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">快速的数字化和工业 4.0 革命意味着软g开发者的供需~口巨大。由于缺乏开发h员,很多企业无法实现它们的想法。ؓ了降低进入Y件开发的门槛Q可以尝试无代码QNo CodeQ或低代码(Low CodeQY件开发,也就是所谓的 LCNCQLow-Code No-Code)。它已经?2019 q取得了一些成功?/p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;"><img src="https://ucc.alicdn.com/pic/developer-ecology/5031e92ebc28440fb85e647450418ae8.png" alt="image.png" style="-webkit-tap-highlight-color: transparent; box-sizing: content-box; border: 0px none; background-color: rgba(255, 255, 255, 0.1); max-width: 100%; height: auto;" /></p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">LCNC 的目标是让没有编E经验的Z能开发YӞ只要他们惌实现自己的想法?/p><p style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin: 0px 0px 16px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff;">虽然我对在正式环境中使用 LCNC 框架仍然心存疑虑Q但它ؓ其他公司奠定了良好的基础Q像亚马逊和hq样的公司可以基于这个基构徏出有用的产品Q就?AWS Lambda 的蓬勃发展是以谷?App Engine 为基?/p><p data-spm-anchor-id="a2c6h.13066369.0.i10.58da6e62uYEUBC" style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; line-height: 26px; margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; background-color: #ffffff; margin-bottom: 0px !important;">2020 q_LCNC 会获得更多x?/p><img src ="http://www.oiklr.tw/paulwong/aggbug/435004.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.oiklr.tw/paulwong/" target="_blank">paulwong</a> 2019-12-30 09:09 <a href="http://www.oiklr.tw/paulwong/archive/2019/12/30/435004.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>How to provide a Spring Boot "fat JAR" with external dependencieshttp://www.oiklr.tw/paulwong/archive/2019/12/27/434997.htmlpaulwongpaulwongFri, 27 Dec 2019 07:47:00 GMThttp://www.oiklr.tw/paulwong/archive/2019/12/27/434997.htmlhttp://www.oiklr.tw/paulwong/comments/434997.htmlhttp://www.oiklr.tw/paulwong/archive/2019/12/27/434997.html#Feedback0http://www.oiklr.tw/paulwong/comments/commentRss/434997.htmlhttp://www.oiklr.tw/paulwong/services/trackbacks/434997.html
http://www.codevomit.xyz/bootlog/blog/how-to-provide-spring-boot-fat-jar


https://docs.spring.io/spring-boot/docs/current/reference/html/appendix-executable-jar-format.html

paulwong 2019-12-27 15:47 发表评论
]]>
解决?bin/bash^M: bad interpreter: No such file or directory?/title><link>http://www.oiklr.tw/paulwong/archive/2019/12/11/434955.html</link><dc:creator>paulwong</dc:creator><author>paulwong</author><pubDate>Wed, 11 Dec 2019 05:42:00 GMT</pubDate><guid>http://www.oiklr.tw/paulwong/archive/2019/12/11/434955.html</guid><wfw:comment>http://www.oiklr.tw/paulwong/comments/434955.html</wfw:comment><comments>http://www.oiklr.tw/paulwong/archive/2019/12/11/434955.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.oiklr.tw/paulwong/comments/commentRss/434955.html</wfw:commentRss><trackback:ping>http://www.oiklr.tw/paulwong/services/trackbacks/434955.html</trackback:ping><description><![CDATA[在执行shell脚本时提CL错误主要是由于shell脚本文g是dos格式Q即每一行结以\r\n来标识,而unix格式的文件行ֈ以\n来标识?br /> 查看脚本文g是dos格式q是unix格式的几U办法?br />Q?Qcat -A filename 从显C结果可以判断,dos格式的文件行ؓ^M$Qunix格式的文件行ؓ$?br />Q?Qod -t x1 filename 如果看到输出内容中存?d 0a的字W,那么文g是dos格式Q如果只?aQ则是unix格式?br />Q?Qvi filename打开文gQ执?: set ffQ如果文件ؓdos格式在显CZؓfileformat=dosQ如果是unxi则显CZؓfileformat=unix?br /><br /> 解决ҎQ?br />Q?Q用linux命odos2unix filenameQ直接把文g转换为unix格式<br />Q?Q用sed命osed -i -e 's/\r$//' filename 或?sed -i "s/^M//" filename直接替换l尾Wؓunix格式<br />Q?Qvi filename打开文gQ执?: set ff=unix 讄文g为unixQ然后执?wqQ保存成unix格式?img src ="http://www.oiklr.tw/paulwong/aggbug/434955.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.oiklr.tw/paulwong/" target="_blank">paulwong</a> 2019-12-11 13:42 <a href="http://www.oiklr.tw/paulwong/archive/2019/12/11/434955.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>防止在SPRING BOOT的配|文件中使用明文存储密码http://www.oiklr.tw/paulwong/archive/2019/11/26/434931.htmlpaulwongpaulwongTue, 26 Nov 2019 07:13:00 GMThttp://www.oiklr.tw/paulwong/archive/2019/11/26/434931.htmlhttp://www.oiklr.tw/paulwong/comments/434931.htmlhttp://www.oiklr.tw/paulwong/archive/2019/11/26/434931.html#Feedback0http://www.oiklr.tw/paulwong/comments/commentRss/434931.htmlhttp://www.oiklr.tw/paulwong/services/trackbacks/434931.htmlhttps://stackoverflow.com/questions/37404703/spring-boot-how-to-hide-passwords-in-properties-file

工作随笔——jasypt-spring-boot使用
https://www.cnblogs.com/zz0412/p/jasypt-001.html

Get史上最优雅加密方式Q没有之一Q?br />https://www.jianshu.com/p/64ceda636e81

使用Jasypt对SpringBoot配置文g加密
https://www.jianshu.com/p/323ec96c46d2




paulwong 2019-11-26 15:13 发表评论
]]>
Git版本控制与工作流http://www.oiklr.tw/paulwong/archive/2019/11/26/434929.htmlpaulwongpaulwongTue, 26 Nov 2019 03:21:00 GMThttp://www.oiklr.tw/paulwong/archive/2019/11/26/434929.htmlhttp://www.oiklr.tw/paulwong/comments/434929.htmlhttp://www.oiklr.tw/paulwong/archive/2019/11/26/434929.html#Feedback0http://www.oiklr.tw/paulwong/comments/commentRss/434929.htmlhttp://www.oiklr.tw/paulwong/services/trackbacks/434929.html

https://www.jianshu.com/p/67afe711c731


paulwong 2019-11-26 11:21 发表评论
]]>
GIT TAGhttp://www.oiklr.tw/paulwong/archive/2019/11/26/434928.htmlpaulwongpaulwongTue, 26 Nov 2019 02:57:00 GMThttp://www.oiklr.tw/paulwong/archive/2019/11/26/434928.htmlhttp://www.oiklr.tw/paulwong/comments/434928.htmlhttp://www.oiklr.tw/paulwong/archive/2019/11/26/434928.html#Feedback0http://www.oiklr.tw/paulwong/comments/commentRss/434928.htmlhttp://www.oiklr.tw/paulwong/services/trackbacks/434928.html如果要在 tag 代码的基上做修改Q你需要一个分支: 

通常TAG与Y件版本相对应Q即TAG名称用Y件版本号来表C?br />
软g版本的格式规范:
版本格式Q主版本?ơ版本号.修订P版本号递增规则如下Q?br />
ȝ本号Q当你做了不兼容?API 修改Q?br />ơ版本号Q当你做了向下兼容的功能性新增,
修订P当你做了向下兼容的问题修正?br />
先行版本号及版本~译信息可以加到“ȝ本号.ơ版本号.修订?#8221;的后面,作ؓ延?br />
Git打标{与版本控制规范
https://juejin.im/post/5b0531c6f265da0b7f44eb8c

git切换到某个tag
https://blog.csdn.net/DinnerHowe/article/details/79082769

git cherry-pick 把提交到A分支的部分commit 再提交到B分支?br />http://yijiebuyi.com/blog/0e65f4a59a1cfa05c5b30ccb6c2f413d.html



paulwong 2019-11-26 10:57 发表评论
]]>
Maven打包Ӟ环境变量替换,q解决spring-boot目?{}无效的问?/title><link>http://www.oiklr.tw/paulwong/archive/2019/11/20/434918.html</link><dc:creator>paulwong</dc:creator><author>paulwong</author><pubDate>Wed, 20 Nov 2019 08:12:00 GMT</pubDate><guid>http://www.oiklr.tw/paulwong/archive/2019/11/20/434918.html</guid><wfw:comment>http://www.oiklr.tw/paulwong/comments/434918.html</wfw:comment><comments>http://www.oiklr.tw/paulwong/archive/2019/11/20/434918.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.oiklr.tw/paulwong/comments/commentRss/434918.html</wfw:commentRss><trackback:ping>http://www.oiklr.tw/paulwong/services/trackbacks/434918.html</trackback:ping><description><![CDATA[<a href="https://www.jianshu.com/p/cf3bd9ddfe6f" target="_blank">https://www.jianshu.com/p/cf3bd9ddfe6f</a><br /><br /><img src ="http://www.oiklr.tw/paulwong/aggbug/434918.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.oiklr.tw/paulwong/" target="_blank">paulwong</a> 2019-11-20 16:12 <a href="http://www.oiklr.tw/paulwong/archive/2019/11/20/434918.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>LOGBACK FOR SPRINGhttp://www.oiklr.tw/paulwong/archive/2019/11/19/434914.htmlpaulwongpaulwongTue, 19 Nov 2019 07:14:00 GMThttp://www.oiklr.tw/paulwong/archive/2019/11/19/434914.htmlhttp://www.oiklr.tw/paulwong/comments/434914.htmlhttp://www.oiklr.tw/paulwong/archive/2019/11/19/434914.html#Feedback0http://www.oiklr.tw/paulwong/comments/commentRss/434914.htmlhttp://www.oiklr.tw/paulwong/services/trackbacks/434914.html
其中appender是用来输出日志,有file和console两个实现Qconsole则是向控制台输出日志Q而file则是向文件输出日志?br />rolling file appender中,有rollingPolicy和triggerPolicy两个主要属性,rollingPolicy是确定如何处理日志文Ӟ而triggerPolicy则是定何时处理日志文g?br />
如果要用SPRING针对LOGBACK的一些功能,如profile{,则要logback.xml的配|文件命名ؓlogback-spring.xmlQƈ在SPRING中配|,logging.config= logback-spring.xml?br />
SPRING会将logging.file、logging.pathq些配置转成pȝ变量LOG_FILE、LOG_PATHQ可在配|文件中直接引用Q如${LOG_FILE}?br />
如果logback配置文g要SPRING的其他属性,则要使用如下标签Q?br />
<springProperty scope="context" name="logLevel" source="log.level"/>

如果要用LOGBACK的一些常用属性,可引入:
<include resource="org/springframework/boot/logging/logback/defaults.xml"/>
<include resource="org/springframework/boot/logging/logback/console-appender.xml"/>
如CONSOLE APPENDERQ此resource在spring-boot-version.jar中?br />

=========================================
看完q个不会配置 logback Q请你吃瓜!
https://juejin.im/post/5b51f85c5188251af91a7525

logback解析——Appender
https://juejin.im/post/5a39c91cf265da4327185d10

SpringBoot中logback.xml使用application.yml中属?br />https://www.cnblogs.com/jianliang-Wu/p/8945343.html

springboot使用logback-spring.xml配置讲解
https://blog.csdn.net/heguiliang_123/article/details/80296745

Logback配置
https://www.cnblogs.com/cjsblog/p/9113131.html

Logback中如何自定义灉|的日志过滤规?br />https://www.jianshu.com/p/d6360c517264

Spring Boot中的日志
http://loveshisong.cn/%E7%BC%96%E7%A8%8B%E6%8A%80%E6%9C%AF/2016-11-03-Spring-Boot%E4%B8%AD%E7%9A%84%E6%97%A5%E5%BF%97.html

Spring Boot与logbackȝ
https://blog.csdn.net/u014527058/article/details/79667458

SpringBoot Logback 配置参数q移到配|中?Apollo
https://blog.csdn.net/shuaizai88/article/details/83027262


paulwong 2019-11-19 15:14 发表评论
]]>
MONGODB安装http://www.oiklr.tw/paulwong/archive/2019/11/15/434911.htmlpaulwongpaulwongFri, 15 Nov 2019 09:30:00 GMThttp://www.oiklr.tw/paulwong/archive/2019/11/15/434911.htmlhttp://www.oiklr.tw/paulwong/comments/434911.htmlhttp://www.oiklr.tw/paulwong/archive/2019/11/15/434911.html#Feedback0http://www.oiklr.tw/paulwong/comments/commentRss/434911.htmlhttp://www.oiklr.tw/paulwong/services/trackbacks/434911.html https://www.jianshu.com/p/d3b31b7aa182 

后箋初始化用户及数据?br />http://www.qianduan8.com/1786.html
https://zocada.com/setting-mongodb-users-beginners-guide/

如果要以认证的方式登录,需加以下内容至/etc/mongod.conf
security:
  authorization: enabled

如果用GUIq接数据库时Q不昄数据库列表,要加权限QlistDatabases
https://stackoverflow.com/questions/19458524/mongodb-show-dbs-and-show-log-without-clusteradmin-role



paulwong 2019-11-15 17:30 发表评论
]]>
Setting up ActiveMQ for HA-Load Balancehttp://www.oiklr.tw/paulwong/archive/2019/11/04/434897.htmlpaulwongpaulwongMon, 04 Nov 2019 08:14:00 GMThttp://www.oiklr.tw/paulwong/archive/2019/11/04/434897.htmlhttp://www.oiklr.tw/paulwong/comments/434897.htmlhttp://www.oiklr.tw/paulwong/archive/2019/11/04/434897.html#Feedback0http://www.oiklr.tw/paulwong/comments/commentRss/434897.htmlhttp://www.oiklr.tw/paulwong/services/trackbacks/434897.html
In a typical enterprise applications, we often need messaging and asynchronous processing.
To satisfy this need, we need a reliable as well as scalable messaging infrastructure. In currently available messaging infrastructures Apache ActiveMQ stands out in terms of features and simplicity.

Apache ActiveMQ comes with lot of features in built and also provides a way to configure or tweak as per the needs of an application.

In this post , we will explore how to enable network of activeMQ brokers so that we achieve HA(High Availability) as well as load balance between consumers & producers.

I carried out  my experiment on local machine with ACtiveMQ 5.8.0, but this can be easily upgraded to latest versions of ActiveMQ viz. 5.10.0

To have network of brokers, we need multiple brokers. So, I changed tcp and admin ports of brokers so that I can run multiple brokers on single machine.

To get brief background on network of broker, please visit this link

In this post we will setup below topology, we will mix failover and NOB to get work done,

1. Producer1 is configured to send messages to broker3 with failover to broker2
2. Producer2 is configured to send messages to broker2 with failover to broker3
3. Broker3, Broker2 are networked with Broker1as below


4. Broker1 is connected with broker4 with NOB.
5. Make sure you enable "advisorySupport" on the broker, which is essential for transparent routing of messages across brokers.
Dry Run:
1. Producer1 sends messages to queue "input.q" on broker3, where there are no active consumers, but it see subscriptions from broker1
2. Broker1 and broker 4 are has consumers which are looking at "input.q".
3. When broker3 receives a message it forwards it to broker1, as its in networked and has active consumers for "input.q" 
4. When broker1 receives a messages on "input.q", it gets load balanced between broker1 and broker4  as both has consumers looking for "input.q".
5. Whenever broker3 goes down, producer1 switches transparently to broker2, as its configured with failover.
6. I used prefetch size as 1, so that you can load balancing on consumers
Sample activemq configurations can be downloaded from here.


paulwong 2019-11-04 16:14 发表评论
]]>
ACTIVE MQ HAhttp://www.oiklr.tw/paulwong/archive/2019/11/01/434889.htmlpaulwongpaulwongFri, 01 Nov 2019 02:46:00 GMThttp://www.oiklr.tw/paulwong/archive/2019/11/01/434889.htmlhttp://www.oiklr.tw/paulwong/comments/434889.htmlhttp://www.oiklr.tw/paulwong/archive/2019/11/01/434889.html#Feedback0http://www.oiklr.tw/paulwong/comments/commentRss/434889.htmlhttp://www.oiklr.tw/paulwong/services/trackbacks/434889.html
ACTIVEMQ 只有MASTER-SLAVE模式Q集中的多个节点共享消息的存储Q多个节点同时启动时Q竞争消息存储的锁,谁先取得Q谁是MASTERQ当MASTER DOWN掉时Q锁被释放,SALVE中马上又竞争锁,取得者成为MASTER?br />
ҎQ?br />
  • 安装NFSV4
  • 修改消息存储路径
    <persistenceAdapter>
      <kahaDB directory="/sharedFileSystem/sharedBrokerData"/>
    </persistenceAdapter>
  • 客户端修改连接字W串
    failover://(tcp://master:61616,tcp://slave:61616)?randomize=false
--?img src="https://activemq.apache.org/assets/img/MasterFailed.png" alt="" />


https://my.oschina.net/hzchenyh/blog/716424

https://www.iteye.com/blog/shift-alt-ctrl-2069250

https://stackoverflow.com/questions/53542928/activemq-ha-on-failover

https://activemq.apache.org/shared-file-system-master-slave


paulwong 2019-11-01 10:46 发表评论
]]>
ACTIVEMQ讄预取消息数目http://www.oiklr.tw/paulwong/archive/2019/10/31/434888.htmlpaulwongpaulwongThu, 31 Oct 2019 03:28:00 GMThttp://www.oiklr.tw/paulwong/archive/2019/10/31/434888.htmlhttp://www.oiklr.tw/paulwong/comments/434888.htmlhttp://www.oiklr.tw/paulwong/archive/2019/10/31/434888.html#Feedback0http://www.oiklr.tw/paulwong/comments/commentRss/434888.htmlhttp://www.oiklr.tw/paulwong/services/trackbacks/434888.html

https://stackoverflow.com/questions/35928089/activemq-how-to-prevent-message-from-going-to-dispatched-queue


讄ҎQ在CONNECT STRING中设|:
tcp://localhost:61616?jms.prefetchPolicy.all=0 

tcp://localhost:61616?jms.prefetchPolicy.queuePrefetch=0 

queue = new ActiveMQQueue("TEST.QUEUE?consumer.prefetchSize=10"); 
consumer = session.createConsumer(queue);

http://activemq.apache.org/what-is-the-prefetch-limit-for.html

paulwong 2019-10-31 11:28 发表评论
]]>
SPRING INTEGRATION LESSONShttp://www.oiklr.tw/paulwong/archive/2019/10/25/434881.htmlpaulwongpaulwongFri, 25 Oct 2019 01:45:00 GMThttp://www.oiklr.tw/paulwong/archive/2019/10/25/434881.htmlhttp://www.oiklr.tw/paulwong/comments/434881.htmlhttp://www.oiklr.tw/paulwong/archive/2019/10/25/434881.html#Feedback0http://www.oiklr.tw/paulwong/comments/commentRss/434881.htmlhttp://www.oiklr.tw/paulwong/services/trackbacks/434881.htmlLessons

Introduction to Enterprise Application Integration

In our first lesson, you will get introduced to the concepts of Enterprise Application Integration. You will learn about the and Enterprise integration patterns that can be applied to simplify integration between different platforms and the Integration strategies that can be followed for this purpose. Finally, we will discuss how and why to implement a Message driven architecture and how to achieve both Synchronous and asynchronous communication among nodes.

Spring Integration Fundamentals

In this lesson, you will get to understand how Spring Integration works under the hood. The core concepts of Spring Integration messaging system (like message channels and endpoints) will be introduced. Additionally, the components that build the framework will be discussed, including the channel adapters, transformers, filters, routers etc. Finally, the two distinct methods of communication (synchronous and asynchronous) are explained and the lesson ends with a discussion on error handling.

Spring Integration and Web Services

In this lesson, we will focus on the integration with external web services. Spring Integration comes with the necessary functionality (adapters, channels etc.) to support web services out of the box. A full example is built from scratch in order to better understand the topic.

Enterprise Messaging

In this lesson, we will focus on integrating our application with JMS messaging. For this purpose, we will use Active MQ, which will be our broker. We will show examples of sending and receiving JMS messages by using the Spring Integration JMS channel adapters. Following these examples, we will see some ways of customizing these invocations by configuring message conversion and destination resolution.

Spring Integration Full Example

In this lesson, we will wrap everything up by providing a complete application that uses several of the components provided by Spring Integration in order to provide a service to its users. We will discuss the system architecture, the actual implementation and the relevant error handling.

Monitoring and Management

In this lesson, we will examine different mechanisms of monitoring or gathering more information about what is going on within the messaging system. Some of these mechanisms consist of managing or monitoring the application through MBeans, which are part of the JMX specification. Another mechanism discussed in this chapter is how we will implement the EIP idempotent receiver pattern using a metadata store. Finally, the last mechanism described is the control bus. This will let us send messages that will invoke operations on components in the application context.



paulwong 2019-10-25 09:45 发表评论
]]>
SPRING INTEGRATION DSL DEMOhttp://www.oiklr.tw/paulwong/archive/2019/10/23/434878.htmlpaulwongpaulwongWed, 23 Oct 2019 03:55:00 GMThttp://www.oiklr.tw/paulwong/archive/2019/10/23/434878.htmlhttp://www.oiklr.tw/paulwong/comments/434878.htmlhttp://www.oiklr.tw/paulwong/archive/2019/10/23/434878.html#Feedback0http://www.oiklr.tw/paulwong/comments/commentRss/434878.htmlhttp://www.oiklr.tw/paulwong/services/trackbacks/434878.htmlhttps://github.com/spring-projects/spring-integration/tree/master/src/reference/asciidoc

paulwong 2019-10-23 11:55 发表评论
]]>
2013粶Ϸ ŷϷ 广东快乐10分 11ѡ5ݱ 2017汾 北京快中彩 ӢɱƲ̨ ½35ѡ7ͼ Ʋ 2018 ϴȫ ʱָ ôƽ Ҫѧ׬Ǯ p62 ӹ ɹʱʱʿֱ ֲʻѡ