Giter Club home page Giter Club logo

h1z3y3.github.io's Introduction


Hits

h1z3y3.github.io's People

Contributors

an-kang avatar github-actions[bot] avatar h1z3y3 avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Forkers

an-kang

h1z3y3.github.io's Issues

Grep, Sed, Awk 日常使用 | 东隅已逝/桑榆非晚

https://h1z3y3.me/posts/grepsedawk/

grep 概述 在给出文件列表或标准输入后, grep会对匹配一个或多个正则表达式的文本进行搜索, 并输出匹配(或者不匹配)的行或文本.
使用格式 grep [options] PATTERN [FILE...] 常用选项 -i 忽略字符大小写 -v 显示未被模式匹配到的行或串 -o 只显示匹配到的串而不是整行 -n 显示匹配的行及行号 -E 使用扩展的正则表达式 -A n 显示出匹配到的行和后n行 -B n 显示出匹配到的行和前n行 -C n 显示出匹配到的行和前后各n行 扩展的正则表达式
扩展正则表达式与基础正则表达式的唯一区别在于: () {} ? + 这几个字符.
基础正则表达式中, () {} ? + 表示特殊含义,使用时需要将他们转义
而扩展正则表达式中, () {} ? + 不表示特殊含义, 你需要将他们转义.
转义符号, 都是一样的: 反斜线 \ .
所谓特殊含义, 就是正则表达式中的含义. 非特殊含义, 就是这个符号本身.
……

纯代码高仿网易新闻客户端两个scrollView联动(一):设置基本的界面布局 | 东隅已逝/桑榆非晚

https://h1z3y3.me/posts/twoscrollviewlinkage-1-baseview/

自己再开发app过程中遇到了这样那样的需求,其中有一项是新闻页面,需要两个scrollView联动,上面的scrollView是新闻类型,下面scrollView是tableView新闻标题。开发过程中我全部都是用代码布局的,因为自己是新手,不知道到底是用代码写比较方便还是用storyBoard更方便,但是感觉手写代码适应屏幕上更容易上手吧。需求实现之后现在拿出来简单整理一下,方便自己日后查看,也给后来者以参考。因为刚刚开始学,用到的都是些简单的方法,也可能会出错,如果有什么不足,请留言给我指出。谢谢~
……

JS实现密码加密(base64, md5, sha1) | 东隅已逝/桑榆非晚

https://h1z3y3.me/posts/javascript-md5-base64-sha1/

简介 在编写Web程序时,表单的提交若密码使用明文提交会十分不安全,因此在浏览器端也要对密码进行加密处理。但是若只是在浏览器端处理了,而服务器没有再一次加密,也是不妥当的,因为"中间人"只要获取了浏览器端加密的密码,不需要进行处理也能进行登录。所以我一般的做法是在前端加密一次,在服务器再加密一次。密码加盐(salt)的问题等我先研究下再写一下。而浏览器端加密一般我都用javascript进行加密后再提交。下面是用javascript编写的base64加密,md5加密和sha1加密。使用方法也极其简单,只要在页面内引入相应js文件即可。
……

去除CKFinder版权信息以及启用文件移动功能 | 东隅已逝/桑榆非晚

https://h1z3y3.me/posts/remove-ckfinder-copyright/

最近在做毕业设计,使用到了CkEditor和CkFinder来做富文本编辑框以及文件管理。 因为CkFinder只能下载使用Demo版本,会有一些版权信息。 我不是用做商业目的,仅仅为了学习,所以想把版权信息去掉。 看了几篇博客,都是教你把alert框加上display:none,我考虑到这样并不好,因为如果有其他正常的信息也不能显示了,所以花了些时间改了下ckfinder.js,既去掉了版权信息,又不会影响其他信息的提示。
下文提供了两种方法,建议使用第二种。
如果你是用于商业目的,请到官网购买使用的License使用。
……

译:HTTP/3 来了 | 东隅已逝/桑榆非晚

https://h1z3y3.me/posts/http3/

英文原文链接:https://www.zdnet.com/article/http-over-quic-to-be-renamed-http3/
据 IETF 官方人员透露,HTTP-over-QUIC 实验方案将会被命名为 HTTP/3,并将成为 HTTP 协议的第三个官方版本。 在谷歌将 SPDY 技术发展成为 HTTP/2 协议之后,这是谷歌第二次将实验技术发展成为 HTTP 的官方协议版本。 HTTP-over-QUIC 协议是 HTTP 协议的升级,谷歌使用 QUIC 取代 TCP (Transmission Control Protocal) 作为 HTTP 的基础技术。 QUIC 全称 Quick UDP Internet Connections,是谷歌将 TCP 协议重写为一种结合了HTTP/2、TCP、UDP 和 TLS 的改进技术。
……

根据字数自适应高度的UILabel | 东隅已逝/桑榆非晚

https://h1z3y3.me/posts/uilabel-with-height-fixed/

  • (UILabel *) getLabelHeightFixedWithText: (NSString *) text { UIFont *font = [UIFont boldSystemFontOfSize: 12.0f]; int width = 225, height = 10000; NSMutableDictionary *attrs = [[NSMutableDictionary alloc] init]; [attrs setObject: font forKey: NSFontAttributeName]; CGRect size = [text boundingRectWithSize:CGSizeMake(width, height) options: NSStringDrawingUsesLineFragmentOrigin attributes: attrs context: nil]; UILabel *label = [[UILabel alloc] initWithFrame: CGRectMake(0, 0, size.size.width, size.size.height)]; label.numberOfLines = 0;//一定要设置行数为0 label.font = font; label.lineBreakMode = NSLineBreakByWordWrapping; label.text = (text ? text : @""); label.backgroundColor = [UIColor clearColor]; label.textColor = [UIColor blackColor]; return label; }

Golang unescape values in html templates | 东隅已逝/桑榆非晚

https://h1z3y3.me/posts/go-html-template-script-unescape/

While using values in a html template, my colleague faced a problem that the values in <script> tags are all escaped. So the template developer can not use the values in javascript. It just looks like this:
// ... <script type="text/json" id="channel" ch="recommend" tk=""> ["news","comedy","cartoon","tech","travelling","fashion","photograph","household","movies","foods","military","health","test"] </script> // ... I tried to find out the reason. So I copied the template values in other HTML tags rather than in <script>. It rendered correctly, and was not escaped:
// ...

["news","comedy","cartoon","tech","travelling","fashion","photograph","household","movies","foods","military","health","test"]
// ... First, I found some reasons like this, they said using json.Encoder rather than using json.Marshal() directly. So I can SetEscapeHTML(false).

Vim 初级入门 | 东隅已逝/桑榆非晚

https://h1z3y3.me/posts/how-to-use-vim/

前言 没有接触过Vim的同学, 一定会觉得平时使用的IDE很好用, 但是当你开始使用Vim, 并且渐渐熟悉, 我觉得你会爱上这一款编辑器. 千万不要因为一开始Vim有太多命令需要记忆而放弃它.
这篇博客是翻译自《Learn Vim Progressively》, 并在我觉得有必要添加说明的地方添加了自己的说明. 我认为是最适合入门Vim的教程, 没有之一.
正文开始 你想以最快的方式自学Vim吗? 在人类最优秀的编辑器面前, 你必须至少先学会如何幸存下来, 然后再去一点点整合使用它的技巧.
Vim the Six Billion Dollar editor
Better, Stronger, Faster
当你学会使用Vim, 它将成为你最后一个编辑器. 虽然学习它的过程很不容易, 但是最后它会难以置信的好用.
……

Shiro清除更新缓存的用户权限 | 东隅已逝/桑榆非晚

https://h1z3y3.me/posts/shiro-clear-update-authorization/

Apache Shiro用于权限管理十分方便,但存在一个问题,就是当用户的权限发生变化的时候,就需要用户重新登录,重新缓存用户的权限信息。
现在想要在改变用户的权限的时候,清理用户的权限。 在写的过程中查找了一些资料,但是并没有成功实现权限的清理,所以我进行了一些修改,并实现了Helper类。
……

UITableView使用简单进阶(一):搜索栏 | 东隅已逝/桑榆非晚

https://h1z3y3.me/posts/uitableviewadvanced01/

UITableView 是开发中使用十分频繁的控件,本系列记录UITableView的进阶使用:UITableView的搜索栏和字母索引表。
不想看我废话的可以直接到gitHub仓库下载源码😏。 UITableView使用进阶gitHub源码
搜索栏有两种实现方式,第一种是通过UISearchBar和UISearchDisplayController实现,第二种是通过UISearchController实现。而在iOS8.0之后,苹果官方推荐使用第二种方式。
本文使用的是第二种方式(UISearchController),不过源码中也实现了第一种(UISearchBar+UISearchDisplayController)。关于UISearchBar和UISearchDisplayController的使用,可以参考我的另一篇文章:UISearchBar和UISearchDisplayController实现搜索栏
……

stretchableImageWithLeftCapWith:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight | 东隅已逝/桑榆非晚

https://h1z3y3.me/posts/stretchableimagewithleftcapwidth/

  • (UIImage *) stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight 这个函数是UIImage的一个类函数,它的功能是创建一个内容可拉伸,而边角不拉伸的图片。两个参数的含义分别为:不拉伸区域的宽度、不拉伸区域的高度。 根据设置的宽度和高度,在像素点((leftC……

HTML5 WebWorker 简单使用 | 东隅已逝/桑榆非晚

https://h1z3y3.me/posts/html5webworker/

什么是WebWorker
web worker 是运行在后台的 JavaScript,独立于其他脚本,不会影响页面的性能。我们知道页面的展示放在主线程,如果让主线程进行一系列复杂的操作,那么页面就会变得非常卡,用户体验会很差。这是我们可以使用web worker进行复杂操作的实现,然后将处理结果返回给页面,页面进行更新即可,这样就不会影响用户主页面展示的执行。
方法: postMessage() : 用于向HTML页面返回消息 terminate() : 终止web worker, 并且释放资源
……

UITableView使用简单进阶(二):索引条 | 东隅已逝/桑榆非晚

https://h1z3y3.me/posts/uitableviewadvance02/

前文已经介绍了如何给UITableView添加搜索栏,这次要给UITableView进一步添加索引条。 基本思路:
获取总统名字的首字母组成一个索引字母表储存在数组中; 修改TableView的代理方法实现section的显示,section的数量应为索引字母表的元素的个数; 把索引条添加到TableView 中,用TableView的代理方法即可实现。 ……

UISearchBar和UISearchDisplayController实现搜索栏 | 东隅已逝/桑榆非晚

https://h1z3y3.me/posts/uisearchbar-uisearchdisplaycontroller/

要实现tableview的搜索栏,实现方法有两种:第一种是UISearchBar和UIDisplayController结合起来实现,另一种是通过UISearchController实现。这里只介绍第一种:
注意: UISearchBar和UISearchDisplay只推荐iOS8.0之前使用。 关于UISearchController的使用请跳转至: UITableView使用进阶(一):搜索栏
……

UITabBarController嵌套UINavigationController后,关于tabBar的问题以及解决方法 | 东隅已逝/桑榆非晚

https://h1z3y3.me/posts/how-to-use-sethidebottombarwhenpushed/

一开始自己将tabBar全部自定义,将系统tabbar设置为self.tabBar.hidden=YES,隐藏系统的tabbar。但是自定义的tabbar在push出新页面的时候,tabbar并不会自动隐藏。之后在新页面viewWillAppear中设置自动隐藏,但是pop回之前页面(在viewDidAppear中设置tabbar显示)又出现不能及时出现,会有时间延迟,看上去特别不舒服。而且,边缘返回旧页面的时候不能及时显示tabbar也,所以打算用系统默认的tabbar。记录下系统tabBar样式的简单定义。
……

HTML5应用缓存简单使用 | 东隅已逝/桑榆非晚

https://h1z3y3.me/posts/html5webcache/

什么是应用缓存?
HTML5引入了应用缓存概念,意味着在没有因特网连接时也可以进行访问。
使用应用缓存好处:
离线浏览,没有因特网的情况下依然可以进行访问 访问速度提升,已经缓存的资源加载更快 减少服务器负载,浏览器只需要下载更新过的页面资源 实现方法:
如果需要使用应用缓存,需要在页面标签中包含 manifest 属性,而manifest文件建议使用文件扩展名.appcache。
Manifest文件功能:
CACHE: 在此标题下列出的文件会在首次访问加载之后进行缓存; NETWORK: 在此标题下列出的文件需要与服务器连接、且不会被缓存; FALLBACK: 在此标题下列出的文件规定当页面无法访问时的退回页面(如404页面) ……

UIImageView更换图片时渐隐渐现 | 东隅已逝/桑榆非晚

https://h1z3y3.me/posts/uiimageview-image-fade-out/

实现原理十分简单,使用UIImageView的透明度即可。然后在动画中完成。 alpha = 1 为全透明。 运行图例: 实现代码: //图片渐隐渐现 self.backgroundView.alpha = 0.7; [UIView animateWithDuration:0.5 animations:^{ self.backgroundView.alpha = 1; self.backgroundView.image = [UIImage imageNamed:@"weather_bg_02.jpg"]; }]; 后来我知道了可以用更好的方法实现, 后续会有更……

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.