首页
归档
友链
关于
Search
1
网易云音乐黑胶会员月月免费赠送
3,632 阅读
2
十年之约RSS聚合订阅服务上线
3,085 阅读
3
工资发放日的区别
2,663 阅读
4
rsyslogd内存占用过高解决方案
2,436 阅读
5
Nginx反代MinIO后,上传文件签名异常
2,247 阅读
零碎
标本
码海
工具
其他
登录
Search
标签搜索
北京
摄影
生活
旅行
Java
学习笔记
教程
Linux
服务器
软件
日记
SpringBoot
Windows
服务
数据库
福利
Spring
系统
SQL
docker
萧瑟
累计撰写
198
篇文章
累计收到
1,410
条评论
首页
栏目
零碎
标本
码海
工具
其他
页面
归档
友链
关于
搜索到
198
篇与
萧瑟
的结果
2022-05-27
终于解除居家隔离啦
贪嘴被封印在家中,还是要努力生活,体验空气炸锅的乐趣,来看看我的美食秀吧
2022年05月27日
473 阅读
30 评论
2022-05-25
Java初步实现RSS内容订阅
最近一直在优化十年之约的RSS接口,感觉抓取每天抓取的频率和内容有点少,而且我也想订阅一些其他的RSS内容,就简单研究了一些。RSS是什么?RSS是一种网页内容联合格式(web content sydication format)。它的名字是Really Simple Syndication的缩写。RSS是XML的一种。所有的RSS文档都遵循XML 1.0规范,该规范发布在W3C网站上。 在一个RSS文档的开头是一个节点和一个规定的属性version,该属性规定了该文档将以RSS的哪个版本表示。如果该文档以这个规范来表示,那么它的version属性就必须等于2.0。 在节点的下一级是一个独立的节点,该节点包含关于channel的信息和内容。简单实现抓取POM引入rome包,这里我们用最新版的,不再使用旧版本<dependency> <groupId>com.rometools</groupId> <artifactId>rome</artifactId> <version>1.15.1</version> </dependency>package com.bcrjl.backend.snzy.rss; import com.rometools.rome.feed.synd.SyndEntry; import com.rometools.rome.feed.synd.SyndFeed; import com.rometools.rome.io.SyndFeedInput; import com.rometools.rome.io.XmlReader; import lombok.extern.slf4j.Slf4j; import java.net.URL; /** * RSS 订阅 * * @author xiaose * @date 2022-05-25 */ @Slf4j public class FeedGrabFocus { public static void main(String[] args) { try { String url = "https://blog.yanqingshan.com/feed/"; try (XmlReader reader = new XmlReader(new URL(url))) { SyndFeed feed = new SyndFeedInput().build(reader); System.out.println(feed.getTitle()); System.out.println("***********************************"); for (SyndEntry entry : feed.getEntries()) { System.out.println(entry); System.out.println("***********************************"); } System.out.println("Done"); } } catch (Exception e) { e.printStackTrace(); } } }接下来就要整合域名和quartz定时任务来搞一下动态订阅数据。
2022年05月25日
806 阅读
6 评论
2022-05-22
Joe主题对接腾讯LBS展示IP属地
上次偶然逛CSDN看到腾讯的LBS服务支持IP定位,而且还支持IPv6地址定位,这个是其他LBS供应商所不支持的(百度地图、高德地图),所有腾讯LBS服务还算良心。我们一步一步对接主题吧,今天先来申请应用AK。注册账号打开腾讯位置服务官网,点击登录,直接使用QQ登录或微信登录即可,如果单独注册需要输入手机号之类,麻烦的事情,但是使用QQ登录/微信登录后也需要校验一下手机号,但是个人信息不用填写太多。使用QQ登录/微信登录后会提示注册或绑定账号,这个时候我们直接选择注册账户即可。你看这样简单吧,输入手机号和邮箱就OK,不用填写过多信息,下次可以直接使用QQ或者微信登录即可。创建应用打开控制台,左侧有一个应用管理,点击后可创建应用,输入应用名称和应用类型即可,无需输入域名、备案信息啥的,所有这方便无需担心。一个应用可以添加多个Key,一个Key每日可调用10000次,并发5次每秒。这时候我们选择WebService API服务即可,选择后有三种方案,域名白名单、授权IP、签名校验,一般我们会部署在服务器上,所以可以选择授权IP,这样方便一些;域名白名单和签名校验限制有些多,且我们这次对接主题也是以授权IP为主。保存后我们就能拿到一个Key,这里我们简称AK,下面开始对接Joe主题展示博友访客IP属地信息。添加主题调用方法2022.05.25:为了个人隐私,以下代码已去除城市和区县信息,仅显示国家和省 核心方法代码位置:Joe/core/function.php 在末尾添加以下代码/* 腾讯Lbs IP定位服务 */ function curl_tencentlbs_ip($ip) { //应用Key也就是上面所说的AK,修改成自己的Key即可 $key = 'XXX-XXX'; $url = 'https://apis.map.qq.com/ws/location/v1/ip?ip='.$ip.'&key='.$key; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_AUTOREFERER, 1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_HTTPGET, true); curl_setopt($ch, CURLOPT_REFERER, $url); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36'); $content = curl_exec($ch); curl_close($ch); if($content) { $json = json_decode($content,true); if($json['status'] == 0 ) { $resjson = $json['result']['ad_info']; if($resjson['province']=='北京市'||$resjson['province']=='天津市'||$resjson['province']=='上海市'||$resjson['province']=='重庆市') { return $resjson['nation'].$resjson['city']; } return $resjson['nation'].$resjson['province']; } } return ''; }上面调用接口后,处理以下国内的直辖市,这样就不会显示成北京市北京市了。修改主题评论相关代码评论代码位置:/Joe/public/comment.php需要修改的位置大概在末尾最后一个方法,位置112行。也可以在需要显示评论信息的位置插入下方嵌入点代码即可,我是把IP信息放在agent旁边了,这样不是特别显眼。<?php echo curl_tencentlbs_ip($comments->ip); ?>以下示例代码从96行到尾部<?php function threadedComments($comments, $options) { ?> <li class="comment-list__item"> <div class="comment-list__item-contain" id="<?php $comments->theId(); ?>"> <div class="term"> <img width="48" height="48" class="avatar lazyload" src="<?php _getAvatarLazyload() ?>" data-src="<?php _getAvatarByMail($comments->mail); ?>" alt="头像" /> <div class="content"> <div class="user"> <span class="author"><?php $comments->author(); ?></span> <?php if ($comments->authorId === $comments->ownerId) : ?> <i class="owner">作者</i> <?php endif; ?> <?php if ($comments->status === "waiting") : ?> <em class="waiting">(评论审核中...)</em> <?php endif; ?> <div class="agent"><?php echo curl_tencentlbs_ip($comments->ip); ?> <?php _getAgentOS($comments->agent); ?> · <?php _getAgentBrowser($comments->agent); ?></div> </div> <div class="substance"> <?php _getParentReply($comments->parent) ?> <?php echo _parseCommentReply($comments->content); ?> </div> <div class="handle"> <time class="date" datetime="<?php $comments->date('Y-m-d'); ?>"><?php $comments->date('Y-m-d'); ?></time> <span class="reply joe_comment__reply" data-id="<?php $comments->theId(); ?>" data-coid="<?php $comments->coid(); ?>"> <i class="icon fa fa-pencil" aria-hidden="true"></i>回复 </span> </div> </div> </div> </div> <?php if ($comments->children) : ?> <div class="comment-list__item-children"> <?php $comments->threadedComments($options); ?> </div> <?php endif; ?> </li> <?php } ?>效果如下:其他博客主题,应该也可以适用。
2022年05月22日
737 阅读
43 评论
2022-05-21
机车选择困难症
前段考完D证,就一直在选摩托,旁边同事一直在安利各种车,让我有了选择困难症,去线下实体店就觉得无极300RR比较不错,价格19980元,但是圈里说经常熄火,让我有些犹豫。因为北京疫情,住的附近有个确诊的,基本上算是封了,我在想要不要买车,好难选择啊!!!
2022年05月21日
336 阅读
34 评论
2022-05-19
顺应趋势,小站也增加了IP属地展示
随着各大平台逐步上线IP属地功能后,博客圈最近也都在评论上增加了IP属地展示。我也顺势增加一下这个功能,因为我这个接口是实时调接口查询,可能网站文章页整体访问可能有些慢。小伙伴,你们IP归属地展示,是如何实现的,方便的话,可以在评论中分享一下。
2022年05月19日
669 阅读
29 评论
2022-05-18
北京房山区最美“魔鬼公路”红井路一日游
天下有大勇者,猝然临之而不惊,无故加之而不怒,此其所挟持者甚大,而其志甚远也。——苏轼房山区红井路是一条蜿蜒盘旋于北京房山区崇山峻岭中的一条乡村公路。它起于十渡镇卧龙村红港口,止于108国道霞云岭乡井儿峪,道路全长18.94公里,是连接房山区西北部G108国道与西南部涞宝路的重要通道。红井路的制高点是白业角山分水岭,是红井路上唯一的一个停车场,此处有红井路唯一的一家餐馆!来往的车辆,摩托车手们都会在此处歇歇脚!这里还有当地人售卖柴鸡蛋,蘑菇等山货的摊位!停车场对面小山坡上有一个小凉亭,是此处的标志之一,穿过凉亭,爬上后边山上的观景台,可以一览四周风景,这个山顶观景台接近九十度,还是有一定强度的!小凉亭后面山上弄了一个兔爷的文字,这位兔爷究竟是谁?沿着山路继续走,就能看到一个买臭豆腐和咖啡的了,看到后再转个弯就能到一块大石头处,这里应该是最美观景台。注意,需要注意安全,基本上算是一个悬崖,能够看到蜿蜒曲折的红井路,特别炫。至此游玩结束,清明节左右帝都应该还算初春,山上基本上都是荒凉,不过路上的风景也不错。没有华丽的语言,也没有过人的文采,只想用温暖的文字记录下行走的风景!
2022年05月18日
663 阅读
7 评论
2022-05-17
北京门头沟爨(cuàn)底下村一日游
书接上回,北京环球度假区游玩之后,第二天我们又去了爨(cuàn)底下村,简单自驾游玩了一下,看到了古民居建筑,其中更具防洪、防匪之功能的建筑格局,体现出了古代人民群众的智慧,距北京市区90公里。小村海拔650米,属清水河流域,位于京西山区深山峡谷中,周围苍松翠柏,绿树成荫,悦耳的鸟鸣,常打破山村的寂静,使人有“世外桃源”之感。游览路线图村落展厅爨底下村又名“古迹山庄”,已有400多年的历史。现仍保存着500间70余套明清时代的四合院民居。是我国保留较完整的山村古建筑群之一,是门头沟区重点文物保护单位。村分上下两层,看似古堡又似山城,高低错落,线条清晰,座北朝南,布局合理,结构严谨,建筑艺术高超,颇具特色,被称为北京地区的“布达拉宫”。古镇小村的几十套四合院,主次分明,青砖灰瓦,玉阶雕梁,古香古色。全村统一构思,各成单元,并配有防汛、照明、防盗设施。四合院内,设计独具匠心,门楼等级严格,影壁构思巧妙,砖雕、木雕、石雕、刀法朴拙;颂辞、壁画、楹联俊秀典雅。村中一条东西走向、完全用彩色石板铺成的小巷,曲径通幽。其他风景爨底下村过去是北京通往山西和口外的要道,北靠龙头浸水,面对金蟾望月和威虎镇山,还有神龟啸天、蝙蝠献福、一线天、花仙池、老龙头、老龙窝、神驹蹄窝、牛头山、抗日小学遗址、九柏九石阵、京西古道遗址等自然景观。墙上还保留着明清时的治家格言,照壁题字,抗战时期敌我双方的标语,以及互助合作、抗美援朝、大跃进,文化大革命各个历史时期的标语,步入其中,犹如走进历史长廊。
2022年05月17日
523 阅读
5 评论
北京环球度假区一日游
补更清明节后调休北京环球度假区一日游,多图警告。
2022年05月15日
500 阅读
14 评论
业余时间增驾D证三轮摩托
自从上次去红井路后,看到好多机车,看得好带劲,就找个时间增驾了个D本,D本是普通三轮摩托车,能够骑三轮和二轮还有轻便摩托车。咨询了几家驾校后,还是住的附近京都府驾校比较便宜(1390元)。下图为平时和考试专用场地,说实在的其实挺简单的,从报名到拿证大概花了26天时间,因为报的是周末班,平时班应该2周左右就能出证。考试平面图,其实都没人看,因为平时练车的地方就是考场,所以很简单,而我们练车也才花了3个半天,练车时间不到1个半小时。最后这个是价格图,有北京的小伙伴其实可以报这个驾校,相比其他的海淀驾校之类的,价格确实便宜不少。班车也很方便。下一步就是看摩托了,来实现我的机车梦,嘿嘿。
2022年05月11日
906 阅读
21 评论
2022-05-02
Oracle trunc()函数
功能描述用于截取时间或者数值,返回指定的值。语法(1)日期处理:TRUNC(date,[fmt]) -- date 为必要参数,是输入的一个date日期值 -- fmt 参数可忽略,是日期格式,缺省时表示指定日期的0点。(2)数值处理:TRUNC(number,[decimals]) -- number 为必要参数,是输入的一个number数值 -- decimals 参数可忽略,是要截取的位数,缺省时表示截掉小数点后边的值。例子(1)处理日期:--sysdate和trunc(sysdate)是不一样的 sysdate在当天的零时零分零秒等于trunc(sysdate) select to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss'), to_char(trunc(sysdate), 'yyyy-mm-dd hh24:mi:ss') from dual t; --年 select trunc(sysdate, 'yy') "当年第一天" from dual; select trunc(sysdate, 'yyyy') "当年第一天" from dual; select trunc(sysdate, 'year') "当年第一天" from dual; --季度 select trunc(sysdate, 'q') "当前季度的第一天" from dual; select trunc(add_months(sysdate,3), 'Q') -1/24 "这个季度最后一天23点" from dual; --月 select trunc(sysdate, 'mm') "当月第一天" from dual; select trunc(sysdate, 'month') "当月第一天" from dual; select trunc(last_day(sysdate)+1) "下个月第一天的0点" from dual; --周 select trunc(sysdate, 'd') "本周的第一天,周日起" from dual; select trunc(sysdate,'day') "本周的第一天,周日起" from dual; select next_day(TRUNC(SYSDATE ), 'TUESDAY' ) + 12/24 "下个星期二中午12点" from dual; select TRUNC(LEAST(NEXT_DAY(SYSDATE, 'SATURDAY'), NEXT_DAY(SYSDATE, 'SUNDAY'))) + (6*60+10)/(24*60) "下个周六日早上6点10分" from dual; --天 select trunc(sysdate+1) "今晚12点" from dual; select trunc(sysdate+1) + (8*60+30)/(24*60) "明天早上8点30分" from dual; --时 select trunc(sysdate, 'hh')"当前小时" from dual; select trunc(sysdate, 'hh24') "当前小时" from dual; --分 select trunc(sysdate, 'mi') "当前分钟" from dual; select trunc(sysdate,'mi') + 10/ (24*60) "10分钟后的时间"from dual; --秒 select sysdate + 10/(24 * 60 * 60) "10秒钟后" from dual;--trunc没有精确到秒的精度(2)处理数值:--123.56,将小数点右边指定位数后面的截去; select trunc(123.567,2) from dual; --100,第二个参数可以为负数,表示将小数点左边指定位数后面的部分截去,即均以0记; select trunc(123.567,-2) from dual; --123,默认截去小数点后面的部分; select trunc(123.567) from dual;
2022年05月02日
280 阅读
6 评论
1
...
8
9
10
...
20