mono

System.DllNotFoundException: > gtk\bin\libgobject-2.0-0.dll

不打扰是莪最后的温柔 提交于 2021-01-27 18:56:53
问题 I've build a GUI on Github. After launching the built solution i've got: {System.TypeInitializationException: The type initializer for 'Gtk.Application' threw an exception. ---> System.TypeInitializationException: The type initializer for 'GLib.GType' threw an exception. ---> System.DllNotFoundException: gtk\bin\libgobject-2.0-0.dll at (wrapper managed-to-native) GLib.GType:g_type_init () at GLib.GType..cctor () [0x00192] in <3683aafe72b14a2db70c1aa8c87dbafa>:0 --- End of inner exception

单体仓库与多仓库——两种源码组织模式介绍

强颜欢笑 提交于 2021-01-26 18:28:11
单体仓库与多仓库——两种源码组织模式介绍 单体应用和微服务应用 在介绍单体仓库和多仓库前,先来说说什么叫单体应用和微服务应用。 微服务相比单体应用最大的好处是可以独立的开发测试部署和扩展。单体应用一般采用单体仓库,但是微服务的代码仓库该如何组织呢?一定是每个服务一个仓库吗? 其实也不一定,针对微服务的代码组织,业界有两种主要的实践,一种是多仓库(multi-repo)也就是每个服务开一个源码仓库,另一种叫单体仓库(mono-repo)所有源码都在同一个仓库中,尽管整个应用采用的微服务架构。 项目代码组织示例: 多仓库 单体仓库和多仓库都是有利有弊的。 多仓库的好处是显而易见的: 1.每一个服务都有一个独立的仓库,职责单一。 2.代码量和复杂性受控,服务由不同的团队独立维护、边界清晰。 3.单个服务也易于自治开发测试部署和扩展,不需要集中管理集中协调。 多仓库存在的问题: 1.项目代码不容易规范。每个团队容易各自为政,随意引入依赖,code review 无法集中开展,代码风格各不相同。 2.项目集成和部署会比较麻烦。虽然每个项目服务易于集成和部署,但是整个应用集成和部署的时候由于仓库分散就需要集中的管理和协调。 3.开发人员缺乏对整个项目的整体认知。开发人员一般只关心自己的服务代码,看不到项目整体,造成缺乏对项目整体架构和业务目标整体性的理解。 4.项目间冗余代码多

google为什么使用mono-repo

蓝咒 提交于 2021-01-26 14:36:18
google为什么使用mono-repo 三丰 soft张三丰 什么是monorepo? Monorepo 它是一种管理 organisation 代码的方式,在这种方式下会摒弃原先一个 module 一个 repo 的方式,取而代之的是把所有的 modules 都放在一个 repo 内来管理。 目前诸如 Babel, React, Angular, Ember, Meteor, Jest 等等都采用了 Monorepo 这种方式来进行源码的管理。 git 多仓库管理的缺点 1.管理调试困难 2.分支管理混乱 3.依赖关系复杂 4.三方依赖版本可能不一致 5.占用总空间大 6.不利于团队协作 单体,多仓库,单体仓库 单体应用 到 多仓库 到单体仓库 单体仓库的优点:代码规范易于管理 配合自动化工具能够做到一键构建,一键部署 易于理解项目整体,开发人员有一个更好的全景视图 易于重用 谁在用monorepo bazel Bazel 是 Google 的一款可再生的代码构建工具。它主要是用于构建 Google 的软件,处理出现在谷歌的开发环境的构建问题,比如说:大规模数据构建问题,共享代码库问题,从源代码构建的软件的相关问题。 Bazel 支持多种语言并且跨平台,还支持自动化测试和部署、具有再现性(Reproducibility)和规模化等特征。Bazel

《华为应用市场2020年度榜单》出炉 你的宝藏应用有没有上榜?

我是研究僧i 提交于 2021-01-18 16:38:58
1月14日,《华为应用市场2020年度榜单》正式发布,共设有六大榜单类型:年度应用、年度游戏、最受欢迎应用、年度畅销应用、最受欢迎快应用以及还有全场景多终端智慧生活应用榜单。 作为全球前三大应用分发平台,华为应用市场在2020年度榜单中丰富了入选应用品类,更加聚焦于全场景智慧生活体验。这份新颖多元的《华为应用市场2020年度榜单》,究竟有哪些应用上榜了呢?跟小编一起来看看吧! 年度应用——发现更多小而美的精品应用 华为应用市场从应用设计感、实用性、易用性和创新性等维度,推选出19款"年度应用",聚焦小而美的精品应用。新秀榜推选了2020首次亮相的两款优质应用,而6大"最佳"榜则围绕用户的生活场景和当下社会热点,突出了移动应用对社会生活和个人成长的价值。 年度新秀榜: 《Protake》与《小宇宙》。《Protake》是一款专注"电影感"的拍摄美化应用,为用户带来专业的电影级拍摄体验。《小宇宙》则是为播客爱好者设计的轻量化、纯粹、便捷的播客信息客户端,以独具个人特色的播客内容为听众带来有趣的思想火花。 最佳创作类应用: 《最后一卷胶片》、《醒图》、《纯纯写作》以强大的创作性与便捷的可操作性而上榜。 最佳健康类应用: 《潮汐》、《柠檬喝水》凭借干净、简洁、素雅的设计与实用的健康内涵入选。 最佳自我成长类应用: 《小日常》、《MONO》、《纸条》以专注自我提升的丰富内容与优质体验上榜。

ASP.NET CORE 项目实战 ---图形验证码的实现

僤鯓⒐⒋嵵緔 提交于 2021-01-16 04:37:34
简介      很长时间没有来更新博客了,一是,最近有些忙,二是,Core也是一直在摸索中,其实已经完成了一个框架了,并且正在准备在生产环境中试用,但是很多东西也是出于自己理解的肤浅和技术的不断更新,经常变动,所以,如果自己还没有完全搞好,就来写博客,反复的修正,可能会误导一些新手朋友。   如果有正在研究Core的朋友,可以大家一起交流下。 验证码         相信很多朋友跟我一样,图形验证码成为了 Core 的一个绊脚石。   System.Drawing.Primitives 这是官方的一个Drawing库,但是没有Bitmap、Graphics等很多东西,所以这个做图形验证码基本Pass了。   CoreCompat.System.Drawing 这个是一个第三方的, 使用了mono的System.Drawing实现,只要安装了之前使用System.Drawing的代码完全不用修改,也支持描画验证码等描画类的功能。 如果需要linux或osx支持,可以安装runtime.linux.CoreCompat.System.Drawing和runtime.osx.10.10-x64.CoreCompat.System.Drawing。(地址: https://github.com/CoreCompat/CoreCompat ),基本大家都是在用这个吧

LeetCode 32,并不Hard的难题,解法超级经典,带你领略动态规划的精彩

点点圈 提交于 2021-01-15 08:01:14
点击 上方蓝字 ,和我一起学技术 。 今天给大家分享的是LeetCode当中的32题,这是一道 Hard 难度的题。 也是一道经典的字符串处理问题,在接下来的文章当中,我们会详细地解读有关它的三个解法。 希望大家不要被题目上的标记吓到,虽然这题标着难度是Hard,但其实 真的不难 。 我自信你们看完文章之后也一定会这么觉得。 题目 Longest Valid Parentheses 难度 Hard 描述 给定一个只包含左右括号的字符串,返回最长能够组成合法括号的长度 Given a string containing just the characters '(' and ')' , find the length of the longest valid (well-formed) parentheses substring. 样例 1: Input: "(()" Output: 2 ## Explanation: The longest valid parentheses substring is "()" 样例 2: Input: ")()())" Output: 4 ## Explanation: The longest valid parentheses substring is "()()" 思考 我们来分析一下题目,这题的题目很容易理解

Jenkins 共享库使用示例

寵の児 提交于 2021-01-14 17:22:28
如果你经常使用 Jenkins Pipeline 一定会遇到多个不同流水线中有大量重复代码的情况,很多时候为了方便我们都是直接复制粘贴到不同的管道中去的,但是长期下去这些代码的维护就会越来越麻烦。为了解决这个问题,Jenkins 中提供了共享库的概念来解决重复代码的问题,我们只需要将公共部分提取出来,然后就可以在所有的 Pipeline 中引用这些共享库下面的代码了。 共享库是什么? 共享库(shared library)是一些 独立的 Groovy 脚本的集合 ,我们可以在运行 Pipeline 的时候去获取这些共享库代码。使用共享库最好的方式同样是把代码使用 Git 仓库进行托管,这样我们就可以进行版本化管理了。当然我们也需要一些 Groovy 语言的基础,不过并不需要多深入,基本的语法概念掌握即可,可以查看前面我们的 Groovy 简明教程 。 使用共享库一般只需要3个步骤即可: 首先创建 Groovy 脚本,添加到 Git 仓库中 然后在 Jenkins 中配置将共享库添加到 Jenkins 中来 最后,在我们的流水线中导入需要使用的共享库: @Library ( 'your-shared-library' ) ,这样就可以使用共享库中的代码了。 共享库内容 在共享库中一般会有两种通用的代码: Steps :这些 Steps 在 Jenkins 中被称为 全局变量

Idea公司真牛逼,发行最适合程序员编程字体~

梦想与她 提交于 2021-01-12 13:10:47
Python实战社群 Java实战社群 长按识别下方二维码, 按需求添加 扫码关注添加客服 进Python社群▲ 扫码关注添加客服 进Java社群 ▲ 作者丨IT之家 来源丨朱小厮的博客 来源:r6d.cn/W3nE JetBrains年初的时候推出了一种新字体,即JetBrains Mono,它是专为开发人员设计的。 JetBrains表示: 在当今的大部分时间里,我们作为开发人员都在看代码。我们一直在寻找最佳字体,以使我们更容易在屏幕上查看文本。 但是,许多流行字体中的逻辑并不总是考虑到通读代码和阅读书本之间的区别。 我们的眼睛以非常不同的方式沿代码移动,通常必须垂直移动和水平移动,这与阅读书籍不同,因为它们总是沿同一方向沿文本滑动。 因此,在使用JetBrains Mono进行开发时,除其他外,重点研究了在长时间使用代码期间可能导致眼睛疲劳的问题。 我们考虑了字母的大小和形状等问题;它们之间的空间量,自然以等宽字体设计的平衡;一些看起来不必要的细节和符号之间不清楚的区别,例如(l 和 I);还要和开发字体时的编程连字等。 从2019.3版本开始,JetBrains Mono字体将随IDE一起提供,当然,你可以下载它并在所需的任何编辑器中使用它。 我们来看看Mono字体在不同编程语言下的样子吧~ Kotlin Java Go Python C++ C# JetBrains

HALCON示例:BOTTLE.HDEV 光学字符识别(分割OCR)

江枫思渺然 提交于 2021-01-10 12:38:09
* * bottle.hdev: Segment and read numbers on a beer bottle 分割读取啤酒瓶上的数字 * * Step 0: Preparations * Specify the name of the font to use for reading the date on the bottle. * It is easiest to use the pre-trained font Industrial_0-9_NoRej. If you * have run the program bottlet.hdev in this directory, you can activate * the second line to use the font trained with this program. *这个示例指定读取啤酒瓶上数字字体的名称。 *用事先训练好的Industrial_0-9_NoRej很容易识别字体。 *如果在同一目录下运行了bottlet.hdev示例,可以在这个程序中激活第二行使用。 * FontName := 'Industrial_0-9_NoRej' FontName := 'bottle' * * Step 1: Segmentation dev_update_window ('off') read_image

CSS:字体

孤者浪人 提交于 2021-01-09 08:03:42
字体系列 常规意义上的字体实际上是一个 字体系列( font family ) ,是多种字体变形的一个组合,每种变形都是一个具体的 字体风格( font face ) 。 E.g. Times包括多种变形TimesRegular, TimesBold, TimesItalic, TimesOblique, TimesBoldItalic, TimesBoldOblique等。 除特定字体系列 (e.g. Times、Verdana、Helvetica、Arial) 外,CSS还定义了5种通用字体系列: Serif: 成比例(所有字符根据不同大小有不同宽度)、有上下短线(字符笔划末端装饰)。 E.g. Times, Georgia, NewCentury Schoolbook. Sans-serif: 成比例、没有上下短线。 E.g. Helvetica、Geneva、Verdana、Arial、Univers. Monospace: 不成比例、通常用于模拟打字机/老式点阵打印机/老式视频显示终端的输出,每个字符宽度相同,不一定有上下短线。 E.g. Courier, Courier New, Andale Mono. Cursive: 模仿手写体,由曲线和serif字体中没有的笔画装饰组成。 E.g. Zapf Chancery、Author、Comic Sans. Fantasy