??xml version="1.0" encoding="utf-8" standalone="yes"?>棒球比分怎么算:BlogJava - 棒球比分大小怎么算|վ//www.355548.live/all专注于Java技?/description>zh-cnTue, 28 Jan 2020 20:04:00 GMTTue, 28 Jan 2020 20:04:00 GMT60Transform RemoteChunk to remote with json format in Spring Batch - 棒球比分大小怎么算|վ//www.355548.live/paulwong/archive/2020/01/21/435048.htmlpaulwongpaulwongTue, 21 Jan 2020 08:44:00 GMT//www.355548.live/paulwong/archive/2020/01/21/435048.html//www.355548.live/paulwong/comments/435048.html//www.355548.live/paulwong/archive/2020/01/21/435048.html#Feedback0//www.355548.live/paulwong/comments/commentRss/435048.html//www.355548.live/paulwong/services/trackbacks/435048.html
JsonToChunkRequestTransformer.java
package com.frandorado.springbatchawsintegrationslave.transformer;

import java.io.IOException;
import java.util.Collection;
import java.util.Map;
import java.util.stream.IntStream;

import org.springframework.batch.core.ExitStatus;
import org.springframework.batch.core.StepContribution;
import org.springframework.batch.core.StepExecution;
import org.springframework.batch.integration.chunk.ChunkRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.integration.aws.support.AwsHeaders;
import org.springframework.integration.json.JsonToObjectTransformer;
import org.springframework.messaging.Message;
import org.springframework.stereotype.Component;

import com.amazonaws.services.sqs.AmazonSQSAsync;
import com.fasterxml.jackson.databind.ObjectMapper;

@Component
public class JsonToChunkRequestTransformer extends JsonToObjectTransformer {
    
    private static final String MESSAGE_GROUP_ID_HEADER = "message-group-id";
    
    @Autowired
    AmazonSQSAsync amazonSQSAsync;
    
    @Override
    protected Object doTransform(Message<?> message) throws Exception {
        // ACK
        ack(message);
        
        return this.getMessageBuilderFactory().withPayload(buildChunkRequest(message)).setHeader(MESSAGE_GROUP_ID_HEADER, "unique").build();
    }
    
    private ChunkRequest buildChunkRequest(Message<?> message) throws IOException {
        Map map = new ObjectMapper().readValue(message.getPayload().toString(), Map.class);
        Map stepContributionMap = (Map) map.get("stepContribution");
        Map exitStatusMap = (Map) stepContributionMap.get("exitStatus");
        
        StepContribution stepContribution = new StepContribution(new StepExecution("null", null));
        ExitStatus exitStatus = new ExitStatus((String) exitStatusMap.get("exitCode"), (String) exitStatusMap.get("exitDescription"));
        
        IntStream.range(0, (Integer) stepContributionMap.get("readCount")).forEach(e -> stepContribution.incrementReadCount());
        stepContribution.incrementWriteCount((Integer) stepContributionMap.get("writeCount"));
        stepContribution.incrementFilterCount((Integer) stepContributionMap.get("filterCount"));
        stepContribution.incrementReadSkipCount((Integer) stepContributionMap.get("readSkipCount"));
        IntStream.range(0, (Integer) stepContributionMap.get("writeSkipCount")).forEach(e -> stepContribution.incrementWriteSkipCount());
        IntStream.range(0, (Integer) stepContributionMap.get("processSkipCount"))
                .forEach(e -> stepContribution.incrementProcessSkipCount());
        stepContribution.setExitStatus(exitStatus);
        
        return new ChunkRequest((Integer) map.get("sequence"), (Collection) map.get("items"), (Integer) map.get("jobId"), stepContribution);
    }
    
    private void ack(Message<?> message) {
        String receiptHandle = message.getHeaders().get(AwsHeaders.RECEIPT_HANDLE, String.class);
        String queue = message.getHeaders().get(AwsHeaders.QUEUE, String.class);
        String queueUrl = amazonSQSAsync.getQueueUrl(queue).getQueueUrl();
        
        amazonSQSAsync.deleteMessage(queueUrl, receiptHandle);
    }
}


JsonToChunkResponseTransformer.java
package com.frandorado.springbatchawsintegrationmaster.transformer;

import java.io.IOException;
import java.util.Map;

import org.springframework.batch.core.StepContribution;
import org.springframework.batch.core.StepExecution;
import org.springframework.batch.integration.chunk.ChunkResponse;
import org.springframework.integration.json.JsonToObjectTransformer;
import org.springframework.messaging.Message;
import org.springframework.stereotype.Component;

import com.fasterxml.jackson.databind.ObjectMapper;

@Component
public class JsonToChunkResponseTransformer extends JsonToObjectTransformer {
    
    @Override
    protected Object doTransform(Message<?> message) throws Exception {
        return buildChunkResponse(message);
    }
    
    private ChunkResponse buildChunkResponse(Message<?> message) throws IOException {
        Map map = new ObjectMapper().readValue(message.getPayload().toString(), Map.class);
        
        Integer jobId = (Integer) map.get("jobId");
        Integer sequence = (Integer) map.get("sequence");
        String messageContent = (String) map.get("message");
        Boolean status = (Boolean) map.get("successful");
        
        StepContribution stepContribution = new StepContribution(new StepExecution("-", null));
        
        return new ChunkResponse(status, sequence, Long.valueOf(jobId), stepContribution, messageContent);
    }
}

https://frandorado.github.io/spring/2019/07/29/spring-batch-aws-series-introduction.html
https://github.com/frandorado/spring-projects/tree/master/spring-batch-aws-integration/spring-batch-aws-integration-master/src/main/java/com/frandorado/springbatchawsintegrationmaster/transformer

paulwong 2020-01-21 16:44 发表评论
]]>
如何加CRON JOB到LINUX - 棒球比分大小怎么算|վ//www.355548.live/paulwong/archive/2020/01/21/435047.htmlpaulwongpaulwongTue, 21 Jan 2020 07:50:00 GMT//www.355548.live/paulwong/archive/2020/01/21/435047.html//www.355548.live/paulwong/comments/435047.html//www.355548.live/paulwong/archive/2020/01/21/435047.html#Feedback0//www.355548.live/paulwong/comments/commentRss/435047.html//www.355548.live/paulwong/services/trackbacks/435047.htmlhttps://linuxtools-rst.readthedocs.io/zh_CN/latest/tool/crontab.html


paulwong 2020-01-21 15:50 发表评论
]]>
爆米花A410更新及通过NFSҎmac资源 - 棒球比分大小怎么算|վ//www.355548.live/alwayscy/archive/2020/01/19/435044.html我爱佛_我爱佛_Sun, 19 Jan 2020 13:43:00 GMT//www.355548.live/alwayscy/archive/2020/01/19/435044.html//www.355548.live/alwayscy/comments/435044.html//www.355548.live/alwayscy/archive/2020/01/19/435044.html#Feedback0//www.355548.live/alwayscy/comments/commentRss/435044.html//www.355548.live/alwayscy/services/trackbacks/435044.html
惛_?3q买的A410Q应该升U一下,可官|都没了Q最后搜索到q个16q的最新固Ӟ
https://drivers.softpedia.com/get/DVD-BluRay-Media-Players/Cloud-Media/Cloud-Media-Popcorn-Hour-A-410-Media-Player-Firmware-050816061625POP425802.shtml
通过USB利更新了一把?br />
再查看mac可以开nfsQ方法如下:

sudo vi /etc/exports
加入Q?br />

/ -sec=sys

 

/Users /Users/popeye /Users/popeye/movies -ro -mapall=popeye:staff -alldirs

查配|:

sudo nfsd checkexports


重启Q?/p>

sudo nfsd restart

q里要注意movies目录是我重新建立?55权限Q不要用pȝ原来的目录,不然L讉K不了?br />
再到A410里网l浏览里p扑ֈ了?/span>







我爱佛_ 2020-01-19 21:43 发表评论
]]>
无题 - 棒球比分大小怎么算|վ//www.355548.live/lindaiyao11/archive/2020/01/16/435041.html瑶瑶瑶瑶Thu, 16 Jan 2020 14:40:00 GMT//www.355548.live/lindaiyao11/archive/2020/01/16/435041.html//www.355548.live/lindaiyao11/comments/435041.html//www.355548.live/lindaiyao11/archive/2020/01/16/435041.html#Feedback1//www.355548.live/lindaiyao11/comments/commentRss/435041.html//www.355548.live/lindaiyao11/services/trackbacks/435041.html后悔q,一直以为我们俩会相伴到老的Q但是没惛_真正的面对婚ȝzȝ我们Q失M恋爱时的那种怺包容Q相互欣赏对方的优点了,满眼都是Ҏ的缺点,各种不满。现在回惌v来,其实我们两个都不成熟Q所以面对生z,两个人都无法就Q变得不是志同道合了Q那时候的我害怕失MQ担心自q生活没有了他如何过下去Q因Z是我的全部,是我的天。但是,在一q的争吵和惶恐中Q我先提Z攑ּ彼此Q也是我狠心的结束了两个Z怼害的日子。那D|间我几乎每天睡眠都不?个小时后Q脱发,疼痛Q从那个时候vQ我好像记忆力开始衰退Q或者说我选择忘记一些不愿意去记住的那些悲伤的事情,逃避Q或多或的自暴自弃吧。十几年的相处时光,l不住生zȝ考验。现在想起依然痛Q痛d扉。。。。。?/div>
不知道自己需要什么,有时候真的对自己失望到底Q感觉自己活着没有M意义。。。。?/div>

瑶瑶 2020-01-16 22:40 发表评论
]]>IPFS问题 - 棒球比分大小怎么算|վ//www.355548.live/waterjava/archive/2020/01/16/435040.html狼爱上狸狼爱上狸Thu, 16 Jan 2020 06:44:00 GMT//www.355548.live/waterjava/archive/2020/01/16/435040.html//www.355548.live/waterjava/comments/435040.html//www.355548.live/waterjava/archive/2020/01/16/435040.html#Feedback0//www.355548.live/waterjava/comments/commentRss/435040.html//www.355548.live/waterjava/services/trackbacks/435040.html 1.?nbsp; "Gateway": "/ip4/127.0.0.1/tcp/8080"修改为:"Gateway": "/ip4/0.0.0.0/tcp/8080"Q这h机就可以?92.168WEB讉K了?/div>
2.把WINDOWS防火墙入站的8080端口打开Q这样在局域网p讉K了?/div>


狼爱上狸 2020-01-16 14:44 发表评论
]]>Linux and Unix du command tutorial with examples - 棒球比分大小怎么算|վ//www.355548.live/paulwong/archive/2020/01/15/435038.htmlpaulwongpaulwongWed, 15 Jan 2020 09:17:00 GMT//www.355548.live/paulwong/archive/2020/01/15/435038.html//www.355548.live/paulwong/comments/435038.html//www.355548.live/paulwong/archive/2020/01/15/435038.html#Feedback0//www.355548.live/paulwong/comments/commentRss/435038.html//www.355548.live/paulwong/services/trackbacks/435038.htmlhttps://shapeshed.com/unix-du/




paulwong 2020-01-15 17:17 发表评论
]]>
史上最强Android保活思\Q深入剖析腾讯TIM的进E永生技?/title><link>//www.355548.live/jb2011/archive/2020/01/14/435035.html</link><dc:creator>Jack Jiang</dc:creator><author>Jack Jiang</author><pubDate>Tue, 14 Jan 2020 06:33:00 GMT</pubDate><guid>//www.355548.live/jb2011/archive/2020/01/14/435035.html</guid><wfw:comment>//www.355548.live/jb2011/comments/435035.html</wfw:comment><comments>//www.355548.live/jb2011/archive/2020/01/14/435035.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>//www.355548.live/jb2011/comments/commentRss/435035.html</wfw:commentRss><trackback:ping>//www.355548.live/jb2011/services/trackbacks/435035.html</trackback:ping><description><![CDATA[     摘要: 1、引a随着Androidpȝ的不断升U,x通讯|技术群和社区里的IM和推送开发的E序员们Q对于进E保z这件事是越来越悲观Q必竟系l对各种保活黑科技的限制越来越多了Q想越pȝ的挚肘,隑ֺ来大。但保活qg事就?#8220;Ȁ?#8221;之后的余呻IL让hƲŞ不能Q想攑ּ又不甘心。那么,除了像上?020q了QAndroid后台保活q有戏吗Q看我如何优雅的实现Q》这L正经白名单方?..  <a href='//www.355548.live/jb2011/archive/2020/01/14/435035.html'>阅读全文</a><img src ="//www.355548.live/jb2011/aggbug/435035.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="//www.355548.live/jb2011/" target="_blank">Jack Jiang</a> 2020-01-14 14:33 <a href="//www.355548.live/jb2011/archive/2020/01/14/435035.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>2020.01.14 - 棒球比分大小怎么算|վ//www.355548.live/lukelyx/archive/2020/01/14/435034.html逐水而居逐水而居Mon, 13 Jan 2020 18:12:00 GMT//www.355548.live/lukelyx/archive/2020/01/14/435034.html//www.355548.live/lukelyx/comments/435034.html//www.355548.live/lukelyx/archive/2020/01/14/435034.html#Feedback0//www.355548.live/lukelyx/comments/commentRss/435034.html//www.355548.live/lukelyx/services/trackbacks/435034.html真的是个轮回吗?那年那天发生的事情,N惌l过一个轮回再ơ回朔?我只知道自己的心理状态肯定是Z问题的,不然不会如此喜爱夜深人静的凌晨?br />自己情感和精上的问题还是需要设法来解决Q无论是靠自p是外力。要么就是多l自己找事情做,覆盖自己的大脑皮层活跃区域,抑制它?br />12q_H然发现q是个有点可怕的数字Q再加上另一个伤感的数字2020-1990=30Q细l品呌q状态之下,居然感受C伤心、忧郁、负|、愧疚、害怕这么多层的情AQ?br />无论是重y?2Q还是重y?0Q都很可怕。或者说Q最可怕的其实是我不知道自q理智和感性最后谁能占据上风?br />我可以做到在人前压制情AQ展现我合理的一面,但是却需要一个缺口来释放自己的压力?br />很忧郁、很x,不知道靠自己能不能度q这一兟?br />我也不想变得现在q么随便和轻,完全q了曾l作为工E师的我的本心。还是说q才是本我?“30”的这一兛_实逃不掉?必然重蹈覆辙Q理智告诉我l对不可发生啊?br />不信鬼神Q但是却需要寻求一个精寄托,一个倾诉对象?img src ="//www.355548.live/lukelyx/aggbug/435034.html" width = "1" height = "1" />

逐水而居 2020-01-14 02:12 发表评论
]]>
【我的区块链之\? 谈一谈IPFS原理及玩?/title><link>//www.355548.live/waterjava/archive/2020/01/12/435032.html</link><dc:creator>狼爱上狸</dc:creator><author>狼爱上狸</author><pubDate>Sun, 12 Jan 2020 08:17:00 GMT</pubDate><guid>//www.355548.live/waterjava/archive/2020/01/12/435032.html</guid><wfw:comment>//www.355548.live/waterjava/comments/435032.html</wfw:comment><comments>//www.355548.live/waterjava/archive/2020/01/12/435032.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>//www.355548.live/waterjava/comments/commentRss/435032.html</wfw:commentRss><trackback:ping>//www.355548.live/waterjava/services/trackbacks/435032.html</trackback:ping><description><![CDATA[https://blog.csdn.net/qq_25870633/article/details/82027510<img src ="//www.355548.live/waterjava/aggbug/435032.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="//www.355548.live/waterjava/" target="_blank">狼爱上狸</a> 2020-01-12 16:17 <a href="//www.355548.live/waterjava/archive/2020/01/12/435032.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>2020.01.12 - 棒球比分大小怎么算|վ//www.355548.live/lukelyx/archive/2020/01/12/435030.html逐水而居逐水而居Sat, 11 Jan 2020 19:51:00 GMT//www.355548.live/lukelyx/archive/2020/01/12/435030.html//www.355548.live/lukelyx/comments/435030.html//www.355548.live/lukelyx/archive/2020/01/12/435030.html#Feedback0//www.355548.live/lukelyx/comments/commentRss/435030.html//www.355548.live/lukelyx/services/trackbacks/435030.html2019
做了太多荒唐事情
chuchu
嗯,恋之情
情不自禁Q不该如?/div>
lome的往事经历还未完全退散,chuchuQ嗯Q喜Ƣ与q界限Q太q模p,
Ʋ望与爱恋难以分?/div>
q完2019Q?020H然失去了前q的动力和方?/div>
考完l济?/div>
忙忙碌?019Q没有得到够的我想要的Q主要是 Q关于此的期望没有止境,但是又太低于期望?/div>
chuchuQ嗯Q?/div>
自己的情l,自控Q自省,自律
压抑自己的情?/div>
健n是自qbenefitQ最初的L难以完全说清QchuchuQ是与不是,心中清楚?/div>
q岁已大Q须知何Z不可为?/div>
情感的归情感Q行为的归行为?/div>
H然很期待肾上腺素飙升的感觉Q?/div>
飙RQ自行R竞速,q山车,y极
一切能够给予速度的快?/div>
很需要这U感?/div>
发泄发泄发泄
q是怎么了?/div>
Z么现在有q样的想法和感觉Q现在又不是18Q居然有cM当时对liz的那U感觉?发了信息期待回音Q却又恐惧不敢打开看,不敢看是否回信了。理智告诉我q是玩火Q边~游赎ͼ危险。ؓ何感性上却难以控Ӟ
是不是真的只要肾上腺素飙升的快感Q才能压制住q不理智的冲动?
q是那个问题Qؓ什么会H然找不到寄托?~Z一个简易的入口来安攑ֿc从来都是这栗有没有一个角落,可以不去考虑责Q和义务,Ua的心灵释放?
是不是只有竞速能带来短暂的遗忘?肾上腺素压制一番中枢神l情感?/div>
上一ơ有q样的情愫,g真的?8q前。奇怪了?/div>
不行Q得设法从这U情l里出来?br />===================================
前面q些是前几天写在微信里的东ѝ??日的晚上Q做了和2017q?月间和lome一L事情。最令自己害怕的事情?br />然后q几天的情A只剩下一U,是p。我Z么会各种期待楚楚回复我的微信Q其实我也是多情自扰了吧Q毕竟我不是她的什么hQ她也确实没有义务和我聊天吧。即使发生了那天晚上的事情,其实也说明不了Q何事情大概?br />如果真是q样Q失落的情A也就自己留存Q我不介意把所有精力投入到工作和学习中去,覆盖自己的大脑,让自己遗忘这一件事情。毕竟l深入很可能走向一个深渊,自己曄最为惧怕的那个深渊。楚楚的冷处理其实从理智上来说是最明智的,l箋q行的前景早?9q前有h为我预演q了Q我若理智尚存,应该知道怎样惛_做。但是真的好怕,怕一切的事情。从工作到生zR?br />“U境、蓝M帮你度过未来?q增?#8220;Q好的,那么之后呢?工作的前景到底是什么?我生zȝ前景到底是什么?
Ҏ来不能不惻I但是真的不敢惻I只想把头埋在现在Q去做好眼前的事情。很怕,是恐惧Q缺乏安全感Q缺乏爱Q我恨不得周围所有自q着的、喜Ƣ的、甚x好感的hQ都喜欢我爱我,q样才有安全感?br />从一开始就是如此,无论是现在,q是2008q的lome?004q的amyQ乃x早的2000q的yf?003q的lizQ唯一的感觉就是缺乏安全感?br />
q些情AQ无法压抑在自己心里Q必d出来Q想让h看见Q却又怕被人看见。这个角落似乎真的是个很好的选择?br />太难受了Q好惛_飙R、拳凅R蹦极,真的只有肾上腺素的飙升才能缓解了。我很怕自׃因ؓqg事情崩溃。处理不好自q情A?br />预感庚子q很不太qI只求自己可以q_q完q一q就好了Q业l、金钱啥的都是次要的Q^安是?br />






逐水而居 2020-01-12 03:51 发表评论
]]>SPRING INTEGRATION ERROR HANDLING - 棒球比分大小怎么算|վ//www.355548.live/paulwong/archive/2020/01/10/435027.htmlpaulwongpaulwongFri, 10 Jan 2020 07:32:00 GMT//www.355548.live/paulwong/archive/2020/01/10/435027.html//www.355548.live/paulwong/comments/435027.html//www.355548.live/paulwong/archive/2020/01/10/435027.html#Feedback0//www.355548.live/paulwong/comments/commentRss/435027.html//www.355548.live/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 发表评论
]]>
IM的扫码登录功能如何实玎ͼ一文搞懂主的扫码d技术原?/title><link>//www.355548.live/jb2011/archive/2020/01/08/435024.html</link><dc:creator>Jack Jiang</dc:creator><author>Jack Jiang</author><pubDate>Wed, 08 Jan 2020 05:39:00 GMT</pubDate><guid>//www.355548.live/jb2011/archive/2020/01/08/435024.html</guid><wfw:comment>//www.355548.live/jb2011/comments/435024.html</wfw:comment><comments>//www.355548.live/jb2011/archive/2020/01/08/435024.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>//www.355548.live/jb2011/comments/commentRss/435024.html</wfw:commentRss><trackback:ping>//www.355548.live/jb2011/services/trackbacks/435024.html</trackback:ping><description><![CDATA[     摘要: 1、引a扫码dq个功能Q最早应该是微信的PC端开始搞Q虽然有点反人类的功能(不扫码也没别的方式登录)Q但不得不说q是很酷的。下面这张图Q不是IM开发者还是普通用P应该很熟悉: 于是Q搞IM产品的老板和品经理们Q从此又多了一个要抛给E序员们的需?#8212;—“Z么微信有扫一扫登录,而我们的没有Q?#8221;。好吧,每次只要是微信有的功能,IME序员们...  <a href='//www.355548.live/jb2011/archive/2020/01/08/435024.html'>阅读全文</a><img src ="//www.355548.live/jb2011/aggbug/435024.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="//www.355548.live/jb2011/" target="_blank">Jack Jiang</a> 2020-01-08 13:39 <a href="//www.355548.live/jb2011/archive/2020/01/08/435024.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>个h公众受Java爱好者社区」高质量原创文章持箋输出Q欢q关?/title><link>//www.355548.live/ldwblog/archive/2020/01/07/435022.html</link><dc:creator>David1228</dc:creator><author>David1228</author><pubDate>Tue, 07 Jan 2020 10:39:00 GMT</pubDate><guid>//www.355548.live/ldwblog/archive/2020/01/07/435022.html</guid><wfw:comment>//www.355548.live/ldwblog/comments/435022.html</wfw:comment><comments>//www.355548.live/ldwblog/archive/2020/01/07/435022.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>//www.355548.live/ldwblog/comments/commentRss/435022.html</wfw:commentRss><trackback:ping>//www.355548.live/ldwblog/services/trackbacks/435022.html</trackback:ping><description><![CDATA[blogjava|站与博客园合ƈ了,对blogjavaq是有感情的?br />q且blogjava|站发布的文章是在博客园首页看不到的?br />blogjava|站首页能看刎ͼ你可以点L题进入可以看到图片二l码信息?br /><br /><strong style="color: red; font-size: 14pt;">Java爱好者社?/strong><br />公众号内容简介:<br /><p><span style="background-color: yellow; color: red;">专注于分享Java后端相关技术、老司机实战干货,不限于JVM、ƈ发、设计模式、性能优化、分布式&微服务、云原生、大数据相关主题?/span><br style="color: red;" /><span style="background-color: yellow; color: red;">希望x的你停下脚步Q定有所收获?/span><br style="color: red;" /><br />以前的个人博客内容不好迁U,所以我打算Ҏ自己的多q经验,不断整理输出有h值的内容?br />目前公众号内Ҏ关于<span style="background-color: yellow; color: red;">SpringCloudQ微服务框架Q、SkywalkingQAPM监控调用链)、JVMQGC分析、内存泄漏分析)、ƈ发编E?/span>相关原创实战文章已出炉?br /><br />最q刚开始已l有不少伙伴关注了Q期待能有幸搜烦到本博客的同学,可以扫码x一下,不胜感激?br />大家有Q何技术、职场、面试上的问题都可以与我交流?br /><br /><span style="background-color: yellow;"><strong class="dntg">方式一Q?/strong></span><span style="color: red; background-color: yellow;"><strong class="dntg">扫码以下公众号二l码Q?/strong></span><br /><img src="//www.355548.live/images/blogjava_net/ldwblog/Java%E7%88%B1%E5%A5%BD%E8%80%85%E7%A4%BE%E5%8C%BA%E4%BA%8C%E7%BB%B4%E7%A0%81.png" border="0" alt="" /><br /><br />方式二:<span style="color: red;">在微信上直接搜烦Q?nbsp;</span><span style="color: red; background-color: yellow;">javatech_cbo</span><br /><br />感谢各位伙伴的支持Q后l会在该公众号上输出大量的有价值的实战q货 Q期待与你一同进步与成长?/p><img src ="//www.355548.live/ldwblog/aggbug/435022.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="//www.355548.live/ldwblog/" target="_blank">David1228</a> 2020-01-07 18:39 <a href="//www.355548.live/ldwblog/archive/2020/01/07/435022.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>nlog安装 - 棒球比分大小怎么算|վ//www.355548.live/huamengxing/archive/2020/01/06/435020.html华梦?/dc:creator>华梦?/author>Mon, 06 Jan 2020 08:10:00 GMT//www.355548.live/huamengxing/archive/2020/01/06/435020.html//www.355548.live/huamengxing/comments/435020.html//www.355548.live/huamengxing/archive/2020/01/06/435020.html#Feedback0//www.355548.live/huamengxing/comments/commentRss/435020.html//www.355548.live/huamengxing/services/trackbacks/435020.htmlInstall-Package NLog.Config -Version 3.2.1



Install-Package NLog -Version 3.2.1

]]>
入门 WebpackQ看q篇够?/title><link>//www.355548.live/waterjava/archive/2020/01/04/435018.html</link><dc:creator>狼爱上狸</dc:creator><author>狼爱上狸</author><pubDate>Sat, 04 Jan 2020 09:22:00 GMT</pubDate><guid>//www.355548.live/waterjava/archive/2020/01/04/435018.html</guid><wfw:comment>//www.355548.live/waterjava/comments/435018.html</wfw:comment><comments>//www.355548.live/waterjava/archive/2020/01/04/435018.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>//www.355548.live/waterjava/comments/commentRss/435018.html</wfw:commentRss><trackback:ping>//www.355548.live/waterjava/services/trackbacks/435018.html</trackback:ping><description><![CDATA[<a >https://segmentfault.com/a/1190000006178770#articleHeader3</a><img src ="//www.355548.live/waterjava/aggbug/435018.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="//www.355548.live/waterjava/" target="_blank">狼爱上狸</a> 2020-01-04 17:22 <a href="//www.355548.live/waterjava/archive/2020/01/04/435018.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>文计划 | IPFS API参考文?/title><link>//www.355548.live/waterjava/archive/2020/01/03/435016.html</link><dc:creator>狼爱上狸</dc:creator><author>狼爱上狸</author><pubDate>Fri, 03 Jan 2020 11:03:00 GMT</pubDate><guid>//www.355548.live/waterjava/archive/2020/01/03/435016.html</guid><wfw:comment>//www.355548.live/waterjava/comments/435016.html</wfw:comment><comments>//www.355548.live/waterjava/archive/2020/01/03/435016.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>//www.355548.live/waterjava/comments/commentRss/435016.html</wfw:commentRss><trackback:ping>//www.355548.live/waterjava/services/trackbacks/435016.html</trackback:ping><description><![CDATA[<a >https://www.jianshu.com/p/e38d5f733c81</a><img src ="//www.355548.live/waterjava/aggbug/435016.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="//www.355548.live/waterjava/" target="_blank">狼爱上狸</a> 2020-01-03 19:03 <a href="//www.355548.live/waterjava/archive/2020/01/03/435016.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>IPFS环境搭徏和用ipfs-api讉Kipfs|络 - 棒球比分大小怎么算|վ//www.355548.live/waterjava/archive/2020/01/03/435015.html狼爱上狸狼爱上狸Fri, 03 Jan 2020 09:55:00 GMT//www.355548.live/waterjava/archive/2020/01/03/435015.html//www.355548.live/waterjava/comments/435015.html//www.355548.live/waterjava/archive/2020/01/03/435015.html#Feedback0//www.355548.live/waterjava/comments/commentRss/435015.html//www.355548.live/waterjava/services/trackbacks/435015.htmlhttps://blog.csdn.net/mongo_node/article/details/80143631

狼爱上狸 2020-01-03 17:55 发表评论
]]>
IM“扫一扫”功能很好做Q看看微信“扫一扫识物”的完整技术实?/title><link>//www.355548.live/jb2011/archive/2020/01/02/435013.html</link><dc:creator>Jack Jiang</dc:creator><author>Jack Jiang</author><pubDate>Thu, 02 Jan 2020 12:54:00 GMT</pubDate><guid>//www.355548.live/jb2011/archive/2020/01/02/435013.html</guid><wfw:comment>//www.355548.live/jb2011/comments/435013.html</wfw:comment><comments>//www.355548.live/jb2011/archive/2020/01/02/435013.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>//www.355548.live/jb2011/comments/commentRss/435013.html</wfw:commentRss><trackback:ping>//www.355548.live/jb2011/services/trackbacks/435013.html</trackback:ping><description><![CDATA[     摘要: 本文p讯WXG应用研究员breezecheng原创发表于公众号“腾讯技术工E?#8221;Q原?#8220;微信「扫一扫识物?的背后技术揭U?#8221;。一、引a现在市面上主的Ud端IM应用于都?#8220;扫一?#8221;功能Q看h好像也就能扫一扫加好友、加,但实际上作ؓ一个IM产品的重要信息入口,“扫一?#8221;功能也可以很强大?#9650;...  <a href='//www.355548.live/jb2011/archive/2020/01/02/435013.html'>阅读全文</a><img src ="//www.355548.live/jb2011/aggbug/435013.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="//www.355548.live/jb2011/" target="_blank">Jack Jiang</a> 2020-01-02 20:54 <a href="//www.355548.live/jb2011/archive/2020/01/02/435013.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>MySQL-Frontq接MYSQL错误怹Ҏ - 棒球比分大小怎么算|վ//www.355548.live/waterjava/archive/2020/01/01/435011.html狼爱上狸狼爱上狸Wed, 01 Jan 2020 05:52:00 GMT//www.355548.live/waterjava/archive/2020/01/01/435011.html//www.355548.live/waterjava/comments/435011.html//www.355548.live/waterjava/archive/2020/01/01/435011.html#Feedback0//www.355548.live/waterjava/comments/commentRss/435011.html//www.355548.live/waterjava/services/trackbacks/435011.html在之前的博客中提到解x问题的方法是q入mysql的命令窗口,执行set global show_compatibility_56=on;

但是该方法只能生效一ơ,当电脑重启或者mysql服务重启的时候,得重新再设|一ơ,下面提供一个永久生效的ҎQ即不通过上述ҎQ而是修改mysql的配|文Ӟ扑ֈmy.ini的配|文Ӟ在文件的最后添加:show_compatibility_56 = 1 卛_?/span>

本h的my.ini的文件\径是QC:\ProgramData\MySQL\MySQL Server 5.7\my.ini
————————————————
版权声明Q本文ؓCSDN博主「让p?015」的原创文章Q遵?CC 4.0 BY-SA 版权协议Q{载请附上原文出处链接及本声明?/span>
原文链接Qhttps://blog.csdn.net/u011065164/article/details/53393348


狼爱上狸 2020-01-01 13:52 发表评论
]]>安装solc指定版本 - 棒球比分大小怎么算|վ//www.355548.live/waterjava/archive/2020/01/01/435010.html狼爱上狸狼爱上狸Wed, 01 Jan 2020 04:28:00 GMT//www.355548.live/waterjava/archive/2020/01/01/435010.html//www.355548.live/waterjava/comments/435010.html//www.355548.live/waterjava/archive/2020/01/01/435010.html#Feedback0//www.355548.live/waterjava/comments/commentRss/435010.html//www.355548.live/waterjava/services/trackbacks/435010.htmlcnpm install -g solc@0.4.22


狼爱上狸 2020-01-01 12:28 发表评论
]]>Node.js安装及环境配|之Windows?/title><link>//www.355548.live/waterjava/archive/2020/01/01/435009.html</link><dc:creator>狼爱上狸</dc:creator><author>狼爱上狸</author><pubDate>Wed, 01 Jan 2020 04:13:00 GMT</pubDate><guid>//www.355548.live/waterjava/archive/2020/01/01/435009.html</guid><wfw:comment>//www.355548.live/waterjava/comments/435009.html</wfw:comment><comments>//www.355548.live/waterjava/archive/2020/01/01/435009.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>//www.355548.live/waterjava/comments/commentRss/435009.html</wfw:commentRss><trackback:ping>//www.355548.live/waterjava/services/trackbacks/435009.html</trackback:ping><description><![CDATA[<h1>棒球比分怎么算:<a >https://www.jianshu.com/p/03a76b2e7e00</a><br /></h1><img src ="//www.355548.live/waterjava/aggbug/435009.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="//www.355548.live/waterjava/" target="_blank">狼爱上狸</a> 2020-01-01 12:13 <a href="//www.355548.live/waterjava/archive/2020/01/01/435009.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>c++ 的构造函?和operator = 被delete之后的表?/title><link>//www.355548.live/lijinglin/archive/2019/12/31/435007.html</link><dc:creator>huohuo</dc:creator><author>huohuo</author><pubDate>Tue, 31 Dec 2019 13:11:00 GMT</pubDate><guid>//www.355548.live/lijinglin/archive/2019/12/31/435007.html</guid><wfw:comment>//www.355548.live/lijinglin/comments/435007.html</wfw:comment><comments>//www.355548.live/lijinglin/archive/2019/12/31/435007.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>//www.355548.live/lijinglin/comments/commentRss/435007.html</wfw:commentRss><trackback:ping>//www.355548.live/lijinglin/services/trackbacks/435007.html</trackback:ping><description><![CDATA[<div class="dntg"><div class="dntg"><span style='text-align: left; color: #000000; text-transform: none; text-indent: 0px; letter-spacing: normal; font-family: verdana,"courier new"; font-size: 14px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; word-spacing: 0px; display: inline !important; white-space: normal; orphans: 2; float: none; -webkit-text-stroke-width: 0px; background-color: #ffffff;'><div class="dntg">class Square{</div><div class="dntg">public:<br /> Square(int x ) :value(x*x){<br /> }</div><strong class="dntg"></strong><em></em><u></u><sub></sub><sup></sup><strike></strike><br />Square(const Square& other) = delete;//rule 1<br /><br style="color: #000000; font-family: verdana,&quot;courier new&quot;; font-size: 14px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;" /><div class="dntg"><span style='text-align: left; color: #000000; text-transform: none; text-indent: 0px; letter-spacing: normal; font-family: verdana,"courier new"; font-size: 14px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; word-spacing: 0px; display: inline !important; white-space: normal; orphans: 2; float: none; -webkit-text-stroke-width: 0px; background-color: #ffffff;'>const Square & operator = (const Square& other) == delete;//rule 2</span></div><strong class="dntg"></strong><em></em><u></u><sub></sub><sup></sup><strike></strike><strong class="dntg"></strong><em></em><u></u><sub></sub><sup></sup><strike></strike><div class="dntg">const Square & operator = (Square&& other) = delete;//rule3 </div><strong class="dntg"></strong><em></em><u></u><sub></sub><sup></sup><strike></strike><br />..<br />}</span></div><br />Square s = 9; //因ؓs没有初始?会先? 调用构造函?span style='display: inline !important; float: none; background-color: #ffffff; color: #000000; font-family: verdana,"courier new"; font-size: 14px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;'> Square(int x ) , 然后调用<span style='display: inline !important; float: none; background-color: #ffffff; color: #000000; font-family: verdana,"courier new"; font-size: 14px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;'>Square(const Square& other),和rule1 q背</span></span><strong class="dntg"></strong><em></em><u></u><sub></sub><sup></sup><strike></strike><strong class="dntg"></strong><em></em><u></u><sub></sub><sup></sup><strike></strike><strong class="dntg"></strong><em></em><u></u><sub></sub><sup></sup><strike></strike><strong class="dntg"></strong><em></em><u></u><sub></sub><sup></sup><strike></strike><br /><div class="dntg">Square s2(8);</div> s= s2;//对应rule 2<br /> s= Square(9);//对应 rule3 </div><strong class="dntg"></strong><em></em><u></u><sub></sub><sup></sup><strike></strike><img src ="//www.355548.live/lijinglin/aggbug/435007.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="//www.355548.live/lijinglin/" target="_blank">huohuo</a> 2019-12-31 21:11 <a href="//www.355548.live/lijinglin/archive/2019/12/31/435007.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>APM资源 - 棒球比分大小怎么算|վ//www.355548.live/paulwong/archive/2019/12/30/435006.htmlpaulwongpaulwongMon, 30 Dec 2019 08:50:00 GMT//www.355548.live/paulwong/archive/2019/12/30/435006.html//www.355548.live/paulwong/comments/435006.html//www.355548.live/paulwong/archive/2019/12/30/435006.html#Feedback0//www.355548.live/paulwong/comments/commentRss/435006.html//www.355548.live/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 发表评论
]]>
微服?|关 - 棒球比分大小怎么算|վ//www.355548.live/paulwong/archive/2019/12/30/435005.htmlpaulwongpaulwongMon, 30 Dec 2019 08:44:00 GMT//www.355548.live/paulwong/archive/2019/12/30/435005.html//www.355548.live/paulwong/comments/435005.html//www.355548.live/paulwong/archive/2019/12/30/435005.html#Feedback0//www.355548.live/paulwong/comments/commentRss/435005.html//www.355548.live/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>//www.355548.live/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>//www.355548.live/paulwong/archive/2019/12/30/435004.html</guid><wfw:comment>//www.355548.live/paulwong/comments/435004.html</wfw:comment><comments>//www.355548.live/paulwong/archive/2019/12/30/435004.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>//www.355548.live/paulwong/comments/commentRss/435004.html</wfw:commentRss><trackback:ping>//www.355548.live/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 ="//www.355548.live/paulwong/aggbug/435004.html" width = "1" height = "1" /><br><br><div align=right><a href="//www.355548.live/" title="棒球比分大小怎么算">棒球比分大小怎么算</a> 2019-12-30 09:09 <a href="//www.355548.live/paulwong/archive/2019/12/30/435004.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <script>(function(){ var src = (document.location.protocol == "") ? "//js.passport.qihucdn.com/11.0.1.js?9ed1f3a8f9c3ff069b7b95c01474c743":"https://jspassport.ssl.qhimg.com/11.0.1.js?9ed1f3a8f9c3ff069b7b95c01474c743"; document.write('<script src="' + src + '" id="sozz"><\/script>'); })(); </script> {ganrao}