自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 资源 (5)
  • 收藏
  • 关注

原创 Unable to find Mach task port for process-id 47072: (os/kern) failure (0x5). (please check gdb is c

当在mac上使用gdb调试程序时遇到如下错误提示: Unable to find Mach task port for process-id 47072: (os/kern) failure (0x5). (please check gdb is codesigned - see taskgated(8)) 解决方法: 使用下列命令 sudo gdb prog_nam

2017-08-27 10:19:56 8492

原创 Ubuntu18.04 关闭和开启图形用户界面

1. 关闭用户图形界面sudo systemctl set-default multi-user.targetsudo reboot2. 开启用户图形界面sudo systemctl set-default graphical.targetsudo reboot

2018-09-11 15:40:04 33585 2

原创 mac中的terminal更换成iterm2

去官网下载iterm2,安装后打开在iterm2菜单中设置Make iTerm2 Default Term 按下command+,,设置热键 command+.

2018-05-18 13:20:19 2994

原创 mac更换bash为zsh

在终端中输入sudo cash /bin/zsh接着在终端中输入 git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh下载oh-my-zsh在终端输入cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc,替换zsh配置,在.zshrc文件中可以通过设置ZSH...

2018-05-18 11:52:15 1515

原创 mac更改launchpad图标大小

设置每列显示的图标数目为8 defaults write com.apple.dock springboard-columns -int 8 设置每行显示的图标数目为7 defaults write com.apple.dock springboard-rows -int 7 重新启动launchpad killall Dock...

2018-05-18 00:00:31 6046

原创 mac安装homebrew包管理工具

先安装Command Line Tools for Xcode:打开终端,键入 code-select --install 软件更新完之后,在终端键入/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"等待安装完成,如果中间出错,继续步骤2,安装完...

2018-05-17 23:25:12 285

原创 macOS 安装 Consolas 字体

在终端运行如下命令: brew install cabextract cd ~/Downloads mkdir consolas curl -O http://download.microsoft.com/download/f/5/a/f5a3df76-d856-4a61-a6bd-722f52a5be26/PowerPointViewer.exe cabex

2017-12-14 00:29:45 4567

原创 461. Hamming Distance

461. Hamming DistanceThe Hamming distance between two integers is the number of positions at which the corresponding bits are different.Given two integers x and y, calculate the Hamming distance.Note:0

2017-12-06 17:54:04 133

原创 解决macOS /usr/include 无法写入或者不存在的问题

macOS /usr/include 目录不存在,在终端运行 xcode-select --install,等待软件安装,大概 10 分钟左右/usr/include 目录无法写入,关机重启,按 command + r 键进入 recovery 模式,在工具中选择命令行,键入 csrutil disable,提示成功后,键入reboot 重启,在进行写入操作。写完之后再进入 recovery 模式

2017-11-24 15:54:43 3828

原创 macOS 解决apue.h不存在的问题

如果在 macOS 上编译 UNIX 环境高级编程的实例代码时,发现 'apue.h' file not found ,以下是解决方法: 1. 去 官网 下载对应版本的源代码 2. 解压之后在 apue.h 文件中 #endif 之前添加如下语句 #include "error.c",并将 include 文件夹下的 apue.h 和 lib 文件夹下的 error.c 复制到 /usr/inc

2017-11-24 15:43:16 1686

原创 同一个 Github 账号之多台电脑间协同开发

前提:windows 可以安装 Git Bash, Linux,macOS 直接在终端运行 1. 为了保证自己的 Github 传输安全,先产生 key,命令是ssh -keygen -t rsa -C "注册 Github 的邮箱" 2. 将产生的公钥复制到 Github 的 SSH keys 中,步骤如下:打开 Github,找到 Settings, 点击 SSH and GPG keys,

2017-11-22 11:27:36 6059

原创 github之git命令-团队协作

先打开主项目的 Github 页面,然后 fork 项目到自己的仓库里 把自己 Github 上的仓库克隆到本地 (git clone xxx)添加远端主项目仓库 (git remote add upstream xxx) 查看远端仓库 (git remote -v),应该有两个远端仓库(一个origin,一个upstream)获取远端主仓库的更新 (git fetc

2017-11-22 11:08:32 175

原创 mac上配置redis

首先使用brew进行安装 brew install redis 安装完之后进入/usr/local/etc目录,打开目录下的redis.conf文件,修改daemonize no为daemonize yes cd /usr/local/etc vim redis.conf 启动redis服务器 redis-server /usr/local/etc/redis.conf 启

2017-08-31 23:18:42 1011

原创 mac生成core文件和生成位置

mac环境的配置方法和linux一样。 通过ulimit来设置是否生成core文件。 生成core文件:ulimit -c unlimited unlimited 也可以换成一个具体的数值,表示生成core的大小不生成core文件:ulimit -c 0 core 文件存储位置 :/core/core.pid

2017-08-27 10:57:52 8864 1

转载 macOS上的readelf和objdump的替换

ELF文件包括:(1)可重定位的目标文件(2)可执行的目标文件(3)可被共享的目标文件 可以用file命令来看目标文件是否是ELF文件 在linux下,用readelf来看ELF头部或者其它各section的内容,用objdump来对指定的内容(.text, .data等)进行反汇编。但是mac os X下没有这两个命令,可以用brew来安装,brew update && brew instal

2017-08-27 10:53:28 2993 4

转载 Mac OS X 上的ldd和strace的替代

Linux下经常会用到ldd查看程序使用了哪些共享链接库,很方便的一个工具,在Mac OS X上没有这个命令,如果想在Mac OS X查看程序使用了哪些链接库可以用otool 来代替。例:$ otool -L /usr/bin/vim /usr/bin/vim: /usr/lib/libncurses.5.4.dylib (compatibility version 5.4.0, c

2017-08-27 10:13:41 863

原创 list类的C++模板实现

/*2017/07/20Liu YK*/#pragma once#include <iostream>#include <ctime>#include <cassert>#include <cstdlib>namespace MYSTL{#define ListNodePosi(T) ListNode<T>* typedef int Rank; template<typ

2017-07-26 22:44:34 2080 1

原创 vector模板类的C++实现

/*2017/07/19Liu YK*/#pragma once#include <cassert>#include <iostream>#include <cstdlib>#include <ctime>namespace MYSTL{ typedef int Rank; const int DEFAULT_CAPACITY = 5; template<typ

2017-07-26 22:40:00 4477

原创 寻找数组的第k个最大者

使用了两种解法:将全部元素从大到小排序,然后返回第k-1位置的元素选取前k个元素进行排序,然后将剩余的元素插入到对应位置,没插入一次,抛弃最后一个元素,最后返回最后位置的元素 代码如下:#include <iostream>#include <vector>using namespace std;void bubble_sort(vector<int> &iv);inline void s

2017-07-05 22:40:59 230

原创 单例模式的c++实现

singleton.h文件#ifndef _SINGLETON_H_#define _SINGLETON_H_class Singleton{public: static Singleton* get_instance() { if(!_instance) return new Singleton(); return

2017-07-03 23:30:10 259

原创 mystring类的实现

mystring.h文件#ifndef _CMYSTRING_H_#define _CMYSTRING_H_#include <iostream>#include <cstring>class CMyString{public: //default ctor CMyString(const char *s = nullptr) { if (!s)

2017-07-03 22:32:52 546

原创 g++编译和链接

预处理指令 g++ -E main.cpp -o main.i 编译成汇编指令 g++ -S main.i -o main.s 静态链接 后缀为.a 假设有这些文件add.h,add.cpp,sub.h,sub.cpp由.o文件创建静态库可以使用命令 g++ -c add.cpp sub.cpp ar cr libmymath.a

2017-06-18 16:20:26 490

原创 UDP简介

UDPUDP提供尽量少的传输层服务,除了复用和解复用外,还提供了轻量级的错误检查。UDP将进程消息加上源端口号和目的端口号(用来复用和解复用),再加上两个域,直接将段传送给网络层。在发送段之前两个传输层实体之间没有握手,因此成为无连接的。 有许多应用适合UDP的原因是: 很好的应用层控制(发送什么数据和什么时候发送) UDP可以直接将封装好的段传给网络层进行传输,而TCP有拥塞控制和握手,

2017-06-11 13:58:50 548

原创 传输层的复用和解复用

复用和解复用将端到端的网络层协议扩展到进程到进程的传输层协议称为复用和解复用。复用和解复用是所有计算机网络都需要的 在目的端主机上,传输层将段中的数据传送给相应的进程中。一个进程可以有一个或多个socket,在接收主机中,传输层并不是直接将数据传送给一个进程,而是传送给一个中间socket,因为在每个时刻都有多个socket在接收端主机中,每个socket都有一个唯一的识别码。

2017-06-10 21:37:41 8161

原创 传输层简介

传输层和网络层传输层提供不同主机上进程之间的逻辑通信,网络层提供不同主机之间的逻辑通信 传输层协议在端系统中,将信息从应用程序进程传送给网络层(或者相反方向) 传输层提供的服务是受下层的网络层协议服务模型约束的,如果网络层不向传输层提供延迟和带宽保证,那么传输层也不向应用进程提供延迟和带宽保证。但是传输层可以提供一些特定的服务,即使网络层没有提供相应的服务。比如传输层可以提供可靠地

2017-06-10 11:24:39 396

原创 web缓存(代理服务器)

一个web缓存又称为代理服务器,是一个网络实体,它有自己的磁盘存储,保存着最近请求的对象。 浏览器可以被配置为将请求第一次发到web缓存,下面是访问缓存的步骤(www.baidu.com): 浏览器与web缓存建立一个TCP连接,将http请求报文发给web缓存 web缓存检查本地是否有请求对象的副本,如果有,就将它包含在http响应报文中发给浏览器 如果web缓存中没有请求的对

2017-06-09 22:39:45 1510

原创 cookie技术

持久连接和非持久连接 非持久连接 一个TCP连接只传送一条http请求和一条htt相应,传送之后就关闭 持久连接 一个TCP连接在传送http请求和相应之后不关闭,直到超过一段时间没有请求才关闭 Cookies http服务器是不记录客户端状态的,这样设计简化服务器设计,而且允许开发出更高性能的服务器来支持并发。但是, 一个站点却想识别用户,无论是因为服务器想限制用

2017-06-09 22:06:51 265

原创 http连接管理(http权威指南第四章)

连接管理本章将介绍: - http时如何使用TCP连接的 - TCP连接的时延,瓶颈以及存在的障碍 - http的优化,包括并行连接,keep-alive(持久连接)和管道化连接 - 管理连接时应该以及不应该做的事情 1. TCP连接 TCP为http提供了一条可靠的比特传输管道,从TCP连接的一端填入的字节会从另一端以原有的顺序,正确的传送出来 http要传送一条报文时,会以流的形式

2017-06-07 21:22:31 296

原创 HTTP报文(http权威指南第三章)

第三章 HTTP报文本章将介绍: - 报文是如何流动的 - HTTP报文的三个组成部分 - 请求和相应报文之间的的区别 - 请求报文支持的各种功能 - 和响应报文一起返回的各种状态码 - 各种各样的HTTP首部都是用来做什么的 1. 报文流 报文在客户端,服务器和代理之间流动,术语“流入”,“流出”,“上游”,“下游”都是用来描述报文方向的 - 报文流入源端服务器 http使用

2017-06-06 21:06:52 297

原创 mac配置apache服务器

apache 命令开启apache服务器命令 sudo apachectl start 关闭apache服务器命令 sudo apachectl stop 重启apache服务器命令 sudo apachectl restart mac配置apache服务器先启动一下apache服务器,在浏览器中输入http://localhost

2017-06-06 12:19:39 374

原创 URL与资源(http权威指南第二章)

# URL与资源 本章将介绍: - URL语法,以及各种URL组件的含义及其所做的工作 - 很多web客户端都支持的URL快捷方式,包括相对URL和自动扩展URL - URL编码和字符规范 - 支持各种因特网信息系统的常见URL方案 - URL的未来 1. 浏览因特网资源 大多数URL都有同样的:“方案://服务器位置/路径“结构 URL未用户以及他们的浏览器提供了找到信息所需的

2017-06-05 21:03:51 265

原创 静态库与动态库

创建静态库(Linux)gcc -c hello.c 生成hello.o ar rcs libhello.a hello.o 创建静态库 静态库文件名的命名规范是以lib为前缀,紧接着跟静态库名,扩展名为.a 使用静态库只需要在使用到这些公用函数的源程序中包含这些公用函数的原型声明,然后在用gcc命令生成目标文件时指明静态库名,gcc将会从静态库中将公用函数连接到目标文件中。 在

2017-06-05 00:19:04 202

原创 进程、线程与协程

进程概念 进程是计算机中的程序关于某数据集合上的一次运行活动,是系统资源分配和调度的基本单位。进程是一个实体,每个进程都有它自己的地址空间,包括text region(代码),data region(变量和动态分配的内存)和stack region(调用指令和本地变量).进程是执行中的程序,程序是没有生命的,当程序被操作系统执行时,它才成为一个活动的实体,称为“进程”。状态 就绪态 进程具备

2017-06-05 00:14:43 250

原创 http概述(http权威指南第一章)

第一章 HTTP概述在这一章我们可以看到如下内容 : - web客户端鱼服务器是如何通信的 - 资源来自何方 - web事物是怎样工作的 - HTTP通信所使用的报文格式 - 底层TCP网络传输 - 不同的HTTP协议变体 - 因特网上安装的大量HTTP架构组件中的一部分 1. HTTP-因特网的多媒体信使 HTTP使用的是可靠的数据传输协议,即使数据来自地球的另一端,它也能够确

2017-06-04 14:47:43 308

原创 SQL命令(mysql必知必会笔记)

第一章什么是数据库 数据库是一个以某种有组织的方式存储的数据的集合,需要区分数据库和数据库软件,数据库软件称为DBMS(数据库管理系统),数据库是通过DBMS创建和操作的容器。我们并不能直接访问数据库,而是通过DBMS来访问数据库。 表 表是某种特定类型数据的结构化清单,表是一种结构化文件,可用来存储某种特定类型的数据。数据库中每个表都有自己的名字,用来标示自己,此名字是唯一的。

2017-06-03 23:24:15 563

原创 mysql基本命令(最简)

基本命令启动mysql服务: 1. 打开数据库: mysql -uroot -p 会车加密码 ,Mac下:mysql -uroot 2. 查看数据库: show databases; 3. 进入数据库: use XXX; 4. 表的定义: - 创建表:create table xxx; - 删除表: drop table xxx; - 更改表: alter table xxx;

2017-06-03 23:20:58 262

原创 C++实现插入排序

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2016-04-26 17:52:04 229

二叉树的C实现

二叉树的C实现

2016-11-30

二项队列的C实现

二项队列的C实现

2016-11-30

二分查找的C实现

二分查找的C实现

2016-11-30

栈的应用-平衡符号

栈的应用-平衡符号

2016-11-30

AVL树的C语言实现

AVL树的C语言实现

2016-11-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除