深圳幻海软件技术有限公司 欢迎您!

开发工具

  • 不要再用 if (obj != null) 判空了!

    一、前言相信不少小伙伴已经被java的NPE(NullPointerException)所谓的空指针异常搞的头昏脑涨,有大佬说过“防止NPE,是程序员的基本修养。”但是修养归修养,也是我们程序员最头疼的问题之一。二、认识Optional并使用简单来说,Opitonal类就是Java提供的为了解决大家

  • Bun 会是 Webpack 之后的下一件大事吗?

    JavaScript工具的未来将离JavaScript越来越远,一些工具(如Webpack和Babel)的重要性正在日益下降。为什么?目前已经证明一些语言(如Rust、Go甚至Zig)在捆绑、转译和编译方面比JavaScript具有更好的性能。它们不是单线程的,这在处理大量文件方面具有优势。是什么原

  • 值得收藏的30道Python练手题(附详解)

    1.已知一个字符串为“hello_world_yoyo”,如何得到一个队列[“hello”,”world”,”yoyo”]?使用split函数,分割字符串,并且将数据转换成列表类型:复制test='hello_world_yoyo'print(test.split("_"))121.2.3.结果:复

  • 三板斧!助你成为优秀软件工程师

    虽然前面讨论了很多编写代码的方法,但优秀的代码最终还是出自优秀的软件工程师。本节介绍如何成为一名优秀的软件工程师。首先澄清 几个误区 ,一名优秀的软件工程师和以下因素没有必然联系。(1)写了多少年程序。(2)写了多少行代码。(3)曾经在哪里上学,曾经在哪里工作。我将一名优秀软件工

  • 25个有用的JavaScript代码

    JavaScript有很多单行代码的实用例子,它们可以做很多强大的事情,无论你是JavaScript新手还是经验丰富的开发人员,学习些新东西总是好的。在今天的文中,我们将分享一些JavaScript单行代码,希望能帮助您解决一些日常开发中遇到的JavaScript问题,希望此列表中有一些您还不知道的

  • 从业务开发中学习和理解架构设计

    前言在软件开发领域经常会接触到架构这个词汇,在我最初的印象中,架构是一个很高级的词汇。它似乎代表了复杂的工程结构、高层次的抽象设计、最新的开发语言特性等等。对于当时只专注于写业务逻辑的我来说,不免心生对架构的敬畏。工作中对架构的讨论很少,出现则是一些高级晦涩的描述,但是从来没有人清楚地解释过架构做了

  • 手把手教你使用 GNU 调试器

    如果你是一个程序员,想在你的软件增加某些功能,你首先考虑实现它的方法:例如写一个方法、定义一个类,或者创建新的数据类型。然后你用编译器或解释器可以理解的编程语言来实现这个功能。但是,如果你觉得你所有代码都正确,但是编译器或解释器依然无法理解你的指令怎么办?如果软件大多数情况下都运行良好,但是在某些环

  • TypeScript 终极初学者指南

    下面是我整理的一些初学者必备的一些知识点~Typescript简介据官方描述:TypeScript是JavaScript的超集,这意味着它可以完成JavaScript所做的所有事情,而且额外附带了一些能力。JavaScript本身是一种动态类型语言,这意味着变量可以改变类型。使用TypeScript

  • RTC 性能自动化工具在内存优化场景下的实践

    背景介绍性能测试是SDK发版的重要依据,VolcRTC的业务方对于性能指标都比较重视,对于RTC准入有明确的准入标准。因此我们建立了线下的性能自动化测试系统,测试过程中我们发现VolcRTC的内存占用较高存在较大的优化空间。某个版本1v1语音通话VolcRTC1v1语音通话内存占用:占用的资源Mem

  • 十个Python初学者常犯的错误

    下面10个Python初学者常犯的错误,并不是真正的代码错误,代码照样可以运行,但是不够Pythonic,因为Python有自己的语言哲学,在代码的处理上有传统语言无法比拟的简洁性和便捷性。1. 真值比较初学者经常在if语句中使用==比较符来判断表达式是否为真值。这是一种冗余的写法,其实你

  • Keepalived 高可用的三种路由方案

    前言话说之前大学放暑假的时候,我到一个餐厅打工两个月,Title是初级传菜员。正是这次打工经验,为我带来了一波潜藏已久的素材,请听听我的故事吧~本文主要内容如下:一、餐厅角色在餐厅主要有这几种角色:服务员:负责记录客户已点哪些菜、上菜时间、上菜、划掉菜。可以将多个服务员都当做客户端,相对于传菜员来说

  • 分享:四款 Python 超酷终端进度条

    想象一下,在您使用Python开发了一个脚本,在下载某些文件的时候你一定会不时看看进度条,在写代码的时候使用进度条可以便捷的观察任务处理情况,或者还需要多久才能完成。如果有加载屏幕或进度条指示剩余时间或使用百分比的剩余进度,就安心多了。我们可以使用Python来编写进度条。在本教程中,我们将了解如何

  • AR视觉给移动生活带来的变革

    作者|张辰,单位:中国移动智慧家庭运营中心​Labs导读随着移动技术的发展,5G技术的普及,AR/VR行业也迎来了新的春天。由于AR/VR行业的应用,需要大数据量的计算、渲染、以及配套的硬件设备普及,所以为了让你我有更好的观感,对于硬件和软件的要求是非常高的。不过随着科技的发展,这一切都成为了可能,

  • AOS-IoT之Shell组件知多少?

    作者|李坤明,单位:中国移动智慧家庭运营中心​Labs导读Shell就像是开发者和计算机之间的一座沟通桥梁,开发者能很方便地获取系统的运行情况,并通过命令控制系统的运行。搭载了shell组件的操作系统,能够使得目标用户开发更简单、更便捷。在计算机发展的早期,图形系统出现之前,没有鼠标,甚至没有键盘,

  • 要成为 C++ 的继任者?Google 开源新编程语言 Carbon

    Carbon是Google内部构建的最新编程语言,近日已作为C++的实验性继任者亮相。这么多年来,Google创造了一些编程语言,其中一些语言比其他语言更受欢迎和有特色。例如,Golang(或简称Go)是为了改进服务器和分布式系统的开发而创建的,并已被公众采用。与此同时,最初旨在替代JavaScri

  • 图文并茂:Zookeeper分布式锁原理

    写在前面之前写过一篇文章(《​Redis分布式锁,没它真不行!​》),给大家说了一下Redisson这个开源框架是如何实现Redis分布式锁原理的,这篇文章再给大家聊一下ZooKeeper实现分布式锁的原理。同理,我是直接基于比较常用的Curator这个开源框架,聊一下这个框架对ZooKeeper(

  • 为什么要使用MQ消息中间件?这几个问题必须拿下

    引言这篇文章开始,我们把消息中间件这块高频的面试题给大家说一下,也会涵盖一些MQ中间件常见的技术问题。假如面试官看你简历里写了MQ中间件的使用经验,很可能会有如下问题:你们公司生产环境用的是什么消息中间件?为什么要在系统里引入消息中间件?引入消息中间件之后会有什么好处以及坏处?好,我们一个个的来分析

  • 比GDB更方便的代码调试工具:CGDB

    CGDB是GDB的前端,在终端窗口中意图形化的形式来调试代码(基于ncurse),非常方便。相对于GDB来说,可以很大的提高效率。这篇文章就来分享一下CGDB的最基本使用方法,如果是第一次听说,强烈建议您体验一下,一定会爱上它的!有bug的示例代码复制#include<unistd.h>

  • 接口流量突增,如何做好性能优化?

    ​大家好,我是树哥!对于提供接口服务的应用来说,很多都是用SpringBoot默认的Servlet容器Tomcat。在一开始上线的时候,由于大多数流量较小,我们也并不会为Tomcat做专门的参数调整。但随着流量越来越大,应用的各项性能指标越来越差,此时我们大多数都会选择扩容。除了扩容之外,我们还可以

  • 开发者如何为React Native选择合适的数据库

    译者|陈峻策划|云昭如今,程序员们可以选用多种编程语言,来创建在线平台、网站和应用程序。其中,在编程社区中,广受不同开发背景的人员所推崇的一种流行语言,便是ReactNative。它是由Facebook的JavaScript工具包所构建,适合为移动平台、而非Web,设计和创建独特的用户界面。目前,R

  • 分享一个趣味性十足的Python可视化技巧

    如下图所示:在示例照片当中有着各种各样的颜色,我们将通过Python中的可视化模块以及opencv模块来识别出图片当中所有的颜色要素,并且将其添加到可视化图表的配色当中。导入模块并加载图片那么按照惯例,第一步一般都是导入模块,可视化用到的模块是matplotlib模块,我们将图片中的颜色抽取出来之后

  • Java 的七种垃圾收集器

    了解Java中的内存管理。用C或C++这样的编程语言写一个应用时,需要编写代码来销毁内存中不再需要的对象。当应用程序扩展得越来越复杂时,未使用对象被忽略释放的可能性就越大。这会导致内存泄露,最终内存耗尽,在某个时刻将没有更多的内存可以分配。结果就是应用程序运行失败并出现OutOfMemoryErro

  • 16个实用的背景生成器工具

    曾经是否努力为产品、品牌和界面创造引人入胜的视觉效果?在策划网站UI上看到的设计通常需要专业设计技能或大量练习。其实,如果我们有一些好的工具,我们就可以快速的实现一些比较有创意的效果。在这篇文章中,我整理了一些我最喜欢的背景生成器工具。有全方位工具、渐变生成器、SVG背景、图案等类别,我对它们进行了

  • 一文解析 Pinia 和 Vuex,带你全面理解这两个 Vue 状态管理模式

    Pinia和Vuex一样都是是vue的全局状态管理器。其实Pinia就是Vuex5,只不过为了尊重原作者的贡献就沿用了这个看起来很甜的名字Pinia。本文将通过Vue3的形式对两者的不同实现方式进行对比,让你在以后工作中无论使用到Pinia还是Vuex的时候都能够游刃有余。既然我们要对比两者的实现方

推荐阅读