luke

Markdown的使用

混江龙づ霸主 提交于 2021-02-08 09:47:28
Day01 Markdown的基本语法 作者:迷恋 一级标题 二级标题 三级标题 四级标题 五级标题 六级标题 文本样式 强调文本 强调文本 ** 加粗文本** =标记文本= 删除文本 引用文本 H 2 O is是液体。 2 10 运算结果是 1024。 列表 项目 项目 项目 项目1 项目2 项目3 项目 项目 项目 项目1 项目2 项目3 计划任务 完成任务 链接 链接: CSDN . 图片: 带尺寸的图片: 居中的图片: 居中并且带尺寸的图片: 代码片 // A code block var foo = 'bar'; // An highlighted block var foo = 'bar' ; # include <stdio.h> int main ( ) { printf ( "hello world" ) ; return 0 ; } 表格 项目 Value 电脑 $1600 手机 $12 导管 $1 Column 1 Column 2 Column3 left-aligned 文本居左 centered 文本居中 right-aligned 文本居右 注释 一个具有注释的文本。 1 Markdown将文本转换为 HTML。 自定义列表 Markdown Text-to- HTML conversion tool Authors John Luke 数学公式

API 分页设计与实现探讨

我的梦境 提交于 2021-01-26 07:10:07
对于设计和实现 API 来说,当结果集包含成千上万条记录时,返回一个查询的所有结果可能是一个挑战,它给服务器、客户端和网络带来了不必要的压力,于是就有了分页的功能。 通常我们通过一个 offset 偏移量或者页码来进行分页,然后通过 API 实现类似请求: GET /api/products?page= 10 { "items" : [.. .100 products]} 如果要继续访问后续数据,则修改分页参数即可。 GET /api/products?page= 11 { "items" : [...another 100 products]} 在使用 offset 的情况下,通常使用 ?offset=1000 和 ?offset=1100 这种大家都熟悉的方法。它要么直接调用 OFFSET 1000 LIMIT 100 的 SQL 查询数据库,要么使用 LIMIT 乘以 page 作为查询参数。无论如何, 这是一个次优的解决方案 ,因为无论哪种数据库都要跳过前面 offset 指定的 1000 行。而跳过额外的offset,不管是 PostgreSQL,ElasticSearch还是 MongoDB 都存在额外开销,数据库需要对它们进行排序,计数,然后将前面不用的数据扔掉。 粉丝福利: 手撸了 50 个 Java 项目实战后,我超神了! 这是一种低效的方法,但由于它使用简单

API 分页探讨:offset 来分页真的有效率?

浪尽此生 提交于 2021-01-25 13:46:55
对于设计和实现 API 来说,当结果集包含成千上万条记录时,返回一个查询的所有结果可能是一个挑战,它给服务器、客户端和网络带来了不必要的压力,于是就有了分页的功能。 通常我们通过一个 offset 偏移量或者页码来进行分页,然后通过 API 实现类似请求: GET /api/products? page =10 { "items" : [ .. .100 products]} 如果要继续访问后续数据,则修改分页参数即可。 GET /api/products? page =11 { "items" : [ .. .another 100 products]} 在使用 offset 的情况下,通常使用 ?offset=1000 和 ?offset=1100 这种大家都熟悉的方法。它要么直接调用 OFFSET 1000 LIMIT 100 的 SQL 查询数据库,要么使用 LIMIT 乘以 page 作为查询参数。 无论如何, 「这是一个次优的解决方案」 ,因为无论哪种数据库都要跳过前面 offset 指定的 1000 行。而跳过额外的offset,不管是 PostgreSQL,ElasticSearch还是 MongoDB 都存在额外开销,数据库需要对它们进行排序,计数,然后将前面不用的数据扔掉。 这是一种低效的方法,但由于它使用简单,所以大家重复地用这个方法,也就是直接把 API

伯乐是怎样炼成的,BAT算法面试官心得体会

自古美人都是妖i 提交于 2021-01-04 14:46:44
【面试相关原创文章合集】 Luke:【纯干货】程序员(算法&开发&测试)大厂(BAT)社招/校招面试准备(简历+刷题+话术)指南 Luke:伯乐是怎样炼成的,BAT算法面试官心得体会 前言 最近帮leader面试了不少应届生,也有了一些自己做面试官的心得。博主之前跳槽的时候写过一篇从候选人的角度如何准备面试的文章,刚好这次可以转换一下位置,从面试官的角度出发聊聊如何高效地从海量的简历中快速相中心怡的候选人,也希望能够帮助还在找工作的朋友更好的了解面试官的心路历程, 知己知彼,百战不殆 。 目录 基本原则 候选者自我介绍 工作(实习)经历/论文/竞赛/项目考察 基础知识考察 方案设计 Coding测试 候选者提问 时间分配 1. 基本原则 [1] 想做一个好面试官,遵守以下几点原则是基本: 尊重 。简历不匹配的候选人就不必邀请了,节省双方的时间。 不要好奇应试者的私人生活 。种族背景、家庭背景、是否单身、生育计划等都不是面试官应该了解的事情。 做好准备。 互联网时代,千里马不常有而伯乐常有。自己中意的候选人往往手里有多个offer,如何从所有友商中脱颖而出,打动候选人,需要每个面试官仔细思考。 2. 候选者自我介绍 所有面试正式开始的第一步都是让候选者做自我介绍 ,这个环节必不可少。原因不外乎3个 [2] : 让候选人有个缓冲时间,避免过度紧张 面试官可能还没仔细看过候选人的简历

几百行代码完成百度搜索引擎,真的可以吗?

别来无恙 提交于 2020-11-21 08:35:02
每天早上 七点三十 ,准时推送干货 Hello 大家好,我是鸭血粉丝,大家都叫我阿粉,搜索引擎想必大家一定不会默认,我们项目中经常使用的 ElasticSearch 就是一种搜索引擎,在我们的日志系统中必不可少,ELK 作为一个整体,基本上是运维标配了,另外目前的搜索引擎底层都是基于 Lucene 来实现的。 阿粉最近遇到一个需求,因为数据量没有达到需要使用 ElasticSearch 的级别,也不想单独部署一套集群,所以准备自己基于 Lucene 实现一个简易的搜索服务。下面我们一起来看一下吧。 背景 **Lucene **是一套用于全文检索和搜索的开放源码程序库,由 Apache 软件基金会支持和提供。Lucene 提供了一个简单却强大的应用程序接口,能够做全文索引和搜索。Lucene 是现在最受欢迎的免费 Java 信息检索程序库。 上面的解释是来自维基百科,我们只需要知道 Lucene 可以进行全文索引和搜索就行了,这里的索引是动词,意思是我们可以将文档或者文章或者文件等数据进行索引记录下来,索引过后,我们查询起来就会很快。 索引这个词有的时候是动词,表示我们要索引数据,有的时候是名词,我们需要根据上下文场景来判断。新华字典前面的字母表或者书籍前面的目录本质上都是索引。 接入 引入依赖 首先我们创建一个 SpringBoot 项目,然后在 pom 文件中加入如下内容

postgresql SQL 优化

与世无争的帅哥 提交于 2020-08-17 01:02:16
postgres SQL 优化 查找慢 SQL 使用 pg_stats_statements 查找 开启 auto_explain 使用 auto_explain mode, 开启以下选项 log_nested_statements log_min_duration Index Tuning pg_stats... 相关视图 sql SELECT relname, seq_scan - idx_scan AS too_much_seq, CASE WHEN seq_scan - coalesce(idx_scan, 0) > 0 THEN 'Missing Index?' ELSE 'OK' END, pg_relation_size(relname::regclass) AS rel_size, seq_scan, idx_scan FROM pg_stat_all_tables WHERE schemaname = 'public' AND pg_relation_size(relname::regclass) > 80000 ORDER BY too_much_seq DESC; 没有使用索引 SELECT indexrelid::regclass as index, relid::regclass as table, 'DROP INDEX ' || indexrelid:

我终于理解了闭包

妖精的绣舞 提交于 2020-08-14 17:59:04
我终于理解了闭包 本文写于 2020 年 5 月 14 日 闭包这个词一听就很高级,令人害怕。 但实际上,闭包非常的强大,JS 的精髓之一就是闭包。 实际上,我们经常在使用闭包,而不自知! Kyle Simpson 在书中将掌握闭包,比喻为: 不像 Luke 一样接受训练才能掌握原力,而是像 Neo 见到矩阵一样。 我们其实一直都在不自觉地使用着闭包,一旦理解了闭包,就会如同重生一般,凤凰涅槃。 函数的作用域 function foo() { let hello = 'hello world' console.log(hello) } 这个非常简单的函数,如果调用 foo() ,那么在短暂的时间过后,hello 变量就会消失的无影无踪。 仿佛从来没有出现过一样。 但是如果我们这么写: function foo() { let hello = 'hello world' function bar() { console.log(hello) } return bar } let hey = foo() 观察一下,虽然在 let hey = foo() 的时候,foo 已经执行过了,但是如果我们使用 hey() ,依然可以使用 hello 变量! 这就是闭包。 foo() 在执行之后,正常情况下,整个内部的作用域都会被销毁,因为 JS 引擎会帮助我们自动回收垃圾。

机器学习工程师将在十年后消失?

你离开我真会死。 提交于 2020-08-12 04:50:00
云栖号资讯:【 点击查看更多行业资讯 】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 近年来,机器学习工程师屡次荣登全球 IT 高薪榜单。但这局面会一直保持下去吗?作者 Luke Posey 给我们带来了一个不一样的观点,他认为,机器学习工程师将在十年后消失!这听起来有点耸人听闻,为什么他会做出这样的判断?读完这篇文章,或许你就找到答案了。 机器学习工程师将被取代 机器学习将会转变为每个软件工程师工具箱中的一部分,成为软件工程师常用的工具。 在每个领域中,我们在早期的阶段都会有专门的角色,随着时间的推移,这些专门的角色将会逐渐被普通的角色所取代。机器学习工程师似乎又是一个这样的例子。 机器学习工程师作为一个角色,是由人工智能和数据科学等热门词汇在企业中被大肆炒作的结果。在机器学习的早期阶段,机器学习工程师是一个非常必要的角色。而且对很多人来说,它带来了不错的收入增长!但是,机器学习工程师也有许多不同的性格,这要取决于你问的是谁。 我们当中的纯粹主义者说,机器学习工程师就是将模型带出实验室并投入到生产的人。他们负责扩展机器学习系统,将参考实现转化为可用于生产的软件,并经常交叉地进入数据工程领域。他们通常都是强大的程序员,对他们使用的模型也有一定的基础知识。 但这听起来很像是一个普通的软件工程师。 如果你去向一些顶尖的科技公司

WebAssembly在软件生态系统中将继续发挥更大的作用

蓝咒 提交于 2020-08-12 04:38:22
字节码联盟是一个新成立的开源社区,致力于基于WebAssembly和WebAssembly系统接口(WASI)等标准来创建新的软件基础。 Mozilla,Fastly,Intel 和 Red Hat 是创始成员。字节码联盟将通过其贡献成员的共同努力,提供最先进的运行时环境和相关的语言工具链,在这些环境中,安全性,效率和模块化都可以在尽可能广泛的设备和体系结构中共存。 通过联盟做出的贡献和协同发展的技术利用了编译器,运行时和工具方面已建立的创新技术,并专注于细粒度的沙箱,基于功能的安全性,模块化以及WebAssembly和WASI等标准。 创始成员正在为Bytecode Alliance提供一些开源项目,包括: Wasmtime,WebAssembly和WASI的小型高效运行时 Lucet,WebAssembly和WASI的提前编译器和运行时,专注于低延迟,高并发应用程序 WebAssembly Micro Runtime(WAMR),用于嵌入式设备的基于解释器的WebAssembly运行时 Cranelift,一个跨平台的代码生成器,专注于安全性和性能,用Rust编写 现代软件应用程序和服务是从共享组件和框架的全球存储库中构建的,这极大地加速了新的更好的多设备体验的创建,但是可以理解的是,人们对信任,数据完整性和系统漏洞的担忧也越来越大。字节码联盟致力于建立一个功能强大的安全平台

使用dockerfile克隆私有git仓库

眉间皱痕 提交于 2020-08-10 06:51:09
我复制了这个代码从似乎是各种工作dockerfiles,这里是我的: FROM ubuntu MAINTAINER Luke Crooks "luke@pumalo.org" # Update aptitude with new repo RUN apt-get update # Install software RUN apt-get install -y git python-virtualenv # Make ssh dir RUN mkdir /root/.ssh/ # Copy over private key, and set permissions ADD id_rsa /root/.ssh/id_rsa RUN chmod 700 /root/.ssh/id_rsa RUN chown -R root:root /root/.ssh # Create known_hosts RUN touch /root/.ssh/known_hosts # Remove host checking RUN echo "Host bitbucket.org\n\tStrictHostKeyChecking no\n" >> /root/.ssh/config # Clone the conf files into the docker container RUN git clone