golang提取zip中的文件
前言
近来有个需求,需要从 zip 中提取一个文件出来,因为只用到其中的一个,其它的用不到,如果全部提取出来就有点多余了,在经过一番摸索发现还真可以。
实现
Go 标准库里有 archive/zip 这个包,所以我们可以直接使用
近来有个需求,需要从 zip 中提取一个文件出来,因为只用到其中的一个,其它的用不到,如果全部提取出来就有点多余了,在经过一番摸索发现还真可以。
Go 标准库里有 archive/zip 这个包,所以我们可以直接使用
做网络开发的时候如果服务端没开发好,通常会在本地搭一个简单的数据服务,这时候又不想改代码里的域名,就可以通过自定义 DNS 服务器来把对应的域名改为本地主机。
有时候有些广告非常恶心,不想看,可以通过自定义 DNS 把对应的域名的 IP 改为本地,由于本地没有对应的服务所以就加载不出来,也就看不到广告了。这也是广告拦截的原理。
有些域名和 IP 之间相对固定,这时候自建 DNS 服务还能起到加速的作用,避免域名劫持。
这些都可以通过改 /etc/hosts 文件来实现,但是如果你有多台设备都想做到一样的效果,每台机器都要配置一下就非常麻烦,所以,我们就希望搭建一个 DNS 服务来让局域网内的所的所有设备都可以享受到同样的待遇。
我经过一番搜索后发现了 CoreDNS ,它配置简单是一个灵活、可扩展的 DNS 服务器,旨在简化 DNS 管理并提供高性能的解析服务。它不仅具备传统 DNS 服务器的功能,还支持插件机制,可以轻松地集成到各种现代化的网络环境中。于是就试着用它搭建了 DNS 服务。
Cocos2d-x 默认不支持加载网络图片,而加载网络图片是一个常见的需求,本文简单的实现了加载网络图片。
加载一张网络图片需要以下几个步骤
Image 对象Image 对象初始化 Texture2D 对象Texture2D 对象创建一个精灵
|
|
通过以上的步骤,就可以在 Cocos2d 中加载网络图片并显示出来。
熟悉 Cocos2d 开发的应该都知道,在一个场景中如果有多个 Layer ,这些 Layer 一个一个的叠在上面,当我们点击 Layer 上的按钮的时候可以正常的触发对应的事件。
但是,当点击的位置所在的 Layer 没有事件要响应,这时候触摸事件就会传递到下面的 Layer ,这是我们所不希望的,在经过一番搜索之后,找到了一个不错的方案,分享一下。
在跨平台文件同步利器:使用Caddy搭建WebDav实现多设备间的无缝文件共中讲了如何使用 caddy 搭建 WebDav 服务,今天就来学一下如何在 caddy 中搭建静态文件服务器。
搭建一个静态服务器需要使用到 file_server 这个插件,这个插件是内置的,只要安装好了 caddy 就能够直接使用。
字符串在 C 语言中是一种常见的数据类型,以字符数组的形式存储。而 C 语言中的字符串以 \0 (空字符)作为结束符。然而, \0 的存在可能导致一些问题,特别是在处理包含 \0 的字符串时,常见的字符串处理函数可能会出现截断的情况。
最近就在字符串上踩了坑。
我在 iOS 上使用 beorg 来管理日程,所以经常需要在电脑和手机之间同步。
beorg 支持 iCloud 、 Dropbox 、 WebDav 等方式同步,使用 iCloud 是最简单的,但是我不想数据放到别人的服务器上面,所以我就不考虑了, Dropbox 就你懂的,所以就只剩下 WebDav 了。
WebDav 是一种基于 HTTP 协议的文件访问和管理技术,它提供了一种标准化的方式,使我们可以在网络上进行文件操作,如上传、下载、删除和重命名等。
我找了一圈看上了 Caddy ,它是一个功能强大且易于使用的 Web 服务器,它为搭建 WebDav 服务器提供了简洁而灵活的解决方案。所以今天就要用 Caddy 来搭建 WebDav 服务。
在 Android 开发中,要监听 EditText 输入内容的变化,可以通过 addTextChangedListener 方法来实现,非常方便。
但是在 Cocos2d 中要监听 TextField 却没有那么容易,我经过实验发现有两种方法可以达到同样的目的,一种是监听文本的输入事件、另一种是在每一帧里监听文本变化。
在 C++ 中有许多第三方库可以解析 JSON,但是都不是很好用,不能像 Java 中的 gson 、 fastjson 一样直接把 JSON 直接转成对象。
找了许多库,找到了nlohmann/json: JSON for Modern C++使用起来比较方便,也踩了坑,来了解一下。
在 Cocos2d-x 中实现加载动画可以提高用户体验和应用程序的交互性。加载动画通常会显示在网络通信或资源加载等操作期间,以告知用户当前操作正在进行中。
可惜的是 Cocos2d 并没有提供这种操作,不像 Android 提供了 ProgressDialog 。
所以今天就来自己实现一个。
网络编程是开发中必不可少的一环, Cocos2d-x 提供了一个简单易用的网络模块,包括 HTTP 、 WebSocket 和 Socket 三种协议的支持。
它们都是基于标准的网络协议和 API 实现的,因此可以很容易地与其他网络库或服务端进行通信。
今天就来学习一下 HTTP 的使用。
上一篇把 Cocos2d 环境搭好了,今天来学习一下 Webview 的使用。
是的我最近在学习 Cocos2d-x 。你可能会有疑问,已经 2023 年了为什么还要学习 Cocos2d-x ?
Cocos2d-x 最新一次发布是在 2019-12-04,已经 3 年没更新了,这时候学习不是明智之举。
我最初知道 Cocos2d-x 的时候还是上大学那会,在极客学院学了不少知识,后面没什么场景会用到,就再也没使用过了。
我最近又学了是因为我们有个项目要提供 Cocos2d-x 的版本,这么多年过去我也没想到还会有一天要用到。
我在搭建环境碰到了一些问题,记录一下。
前段时间写 MoviePy 系列博客的时候,要把处理的视频效果展示出来,我按照图片的写法去写视频发现并不能渲染出来,然后又用 HTML 的方式发现还是不行,经过一番研究找到了办法。
之前的几篇文章讲了 MoviePy 的一些基本使用,发现没有裁剪视频中的一个区域的功能,然后去搜文档发现要使用 fx 函数进行变换,我经过实验发现了可以直接使用 crop 方法直接进行裁剪。
过几天就是情人节了,刚好最近在研究 MoviePy ,所以今天就来使用 MoviePy 画一个爱心,会动的。
废话不多说,直接看效果
今天要使用 MoviePy 实现高斯模糊的效果
上一篇文章讲了 MoviePy 的一些使用,今天来说一下怎么把视频转成 gif ,以及怎么把 gif 转成视频。
生活中视频使用的场景越来越多,生活中不免会碰到要对视频进行处理。
现在的视频剪辑软件也非常好用,可以进行精细化制作,但是效率就低了许多,如果有很多视频要处理,那就需要非常多的时间去处理。
在上一篇中我们讲了,在 Android Studio 中通过二维码使用WIFI连接手机的原理,今天就来使用 Rust 来实现类似的功能。
没有看过的建议看一下,不然这篇文档可能会看不懂。
为什么要用 Rust 呢?
一方面是 Go 已经有了,而刚好我想用 Rust 来练练手,所以就是它了。