学习科技理念,提升生活品质,追求思想自由之路

0%

一步步学习

mongodb的安装部署

mongodb实践+优化

最近在网络上面研读了许多网站架构相关的文章,整理了些资料,汇总在下面,有这方面需要的可以看看:

2020-02-28 最近很不稳,经常被封锁

相信大家也感受到了,最近很不稳定,经常无法访问Google,你懂的,疫。情。特殊时期,xirong最近这段时间也很不稳定;那么怎么解决?这里有一种方案,就是找一家靠谱的收费服务商,便宜不贵,非常稳定,即使像这种时期,服务商也会不断调整,保证稳定;

特别推荐的就是xirong使用的服务商「枫叶网络」,10年老牌子了,从一家很小的创业公司到现在,有很多的业务,虚拟主机,vps、云服务器等,使用我的推广链接还享受一定优惠:https://www.fenghost.io/aff.php?aff=531


感谢万能的互联网,使我们这一代,如果你想,那么你就可以知晓世界上任何的事情!搜索引擎的出现使得搜索知识比以往要容易的多,你只要知道一个概念就能找出相应的所有的知识;社交网络的出现使得你跟你喜欢的明星的交谈就在一个留言上,不像以前那样,平凡的人是根本没有渠道去做这些事情的;从以前网络的虚假到现在慢慢的越来越真实,一个 ID 在网络上就代表着真实世界中的一个人,你可以与你真实世界中的想法一样当然也可以完全不一样,但这都不能阻碍你成为个性、有着独立思想、见解的人,可是生活在天朝,由于种种原因,好多国外世界的资源你是无法看到的,你不能享受你应该得到的这些(xirong 认为每一个个体都有相同的权利去享受互联网带给生活中的便利),这是很令人愤恨的 !! 如果不能去看到更多的风景,去尝试生命更多的可能,拥有年轻心态的你怎么会甘心?

Across the Great Firewall, you can reach every corner in the world.

什么是shadowsocks?

A secure socks5 proxy , designed to protect your Internet traffic.
Shadowsocks 轻量级科学上网姿势,改变您的生活体验!

做为一个码农,经常需要搜索技术文章,如果不能够使用 google ,那么你的生活是很痛苦的,很多资料根本搜索不到的,所以你应该知道代理,通过代理可以绕过gwf(见识下强大的GFW),从而去享受不被控制的生活,科学上网的方式很多,我们最常见的就是vpn,一把屠龙宝刀,像很多的老牌vpn厂商(green vpn云梯,更多查看靠谱vpn推荐网),而shadowsocks就是一把瑞士军刀,锋利小巧快速简单,适应各种场景,适应各种客户端平台,window、mac、linux、ios、android使用简单。

shadowsocks 原理

简单理解的话,Shadowsocks是将以前通过 SSH 创建的 Socks5 协议拆开成 Server 端和 client 端,下面这个原理图能简单介绍其翻墙原理,基本上和利用SSH tunnel大致类似:

shadowsocks原理图

  1. PC客户端(即你的电脑)发出请求基于 Socks5 协议跟 SS-Local 端进行通讯,由于这个 SS-Local 一般是本机或路由器等局域网的其他机器,不经过 GFW,所以解决 GFW 通过特征分析进行干扰的问题。
  2. SS-Local 和 SS-Server 两端通过多种可选的加密方法进行通讯,经过GFW的时候因为是常规的 TCP 包,没有明显特征码 GFW 也无法对通讯数据进行解密,因此通讯放行。
  3. SS-Server 将收到的加密数据进行解密,还原初始请求,再发送到用户需要访问的服务网站,获取响应原路再返回 SS-local,返回途中依然使用了加密,使得流量是普通 TCP 包,并成功穿过 GFW 防火墙。

详细理解请参考文章写给非专业人士看的 Shadowsocks 简介,不知道GFW?请参考强大的GFW长城防火墙

为什么要用shadowsocks?

  • 配置简单:只需一次输入服务器ip地址、端口号、加密方式,随时即可轻松代理

  • 跨平台:window、mac、Linux、ios、android安装客户端,一样轻松

  • 与vpn差异

vpn shadowsocks
简单,一键翻墙 简单,一键翻墙
全局,代理浏览器、各种app、所有走网络的都经过vpn服务器 只有浏览器(可以手动设置代理其他app)
免费、收费服务商很多 免费、收费服务商很多
速度可以 速度很快,香港、新加坡几十毫秒
平台性稍差,有些做的也不错了,总体跨平台性差 支持各平台客户端,跨平台性强
  • vpn使用过程中最痛苦的莫过于,公司使用vpn、内网某些资源无法访问,需要频繁切换vpn代理
  • shadowsocks凭借维护的pac文件自动识别是否是别gfw过滤域名,是的话走代理,否则不走代理,这点很方便,不需要你去关注,你只需要想着该google时就google
  • 其他方式比如修改host,一段时间后就被和谐了,很不稳定;GoAgent也是,不稳定,需要频繁部署代理,其实某些时候你只是想要google些资料,却因如何可以用google浪费大量时间。

客户端怎么使用?

账号资源

shadowsocks 客户端是很强大、稳定、快速的,跨平台,省去很多麻烦,但这依赖与稳定的服服务端,你可以自己购买vps ,搭建shadowsocks的服务器端,只需要vps的钱即可,shadowsocks 服务端开源免费(还是得感谢shadowsocks作者 @clowwindy的无私奉献),可以去github下载搭建,参考搭建教程,也可以购买市场上许多服务商提供的服务,相比自己搭建,还得需要去关心服务器的稳定性, xirong 更推荐使用经济的代理服务商,便宜省事,当然,你也可以到网上到处搜寻免费的 shadowsocks账号,这也是可以的。

免费账号网站推荐

  1. shadowsocks info 分享shadowsock相关各种知识的网站,比较基础,也有干货。
  2. 常见免费ss账号网站列表 从外面的网站上整理的,方便不能出去的用户查看
  3. google + shadowsocks翻墙圈 可以随时获取别人共享的免费账号
  4. V2EX shadowsocks区经常有人会分享自己的账号,也有些使用方法、心得的讨论,可以常去关注下。
  5. Shadowsocks公益组织 一个由民间团体发起的,旨在分享Shadowsocks帐号的平台,你可以在该平台上分享你的ShadowSocks帐号,也可以在该平台上获取免费的帐号。

强烈推荐付费购买,省时间、省精力,不用去网上找各种不稳定的免费账号,便宜不贵。

  • 枫叶主机 目前提供美国,日本,香港,大陆中专、新加坡、台湾等数十条的shadowsocks收费账号,服务稳定,套餐形式以流量为单位,如分40G,60G,150G/每月流量;分别年付价格是 50元,80元,120元。适合流量不是很大,要求线路质量高的朋友,价格真心便宜。而且某些公司许多端口被封,需要使用特定的端口,枫叶主机高级套餐支持自定义shadowsocks服务端端口,省去了公司不能使用的烦恼。可以使用我的推荐码,省去不少钱。
  • shadowsocks.com 线路优质,技术成熟,多线路支持。有年付有普通版的99元,也有高大上的399元高级版套餐可选,美国,新加坡,台湾,日本等各国线路可以选择。
  • 其他,据网络资源推荐,不知道效果:
    1. SSH91 美国,日本,香港,新加坡一号通的shadowsocks账号,季付30元,年付98元,同时不定期提供18元的美国普及年付账号.选择性更多。
    2. UUDaili 免费的SSH与vpn一月1G流量,注册后可以免费送2个月使用。目前有美国,新加坡,日本的线路,美国为主,价格便宜。
    3. PGfastss、shadowcheap 等,其他的自行发掘吧。

2017-12-09 更新
许多朋友找到我说现在ss还能用吗,我这里很负责人的告诉各位朋友,能用!!一点不受影响。
附带几个新资源:

旧版没法更新 PAC 文件列表 (GFWList) 手动解决 方法请参考 issue 212 :
https://github.com/shadowsocks/shadowsocks-iOS/issues/212

2018-07-22 更新
除了 ss 之外,还有哪些免费的方法可以让人们科学上网。

介绍了这么些,如果您想体验下 shadowsocks,那么尽情的使用免费账号吧,如果您感觉到了免费账号的不稳定给您带来的不方便,那么推荐使用付费服务,每年只需要支付一笔很少的费用,即可享受畅快的网络,将精力放在如何利用不受阻的网络来解决自己的问题上面,岂不是更有意义? 在这里还是推荐下我使用的 枫叶主机 速度快、服务稳定,高级套餐支持自定义端口,使用 xirong 的优惠链接 购买可以享受 10% 的折扣,稳定、快速,你值得拥有!

如有任何问题,欢迎留言沟通或者联系我交流~

prlsf文件系统
目前网络上没有关于这个格式的介绍,其实这是mac上面的一种格式,只有mac系统能认出来,所以在window、Linux上,这个格式的磁盘就是一块费盘,无法识别的!
自从被美女同事格式化掉500G移动硬盘后,我的硬盘基本上好久没有动了,伤心啊~ 好多数据就这么丢了,不过还好,后来重要的文件都恢复回来了,想知道怎么操作的么?联系我吧~ 免费教你怎么搞回被格式化掉的数据!
后来需要把机械硬盘弄到自己以前的pc上面,重装系统的时候,发现杯具了,启动界面卡在了f2、f12那样子的主板界面,连bios也进不了~ 尼玛,这是个什么情况,主板坏了?不应该啊,之前好好的用着,遂卸掉该硬盘换ssd的,可以进入,那么断定是机械硬盘除了问题,插到mac上查看,可以啊,正常访问,便想着在虚拟机的win7中格式化下,这才发现,这块盘是无法格式化的 prlsf文件系统 ,这是什么文件系统?google了好久均无资料,遂打开mac下的磁盘工具,查看 原来是mac下的日志文件系统,想起来了,当初美女同事用的是Boot Camp助理来格式化掉的磁盘,那么肯定是格式化成了mac下默认的!

知道了原因,就好办了,格式化回来,方法如下:

  1. 打开mac下的磁盘工具,找到显示的磁盘;
  2. 选择抹掉-格式选-抹掉,等待几秒,ok搞定!

前言:
这是一篇git学习资料汇总的文章,自己刚刚接触git版本管理时,到处搜索寻找好的学习方案,也收集了不少资料,试图用自己的语言整理下来,方便刚刚学习git的人,有个比较好的学习模式,今后会不断尝试对文章进行修改,争取做到不会的人基本ok,会的人得到提高!

一、什么是git?

Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.

git维基百科上详细介绍了git的资料,包括git的创建、使用以及一些草考资料,已经挺全了,记住一点,最高效的学习方式就是读文档,找官方文档去阅读学习是最快的掌握git的方法。

既然是分布式版本管理,那么和我们平常使用的svn有什么区别?

  1. 分布式 vs 集中管理 (多份版本库 vs 一份版本库,设想下版本服务器挂了?)
  2. 无需网络,随时随地进行版本控制,在没有网络的情况下你想回退到某个版本svn基本没戏;
  3. 分支的新建、合并非常方便、快速,没有任何成本,基本不耗时,svn的版本基本上等同于又复制了一份代码;

stackoverflow 上关于svn和git的区别的讨论,说的很详细,请参考 Why is Git better than Subversion?
github 上通过版本库结构、历史、子项目(submudle)的不同来对比两者,请参考 What are the differences between SVN and Git?

二、git 安装

《pro git》一书中已经写明白了各个平台上怎么安装git,如果感觉晦涩,就看这个廖雪峰安装git

三、git 初使用

  • 对于已经熟悉svn的用户可以直接查看此文档 Git - SVN Crash Course,通过对比两个工具对同样的操作采取不同的命令来快速认识git的一些常用命令

  • 对于一个新手来说,我不需要知道git的原理,不需要知道git那么多的命令,我只想用git完成一次仓库的从初始化、commit、push、branch、tag等一个流程,越简单越好,图文教程,以window下使用git为例,一步步走完整个流程,推荐 手把手教你使用Git

  • 比较全面讲述的git的系列文章 号称史上最浅显易懂的Git教程!

  • 看完上面的几步内容,想你习对git基本上可以使用了,要掌握还得多多练习,熟能生巧,你是不是想去看看关于git的全部内容 ,官方中文电子版书籍即可满足你,当然你可以查看最新V2版英文或者下载epub pdf等本地阅读;

四、git 分支、tag

git 最帅气的就是对分支的处理,方便快速,你只需要一个简单的

1
git branch branch-name

就能开出一个叫branch-name的分支,毫秒钟搞定,但也正是因为方便,如果使用不合理就会造成分支混乱,分不清脉络, 推荐看一下阮一峰写的文章 Git分支管理策略 ,最原始的文章就是这篇老外写的A successful Git branching model@萌面大叔的乌托邦提到开源中国已经翻译成了中文,感兴趣的可以去看看介绍一个成功的 Git 分支模型

杂乱的分支

五、git 常见命令

一个比较好的汇总了git的一些基本命令的pdf,可以经常看看,或者当成命令手册,推荐 Git Cheat Sheet ,还有一张图片 Git常用命令 也不错;最近我整理了一份xmind的导图,将这两份资料都放到了画布里面,百度网盘 密码:6x7u 存储了,不断更新,有需要的可以下载,预览图片如下:

Git常用xmind导图整理

最强大的命令手册还得属于终端,* man git * 或者 * man git 命令 * 或者 * git –help * 或者 * git 命令 –help *,在这里可以找到任何你想要的。

六、git 书籍资料

-《Pro Git》 作者Scott Chacon是github的员工,git的布道者,这本书被誉为git学习圣经,中间有好多插图描述的浅显易懂,挺适合详细学习下的,最新英文第二版《pro git (Editon 2)》;

-《Git Community Book》汇聚了Git社区的很多精华, 并对git的对象模型原理等做了解释,可以深入的了解下git原理;

2015-01-22 增加

2015-04-05 增加 git flow 工具

2015-06-02 增加
我在github上面整理了一个repo my-git,目前持续更新中,整理收集了git方便的学习资料,欢迎大家fork-modify-pull request,一块打造最全面的git学习!

关于日常中使用git来版本管理的流程写的很不错的一本书,日常工作模式、流程怎样更合理的工作!
** 最后,当你开始使用git的时候,学会用终端,比如你想看关于branch,那么大胆的时候 git branch –help * 查看相应的命令! *

用到服务器调试的起因是在项目中遇到了乱码问题部分内容乱码,可是本地环境是好的,无法复现,所以排除不了问题在哪里,不知道到底是什么原因,不知道配置在哪里,配置了好多地方都不生效,最后咨询亚洲,远程调试,查看在action中返回的字符集中文下就是乱码的; 定位在编译时候的问题;

调试过程:

  1. 服务器tocat停止 ** sh stop_tomcat.sh ** 即可,注意一定要是全路径才行;
  2. ** tomcat/bin/catalina.sh ** 中在头部加入下面代码,连接方式有两种,为dt_shmem和dt_socket,分别表示本机调试和远程调试。
    1
    declare -x CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000"
  3. 启动tomcat ** sh start_tomcat.sh ** ,终端中查看状态 tail -fn 200 catalina.out.2014-11-05.out
    出现 ** Listening for transport dt_socket at address: 8000 ** 即表示ok的;
  4. idea设置,调试为远程,端口号修改8000,host为远程机器ip,启动调试,选择remote即可;
  5. 访问efc.corp.elong.com ,本机idea加断点,即可了。

eclipse 同理,可以查看 使用eclispe远程调试Java程序

调试图片如下

本文用到的参数含义:
-Xdebug
启用调试特性。
-Xrunjdwp:
在目标 VM 中加载 JDWP 实现。它通过传输和 JDWP 协议与独立的调试器应用程序通信。下面介绍一些特定的子选项。
从 Java V5 开始,您可以使用 -agentlib:jdwp 选项,而不是 -Xdebug 和 -Xrunjdwp。但如果连接到 V5 以前的 VM,只能选择 -Xdebug 和 -Xrunjdwp
下面简单描述 -Xrunjdwp 子选项。
transport
这里通常使用套接字传输。但是在 Windows 平台上也可以使用共享内存传输。
server
如果值为 y,目标应用程序监听将要连接的调试器应用程序。否则,它将连接到特定地址上的调试器应用程序。
address
这是连接的传输地址。如果服务器为 n,将尝试连接到该地址上的调试器应用程序。否则,将在这个端口监听连接。
suspend
如果值为 y,目标 VM 将暂停,直到调试器应用程序进行连接。