首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏偷得浮生半日闲

    MySQL的utf8utf8mb4

    起因 评论增加了Emoji表情,结果写入的时候报错了,找了半天原因,原来是数据库utf8utf8mb4的区别问题。 区别 utf8:通常指的是 utf8(也称为 utf8_general_ci 或 utf8_bin),它支持标准的 Unicode 字符,但不支持四个字节的字符(如 Emoji、某些表情符号其他复杂字符 utf8mb4:这是一种扩展的 UTF-8 编码,它可以支持所有 Unicode 字符,包括四个字节的字符(如 Emoji)。 Typecho配置 在config.inc.php数据库参数的配置中有charset的配置,可以配置为utf8或utf8mb4。 代码判断 在不关心具体数据库的判断可以直接通过配置的charset判断是否为utf8mb4。

    64110编辑于 2024-08-31
  • 来自专栏芋道源码1024

    Java 8 处理日期时间示例

    日期时间格式解析、格式化 9、java8 时间类与Date类的相互转化 ---- 在Java 8以前,日期时间处理一直被广大java程序员抱怨太难用,首先是java.utiljava.sql,都包含 同时java.util.Date既包含了日期,又包含了时间,所以java8新的日期时间库,很好的解决了以前日期时间类的很多弊端。并且也借鉴了第三方日期库joda很多的优点。 :只包含时间,比如:23:12:10 LocalDateTime:包含日期时间,比如:2016-10-20 23:14:21 Period:时间段 ZoneOffset:时区偏移量,比如:+8:00 8、日期时间格式解析、格式化 在java8之前,我们进行时间格式化主要是使用SimpleDateFormat,而在java8,主要是使用DateTimeFormatter,java8,预定义了一些标准的时间格式 时间类与Date类的相互转化 在转换,我们需要注意,因为java8之前Date是包含日期时间的,而LocalDate只包含日期,LocalTime只包含时间,所以与Date在互转,势必会丢失日期或者时间

    2.3K20发布于 2019-10-08
  • 来自专栏过千帆博客

    C#8的RangeIndex(范围索引)

    所以..的前面后面均可以为空。 所以..也可以单独使用,代表整个索引范围(0..arr.Length):arr[..]是arr的完整拷贝。 深拷贝还是浅拷贝需要看元素是值类型还是引用类型。 Range Range用来从集合取出 指定索引范围 的元素来生成新的集合。 该索引可以用来从集合取出指定索引处的元素,是单个元素。 乍一看,Index与int类型的索引没啥区别。嗯。。确实是这样,因为Index要与^操作符结合起来才能发挥更大的作用。 组合使用 Range Index 完整拷贝数组的3种方式 int[] arr = new[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; int[] arr01 = arr - Range Index(范围索引):https://mp.weixin.qq.com/s?

    1.2K00发布于 2021-08-08
  • 来自专栏全栈程序员必看

    python基础(8)pythonis==的区别详解

    =的区别 上面分析了创建对象的整个内存过程,那么接下来理解is==的区别就好多了 is:用于判断两个变量引用对象是否为同一个,既比较对象的地址。 需要注意的是,这仅仅是在命令行执行,而在Pycharm或者保存为文件执行,结果是不一样 的,这是因为解释器做了一部分优化(范围是[-5,任意正整数])。 当字符串对象a需要驻留时,先在interned检测是否存在,若存在则指向存在的字符串对象,a的引用计数减1; 若不存在,则记录a到interned 为什么要字符串驻留? 字符串长度为01时,默认都采用了驻留机制。 >>> a is b True >>> 最后,当不满足标识符规则时,则不会启用驻留机制,当然这只出现在命令行,如果你使用pycharm则不会出现这样的情况,pycharm内部已经帮我们做了处理 发布者

    58330编辑于 2022-09-19
  • 来自专栏微信公众号【Java技术江湖】

    Java78 的 HashMap ConcurrentHashMap 全解析

    Java7/8 的 HashMap 全解析 转自https://www.javadoop.com/post/hashmap#toc7 部分内容转自 http://www.jasongj.com/java 网上关于 HashMap ConcurrentHashMap 的文章确实不少,不过缺斤少两的文章比较多,所以才想自己也写一篇,把细节说清楚说透,尤其像 Java8 的 ConcurrentHashMap Java8 的 HashMap ConcurrentHashMap 都有相应的要求,只不过实现的代码稍微有些不同,后面再看到的时候就知道了。 为了降低这部分的开销,在 Java8 ,当链表的元素达到了 8 个时,会将链表转换为红黑树,在这些位置进行查找的时候可以降低时间复杂度为 O(logN)。 来一张图简单示意一下吧: ? Java7 中使用 Entry 来代表每个 HashMap 的数据节点,Java8 中使用 Node,基本没有区别,都是 key,value,hash next 这四个属性,不过,Node 只能用于链表的情况

    1.3K20发布于 2019-09-25
  • 来自专栏码农小胖哥的码农生涯

    Java 8 Stream Api 的 map flatMap 操作

    1.前言 Java 8 提供了非常好用的 Stream API ,可以很方便的操作集合。 今天我们探讨两个 Stream 中间操作 map flatMap 2. map 操作 map 操作是将流的元素进行再次加工形成一个新流。这在开发很有用。 放在 Java 8 之前 我们要通过新建一个集合然后通过遍历学生集合来消费元素的年龄属性。现在我们通过很简单的流式操作就完成了这个需求。 示意图: ? flatMap 不同于 map 地方在于 map 只是提取属性放入流,而 flatMap 先提取属性放入一个比较小的流,然后再将所有的流合并为一个流。有一种 “聚沙成塔” 的感觉。 扩展一下知识,其实Java 8 不光 Stream 存在这两种操作,其实 Optional<T> 也存在这两种操作,作用都差不多。

    2.8K20发布于 2019-12-10
  • 来自专栏JusterZhu

    .NET 8 Android 资源生成的改进变化

    它们通常具有 XML 文件形式,包含用户界面布局、png 或 svg 文件形式的图像图标以及包含样式主题等内容的值。请参阅 Google 文档以深入了解 Android 资源。 旧系统存在一些影响应用程序大小启动性能的问题。在旧系统,每个 Android 程序集都有自己的一组Resource类。所以我们实际上到处都有重复的代码。 测试表明我们可以将启动时间缩短约 8%。整体封装尺寸大约减少 2%-4%。 Xamarin.Legacy.Sdk是不受支持的,所以它只能作为用户升级到 .NET 8 时的权宜之计。 但是,如果您使用 .nuspec,则需要手动将 .aar 文件添加到要包含的文件列表。 与.aar文件嵌入文件相关的更改在OneDotNetEmbeddedResources.md中有文档记录。

    3.7K10编辑于 2023-12-06
  • 来自专栏码农小胖哥的码农生涯

    Java 8 Stream Api 的 skip limit 操作

    前言 Java 8 Stream API 的skip()limit()方法具有类似的作用。它们都是对流进行裁剪的中间方法。今天我们来探讨一下这两个方法。 当 n=4 时,打印了 5 6 ,由此可推断当我们取值大于等于流的大小时肯定什么也没有了,对于流来说肯定是个空流。经过检验确实count=0 。 n=8 时,打印了所有元素。感觉跟 mysq 的分页有异曲同工之妙。 4. 区别 这两个方法都是截取了流。但是它们有一些区别 skip 操作必须时刻监测流中元素的状态。才能判断是否需要丢弃。 总结 今天对Java Stream API 的 skip() limit()方法进行了探讨。不知道你会想到在什么场景下会分别用到它们呢,不妨留言告诉我。

    93831发布于 2019-12-10
  • 来自专栏精讲JAVA

    Java 8 Java 9 并发工具的改变

    8 Java 9 concurrent 包有了一些改变, 本文对这些改变做了汇总。 Java 8 Concurrent package的改变 java.util.concurrent中新的类接口 增加了两个新接口4个新类: 接口 CompletableFuture.AsynchronousCompletionTask ConcurrentHashMap.KeySetView 类 CountedCompleter 类 CompletionException java.util.concurrent.ConcurrentHashMap的新方法 集合框架 在Java 8做了修订 https://docs.oracle.com/javase/8/docs/technotes/guides/concurrency/changes8.html Java 9′s other new Java 9 concurrent 包有了一些改变, 本文对这些改变做了汇总。

    78320发布于 2018-07-30
  • 来自专栏精讲JAVA

    Java 8 Java 9 并发工具的改变

    8 Java 9 concurrent 包有了一些改变, 本文对这些改变做了汇总。 Java 8 Concurrent package的改变 java.util.concurrent中新的类接口 增加了两个新接口4个新类: 接口 CompletableFuture.AsynchronousCompletionTask ConcurrentHashMap.KeySetView 类 CountedCompleter 类 CompletionException java.util.concurrent.ConcurrentHashMap的新方法 集合框架 在Java 8做了修订 https://docs.oracle.com/javase/8/docs/technotes/guides/concurrency/changes8.html Java 9′s other new Java 9 concurrent 包有了一些改变, 本文对这些改变做了汇总。

    78320发布于 2018-07-30
  • 来自专栏iSharkFly

    JDK 8 及其后续 JDK Period Duration

    我们都知道 JDK 8 以后开始使用了新的 joda 日期处理 API。 在这个 API ,新增了 Period Duration 这 2 个类,用于计算 2 个日期之间的间隔。 下面对这 2 个类进行一些比较说明,从使用上来说,如果你不需要秒或者纳秒一级的比较的话,就用 Period ,Period 的比较粒度更粗,通常只能精确到,天(Days),月(Months) 年(Years 线程安全可变 这 2 个类都是: 线程安全(thread-safe) 不可变(immutable) 对比区别 2 个类比较的精度不不同。 " + p.getDays() + " days old. (" + p2 + " days total)"); 代码将会输出为: You are 41 years, 8 https://www.ossez.com/t/jdk-8-jdk-period-duration/13709

    87660发布于 2021-09-02
  • 来自专栏C++

    C++20 的std::c8rtomb std::mbrtoc8

    引言C++20 标准引入了对 UTF-8 编码的更好支持,其中包括两个重要的函数:std::c8rtomb std::mbrtoc8。 这两个函数分别用于将 UTF-8 编码的字符转换为窄多字节字符表示,以及将窄多字节字符转换为 UTF-8 编码。这些功能对于处理多语言文本国际化应用非常关键。 如果 c8 不是编码点表示的最后一个编码单元,则函数不会写入 s 指向的数组,只更新 *ps。 如果 c8 不是编码点的 UTF-8 表示的最后一个编码单元,则返回值可以为零。 总结C++20 通过引入 std::c8rtomb std::mbrtoc8,为处理 UTF-8 编码窄多字节字符提供了强大的支持。

    60900编辑于 2025-03-26
  • 来自专栏上云服务专题

    MySQL的UTF8UTF8mb4编码的详细区别

    三个字节的 UTF-8 最大能编码的 Unicode 字符是 0xffff,也就是 Unicode 的基本多文种平面(BMP)。 包括 Emoji 表情(Emoji 是一种特殊的 Unicode 编码,常见于 ios android 手机上),很多不常用的汉字,以及任何新增的 Unicode 字符等等。 是 Mysql 的一种字符集,只支持最长三个字节的 UTF-8字符,也就是 Unicode 的基本多文本平面。 最初的 UTF-8 格式使用一至六个字节,最大能编码 31 位字符。 最新的 UTF-8 规范只使用一到四个字节,最大能编码21位,正好能够表示所有的 17个 Unicode 平面。 Mysql 的 utf8 为什么只支持持最长三个字节的 UTF-8字符呢? Mysql 的字符串长度算的是字符数而非字节数,对于 CHAR 数据类型来说,需要为字符串保留足够的长。

    7.3K30编辑于 2022-01-07
  • 来自专栏大数据文摘

    NBA的那些黑科技

    ◆ ◆ ◆ LED灯篮板:时间到篮板随着发光 LED灯篮板,这个发源于NBA的“高科技”早已是全世界职业联赛的标配;除此之外,可以追踪场上球员一举一动的摄像头追踪系统,神乎其技的转播回放中心,360度3D 影像回放技术;以及未来会被应用的压力感应、Beacon虚拟现实技术,NBA球馆一直是高科技的先锋实验田,也总是在为篮球这项运动树立新标杆。 传统的转播车相比,回放中心就是一群更专业的人在专职做比赛回放的事。在裁判走向场边时,好几个角度的回放视频已经在飞速制作。我们上面提到回放中心位于新泽西州,所以保证视频快速传输到球馆也是一个大问题。 ◆ ◆ ◆ 运动员追踪系统:让球员的一举一动变成数据 现在的腾讯NBA直播,你经常能看到转播镜头中附上一张以圆点代表球员的统计表,球员的投球点,是否进球一目了然。这都是球员追踪系统的功劳。 ◆ ◆ ◆ 未来科技:压力感应地板、VR Steve Hellmuth是负责运营技术的NBA副总裁,回放中心球员追踪系统就是在他的主导下应用的。

    89930发布于 2018-05-24
  • 来自专栏用户2442861的专栏

    PythonGBK, UTF-8Unicode的编码问题

    那么Python 2.x的字符串究竟是个什么呢? 基本编码知识 在了解Python字符串(String)的本质前,我们需要知道ASCII、GBK、UTF-8Unicode的关系究竟几何。 具体细节可参考维基:http://zh.wikipedia.org/wiki/UTF-8 Unicode是一种定长的编码方式(同ASCII),不过它是每2字节认为是一个字符,如ASCII0x61表示 由于Unicode编码的字符串体积很大,因此一般来说Unicode编码只是文字在内存的内在形式,具体的存储(如文件、网页等)都需要靠外在的编码(UTF-8、GBK等)诠释。 Python2.x字符串的本质 Python实际上有两种字符串,分别是str类型unicode类型,这两者都是basestring的派生类。 原文地址:PythonGBK, UTF-8Unicode的编码问题, 感谢原作者分享。

    5.2K10发布于 2018-09-20
  • 来自专栏相约机器人

    8行代码的人脸检测,识别情感检测!

    人脸检测识别可以用来改善访问安全性,就像最新的Apple Iphone一样,允许在没有物理卡的情况下处理付款 - iphone也这样做!,启用犯罪识别并允许个性化的医疗保健其他服务。 人脸检测识别是一个研究很多的话题,网上有大量的资源。已经尝试了多个开源项目,以找到最准确实现的项目。还创建了一个管道,用于在加载图像后只需8行代码就任何输入图像进行检测,识别情感理解! 情绪检测 人类习惯于从面部情绪获取非语言暗示。现在计算机也越来越好地阅读情感。那么如何检测图像的情绪呢? 情绪可分为7类 - 快乐,悲伤,恐惧,厌恶,愤怒,中立惊讶。 emotion_detector_models/model.hdf5") predicted_class = np.argmax(model.predict(face_image) 结论 这个博客演示了在应用程序实现面部检测识别模型是多么容易

    1.6K20发布于 2019-06-21
  • 来自专栏CNCF

    K8s优雅停机零宕机部署

    K8sMeetup 在数据库中保存集群状态 API 接收并检查 Pod 定义,然后将其存储在 etcd 数据库。另外,Pod 将被添加到调度程序的队列。 K8sMeetup Pod Service 在创建 Service 时,我们需要注意两点信息: selector:指定接收流量的 Pod。 targetPort:通过 Pod 端口接收流量。 我们可以使用以下方法进行验证: Endpoint 对象会从 Pod 收集所有的 IP 地址端口,而且不仅一次。 K8sMeetup 宽限期滚动更新 优雅停机适用于要删除的 Pod,但如果我们不删除 Pod,会怎么样?其实即使我们不做,Kubernetes 也会删除 Pod。 宽限期越长,同时具有“运行”“终止”的 Pod 也就越多。 K8sMeetup 终止长时间运行的任务 如果我们要对大型视频进行转码,是否有任何方法可以延迟停止 Pod?

    4.5K10发布于 2020-08-20
  • 来自专栏sunsky

    K8S 的容器编排应用编排

    在这个领域,Kubernetes 用 Helm 的来管理打包应用,但是 Helm 并不是十全十美的,在使用过程我们发现它并不能完全满足我们的需求,所以在 Helm 的基础上,我们自己研发了一套编排组件 我查阅了 Wiki 百科,了解到我们常说的编排的英文单词为 “Orchestration”,它常被解释为: 本意:为管弦乐的配器法,主要是研究各种管弦乐器的运用配合方法,通过各种乐器的不同音色,以便充分表现乐曲的内容和风格 而在云的时代,微服务容器大行其道,除了为我们显示出了它们在敏捷性,可移植性等方面的巨大优势以外,也为我们的交付运维带来了新的挑战:我们将单体式的架构拆分成越来越多细小的服务,运行在各自的容器,那么该如何解决它们之间的依赖管理 如 Kubernetes 通过不同的 controller 将 Pod 调度到合适的 node 上,并且负责管理它们的生命周期; 服务编排 - 负责服务发现高可用等,如 Kubernetes 可用通过 Release 创建 当 Release CRD 被创建出来,controller 为它创建一个新的 Release History, 然后将 Release 的 Chart Configuration

    3.2K20发布于 2020-08-20
  • 来自专栏全栈程序员必看

    Java8 DateLocalDate的相互转换

    一.简述 Date对象表示特定的日期时间,而LocalDate(Java8)对象只包含没有任何时间信息的日期。 因此,如果我们只关心日期而不是时间信息,则可以在DateLocalDate之间进行转换。

    6.7K30编辑于 2022-11-15
  • 来自专栏EDI电子数据交换知识分享

    科技行业的EDI

    由于这个原因,零售网络多模式物流网络的库存可见性对高科技公司和他们的交易伙伴社区而言都很重要。 与汽车行业的公司一样,许多高科技公司也将其业务全球化,以利用全球许多新兴市场的低成本供应商。 供应链结构 高科技产业是所有产业部门供应链结构最复杂的。汽车行业有一个分层相当合理的结构,而相比之下,高科技行业的结构非常矩阵化。 这种模式现在在许多高科技公司很常见,包括世界上领先的高科技消费品牌之一——苹果,也是如此。 为了尝试解释高科技供应链的结构,下文的示意图说明了整个供应和需求链的关键参与者。 该图显示了高科技行业EDI的供求情况 能够在相对复杂快速变化的供需链交换业务文档对于这些高科技业务的平稳运行非常重要。 由于价值链涉及的合同制造商,设计合作伙伴,物流合作伙伴零售商等的数量众多(遍及地理位置分散的工厂办公室),意味着与能够支持这样一个复杂的全球价值链的EDI或B2B供应商合作是很重要的。

    56720发布于 2021-04-27
领券