Mac(Linux)下解压(Unzip)文件时出现乱码解决方案

由于zip格式中并没有指定编码格式,Windows下生成的zip文件中的编码是GBK/GB2312等,因此,导致这些zip文件在Linux下解压时出现乱码问题,因为Linux下的默认编码是UTF8。Python方案这个方案很简单,因为如果你是*nix系统,那么python环境很有可能已经装好了。如果没有安装的话,可以到下面地址下载对应的安装包https://wiki.python.org/moin/BeginnersGuide/Downloa然后,创建python脚本文件myunzip.py,并写入如下内容[code lang="python"#作者:Latm Ak#链接:https://www.zhihu.com/question/20523036/answer/3522592#来源:知乎#著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。#!/usr/bin/env pytho... Read More

微软工程师:蔡克贺与他的Leetcode刷题之道

YoukYouTub相关资源到底该如何刷LeetCode: https://qoogle.top/how-to-brush-leetcode/ [视频] 如何找实习:https://tinyurl.com/y8fzjzaf[视频] 如何刷题:https://tinyurl.com/yazujcb3[视频] 如何社交:https://tinyurl.com/yavh53qb[视频] 一对一职场资讯:https://tinyurl.com/yb6pfwo视频来源:https://www.youtube.com/watch?v=Z3KrtEaw0v Read More

跟我一起写Makefile

概述什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的集成开发环境(integrated development environment, IDE)都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力。因为,makefile关系到了整个工程的编译规则。一个工程中的源文件不计其数,并且按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为ma... Read More

Linux 里 git log 中文乱码

远程的 Ubuntu 安装了中文语言包,但是通过 git log 检查日志时,中文依然显示乱码。首先确认系统安装了中文语言包,并且启用了。关于语言包安装,请参考另一篇文章 Ubuntu 安装和启用中文设置Git全局配置git config --global i18n.commitEncoding ISO-8859 #设置提交的编码git config --global i18n.logOutputEncoding ISO-8859 #设置日志的编码设置环境变量export LESSCHARSET=utf-8 #设置 Shell 临时环境变量 Read More

普通程序员如何正确学习人工智能方向的知识?

“互联网+”已经发展的差不多了,应有尽有,空间不大,下个浪潮会不会是“AI+”?那么作为一个普通程序员,如何提前向人工智能(AI)靠拢?本文的目的是给出一个简单的,平滑的,易于实现的学习方法,帮助“普通”程序员踏入AI领域这个门。这里,我对普通程序员的定义是:拥有大学本科知识;平时工作较忙;自己能获取的数据有限。因此,本文更像是一篇 “from the scratch” 的AI入门教程。 Read More

2018LeeCode算法题解一之Valid Palindrome

原题Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases.For example"A man, a plan, a canal: Panama" is a palindrome."race a car" is not a palindrome.NoteHave you consider that the string might be empty? This is a good question to ask during an interview.For the purpose of this problem, we define empty string as valid palindrome.原题链接:https://... Read More

深度学习 & 机器学习之学习资源

内容来自互联网博客深度学习框架的一年如果我不得不一句话总结2017年,那将是框架的一年。Facebook使用PyTorch做了一个大飞溅。由于类似于其动态图构建Chainer提供,PyTorch得到很多的爱从研究人员在自然语言处理,谁经常要处理动态和周期性的结构是很难在诸如Tensorflow静态图形框架申报。Tensorflow在2017年已经相当成功.Tensorflow 1.0在二月份发布了一个稳定且向后兼容的API。目前,Tensorflow的版本是1.4.1。除主框架之外,还发布了几个Tensorflow伴随库,包括用于动态计算图的Tensorflow折叠,用于数据输入流水线的Tensorflow变换以及DeepMind的更高级别的Sonnet库。Tensorflow团队还宣布了一个新的热切执行模式,其工作方式类似于PyTorch的动态计算图。除Google和Facebook之外... Read More

内网穿透工具的原理与开发实战

在我国,由于网民众多,运营商无法保证为每一个宽带用户提供全球唯一的公网IPv4地址。因此很多用户会发现通过路由器端查看到的WAN端IP与百度“IP”关键词所得到的IP不一致,并且前者的IP为一个私有IP。而还有一些情况下,公网IP比较昂贵,企业虽然本身也持有少量的独立的公网IP,但是由于成本限制无法为企业内每一台主机都提供一个公网IP,或者内网并不是所有服务都需要暴露到公网中进行访问,那么企业有可能就会使用NAT技术将大量的内网IP通过一定规则映射到公网IP上。而最常见的其中一种技术就是NAPT,也叫“网络端口地址转换”。因为一般一个服务都是通过一个端口来提供,因此通过这种方式可以将特定的服务通过特定的规则开放到少量的公网IP上。 Read More

利用内网穿透frp工具实现外网链接(ssh)内网树莓派设备

内网穿透原理内网穿透(Net穿透)也即端口映射,笔者粗暴理解是一种能够将外网机器与内网机器(外网无法直接访问的设备)建立通信的一种技术解决方案。百度百科尽管有许多穿越NAT的技术,但没有一项是完美的,这是因为NAT的行为是非标准化的。这些技术中的大多数都要求有一个公共服务器,而且这个服务器使用的是一个众所周知的、从全球任何地方都能访问得到的IP地址。一些方法仅在建立连接时需要使用这个服务器,而其它的方法则通过这个服务器中继所有的数据——这就引入了带宽开销的问题。具体原理详见百度百科=> https://baike.baidu.com/item/NAT%E7%A9%BF%E8%B6%8需要资源一台公网服务器(可以通过IP直接访问树莓派(也可以是电脑,以树莓派为例安装本文以frp v 0.13.0为例(具体版本可以自己定,但不保证其他版本能够成功)。笔者在go 1.7.4版本下编译frp... Read More

从小白到机器学习算法工程师,我做了哪些准备?

一、方向选择都说选择比努力重要,这个鸡汤我觉得可以干了。起初接触人工智能领域是在硕士选择导师的时候,当时民叔推荐来到人工智能与机器人研究所,跟随现在的硕导做图像处理方面的研究,用到一些机器学习的算法做分类工作。在学校学习平台比较重要,它决定了你会见识什么人、什么样的黑科技、什么样的应用等,没有这些东西勾起你的好奇心,也就没有对未来的规划或者说期待。硕士期间,养成了看论文的习惯,专注领域顶级期刊论文,当然了首先是先把自己研究的课题相关知识看的透彻,这个在第二小节中会介绍:为什么硕士课题很重要。一些我认识是牛人的人说,看论文是在跟领域大牛在交流,这个确实刚开始体会不到,起初很排斥看论文,更加上我的英语那是一个...后来看多了,发现知识之间都是相通的,可能解决一个问题用的是同一个方法,这样看一篇论文的时间会大大缩短,有效率了,心里便更愿意去看论文。康奈尔大学图书馆网站每天更新世界上各个大牛写的论... Read More

使用Cgo的一点总结

今天想给一个C库写一个Golang binding,就查了一下cgo的使用,也遇到了一些坑。cgo的基本使用想在Go代码中使用C语言必须在代码开头注释中写,然后再紧接着的下一行写import "C",这样就算是导入完成了。这个”C”不是一个真正的包,而是一个类似于命名空间的东西,所有能调用的C的变量、函数都包含在里面。举个最简单的例子package mai// #include <stdi// #include <stdli/void print(char *str) printf("%s\n", str);*import "C"import "unsafe"func main() s := "hello"cs := C.CString(sdefer C.free(unsafe.Pointer(cs)C.print(cs这个例子展示了cgo的基本使用方法。... Read More

关于int的取值范围(有种背下来)

unsigned int 0~429496729int -2147483648~214748364unsigned long 0~429496729long -2147483648~214748364long long的最大值:922337203685477580long long的最小值:-922337203685477580unsigned long long的最大值:184467440737095516__int64的最大值:922337203685477580__int64的最小值:-922337203685477580unsigned __int64的最大值:1844674407370955161原文链接:http://blog.csdn.net/niuox/article/details/823194 Read More