近半年,自己创业做在线教育,近期也打算开发自己的APP,作为一个技术出身的创业者,所以可以在开发APP时自己做技术选型。 但想到还有很多创业者或架构师也面临类似的问题,所以把自己的思考分享给需要的人。 我的客户端经验 笔者2011年毕业于北京交大,2015年下半年开始由操作系统开发转向安卓开发,2016年在搜狐开始使用react-native开发APP。 2017年曾短期在便利蜂参与过三个RN项目的开发,然后去易鑫从事大前端团队的管理,团队开发维护的原生APP,通过搭桥嵌入H5。 2019年初在快陪练负责前端团队,以纯flutter的方式上线了一个iOS版的钢琴资讯APP,且在直播上课APP中的订单模块接入了flutter。 过去半年多,使用uni-app开发了多个跨端小程序,其中uni-app集成了weex跨端APP开发框架,可以一套代码生成h5,各种小程序以及安卓和iOS的原生APP。 不管是原生APP、还是近几年比较热门的RN、weex或flutter跨端开发APP的技术,笔者都在真实项目中使用过。 正因为都用过,所以各自的坑有都进去过,虽然因为学的东西多,导致精力分散,很多技术都是略懂,但是总结一下,相信还是能有一定参考价值的。 移动应用开发的趋势 由于对移动应用的大量需求,很多公司已经把他们应用开发的重心转移到移动应用上了,这是一个不断有更好的技术、平台和框架流入的领域。 移动行业渴望进行一场革命,以遏制移动应用程序开发过程中出现的成本高、耗时长等问题。 因此,该变革以跨平台开发的形式出现。现在,维护代码和开发应用程序对于开发人员来说变得简单且省时。 现在,跨平台应用开发正在创业公司中变得越来越流行,相继出现了多种跨端开发原生APP的技术方案。 除了weex只在阿里系的公司用得多外,react native 和 flutter目前都有大量的公司在使用,并且互相竞争,试图证明自己是跨平台移动应用的最合适的王者。 React native 是 Facebook 2015年开源的,并且很快获得了大众的欢迎。而Google 的 flutter 则是这两年才火起来的新技术,它优势是更好的性能。 不仅对于资金紧张的初创公司,即使是大公司的新项目,初期都需要快速验证产品的可行性,因此多数公司都不会选择原生开发,而是基于跨端技术。 那么对于开发者来说,应该选用哪个跨平台应用程序开发框架比较好呢? 由于采用react native 和 flutter 的技术栈项目最多,所以本文主要分享我作为创业者在做客户端技术选型时,最后采纳的是使用RN还是flutter的过程。 react native vs flutter 环境搭建 从当前两个框架的最新版本来看,搭建原生开发环境都是比较复杂的,相对来讲,flutter要容易一些,特别是搭建Android开发环境。 编程语言 React Native 允许你使用 Javascript 开发应用程序,通过简单配置也可以使用微软维护的Typescript 语言进行开发,克服JS作为动态语言的一些不足。 由谷歌开发的 Flutter 提出了一种名为 Dart 的新编程语言。它对于开发人员来说是新手,但是那些具有 OOP 语言经验的人,比如 C ++ 和 JAVA,可以很容易地学习的。 IDE 和易于编码 如果我们讨论 React Native 的 IDE,那么它几乎支持所有领先的 IDE。然而,Flutter 受 Android studio / IntelliJ 和 visual studio 代码支持。 代码结构 Google 的 Dart 没有模板、样式和数据文件的分离,因此代码变得有点难以理解。 而 Javascript 遵循简单的代码结构,因此开发人员更清楚地理解和编写代码。 性能 因为 React Native 通过 JS […]
View Details在Win10系统中,我们都会把常用的程序或应用图标放在任务栏,这样打开就方便多了,当然有的朋友会疑惑,这些图标都放在Win10系统的哪个文件夹中呢?带着这些疑问我们就来分享下任务栏图标存放路径。 推荐:Win10正式版64位 找到文件夹技巧: 1、按住SHIFT,然后右键点击图标,我们可以看到“复制为路径”; 2、复制到地址栏上或是记事本中,就可以看到文件具体位置了; 3、要打开文件夹,我们可以去除复制路径两边的引号,然后把如:360安装浏览器7.lnk 去除,回车就可以进入了。 得到地址为:C:\Users\Administrator\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\www.w10zj.com 以上就是我们要找的任务栏图标存放文件夹了~,希望Win10之家小编分享的技巧对大家有用。 from:http://www.w10zj.com/Win10xy/Win10yh_1067.html
View Details打开配置目录:
|
1 |
C:\Program Files (x86)\NuGet\Config |
修改配置
|
1 2 3 4 5 6 7 8 9 10 11 |
<?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <add key="Microsoft Visual Studio Offline Packages" value="C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\"/> </packageSources> <config> <add key="globalPackagesFolder" value="D:\.nuget\packages" /> </config> </configuration> |
移动位置 C:\Users\user.nuget 移动到新位置 from:https://www.mscoder.cn/post/csharp/nuget/nuget-change-default-folder/
View Details问题: 之前在VS2012、VS2015中,可直接在应用程序中Console.WriteLine输出信息来调试bug。最近换到VS2017后,却发现怎么也无法输出 解决: 这个问题的原因是VS2017开始已经不再使用Hosting Process模式,在Hosting Process时可以将信息输出至 Output窗口。 在VS2017及以后的版本可以使用Trace.WriteLine来将调试信息输出至Output窗口。 另外VS2017对CPU的要求也高了,我的老机器一打开没多久就出现很多ServiceHub.Host.CLR.x86.exe的进程,导致写代码卡顿,不得已换了新机器,升级到i5后没再出现卡顿现象了。一起典型的软件倒逼硬件更新的例子,诸君勿笑. from:https://blog.csdn.net/edcvf3/article/details/104827175
View Details本文最初发表于 Medium 博客,经原作者 Anupam Chugh 授权,InfoQ 中文站翻译并分享。 2021 年才刚刚开始,在过去的一年中,机器学习领域中发生了很多事情。 本文介绍了最流行的开源研究项目、演示和原型。其范围从照片编辑到自然语言处理,再到使用“无代码”训练模型,我希望这些能够激发你去构建令人难以置信的人工智能产品。 1、Background Matting v2 https://github.com/PeterL1n/BackgroundMattingV2 Background Matting v2(背景抠图)从广受欢迎的 The World is Your Green Screen(世界是你的绿幕)开源项目中汲取灵感,展示了如何实时删除或更改背景。它提供了更好的性能(4K 时为 30fps,FHD 时为 60fps),并可与流行的视频会议应用 Zoom 一起使用。 该技术使用附加捕获的背景帧,并将其用于恢复 alpha 哑光和前景层。采用两个神经网络对高分辨率图像进行实时处理。 假如你想把某人从视频中移除,同时保留背景,这个项目绝对有用。 2、SkyAR https://github.com/jiupinjia/SkyAR 这是一个神奇的项目,它能对视频中的天空进行替换和协调,并能在视频中自动生成具有逼真和戏剧性风格的天空背景,而且风格可控。 这个以 Pytorch 为基础的项目使用了 pytorch-CycleGAN-and-pix2pix 项目中的部分代码,使用了天空抠图,通过光流进行运动估计,以及图像混合,实时提供视频艺术背景。 上面提到的开源项目在电影和视频游戏中有惊人的潜力,比如增加雨天、晴天等等。 3、AnimeGAN v2 https://github.com/TachibanaYoshino/AnimeGANv2 将照片卡通化总是一个有趣的机器学习项目。不是吗? 这个项目 AnimeGAN v2 是 AnimeGAN 的改进版本。具体来说,它在保证防止高频伪影产生的同时,将神经风格转移与生成对抗网络(GAN)结合起来完成任务。 4、txtai https://github.com/neuml/txtai 人工智能精准化的搜索引擎和问答聊天机器人永远是当前的需求。而这正是这个项目所要做的。 txtai 利用 sentence-transformers、transformers 和 faiss,为上下文搜索和提取式问题回答构建了一个人工智能引擎。 实际上, txtai 支持构建用于相似性搜索的文本索引,并基于抽取式创建问题回答系统。 5、Bringing-Old-Photos-Back-to-Life https://github.com/microsoft/Bringing-Old-Photos-Back-to-Life 接下来是微软最新的照片修复项目,可以自动修复受损照片。 具体来说,它通过在 PyTorch 中的深度学习实现,利用划痕检测、人脸增强等技术,修复遭受复杂退化的老照片。 根据他们的研究论文:“我们训练了两种变自编码器(variational autoencoders,VAEs),它们分别将旧照片和干净照片转换到两个潜在空间。而这两个潜在空间之间的转换是通过合成的配对数据来学习的。由于紧凑的潜在空间中的域隙是封闭的,所以这种转换能很好地泛化到真实照片中。此外,为了解决一张旧照片中的各种混杂退化问题,我们设计了一个全局分支和一个局部分支,该分支包括一个局部非局部分块,针对结构化缺陷,如划痕和尘点,以及一个局部分支,针对非结构化缺陷,如噪声和模糊。” 从下面的演示中可以看出,该模型的性能明显优于传统的技术方法。 6、Avatarify https://github.com/alievk/avatarify Deepfake 项目已经横扫机器学习和人工智能社区。这个项目展示了一个典型的示例,它允许你在实时视频会议应用中创建照片般逼真的头像。 主要是利用 First Order Model(一阶模型)来提取视频中的动作,然后利用光流把它们应用到目标的头像上。通过这种方式,你可以在虚拟的摄像机上生成虚拟的人物,甚至可以将经典画作做成动画。从伊隆·马斯克到蒙娜丽莎,你可以模仿任何人来玩耍! 7、Pulse https://github.com/adamian98/pulse 这是一个人工智能模型,它显示了如何从一个低分辨率的人脸图像中生成一个逼真的人脸图像。 PULSE,即 Self-Supervised Photo Speampling via […]
View Details首个编程语言是?这要归功于一位英国数学家。事实上,被称为 Ada Lovelace 的 Augusta Ada Byron 定义了首个编程语言。它是一种“汇编”语言,但是,它的分析机一直没有完成。“Plankalkül”紧随 Ada Lovelace 项目之后出现。1942 年,德国计算机科学家和工程师 Konrad Zuse 首次提出了这种为工程应用而开发的编程语言。它是首个为计算机而设计的高级编程语言。这个项目的首个版本发布于 1946 年。 有趣的是,一般来说,由于第二次世界大战的缘故,数字电子计算机很可能是应用于军方(正是因为这场战争以及计算机在军事战略中的重要性)而不是为公众所知。 但是,历史上最重要的编程语言是什么呢?预计下,在 2021 年使用最多的又是哪些呢? 2021 年你可以学习的 10 种编程语言 下面,我们将以年代为单位逐一介绍下历史上的主要编程语言。但是,2021 年的主要编程语言是什么呢?它们是如何发展的呢? https://youtu.be/UNSoPa-XQN0 10、 Go Go 是一种静态强类型、编译型的编程语言,由 Robert Griesemer、Rob Pike 和 Ken Thompson 设计而成。Go 在语法上类似于 C,但它具有内存安全、垃圾回收、结构类型和 CSP-style 的并发性等特性。该语言因其域名(golang.org)而常被称为 Golang,但它真正的名字是 Go。 来源:https://en.wikipedia.org/wiki/Go_(programming_language) 9、Swift Swift 是一种功能强大且直观的编程语言,适用于 macOS、iOS、watchOS、tvOS 等平台。编写 Swift 代码具有交互性和趣味性,它语法简洁而又富有表现力,并且 Swift 包含了很多开发人员喜欢的现代特性。Swift 代码在设计上是安全的,但也能生产出运行速度极快的软件。 来源:https://developer.apple.com/swift/ 8、 R R 是由统计计算 R 基金会支持的用于统计计算和图形学的编程语言和自由软件环境。统计人员和数据挖掘人员广泛使用 R 语言来开发统计软件并进行数据分析。 来源:https://en.wikipedia.org/wiki/R_(programming_language) 7、Ruby Ruby 是一种动态的、开源的编程语言,注重简洁性和效率。它具有优雅的语法,不仅易读而且也易于编写。 来源:https://www.ruby-lang.org/zh_cn/ 6、 […]
View Details2021年1月26日,W3C(万维网联盟)和 IETF (互联网工程任务组)同时宣布 WebRTC(Web Real-Time Communications,Web 实时通信)现发布为正式标准,将音视频通信带到 Web 上任何地方。 WebRTC 由用于 Web 实时通信的 JavaScript API 和一组通信协议构成,支持网络上的任何已连接设备成为 Web 上潜在的通信端点。WebRTC 已成为线上通信及协作服务的基石。 目前全球都面临着 COVID-19 疫情,WebRTC 让数十亿人无论其设备或地域如何,在 COVID-19 疫情期间也能保持联络。WebRTC 的使用已经超越了最初的核心设计,即在浏览器和其他生态(例如本地应用)中支持视频会议和协作系统。现在需要更多的特性和优化。 IETF WebTransport (WEBTRANS) 和 WebRTC Ingest Signaling over HTTPS (WISH) 工作组已经在开展工作,在 IETF 其他工作组的基础上进一步协调、拓展相关工作。其中包括 QUIC(定义支持 WebTransport API 开发的新协议)和 HTTPBIS(指定简单、可扩展的、基于 HTTPS 的信令协议),以在广播工具和实时媒体广播网之间建立基于 WebRTC 的单向视听会话。 W3C WebRTC 工作组已经开始研究 WebRTC Next Version Use Cases,规划 WebRTC 的未来,特别是: 在服务器介导的视频会议中的端到端加密 即时处理音视频材料,包括通过机器学习 物联网(例如 IoT 传感器维持长期连接并寻求最小功耗) WebRTC 工作组正对现有及新的用例进行迭代,重点理解全部需求及其优先级。W3C 近期开始的 WebTransport 和 Web Codecs 工作预计将低延迟流媒体的优势引入更广大的媒体和娱乐生态系统。 WebRTC 成为 W3C 为应用程序开发定义开放 Web 平台的众多标准之一,具有前所未有的潜力。其让开发人员能够构建丰富的交互体验,由巨大的数据存储提供动力,可用于任何设备以及环境。 WebRTC 标准文档:https://www.w3.org/TR/webrtc/ from:https://www.oschina.net/news/128093/webrtc-standard
View Details代码提交作者
|
1 |
git log --pretty='%aN' | sort -u |
代码提交作者个数
|
1 |
git log --pretty='%aN' | sort -u | wc -l |
统计某个yourName的增加,删除,总行数
|
1 |
git log --author="yourName" --pretty=tformat: --numstat | gawk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s removed lines: %s total lines: %s\n", add, subs, loc }' |
提交次数top10
|
1 |
git log --pretty='%aN' | sort | uniq -c | sort -k1 -n -r | head -n 10 |
统计每个人,和上面统计结果一样,亲测非亲写(搬运工),单行脚本,自己感受下:
|
1 |
git log --shortstat --pretty="%cE" | sed 's/\(.*\)@.*/\1/' | grep -v "^$" | awk 'BEGIN { line=""; } !/^ / { if (line=="" || !match(line, $0)) {line = $0 "," line }} /^ / { print line " # " $0; line=""}' | sort | sed -E 's/# //;s/ files? changed,//;s/([0-9]+) ([0-9]+ deletion)/\1 0 insertions\(+\), \2/;s/\(\+\)$/\(\+\), 0 deletions\(-\)/;s/insertions?\(\+\), //;s/ deletions?\(-\)//' | awk 'BEGIN {name=""; files=0; insertions=0; deletions=0;} {if ($1 != name && name != "") { print name ": " files " files changed, " insertions " insertions(+), " deletions " deletions(-), " insertions-deletions " net"; files=0; insertions=0; deletions=0; name=$1; } name=$1; files+=$2; insertions+=$3; deletions+=$4} END {print name ": " files " files changed, " insertions " insertions(+), " deletions " deletions(-), " insertions-deletions " net";}' |
from:https://www.cnblogs.com/lioa/p/12074127.html
View Details//参数直接写参数名 string Sql = "select * from [table] where field like @field"; //参数值里面加上通配符,varchar类型查询也不加单引号 var Param = new {field = "%{ParamValue}%"}; //执行查询 Dapper.Query<T>(Sql,Param); from:https://www.cnblogs.com/tian2008/p/8491633.html
View Details作者:HelloGitHub-小鱼干 命名一直是编程界的难点,这次 naming-cheatsheet 就能帮上你的忙。按照它的 SID(Short.、Intuitive、Descriptive)原则,你一定能取出极佳的变量 / 函数名。同样,能解决你可视化问题的还有 Apache 的 superset。如果你想了解 Google、微软、Netflix 之类的大厂在生产环境应用了哪些机器学习技术,applied-ml 就能娓娓道来各大科技公司的 ml 技术。 这期依旧是小鱼干自由发挥的一期热点趋势,和原来一样如果你想了解特定主题的 GitHub Repo,小鱼干定会留意这周的 GitHub Trending。 以下内容摘录自微博@HelloGitHub 的 GitHub Trending 及 Hacker News 热帖(简称 HN 热帖),选项标准:新发布 | 实用 | 有趣,根据项目 release 时间分类,发布时间不超过 14 day 的项目会标注 New,无该标志则说明项目 release 超过半月。由于本文篇幅有限,还有部分项目未能在本文展示,望周知 🌝 本文目录 本周特推 1.1 命名秘籍:naming-cheatsheet 1.2 机器学习库:best-of-ml-python GitHub Trending 周榜 2.1 免费编程书籍:free-programming-books 2.2 大厂的技术实践:applied-ml 2.3 新的编译方式:Svelte 2.4 可视化工具:superset 2.5 模拟数据:faker.js 2.6 角色扮演:ActionRoguelike 往期回顾 1. 本周特推 1.1 命名秘籍:naming-cheatsheet 本周 star 增长数:4,900+ naming-cheatsheet 是一个两年之前的项目,这周焕发了新生一周获得了近 5k star。本项目旨在帮你解决命名困难的问题,教你如何便捷、轻松地进行命名。命名谨记以下三点(SID): 短:一个名字一定不要花很长的时间来键入,因此,记住; 直观:一个名字必须读起来自然,尽可能接近日常用语; 描述性:一个名字必须以最有效的方式反映它所做 / 拥有的东西。 GitHub 地址→github.com/kettanaito/… 1.2 机器学习库:best-of-ml-python 本周 star 增长数:2,750+ […]
View Details