Chars's Blog

Never stop living and learning

因为工作原因,需要对一个产品进行分析和了解,基于 ipa 包做一些解析。但是,因为 Apple 的安全机制,我们很难再获取 ipa 文件。

为了解决这个问题,作者想到了逆向工程,文章记录了如何操作,并成功实现 ipa 文件提取。

Read more »

背景

随着音视频、云游戏越来越火,一个开源解决方案 WebRTC 成为了众多技术者绕不过的框架。在了解 WebRTC 基础流程后,笔者也萌生了一个想法:使用 WebRTC 实现一个点对点的视频 & 文本单聊程序。根据 WebRTC 的框架能力,视频聊天属于其基础功能。想到就做,笔者开始将想法落地。

笔者在实现点对点视频通信过程中,遇到了 iOS 模拟器红屏问题。本文主要记录如何解决这一问题。主要对 SDP 进行解读,分享在编辑 SDP 过程中遇到的问题。

Read more »

单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如 C 语言中单元指一个函数,Java 里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等。总的来说,单元就是人为规定的最小的被测功能模块。

单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。

Read more »

Core Data 是 iOS3.0 时引入的一个数据持久化的框架。与 sqlite 对比最大的优点莫过于支持对象的存储,苹果的官方文档说其简化了数据库的操作,使用 Core Data 确实可以大量减少代码中的 SQL 语句。

可是现状,大家对于持久化的选择方案仍多数是 FMDB。笔者猜测,最大的原因可能就是性能。

Read more »

礁岸

来到日本已经有一段时间了,为什么直到现在才开始想起来写一点感想呢。一是,时间不多。二是,之前体验不多。

这次来日本,抱着学习、求证的心态。身边的人问起,笔者的回答一向都是,过来“浪”了。因为不是有很具体的目的过来的。在大学毕业时,就因为一些原因,对这边有兴趣。而现在,有机会过来了。那么,就能好好验证之前自己的困惑了。

目前为止,最大的体会就是,日本绝对是个生活的好地方。

Read more »

Privacy Policy

Effective date: October 28, 2018

Niffler (“us”, “we”, or “our”) operates the Niffler mobile application (the “Service”).

This page informs you of our policies regarding the collection, use, and disclosure of personal data when you use our Service and the choices you have associated with that data. Our Privacy Policy for Niffler is created with the help of the Free Privacy Policy Generator.

Read more »

今天自己已经没有上班了,心里却是莫名的失落。没有开心与轻松,自己现在并不累。今天终于发现自己真的很恋旧。在 ZAKER 呆了 912 天,说来也不是很短了。本来以为自己可以继续呆下去,依旧可以做着一边工作一边兼顾自己的项目,在工作中迸发自己的 idea,然后付诸行动。

Read more »

当我们在网页浏览器(Web browser)的地址栏中输入 URL 时,Web 页面是如何呈现的吗?

Web 页面当然不能凭空显示出来。根据 Web 浏览器地址栏中指定的 URL,Web 浏览器从 Web 服务器端获取文件资源(resource)等信息,从而显示出 Web 页面。像这种通过发送请求获取服务器资源的 Web 浏览器等,都可称为客户端(client)。

Web 使用一种名为 HTTP(HyperText Transfer Protocol,超文本传输协议)的协议作为规范,完成从客户端到服务器端等一系列运作流程。而协议是指规则的约定,可以说,Web 是建立在 HTTP 协议上通信的。

超文本传输协议(HTTP,HyperText Transfer Protocol) 是互联网上应用最为广泛的一种网络协议。所有的 WWW 文件都必须遵守这个标准。设计 HTTP 最初的目的是为了提供一种发布和接收 HTML 页面的方法。1960 年美国人 Ted Nelson 构思了一种通过计算机处理文本信息的方法,并称之为超文本(hypertext),这成为了 HTTP 超文本传输协议标准架构的发展根基。Ted Nelson 组织协调万维网协会(World Wide Web Consortium)和互联网工程工作小组(Internet Engineering Task Force )共同合作研究,最终发布了一系列的 RFC,其中著名的 RFC 2616 定义了 HTTP 1.1。

Read more »

丽江古城

距离从云南回来已经好些天了。但,脑海中还会时常回忆起那里的景色。或许对于一些人来说,那些也是很通常的环境。旅行,不就是不同环境生活的人,暂时交换体验吗?这次的旅行,发现自己变化很大,从心性上来说,应该成熟些了吧。对于这次的旅行,还是想能够记下来,毕竟对于我来说,是一份很珍贵的记忆。

泸沽湖畔蒲公英

Read more »

随着网络技术的发展,接入网络的设备的种类越来越多,配置越来越复杂,来自不同设备厂商的设备也往往会增加自己特有的功能,这就导致在一个网络中往往会有很多具有不同特性的、来自不同厂商的设备,为了方便对这样的网络进行管理,就需要使得不同厂商的设备能够在网络中相互发现并交互各自的系统及配置信息。 

LLDP(Link Layer Discovery Protocol,链路层发现协议)就是用于这个目的的协议。LLDP 定义在 802.1ab 中,它是一个二层协议,它提供了一种标准的链路层发现方式。LLDP 协议使得接入网络的一台设备可以将其主要的能力,管理地址,设备标识,接口标识等信息发送给接入同一个局域网络的其它设备。当一个设备从网络中接收到其它设备的这些信息时,它就将这些信息以MIB的形式存储起来。

这些 MIB 信息可用于发现设备的物理拓扑结构以及管理配置信息。需要注意的是 LLDP 仅仅被设计用于进行信息通告,它被用于通告一个设备的信息并可以获得其它设备的信息,进而得到相关的 MIB 信息。它不是一个配置、控制协议,无法通过该协议对远端设备进行配置,它只是提供了关于网络拓扑以及管理配置的信息,这些信息可以被用于管理、配置的目的,如何用取决于信息的使用者。

Read more »

如何提交代码至 CocoaPods?这个问题在 Google 一搜索可以有很多文章出来,不过,其中遇到的坑却无人提及。笔者现在将实际操作工程记录如下,并总结踩坑注意事项:操作顺序、文件配置、命令使用。

Read more »

TensorFlow 社区创建了一系列用于多平台测试的图像分类模型参考点。在 方法 章节中会详细说明如何执行测试,并给出使用的脚本链接。

Read more »

在前文 《TensorFlow Liner Model Tutorial》 中,我们使用 人口收入普查数据集 训练了一个 logistic 线性回归模型去预测个人年收入超过 5 万美元的概率。TensorFlow 在训练深度神经网络方面效果也很好,那么你可能会考虑该如何取舍它的功能了 – 可是,为什么不选择两者兼得呢?那么,是否可以将两者的优势结合在一个模型中呢?

在这篇文章中,我们将会介绍如何使用 TF.Learn API 同时训练一个广度线性模型和一个深度前馈神经网络。这种方法结合了记忆和泛化的优势。它在一般的大规模回归和具有稀疏输入特性的分类问题(例如,分类特征存在一个很大的可能值域)上很有效。如果你有兴趣学习更多关于广度和深度学习如何工作的问题,请参考 研究论文

Wide & Deep Spectrum of Models

Read more »

文件系统中的文件、keychain中的项,都是加密存储的。当用户解锁设备后,系统通过UDID密钥和用户设定的密码生成一个用于解密的密码密钥,存放在内存中,直到设备再次被锁,开发者可以通过Data Protection API 来设定文件系统中的文件、keychain中的项应该何时被解密。这个就是数据保护的内容。

Read more »

TensorFlow 最初由Google大脑小组(隶属于Google机器智能研究机构)的研究员和工程师们开发出来,用于机器学习和深度神经网络方面的研究,但这个系统的通用性使其也可广泛用于其他计算领域。目前来说,Github上star最多的项目就是它了。

在这之前,笔者写过一篇简单的入门文章《初探 TensorFlow》。当时没能成功搭建环境,加上后期的工作原因,至此搁置了一段时间。今天,终于各种折腾,在自己的Mac上经过多种尝试之后,完美搭建成功。这里就把它分享出来,希望对大家有所帮助。

Read more »

应用启动时间,直接影响用户对一款应用的判断和使用体验。ZAKER新闻本身就包含非常多并且复杂度高的业务模块(如新闻、视频等),也接入了很多第三方的插件,这势必会拖慢应用的启动时间,本着精益求精的态度和对用户体验的追求,我们希望在业务扩张的同时最大程度的优化启动时间。

Read more »
0%