avatar
文章
47
标签
50
分类
3
首页
时间轴
分类
标签
关于
SkyHive's Blog
搜索
首页
时间轴
分类
标签
关于

SkyHive's Blog

Hadoop 简介
发表于2017-11-17|技术相关|Hadoop
¶Hadoop 介绍 Hadoop 是 Apache 组织的一个分布式计算框架(java 语言),其最核心的设计就是:HDFS 和 MapReduce,HDFS 实现存储,MapReduce 实现原理分析处理。 ¶HDFS 文件系统 HDFS(Hadoop Distributed File System)是一个高度容错的系统,适合部署在廉价的机器上。HDFS 能提供高吞吐量的数据访问,适合那些有着超大数据集的应用程序。 ¶ 设计特点 大数据文件,适合大文件或者一堆大数据文件 文件分块存储,HDFS 会将一个完整的大文件平均分块存储到不同计算机上 流式数据访问,一次写入多次读写,和传统文件不同,它不支持动态改变文件内容,而是要求让文件一次写入就不做变化,要变化只能在文件末尾添加 廉价硬件 备份,为防止某个主机失效读取不到该主机的块文件,它将同一个文件块副本分配到其他某几个主机上 ¶Master / Slave 架构 一个 HDFS 集群是有一个 Namenode 和一定数目的 Datanode 组成。Namenode 作为中心服务器负责管理文件系统的 na...
队列
发表于2017-10-15|技术相关
¶ 队列 队列是一种可以实现先进先出 (first in first out,FIFO) 的存储结构。与栈不一样的是,队列规定只在一端进行插入操作,在另一端进行删除操作。允许插入的一端叫做队尾 (rear),允许删除的一端叫做队首 (front)。 ¶ 分类 链式队列:用链表实现。 静态队列:用数组实现。(为了解决假溢出现象,静态队列通常都必须是循环队列) ¶ 循环队列 ¶ 参数:front、rear rear 所指的单元始终为空 队列初始化:front 和 rear 的值都是 0。 队列非空:front 指向队列的第一个元素;rear 指向队列的最后一个有效元素的下一个元素。 队列空:front 和 rear 值相等,但不一定是 0。 ¶ 算法解析 1. 入队:将值存入 rear 所代表的位置r 错误写法:r=r+1 正确写法:r=(r+1)%数组长度 2. 出队: f=(f+1)%数组长度 3. 判断循环队列是否为空 rear = front 4. 判断循环队列是否已满 多增加一个参数标志满或者空(一般不用此方式) 少用...
栈
发表于2017-10-11|技术相关
栈是一种先进后出的线性数据结构,规定只允许在一端进行插入和删除元素的操作。其中进栈操作又叫做压栈(Push),出栈操作又叫做弹出(Pop)。允许进行操作的一端叫做栈顶(top),另一端叫做栈底(base)。 ¶ 分类 顺序栈:数组实现 链式栈:链表实现 ¶ 代码实现 ¶ 顺序栈 1. 构建栈的结构 #define MAXSIZE 1024 //定义栈的空间大小 typedef struct stack{ int data[MAXSIZE]; int top; }Stack; 2. 初始化 Stack *Init(){ Stack stack; stack = (Stack*)malloc(sizeof(Stack)); if(!stack){ printf("Memory allocation failed!"); return NULL; } else{ stack->top = -1; //C语言数组下标从0开始 printf("Init succes...
搭建属于自己的 Shadowsocks 服务
发表于2017-08-11|技术相关|linux•network
最近一直想自己搭一个 Shadowsocks 服务,并且利用服务器学习一些技术知识,但是国内的服务器实在是贵得很啊,像我这种苦逼大学生根本玩不起,无奈之下只好各种 Google 百度,最后找到了一些国外的 VPS 资源 BandwagonHost(搬瓦工 VPS):据观察搬瓦工这个 VPS 还是算计比较便宜的,年付 $20 ,平均下来每个月只有 $1.6,而且套餐很良心很良心, 512MB 的内存,10GB 的 SSD,1TB 的流量是不是比国内很多主机都划算的很。 Vultr:同样也是 SSD VPS, 这个套餐看起来也还是很不错的,只不过每月两刀的套餐总是能被抢空。 Digital Ocean:也是我目前正在使用的,大家可以点击此链接注册,通过这个优惠链接注册的小伙伴们会直接获得 $10 的额度在你的账户余额里。而且他的这个套餐也是很诱人的,同样的 SSD VPS,20G 硬盘,每月 1TB 流量,1G 的带宽,只不过这个费用看起来太贵了,一个月需要 $5。 但是事情有这么简单吗? 当然没有,鼎鼎大名的 gayhub 上有个提供给学生的 pack,...
解决 Ubuntu 下 PHP 验证码不显示问题
发表于2017-07-14|技术相关|Ubuntu•PHP
这两天在帮别人写一个注册登录功能的页面,用到了简单的 TP 框架,但是在我自己的 Ubuntu 环境下发现验证码出了问题 —— 验证码图片显示不出来。 我将图片单独拉出来,发现错误提示如下: Call to undefined function imagecreate() 百度一问就找到了答案,原来这是由于没有安装或者开启 PHP 的 GD 库导致的,既然这样我只需要安装一下 GD 库就解决了: sudo apt-get install php7.0-gd 安装完毕后将 Apache 服务器重启,如果是 Nginx 的话,则可用可不用 如果是 Windows 环境的话,打开 PHP 安装目录下的 php.ini 配置文件,找到: ;extension=php_gd2.dll 去掉注释,重启服务就解决了。
解决 Ubuntu 下 Apache 不解析 PHP 问题
发表于2017-07-13|技术相关|linux•apache
这两天笔者遇到了一个很操蛋的问题 ——Apache 无法解析 PHP 代码了,之前一直用的挺好的,突然就挂了,然后在网上疯狂的找解决办法,但是大都是 PHP5 的版本,而我却是 PHP7 的版本,我就先顺便把 5 版本的解决方法贴出来: 对 httpd.conf 配置文件做如下调整: 在 AddType application/x-gzip .gz .tgz 该行下面添加 AddType application/x-httpd-php .php 将 DirectoryIndex index.html 修改成 DirectoryIndex index.html index.htm index.php 将 #ServerName www.example.com:80 改成 ServerName localhost:80 然而 Ubuntu 下的 Apache 并没有 httpd.conf 这个配置文件,而是通过一个 apache2.conf 来引用每个部分的配置文件,这样在一个配置包里找到那一句配置也并不简单,而且我还没有找到。。。 不过皇天不负有心人,终于是找到了解...
一个学习 Python 的小游戏
发表于2017-04-21|技术相关|Python
笔者最近在自学 Python 的过程中想起曾经有人推荐过的一款学习编程的小游戏,叫做 Codecombat,通过玩游戏的方式学习编程语言的语法规则。 游戏有很多关卡,每个关卡都会有之前没有学过的语法,学习的难度是逐渐上升的,用游戏的方式将学习者带入比起看起枯燥的书本文字效果要好的多。 当然这里除了有 Python 之外还有 Javascript 等脚本语言可以学习。
SQL 进阶
发表于2017-04-17|技术相关|MySQL
我们都知道 select 的基本用法select <字段名> from <表名> [where <限制条件>],然而select语句后面还可以跟很多限制条件。我们这次用 user 表来作为示范,下面是 user 表的结构: ¶Between、And、In、<=、>=、<、> 等条件查询 通过select * from table where id between 1 and 3和select * from table where id >=1 and id <= 3的返回结果,我们可以发现between and和>= and <=是等同的。 如果我们要查询的条件不是一个连续的数值,可以用in: select * from table where id in (2,4) ¶locate () 函数:locate(substr,str) 这个函数返回substr在字符串str中的第一个出现的位置,如果不存在则值为 0 ¶Count () 函数 count (字段名):返回指定列的值的数目...
Python 基础
发表于2017-04-07|技术相关|Python
最近在自学 Python,所以一边学也一边总结一些知识点 ¶Python 的输出 Python 的输出和 C 语言类似,在print()函数里加上字符串(用单引号或者双引号,但是不能混用),例如: >>> print('Hello world!') print()函数也可以接受多个字符串,用逗号隔开即可。print()函数依次打印字符串,每遇到逗号就会输出一个空格。 print()也可以打印整数或者计算结果,例如: >>> print('5+3=',5+3) 注:对于5+3,python 解释器会自动计算出结果,但是'5+3='是字符串而非数学公式 ¶Python 的输入 Pyhton 提供了input()函数,可以让用户输入字符串,并且存到一个变量里,例如: >>> info = input() 输入任意字符后按下回车完成输入,输入的内容就被存放在变量info里面了。 input()函数可以显示一个字符串来提示用户,如:input('please input something:') ¶Python 的数据类型 整数:...
SQL 语句的基本操作
发表于2017-04-04|技术相关|MySQL
¶ 数据库操作 创建数据库: CREATE DATABASE <数据库名> [其他选项] 使用数据库: USE <数据库名> 修改数据库: ALTER DATABASE <数据库名> 删除数据库: DROP DATABASE <数据库名> ¶ 数据表操作 创建表: CREATE TABLE <表名> ( <列名1><数据类型>[<列级完整性约束>], [<列名n><数据类型>[<列级完整性约束>]] ); 例: create table studets ( id int not null auto_increment primary key, name varchar(8) not null, sex varchar(5) not null, score int(5) not null ) 修改基本表 ALTER TABLE...
关于 TCP
发表于2017-04-04|技术相关|network
互联网协议族(Internet Protocol Suite,缩写 IPS)是一个网络通信模型,以及一整个网络传输协议家族,为互联网的基础通信架构。它常被通称为 TCP/IP 协议族(TCP/IP Protocol Suite,或 TCP/IP Protocols),简称 TCP/IP 协议集。因为该协议家族的两个核心协议:TCP(传输控制协议)和 IP(网际协议),为该家族中最早通过的标准。由于在网络通讯协议普遍采用分层的结构,当多个层次的协议共同工作时,类似计算机科学中的堆栈,因此又被称为 TCP/IP 协议栈(TCP/IP Protocol Stack) 以上来自维基百科,我们知道 TCP / IP 协议族是基于 TCP 和 IP 这两个最初的协议之上的不同的通信协议的大的集合。其中包含了 ARP、UDP、ICMP(互联网消息控制管理协议)等协议,它将软件的通信过程抽象化为四个抽象层(应用层、传输层、网络层和物理层),类似于简化的 OSI 七层。 在数据传输方面,早期研发提出两种传输方式 —— 面向连接的传输和非面向连接的传输,经过后来长期的发展,提出面向连接的 IS...
解决配置完七牛后无法 Deploy 到 Github
发表于2017-02-14|技术相关|OSS•hexo
将七牛的插件配置好后我写了上一篇博客试一试效果,结果发现怎么也没部署到 github,每次hexo d都会出现 ERROR Deployer not found: git 这样的报错,Google 了半天都没有找到解决的办法,最后在找到了 Github 上的一条 issue,终于发现了解决办法:只要将配置文件_config.yml 中 plugins 的那段给注释掉就 OK 了,即 #plugins: #- hexo-qiniu-sync 还是希望开发者能早点修改文档吧,不然还真的挺容易出事,不过说一句,我的 Hexo 是 3.2.2 的版本的,不知道 2.x 版本会不会出现类似的情况
Hexo 搭配七牛存储图片等媒体资源
发表于2017-02-14|技术相关|OSS•hexo
今天把博客的图片存储搞了一下,利用的七牛存储,相对来说还是比较简单,但是为了测试成功与否就只好写这篇博客了。 七牛 是一个云存储服务商,注册并实名认证之后后,你将免费享有 10GB 存储空间,每月 10GB 下载流量、100 万次 GET 请求、 10 万次 PUT / DELETE 请求。如果想要注册可以点击这里,这样可以为我增加每月 5GB 的容量。 注册完成之后就可以进行创建空间了,注意我们添加的资源为对象存储,访问控制为公开空间 然后点击右上角进入密钥管理,复制当前使用的 AK 和 SK,配置的时候会用得到 下面我们会用到一个叫做的hexo-qiniu-sync 的插件,首先在 hexo 主目录下安装: npm install hexo-qiniu-sync - -save 然后把配置信息添加到_config.yml 中 plugins: - hexo-qiniu-sync #七牛云存储设置 ##offline 是否离线. 离线状态将使用本地地址渲染 ##sync 是否同步 ##bucket 空间名称. ##acce...
解决 Ubuntu 系统设置打不开
发表于2017-02-14|技术相关|linux•Ubuntu
今天把 Ubuntu从16.04 更新到 16.10 之后卸载了些软件,之后蛋疼的发现系统设置打不开了,真是欲哭无泪。去网上搜了下发现是我之前由于卸载了 iBus 导致的,虽然我不懂为什么 iBus 和 Ubuntu 之间的关系为什么会如此紧密,但是既然发生了这种事情我也很绝望啊,只能按照网上的方法 sudo apt-get install ubuntu-desktop #这个会把Ubuntu预装的软件office还有Amazon什么的装回来,装完自己再慢慢卸载吧 或者他也提供了一次性的安装办法 sudo apt-get install ibus-pinyin unity-control-center unity-control-center-signon webaccounts-extension-common xul-ext-webaccounts 但是我眉头一皱,发现事情并不简单,我继续搜了下去,也有很多人遇到这种问题,发现还有更简单的办法 sudo apt-get install gnome-control-center #如果系统设置...
Hexo 的建站之旅
发表于2017-02-14|技术相关|hexo
这几天觉得 wordpress 作为博客实在是太臃肿了,而且访问的后台以及更新都极其的慢,以至于想把博客迁到 Hexo 上去。 Hexo 是个简洁快速且高效的博客框架,是个台湾的学生写的,所以对中文还是挺友好的,我们用起来也很方便,而且 Hexo 仅依赖 node,易于安装。 首先准备的工具仅需要 node.js,git 即可,在 ubuntu 上安装这两样工具也是极其简单: sudo apt-get install nodejs sudo apt-get install npm sudo apt-get install nodejs-legacy #由于 ubuntu 仓库中本来就有一个 node,所以在 ubuntu 下 nodejs 命令不是 node 而是 nodejs,但是安装 nodejs-legacy 后就可以解决这个问题了,具体为什么我也不知道 sudo apt-get install git 下面开始安装 Hexo: sudo npm install -g hexo-cli 安装完成后就可以部署博客了,根据 Hexo 官网上的步骤: hexo init...
1234
avatar
SkyHive
菜鸡运维一枚
文章
47
标签
50
分类
3
Follow Me
公告
欢迎来到我的小站,这里会分享我的一些技术总结,以及生活日常~
最新文章
甲癌术后一年总结2026-02-24
Homelab 系列 - Jellyfin2026-02-04
HomeLab 系列 - VPN2025-11-03
HomeLab 系列 - 认证 (上)2025-10-30
2025 大马榴莲季全攻略2025-07-14
分类
  • 思考感悟1
  • 技术相关40
  • 生活相关6
标签
年度总结 游记 apache authelia nginx 旅游 工欲善其事 hexo gitlab 伤病 马来西亚 terminal 旅行指南 重庆 Ubuntu Python NAS OSS lldap nas 癌症 ESXi Network KVM jellyfin DNS 证书 Arch linux 青甘大环线 大西北 acme 槟城 Android MySQL 黑群晖 docker 甲状腺 虚拟化 filesystem
归档
  • 二月 2026 2
  • 十一月 2025 1
  • 十月 2025 1
  • 七月 2025 1
  • 六月 2025 1
  • 十月 2024 2
  • 九月 2024 1
  • 三月 2024 1
网站信息
文章数目 :
47
运行时间 :
本站总字数 :
62.4k
本站访客数 :
本站总浏览量 :
最后更新时间 :
© 2017 - 2026 By SkyHive
搜索
数据加载中