自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

tyltr的博客

前行者----溪涧岂能留得住,终归大海作波涛

  • 博客(23)
  • 资源 (3)
  • 收藏
  • 关注

原创 easytmpl- 高性能go文本模版引擎

easytmpl是一个高性能的Go语言文本模板引擎,性能是标准库text/template的5倍,是fasttemplate的1.7~2倍左右。它支持自定义占位符标记(如{{xxx}}、[[xxx]]等),提供严格和非严格两种渲染模式(严格模式会检查所有参数,非严格模式可自动填充缺失值)。该引擎支持预分配内存优化性能,并允许通过回调函数动态处理模板参数。对于特殊标记情况,处理规则是:空占位符视为普通文本,非空时优先匹配参数名较长的标记。

2025-10-16 01:32:01 579

原创 zarrow:Zig 生态最完整的 Apache Arrow 实现,为什么值得关注?

如果你在 Zig 里做数据系统,zarrow 不是“可以看看”,而是“应该重点跟进”。它代表的是 Zig 在数据基础设施方向从“能用”走向“可工程化落地”的关键一步。

2026-04-23 09:07:19 371

原创 《go编程技巧》----绕过map的坑

go map的性能提升: - 分片锁 - 内存泄漏分析 - GC 内存回收

2023-04-09 20:41:33 950 1

原创 杂谈(第3篇) | 跳跃表

原文:https://tylitianrui.github.io/2018/05/21/%E8%B7%B3%E8%B7%83%E8%A1%A8/ 引子 对一个有序数组进行二分查找,是程序员的一项基本功。二分查找的时间复查度O(logN),效率比较高。那么对于有序数组的近亲----有序链表,有没有一种类似二分查找的算法呢?当然有,那就是跳跃表。 跳跃表是对有序链表进行快速查询的,平均时间复杂度...

2018-12-07 13:41:39 301

原创 杂谈(第2篇) | python中的单例模式

一言不和就飚代码,欢迎来黑。 加锁是为了防止多线程下出现创建多个实例的情况。下面代码分别单利模式,和防止二次初始化的代码。下面的上锁采取上下文管理器的话,更优雅。  # -*-coding:utf-8-*- # AUTHOR:tyltr # TIME :2018/10/18 import threading class Singleton(object): def __new__...

2018-11-15 10:14:24 316

原创 linux随笔(一) | 标准输入、输出、错误流

在工作开始初期,我曾经为了“ >/dev/null  2>&1 ”这一种纠结。今日又看到这种命令后缀,感触良多。如果你也有这种困惑,不妨来看看这篇小文章。 在lunix中,有三种标准流:标准输入流、标准输出流、标准错误流。为了区分这三种流,linux分别为他们编号0,  1,2 进行区分。也就是说标准输入流的编号为0、标准输出流 为1 、标准错误流编号为2。在默认的情况下,l...

2018-11-14 12:23:45 3436

原创 网络安全随笔(一) | SYN Flood攻击

SYN攻击是Dos攻击之一,注意此处的Dos 指的是Denial of Service,简写DOS。新人千万别以为是dos操作系统。下面上干货。 有关tcp的介绍,已经在 互联网协议解析(一) | TCP 与UDP  中进行了全面的介绍。如果有需要的话,还是可以看看的。我们再回顾一下 TCP的三次握手。 在建立链接前,服务器已经开启,等待来自客户端(无论浏览器还是app等,此处把用户侧都称之为...

2018-11-06 13:28:27 661

原创 python进阶(一) | map、filter与reduce

1.1  map  map(func,iterable)函数接收两个参数:一个是函数,一个是iterable( 列表,字符串 等 )作用:map将传入的函数依次作用于序列的每个元素,返回一个新的序列  ret = map(lambda x:x+1,[1,3,4,2]) print ret 就是把可迭代对象的每个元素,一次作为参数传递到函数中。最终将结果以列表的形式输出 1.2   red...

2018-11-04 16:21:33 483

原创 Redis设计与实现笔记(九) | 持久化

redis是基于内存的数据库。总所周知,内存是RAM,数据断电即丢失。对于数据库来说,这种特性导致了数据持久性就无法保证。redis的持久化的机制解决这种问题,就是把数据库的数据保存到硬盘中,进行存储,避免数据丢失。 redis有两种持久化的方式:RDB和 AOF 一、RDB RDB是redis默认的持久化方式。将当前数据库的状态,以快照的形式保存在硬盘上。但如果开启了AOF的话,redis...

2018-11-04 11:58:57 291

原创 Redis设计与实现笔记(十五) | 复制

前面主要是在数据结构和单机服务器角度分析redis的底层实现。本篇讲解的是多服务器上的redis怎么实现数据复制的。在redis中只支持主从复制。 复制是一个在数据库领域的基本的机制,每个数据库都有自己不同的实现方式。无论是RDB 还是NoSQL,会有复制这个概念。如MySQL中的复制,mongodb中的副本集等等。只要说到复制,就免不了谈俩个概念:数据一致性 和 读写分离,这两个概念也会在此博...

2018-11-01 00:27:26 311

原创 Redis设计与实现笔记 |目录

第一部分:数据结构与对象 Redis设计与实现笔记(一) | 字符串 Redis设计与实现笔记(二) | 链表结构 Redis设计与实现笔记(三) | 字典 第二部分:单机数据库的实现 Redis设计与实现笔记(九) | 持久化   第三部分:多机数据库的实现 Redis设计与实现笔记(十五) | 复制   第四部分:独立功能的实现   本系列博文是本人学习《Redis设计...

2018-11-01 00:04:35 769

原创 Redis设计与实现笔记(三) | 字典

字典(键值对、KV、映射都是一回事)在redis中有广泛应用:redis是Key-Value数据库,就是使用字典作为底层实现的,对数据库的增删改查都基于字典实现的。除此之外,redis的哈希键底层使用字典实现,一个哈希表中包含多个哈希节点,每个哈希节点就是一个kv结构,即字典。 由于redis的数据库的kv结构太复杂了,暂且从哈希表说起 3.1 哈希表 哈希表所使用的字典定义在dict.h/...

2018-10-18 12:28:53 249

原创 杂谈(第1篇) | 进程、线程、协程的区别与联系

作为程序员,在面试的时候经常被问到:说说进程、线程、协程的区别。下面我们就总结一下。 1.面试答案     1.1  进程与线程的区别 总述:线程是进程的一个实体,一个进程至少有一个线程。 1.根本区别;进程是操作系统资源分配的基本单位;线程程是任务调度和执行的基本单位 2.地址空间:同一进程内的线程是共享本进程的地址空间的;而进程之间是相互独立的地址空间 3.共享资源:同一进程内的...

2018-10-14 20:14:31 325

转载 MySQL索引背后的数据结构及算法原理

作者:张扬 摘要 本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引,至于哈希索引和全文索引本文暂不讨论。 文章主要内容分...

2018-10-13 14:44:34 178

原创 互联网协议解析(一) | TCP 与UDP

作者有话说 在很多面试中,有 很多面试官会问到:“你说说TCP UDP有什么区别呀?”,你会巴拉巴拉说一堆区别。有很多人是应试性的背诵,但不一定很系统地理解TCP/UDP。我一个同事曾这样形容过,就算面试的问题是“你说说龙肉 跟麒麟肉 有什么区别呀?”,也会有人巴拉巴拉说出1234条来。压根没见过,你扯什么犊子呀。 那么,咱们就开始说说传输层协议  TCP和UDP吧!注:侧重讲解TCP 1....

2018-10-12 23:32:41 789

原创 python性能分析(一) | timeit模块

在初学python的阶段,笔者曾使用装饰器来实现计算程序运行的时间。慢慢地才知道,python中有更方便的模块——timeit,在本文结束后,笔者会把timeit源代码附带,只有短短的一百多行,so easy,大家都应该能读懂源代码。那就直接看使用吧! 基本用法 import timeit # 待测试的函数 def add(): return sum(range(111)) ...

2018-10-11 11:22:16 13121

原创 Redis设计与实现笔记(二) | 链表结构

没错,本篇我们要说一说链表在Redis中的应用。本打算写Redis中的列表,但想来想去觉得列表仅仅是Redis链表的一部分,并不能完全说明链表这一数据结构在Redis中的应用。那就说说数据结构链表吧。小伙伴们,开始啦! 注:链表作为列表的底层实现是有条件的。当列表元素数量较多,或者是元素都是特别长的字符串时,才会使用链表作为列表的底层实现;当元素数量特别少,并且元素是特别短的字符串或者是特别小的...

2018-10-10 18:53:40 226

原创 Redis设计与实现笔记(一) | 字符串

目录 1.1 与C字符串的区别 1.2 SDS是什么鬼? 1.3 内存分配的优化策略 1.4 总结 本书侧重于讲解redis的实现,对实践案例等讲解不多。Redis是开源的数据库,源代码  https://github.com/antirez/redis  官网 https://redis.io/ 有需要的小伙伴,可以去看看。 总所周知,redis所支持的基本数据类型有五种:字符串、列...

2018-10-10 11:27:13 425

原创 Elasticsearch闲谈(一):Elasticsearch安装

万事开头难。在大神眼里,往往是一些鸡毛蒜皮的没有技术性的小事。但在初学者来说,却成了不可攀登的高峰。万事开头难,这就是为什么我单独把安装,拿出来说的原因。 1.Elasticsearch 安装 1.  确定您的计算机上是否安装了   jdk1.8 。如果没有安装的话,则安装;如果已经安装了,跳过此步即可。            查看jdk 版本的命令: java -version   ...

2018-10-10 07:09:06 249

原创 lintcode第一题:A + B 问题 说起python的数字类型

问题描述 给出两个整数 aa 和 bb , 求他们的和。 挑战 显然你可以直接 return a + b,但是你是否可以挑战一下不这样做?(不使用++等算数运算符)   正确答案 __AUTHOR = "tyltr" __DATE = "18-2-28 下午9:27 " """ 001.给出两个整数a和b, 求他们的和, 但不能使用 + 等数学运算符 """ class Solu...

2018-10-10 07:06:36 792

原创 GO开发环境的搭建(MAC系统下)

开发者的第一步骚操作就是搭建开发环境: 1.选择IDE 2.开发包和环境变量的搭建      2.1  下载安装go工具包     2.2  设置GOROOT环境变量     2.3  设置GOPATH和GOBIN环境变量     2.4  重新加载环境变量配置 说明: 1 、2 步是可以并行的。在选择IDE时候,我使用的是LITEIDE,下载地址:https://www.gola...

2018-09-24 08:32:03 3258

原创 0001.ssh无密码登录,出现 ECDSA host key 与host ip 地址对应的key 不同

1.问题: 已经设置了ssh无密码登录,可在使用过程中,可能会出现如下问题: tyltrinobugdeMacBook-Pro:~ tyltr$  ssh -p 26722 root@104.153.101.34  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! ...

2018-09-22 07:30:14 1315

原创 0001.关于django中的Mixin以及原理解析

废话不讲,只唠干货!一、引子:在类视图中实现login_required 功能        在函数视图和类视图中实现login_required功能都臭了了大街了,细节不再描述。仅仅用类视图作为切入点。    1.定义LoginRequiredMixin实现校验的动作:class LoginRequiredMixin(object): """ 定义LoginRequiredMix...

2018-05-23 11:35:32 3681

xutils3.jar

xutils 最火的框架,一定要学习呀。具体的操作可以在网上百度,介绍也比较详细:注意学习4大模块。一定添加<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 切记切记!

2017-09-22

Python算法教程

本书用Python语言来讲解算法的分析和设计。本书主要关注经典的算法,但同时会为读者理解基本算法问题和解决问题打下很好的基础。全书共11章。分别介绍了树、图、计数问题、归纳递归、遍历、分解合并、贪心算法、复杂依赖、Dijkstra算法、匹配切割问题以及困难问题及其稀释等内容。本书在每一章结束的时候均有练习题和参考资料,这为读者的自我检查以及进一步学习提供了较多的便利。在全书的最后,给出了练习题的提示,方便读者进行查漏补缺。

2017-12-29

Python学习手册(第4版)

Python学习手册(第4版) 适合Python开发者阅读,资料不错,供大家学习

2017-12-29

空空如也

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

TA关注的人

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