- 博客(201)
- 收藏
- 关注
原创 Go-Kit实现莫斯电码转换
Go-Kit实现莫斯电码转换go-kit本文通过一个简单的服务器案例,说明go-kit微服务工具集的基本使用方式。我们的需求是实现一个可以将英文和莫斯电码相互转换的api服务,举例,我们希望通过建立一个api服务,将 ”Hello World“ 翻译为 ”… . .-… .-… — .-- — .-. .-… -…“。项目地址:https://github.com/xuezhaojun/gomorse_guiOverviewGo-kit架构具有三个抽象分层,分别是:传输层服务层EndPo
2021-01-31 14:49:35 416
原创 面试之路2019 - 03
日期:2019-6-20面试题:一共考察了两个在线写的面试题:一个偏算法,另一个不是很算法;如我所料的,偏算法的没有写出来,问题如下:输入: 一个数字n求数列【1,2,3,4,5,6,7,8,9,10,11,12,…】这个是一个无限长的数列在这个数列中,第n个数字是多少?例如: n等于11的时候,输出为 0, (10,11,12)都是算两个数字思路:这个题是对应的是 leetco...
2019-06-22 13:57:20 427
原创 面试之路2019 - 02
两个撸代码的面试题:给定一个数组,要求负数在前,正数在后排序给定一个字符串 { ‘A’: 1, ‘B.A’: 2, ‘B.B’: 3, ‘CC.D.E’: 4, ‘CC.D.F’: 5}, 要求转化为 :{ ‘A’: 1, ‘B’: { ‘A’: 2, ‘B’: 3, }, ‘CC’: { ‘D’: { ‘E’: 4, ‘F’: 5,...
2019-06-20 11:12:52 808
原创 面试之路2019 - 01
日期2019-06-20 8:00 pm问题golang相关问题1:golang中单例模式如何实现?sync.once,简单实现如下:var m *Managervar once sync.Oncefunc GetInstance() *Manager { once.Do(func() { m = &Manager {} }) re...
2019-06-20 00:54:03 242
原创 聊天室 基于 Redis+Golang
需求很简单,如下:连接服务器查看当前的有哪些聊天室加入某一个聊天室如果没有该聊天室,则自动创建如果之前有加入聊天室,则自动退出发布消息(格式为 21:09:52 XXX: hello world)最终实现如下:欢迎,请问您是?>>> xue请输入服务器地址,默认为127.0.0.1:6379>>>未输入内容,使用默认地址连接服...
2019-01-20 01:48:05 767 2
翻译 Errors are values [翻译]
Errors are values原文链接 - Rob Pike对应github链接为 https://github.com/xuezhaojun/goyi/blob/master/errors%20are%20values.mdcsdn上文章发布后,不会再做修改,github上欢迎大家对错误或难以理解的地方批评指出go 程序员,特别是刚接触 go 语言的go程序员,都会讨论到一个...
2018-07-06 23:58:54 594
原创 Godoc - golang 注释与文档工具
Godoc - golang 注释与文档工具基本规则The Go project takes documentation seriously! 所以godoc横空出世了规则很简单,用其中的一句话就可以说明: to document a type, variable, constant, function, or even a package, write a regular...
2018-04-11 01:24:55 19756
原创 Golang 内联结构体 Struct embedding
Struct embeding - 内联结构体golang 中没有继承,但是其结构体内联的方式和继承很像,掌握内联结构体,面向对象都不怕!Story + Code又到了昭君的讲故事时间:昭君是一个很棒的结构体,他有一个field(字段)叫length(长度),很显然昭君对自己的length非常满意,所以他还有method专门炫耀自己的长度- Showoff()type ...
2018-04-05 18:18:40 3642
原创 Anonymous - golang 匿名的妙用
Anonymous - 匿名的妙用匿名结构体 - 数据快读在读取某一些临时数据,然后快速打印的时候,使用匿名函数是相当方便的func ReadData(){ jsonData := []byte(`[ {"Name":"ZhaoJun","Sex":"Male"}, {"Name":"Xishi","Sex":"female"} ]`) var persons
2018-04-05 10:44:55 909
原创 Golang - bufferd channel - pool 池
Pool - 池1. Story给大家讲一个昭君创业的小故事: 昭君打算创业,做星际间客运,客户为高端有品格的外星人士 一开始,每来一个外星客户,勤劳的昭君就造一台豪华飞船,执行星际客运,每次执行完客运,飞船到达目的地之后,就地销毁 但是昭君的生意太好,有太多的UFO要造,消耗了大量的钢铁原料,和昭君宝贵的时间精力, 创业的昭君已不堪重荷 此时昭君...
2018-04-05 00:26:19 1108 1
原创 ubuntu 做开发,配置指南
ubuntu 16.04 自带的拼音也是很好用的 添加ubantu root 用户1. 替换ubuntu源清华源官网 教程2. 安装Steam教程3. 安装goland官网4. 安装golang中国官网tar -C /usr/local -xzf go...vim /etc/profileexport PATH=$PATH:
2018-01-09 01:56:52 409
原创 golang反射小练习
package mainimport ( "fmt" "reflect" "strings")type A struct { b string c string d string}func (a *A) GetB() string { return a.b}func (a *A) GetC() string { return a.
2017-12-05 22:06:47 450
原创 算法练习 - 栈 - 1
算法练习 - 栈关于栈的使用,难度从简单到难练习1LeetCode - 496. Next Greater Element Iclass Solution(object): # 输入:两个无重复的数列nums1和nums2,其中nums1是nums2的一个子集。找出所有的nums中元素之后行下一个比其大的元素在nums2中的位置 # 输出:下一个较大位置的数列 # nums1
2017-05-22 16:39:55 493
原创 算法练习 - 排序
算法练习 - 排序练习1 LeetCode - 524. Longest Word in Dictionary through Deletingclass Solution(object): # 对链表排序 # 时间复杂度要求:O(nlogn) # 空间:常量空间 # 数据结构:链表 # 排序算法:归并 def sortList(self, head):
2017-05-18 22:54:25 396
原创 算法练习 - 堆
算法练习 - 堆练习1 LeetCode - 451. Sort Characters By Frequency本题中,主要是基于heap的高级用法,其中统计元素出现次数,还借助了哈希实现的Counterclass Solution(object): # 输入:一个随机字符串 # 输出:一个按照字符出现的次数,由大到小重新组合的字符串,区分大小写 # 错误处理:当字符串为空的时
2017-05-14 10:01:54 516
原创 算法练习 - 分治
算法练习 - 分治练习1 LeetCode - 53. Maximum Subarray递归式:T(n)=2*T(n/2)+O(n)时间:O(nlgn)java实现public class Solution { public int maxSubArray(int[] nums){ return maxSubArray(nums,0,nums.length-1); }
2017-05-10 15:44:38 571
原创 Django个人网站,从开发到部署总结
我的个人网站,点击查看本文面向的是比较新手的玩家,大牛请绕行第一部分 开发对于0基础的同学,Django的上手其实不高,特别是配合自带的管理员admin界面,开发工作可以很直观。强烈建议跟随着官网的入门教程走一遍,上手很快。下面我用一张图概括一下我所理解的Django:在搞清楚每一个层的功能后,你不用耗力思考它们之间怎么合作,Django都给你处理好了,Django让你的精力全部放在业务逻辑。比如我
2017-05-03 23:30:53 13762
原创 Django开发过程中,文件的上传和使用
Django开发过程中,文件的上传和使用官网关于文件存储的步骤官网关于文件的管理文件的上传在model中使用FileFiled和ImageFiled,需要以下步骤:在你的setting文件中,你需要定义MEDIA_ROOT,这是一个目录路径,作为你在Django中存储上传文件的地方。(为了性能,这些文件并不存储在数据库中)。你还需要定义MEDIA_URL作为这个目录的一个基本公开的url。你也要确
2017-05-02 21:36:57 3994
原创 Bootstrap实现瀑布流照片显示
Bootstrap照片的瀑布流实现瀑布流是我们在网站建设中经常需要实现的布局,好在一个非常好用的第三方插件 — Masonry已经为我们实现了。Masonry 官网Masonry Github地址以下是Masonry中参数的所代表的意义:参数itemSelector(必须):指定在布局中的哪些子元素会被使用columnWidth(必须):用来对其元素和网络,如果没有写,那么会自动选择第一个元素的wi
2017-05-02 21:31:37 14820 1
原创 [Android]使用Stetho调试数据库
上一篇写到如何导出数据库,但是实际操作起来确实是超级无敌不方便!今天给大家推荐的神器,是facebook出品的调试工具Stetho!官网简单到只需两步!1 添加对应库到项目中去,并初始化 compile 'com.facebook.stetho:stetho:1.4.1'public class MyApplication extends Application { public void o
2017-03-28 11:42:33 1205
原创 [Android]如何在不root的情况下,查看sqlite数据库
心得 : 最好还是用google来查东西Stackflow原问题答案adb shell$ run-as 你的包名 $ cp ./databases/你的数据库名 /sdcard/$ exit$ exitadb pull /sdcard/你的数据库名然后数据库文件就会导出到当前的命令行所在目录下,比如我的包名为 com.example.a123.test 我的数据库名为 Test.db当
2017-03-25 19:13:22 7035 1
原创 [Python 爬虫之路4] 使用selenium爬取知乎任意一个问题下,所有回答中的图片
不知不觉中,知乎改版了。虽然新版的知乎被很多人所吐槽,但是,我发现一个最最重要的一点! 那就是就算不登陆,也可以阅读一个问题下的所有回答了,之前点击更多的时候,会弹出提示让你注册或者登陆。作为一个爬虫新手,作为一个每天被轮子哥带着逛的人,怎么能不想着使用爬虫加载一个问题下的所有图片呢??知乎的页面是动态加载的,果然过程是曲折的,但是最终目的还是达到了!我的思路: 模拟浏览页面,不断的点击更多
2017-03-13 17:01:09 3961 1
原创 [Python 爬虫之路3] 使用seletom,爬取淘女郎-美人库的内容
关键点显式和隐式的停止这次只用到了对象的点击,之后还会用到表单填写等更复杂的东西# 目标:# 对淘女郎-美人库页面的美人信息和图片进行抓取# 1.创建新的目录,用对应的用户名存取每一个照片# 使用 seletom 来进行动态的抓取__author__ = 'XZ'# -*- coding:utf-8 -*-# 使得python支持中文import requestsfrom bs4 im
2017-03-03 23:08:26 2040
原创 [Python爬虫之路2]爬取百度贴吧内容
# 目标:# 1. 对百度贴吧的任意帖子进行抓取# 2. 指定是否只抓取楼主的发帖内容# 分析url可知url分为两个部分,基础部分,参数部分__author__ = 'XZ'# -*- coding:utf-8 -*-# 使得python支持中文import requestsfrom bs4 import BeautifulSoupimport reclass BDTB: #
2017-02-17 15:20:13 637
原创 [Python 爬虫之路1] 爬取糗事百科(requests,bs4)
需要打开,收藏的网站: 糗事百科 bs4中文文档 requsts中文文档# 目标:# 1.嗅事百科 24小时 中的段子# 2.过滤有图的段子# 4.每次点击回车则显示一条笑话,Q退出__author__ = 'XZ'# -*- coding:utf-8 -*-# 使得python支持中文import requestsfrom bs4 import BeautifulS
2017-02-13 21:44:18 1985
原创 401. [LeetCode]Binary Watch
原题网址class Solution(object): def Jhour(self,num): count = 0 jud = [8,4,2,1] for j in jud: if num >= j: num -= j count += 1
2016-12-30 12:47:03 376
原创 448. [LeetCode]Find All Numbers Disappeared in an Array
原文地址class Solution(object): def findDisappearedNumbers(self, nums): """ :type nums: List[int] :rtype: List[int] """ # For each number i in nums, # we
2016-12-29 12:01:03 385
原创 409. [LeetCode]Longest Palindrome
原题地址java答案:public class Solution { public boolean isSingle(int number){ // isOdd if(number%2 == 0) return false; return true; } public int chooseChar(char c){ if(c>='A
2016-12-20 15:22:45 399
原创 453.[Leetcode]Minimum Moves to Equal Array Elements
注:之后的题,我都会尝试用Python来写一遍,因为在学习python原题链接public class Solution { public int minMoves(int[] nums) { // 1. 找出最大,第二大,最小,三个数 // 2. 通过最大,最小,判断是否全部相等 // 3. 通过最大,第二大,获得要增加多少步
2016-12-13 15:32:21 482
原创 419. [LeetCode]Battleships in a Board
public class Solution { public int countBattleships(char[][] board) { int m = board.length; if (m==0) return 0; int n = board[0].length; int count=0; for (int i
2016-12-05 10:57:58 559
原创 455. [LeetCode]Assign Cookies
[超简单贪心]public class Solution { public int findContentChildren(int[] g, int[] s) { int size_s = s.length; int size_g = g.length; // 先排序 Arrays.sort(s); Arrays
2016-12-05 09:35:17 368
原创 389.[LeetCode]Find the Difference
给出两个字符串s,t。t是s打乱顺序之后,在随机位置,再添加一个字符的结果。找出这个添加的字符是什么?这个典型的可以用哈希和位运算的题目:Hashpublic class Solution { public char findTheDifference(String s, String t) { // hashmap and bit munipulation Ha
2016-12-05 09:21:42 409
原创 Wireshark 分析 wep 的 icv(not verified)问题
我想很多人应该和我有一样的困惑,那就是读取802.11b的数据时候,本来应该是明文数据和ICV在传输前,都被加密的,为什么wireshark可以显示出 icv 的值呢?例如: WEP ICV: 0x12345678 (not verified)我再官方网站找到了答案给大家简单翻译一下(虽然我翻译的很烂):我知道专门给一个人的问题回复是不太好的,不过我需要更正我的错误。当Wep一开始的时候,ICV值
2016-11-06 00:05:59 1429
原创 一道Java题
public class Example {String str = new String(“good”);char[] ch = {‘a’,'b’,'c’};public static void main(String[] args) {Example ex=new Example();ex.change(ex.str,ex.ch);System.out.print(ex.str+”
2016-10-31 20:55:12 1065
原创 Jnetpcap 官方样例 (7)- 遍历pcap并输出数据包header信息
这个例子打开一个捕获包的文件作为源,遍历所有数据包。这个例子同时演示了如何创建一个包含了关联数据包和头部数据的 PcaPacket 对象。libpcap提供的header和data都存储再libpcap私有的内存缓存中,每次迭代都会被重写。public static void main(String[] args) { final String FILE_NAME = "tes
2016-10-27 15:22:02 2850
原创 Jnetpcap 官方实例 (6)- 获取设备的MAC地址
这个例子先获取到接口的列表,然后遍历这个列表,对每一个接口都请求,格式化,打印出其MAC地址,这个例子跳过了哪些不含有MAC地址的接口,比如loop interface 和datalink interfacepublic class GetInterfaceHardwareAddress { public static void main(String[] args) throws IOEx
2016-10-27 14:48:42 1491
原创 Jnetpcap 官方实例(5)- 发送数据包
这个例子使用网络接口一次发送一个数据包,并且需要从数据链路层开始创建整个的packet,包括IP层,应用层,都创建package org.jnetpcap.examples; import java.nio.ByteBuffer; import java.util.ArrayList; import java.util.Arrays; import java.util.List;
2016-10-27 14:22:56 2353
原创 Jnetpcap 官方实例(4)- 将捕获的数据包写入文件
PcapDumer 类允许pcap将捕获到的packet“倾卸”到一个文件格式为 pcap 的保存文件中package org.jnetpcap.examples; import java.io.File; import java.nio.ByteBuffer; import java.util.ArrayList; import java.util.List; import or
2016-10-27 12:49:47 2628 1
原创 Jnetpcap 官方案例(3)- 从离线文件捕获数据包
原文地址从离线文件中抓取数据包离线文件,可以使用wireshark抓取并存为.pcap格式的文件public class ClassicPcapExampleOfflineCapture { /** * Main startup method * * @param args * ignored */
2016-10-27 12:21:45 1653
原创 Jnetpcap 官方样例(2)- 创建一个TCP数据包
原文网址创建一个TCP packetJProtocol:各种协议的枚举表JMemoryPacket:以及基于packet的堆,可以无需PcapHeader实例化JPacket:一个本地的packet缓存对象,这个类指向 packet 数据缓存 和 解析后的本地packet结构。JPacket类是一更常用的扫描packet buffer data的类 JBuffer的子类。它也有一个指向 JPacke
2016-10-26 22:14:21 2517
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人