技术文章

Solr Facet

旧城冷巷雨未停 提交于 2021-02-18 04:32:54
一、Facet介绍 solr facet 是solr搜索的一大特色,facet不好翻译,有说是垂直搜索,有说是分片搜索,但都不是很好,还是懒得翻译了,就叫facet ,具体功能看下面的例子意会吧。 比如你上淘宝,输入“笔记本”进行搜索,就会出现品牌分类,价格范围等分类,这个就叫facet了。这个例子也许好不是那么准确的描述facet,不过基本上就是这个意思。对输入关键字后搜索出来的结果再进行分类。 二、 Facet查询 进行Facet查询需要在请求参数中加入 ” facet=on ” 或者 ” facet=true ” 只有这样Facet组件才起作用. 1. Field Facet Facet字段通过在请求中加入 ” facet.field ” 参数加以声明,如果需要对多个字段进行Facet查询,那么将该参数声明多次.比如 http://localhost:8983/solr/select?q=联想&facet=on&facet.field=cpu&facet.field=videoCard 查询返回 Xml代码 < lst name = "facet_counts" > < lst name = "facet_queries" /> < lst name = "facet_fields" > < lst name = "cpu" > < int name = "Intel

Linux下ELF文件的格式(3)

假装没事ソ 提交于 2021-02-18 04:28:44
【说明】本文章从本人的CSDN博客搬过来的,因个人感觉CSDN的博客系统太差,so,搬到这里。 在上一篇文章中,主要介绍了几个重要的段以及这几个段中存放的信息。这里将重点介绍目标文件中的 ELF文件头 和 段表(Section Header Table)。 关于ELF文件头,它主要包含了描述整个文件的基本属性,比如ELF文件版本,目标机器型号,程序入口地址等。 关于段表,它描述了ELF文件包含的所有段的信息,比如每个段的段名,长度,在文件中的偏移,读写权限以及其他的属性。 1.再看文件头 再来看整个头文件结构 那么对于系统来讲,这个结构是怎么存储的,按什么格式存储呢? 在 /user/include/elf.h 中,可以找到描述这个头文件的结构体,如下所示: 对比实际的内容跟这个结构体,发现从Type (e_type)开始往下是一一对应的,而前面几条信息就对应于 e_ident[16],即e_ident中存放着前几条的信息。 现在将几个重要的字段解释一下: e_type : ELF文件类型,主要有3种,ET_REL 可重定位,ET_EXEC可执行,ET_DYN共享目标文件,一般为.so文件 e_machine : 机器类型,如EM_386,intel的x86架构,EM_68K摩托罗拉的68000系列等 e_entry : 入口地址,可执行文件被加载后,会从这个虚拟地址开始执行指令

ssh 免密码登录

▼魔方 西西 提交于 2021-02-18 04:27:44
ssh 无密码登录要使用公钥与私钥。linux下可以用用ssh-keygen生成公钥/私钥对,下面我以CentOS为例。 有机器A(192.168.1.155),B(192.168.1.181)。现想A通过ssh免密码登录到B。 1.在A机下生成公钥/私钥对。 [chenlb@A ~ ]$ ssh-keygen -t rsa -P '' -P表示密码,-P '' 就表示空密码,也可以不用-P参数,这样就要三车回车,用-P就一次回车。 它在/home/chenlb下生成.ssh目录,.ssh下有id_rsa和id_rsa.pub。 2.把A机下的id_rsa.pub复制到B机下,在B机的.ssh/authorized_keys文件里,我用scp复制。 [chenlb@A ~ ]$ scp .ssh / id_rsa.pub chenlb@ 192.168 . 1.181 : / home / chenlb / id_rsa.pub chenlb@ 192.168 . 1.181 ' s password: id_rsa.pub 100 % 223 0.2KB / s 00 : 00 由于还没有免密码登录的,所以要输入密码。 3.B机把从A机复制的id_rsa.pub添加到.ssh/authorzied_keys文件里。 [chenlb@B ~ ]$ cat id_rsa.pub >>

python图像处理一

孤街浪徒 提交于 2021-02-18 04:27:29
将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那种提示效果 #coding=utf-8 from PIL import Image , ImageDraw , ImageFont , ImageFilter import cv2 import matplotlib . pyplot as plt import numpy as np plt . rcParams [ 'font.sans-serif' ] = [ 'SimHei' ] # 用来正常显示中文标签 plt . rcParams [ 'axes.unicode_minus' ] = False # 用来正常显示负号 #字体的位置,不同版本的系统会有不同 font_path = "30213021386.ttf" pic_path = "001.png" #原始图像 pic_savepath = "001_RES.png" # 处理后图像 def gene_message_num ( pic_path , message_num , fontcolor ) : ''' @pic_path:原始头像图片的位置 @message_num:未读消息的数目 @fontcolor:显示消息数目的字体颜色 ''' image = Image . open ( pic_path ) size =

openGLES(一)

点点圈 提交于 2021-02-18 04:19:33
准备工作 工具安装 jdk安装 sdk安装 IDE开发环境 一个手机 推荐使用真机,它可以反映真实的性能和结果。 虚拟机创建 Android SDK 执行SDK Manager.exe Tools--> Manage AVDS new GLSurfaceView 他是一个特殊的类初始化OpenGL,可以处理OpenGLES的基本操作,,渲染器可以在一个称为surface的里面完成。渲染是在一个“surface”的特定区域中完成的,也就是视口。 它可以轻松的管理声明周期。 GLSurfaceView是没有动画和特效的。可以使用TextView,TextView可以通过GLSurfaceView转换.或者直接使用TextView。 回顾声明周期 create:创建 destroy:销毁 pause:暂停 resume:回来继续。 创建程序 1.创建一个项目 2.初始化OpenGL 使用一个特殊的类GKSurfaceView进行初始化,他会初始化比较基本的操作 GLSurfaceView类也可以使用activity的生命周期方法。 public class MainActivity extends Activity { @Override protected void onCreate( Bundle savedInstanceState) { super. onCreate(

Egret白鹭开发微信小游戏(使用皮肤搭建UI,代码调用组件功能)

∥☆過路亽.° 提交于 2021-02-18 04:19:05
(1)新建皮肤,并命名如下 (2)根据实际情况自定义皮肤,例如: (3)修改名字为如下: (4)运行游戏会自动生成以下代码: (5)在default.thm.json中添加如下代码:(具体路径名字根据实际情况填写) (6)新建ts文件,添加如下代码,j即可调用皮肤上的组件。 注意;记得添加ts文件继承的类及实现方法。 来源: oschina 链接: https://my.oschina.net/u/4344778/blog/3873035

菜鸟教程 | Egret微信小游戏好友排行榜教程

筅森魡賤 提交于 2021-02-18 04:18:51
写在前面:随着越来越多的新人开始接触白鹭引擎,创作属于自己的游戏。考虑到初学者会遇到一些实际操作问题,我们近期整理推出“菜鸟”系列技术文档,以便更好的让这些开发者们快速上手,Egret大神们可以自动忽略此类内容。 今天我们分享的菜鸟文档将介绍微信小游戏好友排行榜的制作过程,包括创建项目并发布、微信开发者平台添加小游戏、打开开放域功能、主域和开放域通讯,以及ShareCanvas与原生Canvas的布局。 微信好友排行榜利用 微信关系链数据 实现一个简单的排行榜,此文档包含关系链数据、Egret平台数据接口、ShareCanvas离屏画布、原生Canvas布局。 创建项目并发布 创建Egret项目,使用Launcher发布,建议使用您个人 AppID (测试用的id限制很多功能,例如分享) 添加小游戏 设置 > 基本设置 > 添加小程序(能够通过审核即可) 打开开放域功能 使用微信开发者工具打开发布的微信小游戏,或在终端运行 egret run --target wxgame ,找到游戏配置文件 game.json ,配置如下,其中 openDataContext 使小游戏支持了微信开放域功能。 1 { 2 "deviceOrientation": "portrait" , 3 "networkTimeout" : { 4 "request": 5000 , 5

Egret白鹭开发小游戏之自定义load加载界面

我怕爱的太早我们不能终老 提交于 2021-02-18 04:18:34
刚接触不久就遇到困难------自定义loading。想和其他获取图片方式一样获取加载界面的图片,结果发现资源还没加载就需要图片,在网上百度了许多,都没有找到正确的方式,通过自己的摸索,终于,,,我成功了。。。 下面介绍一下主要思想: 首先,我们需要使用异步加载的方式,在加载界面之前加载loading界面需要的素材,然后再loadingUI中就可以大胆使用它了。 其次,我们经常碰到的问题是自定义进度条不显示问题。那是因为你没有在Main中把它加载舞台上。 最后,看看具体实现方法吧。 1.新建load界面需要的资源组loading 2.添加load界面需要的图片,并加入配置表相应位置 3.main中添加代码: private loadingView: LoadingUI; private async runGame() { await this .loadResource(); await this .loadConfig(); this .stage.removeChild( this .loadingView); this .initGame(); // const result = await RES.getResAsync("description_json") // this.startAnimation(result); await platform.login();

说说你的职业困惑

无人久伴 提交于 2021-02-18 04:11:51
作者:天儿哥 最近有点忙,一个人干一个项目好几个月了,零基础进入一个新的领域,每天的状态是一边学习一边写代码,还要抽出时间带娃。 状态不佳,这几天没有很合适的话题想写。 朋友们,你在职业、技术成长上有什么困惑,不妨说出来看天儿哥能不能帮上忙,或者有成功的经验也欢迎你分享。 可以直接在公众号后台留言,或者发到 邮箱: xiatian20010@126.com 本文分享自微信公众号 - sumsmile(gh_2e12c133941d)。 如有侵权,请联系 support@oschina.cn 删除。 本文参与“ OSC源创计划 ”,欢迎正在阅读的你也加入,一起分享。 来源: oschina 链接: https://my.oschina.net/u/4874296/blog/4779809

【技术干货】老程序员亲绘漫画:1分钟读懂Session会话机制

大城市里の小女人 提交于 2021-02-18 04:11:39
昨日说起前嗅是996中的一股清流,可是前嗅没火,大师和圆仔却一夜之间就火了?很多人纷纷留言,要看这俩人互怼、讲故事...... 其实,程虚圆和宫成师的原型真的来源于前嗅,漫画的前身为公司的老程序员和小实习生。老程序员经验丰富,小实习生积极认真,老程序员为了尽快把“圆仔”领进门,开始大开脑洞亲绘漫画,讲解技术干货。 如大家所想看到的,俩人今天又开战了。 大师:最近技术有进步吗? 圆仔(得意地嚼着小饼干):我上周看了前嗅的公众号《小心手里的“小饼干”,它可能泄露你的隐私》,知道了Cookie是啥。 大师(削他):知道了Cookie就好意思上班吃饼干了?Session知道是啥意思不? 圆仔(举手):我英语四级没过,等我查查? 大师(吐血):哈哈,小老弟。Session,在网络应用中,就是“会话控制”。 圆仔:哦,这就是你张狂的理由? “Cookie可以分为会话缓存(session cookie)和持久缓存(persistent cookie)两种缓存模式” 大师:好吧,老哥给你详细讲讲为啥张狂。Session 主要是存储特定用户会话所需的属性及配置信息的文件。 圆仔:这不就和cookie一样了嘛?都是用来储存用户信息的。 大师:别急,其实它们之间还是有些区别的。cookie和session都是保存状态的方法,其主要差异在cookie用在客户端保存,Session通过服务器来存储的