- 2021.01.08富有的习惯复盘内容:
西夏王信息专员小金子
2021.01.08富有的习惯复盘内容:富人怎样说话?富人从不八卦:大部分八卦消息都是负面的,会给人际关系带来无法弥补的伤害;对于八卦像对待瘟疫一样富人会打电话送出生日祝福:对于重要的人,送上生日祝福,是给关系加一套“生命维持系统“,其中收到祝福的25%的人会做出反馈,人际关系便会脱离“什么维持系统“的阶段富人会打电话致以问候:对想要建立稳固关系的对象致以问候;富人会打电话关心对方人生中的重要时刻
- 亲情人物稿|我的爷爷
ycl20201026
齐帆齐微课|2021.01.08,周五。距离和母亲上次通话时间还不到5小时,再次接到母亲的语音通话,这次的谈话很短,内容却一点也不轻松。视线定格在27秒的通话时长上,抱着崽崽的手不由的紧了紧。母亲说:“爷爷快不行了,她和姑姑她们会买今晚或者明早的票赶回去……”话还没说完,通话没有预兆的中断。过了一会儿,母亲再次打过来电话,这一次却告诉我:“你爸刚又打电话过来了,说你公(爷爷)已经走了。我和你大姑她
- 做事考虑后续与再后续的结果
一心二艺
2021.01.08#日更#day29/2555雷.达里奥的《原则》中充满着智慧和真知灼见,今天和来访的朋友聊到这本书。结果今天下班发生的一件事情,又让我体验到书中的一条建议:做事考虑后续与再后续的结果。今天下午有一个大客户来访,我们刚换了新的办公室,还没有来得及好好布置。今天上午我们做了一些办公室的布置和清理。搬过来的书架搬家过程中把几块空格的挡板拆了下来,还没有来得及重新安装。为了美观,上午一
- 2021-01-23 已过一年有余
深呼吸_1f9a
从上次写东西到现在已经有一年多了,我这一年都干了些啥,天天在家,已经脱离社会了。苦涩。这一年除了带娃带娃还是带娃,当然这个是自己的选择。2021.01.08我上班了,娃丢给了奶奶,应该是觉得自己有个后盾,所以才丢给了老人,其实他们应该享受晚年生活了,却还要带娃。生娃娃的这个决定,我是做迟了。其实有的事情,是计划不了的,等工作稳定了,等我自己怎样怎样了,等家里有钱了,才考虑去生娃,其实回头看看,一切
- 【连载】书声琅琅上青云·入藏十三线纯徒日记
杉道
徒步进藏日记·滇藏线篇DAY120起点:改托顶终点:K1771距离:20KM步数:27448日期:2021.01.08·····原文链接:杉道·····虽然闹钟准时响起,但今早真正让我摆脱睡意的是一阵读书声。当阳光还未照来,整个人蜷缩在睡袋里,不远处清晰地传来了琅琅之声,它离我是如此之近,近到能分辨出每一次换气,我不会用“天籁”来形容这样的声音,它是如此实在、真切,也许“天真”更适合它。天冷、风大
- 2021.01.08|日复盘:围绕年规划,每天完成一点点,成就感满满的
凌语说
今日心情:忙碌日期:2021年01月08日,星期五坐标:北京天气:晴今日三件事完成情况?✅日复盘发到公众号✅学习第135期周报,记录4页笔记✅运动30分钟其他完成情况?✅背单词10个✅发送邮25封✅6点15前起床今天值得感恩的事情有哪些?感谢1位朋友关注了我的公众号,让我更有动力写下去。我学习到了哪些新东西(or反思)?自从接受慢慢成功的理念以后,我的内心变得平静,每天都能踏实的学习一些新知识,不
- 869 | 静守时光:生活需要一种姿态。【2021.01.08】
邓越_越越安
图、文/越享生活馆Part1关键词:姿态、姿势、资格困难越大,你所存在的意义就越大。生活中的历练,让我们理解了责任,理解了这个社会能给我们的所有尊重。于艰难中,懂得了承受,懂得了坚定,慢慢地丰满我们自己。人生,没有永远的悲伤,也没有永远的欢心,能使我们坚强的,往往不是顺境,而是逆境;能让我们醒悟的,往往不是开心,而是伤心。学会忍受,懂得艰辛,于曲折中前进。逆境中醒悟,会让生命更加通透。把艰难和困苦
- FreeRTOS系统-二值信号量的使用
何時
笔记操作系统
FreeRTOS系统-二值信号量的使用日期作者版本说明2020.12.26HxjV1.0完成主体2021.01.08HxjV1.1加入了串口中断使用二值信号量提示:以下文章基于FreeRTOS全部移植完成,能够正常运行.文章目录FreeRTOS系统-二值信号量的使用前言一、FreeRTOS系统的中断管理?二、二值信号量1.二值信号量介绍需要用到的头文件创建信号量释放信号量获取信号量2.使用指南外部
- 【复盘】2021.01.08人生不就是在不断的试错么?
小灵仙子
大家好,我是灵仙,今天是2021.01.08这是我的75/365进化日课:日思今天最重要的事情是什么?1️⃣整理完了本学期的数据2️⃣统计完了第六周的数据3️⃣参加了科学记账的第三课日习今天学到了哪些知识?升级了哪些认知?提升了哪些能力?1️⃣学习了科学记账的第三课,给自己的账本进行了梳理。日省你今天有哪些缺憾,或者值得反思与改进的事情1️⃣其实有时候,试错的成本并不高,相对于孩子有限的时间,和日
- 【人间诗品】一七令•梅
金珠一枚
一七令•梅文/金珠一枚梅。百种,千姿。迎冷雪,傲寒时。清香暗送,逸韵轻飞。窗前吟彩笔,月下醉金杯。三友品高熟晓,七君兴雅皆知。不与群芳相斗艳,独居山野待春回。依词林正韵白居易词格于2021.01.08晨作后记:梅花在我国十分常见,它千姿百态,品种众多,人们赋予它多种寓意,比如:梅花寓意着高洁。人们将梅花奉为花中四君子之首、岁寒三友之一,因为它不与百花争艳,只是独自的在寒风中绽放着属于自己的美丽。梅
- 感恩日记第448篇2021.01.08
宇宙宠儿
1.我万分荣幸并深深感恩今天是周恩来总理逝世45周年,为了人民两袖清风,感谢总理以及像周总理一样的人,托起了我们的新中国,恩泽万世,深深感恩能生在神州大地上,我们的幸福与和平,来之不易,感谢我们伟大的祖国,谢谢,谢谢,谢谢。2.我万分荣幸并深深感恩老二的懂事,天气特别的冷,妈妈你千万别出去,否则会冻成冰人的,哈哈。简直就是我的暖宝宝,太可爱啦。3.我万分荣幸并深深感恩我的暖水袋,手暖和了心也温暖着
- 【晨间日记】297
晅菲
日期:2021.01.08【人物学习】辅导员:辅导员是心理学的,胖乎乎的,但大家还是都挺怕她的,因为说话很冲。永远都是质问的口气和严格下马威似的传递信息。给大家的感觉似乎有些不近人情,比较自我主义吧。也不理解大家。在群里经常会看到辅导员的抱怨和类似某某你的什么东西还没有提交,怎么还不提交,截止12点再不提交下学期不要报道了之类的。总是让人觉得有些怕怕的感觉。被at更是害怕的不得了。永远加上不怎么怎
- 回忆2020(2021.01.08飞机上)
Sophia余
古希腊哲学家泰勒斯曾经说过:“做什么事情最容易?向别人提意见最容易;做什么事情最难?管理好自己最难。”但其实,人最大的敌人,往往是自己。你以什么样的态度对待生活,生活也会如何对待你。2021年已过去一周,在飞机上想今早翠儿微信给我的好消息,司法考试通过了,激动的心情难以言表,我们一起回忆2020,展望了2021。飞机上写点去年一起阅读的回忆,2020年我和她一起组织了一个阅读群,阅读是基于我对健身
- Day132:坐的初体验和弹跳椅
成长路上的碎碎念
2021.01.08周四阴天小橙子来到这个世界的第132天,19周第五天,4个月+10天。01.早晨的时间大早他睁开眼,看了看身边还在熟睡中的父母,又像往常一样开始了他自娱自乐的晨间活动:踢腿。踢了一阵儿他挥舞着还不算特别熟练的胳膊,左边的手指抓住了床栏上挂着的纱巾,上面吊着一个摇铃,抖动纱巾的时候,摇铃就发出沙沙沙沙的声音。沙沙,沙沙。小橙子觉得这个声音特别好听。自从妈妈前几天挂上,抓着纱巾不停
- 2021.01.08
Webber先森
与其临渊羡鱼,不如退而结网,行动起来:①打造一技之长,②控制情绪,③独立思考,④走出舒适圈,⑤明确目标,⑥学会独处,⑦丢掉玻璃心,⑧减少依赖,⑨坚持学习,⑩心怀希望…愿我们都能不断成就更好的自己。美好一天从“行动”开始!
- 2021-01-08D13天写作疗愈群打卡内容
君君不器
写作疗愈群2021.01.08打卡内容:1、写一封信,给你自己或其他人,把心里面的真实感受写下来。不一定真的要交给对方,写完后大声朗读一遍。觉察在这个书写和朗读的过程中,你会对这个人有什么新的看见。(我想写一封信给婆婆,我想告诉她,如果我到时老时像她这样,我肯定不会每天只煲电视,我会每天起来锻炼时间,然后小孩们上学上班上班后,我会整理家里,把家里扫得干干净净整齐整齐,而且还会坚持边听书边打扫,我会
- 2021.01.08
萱草2007
绽放天赋•教练父母二阶课程第一天每次重返教练的课堂,站在讲台和大家分享时,我感觉到自己的力量越来越充沛,如大树扎稳土地般,越来越坚定。每次上课的意愿有不同,回顾以往的意愿,我发现自己在不断的成长,学会用开放的思维正视自己的不足,试着去打破一个个束缚自己的框架。我们大脑每天接收、处理大量的信息,通常在处理信息的过程会自动发生删减,扭曲和一般化。通过识别这些步骤,可以还原本意,有助于我们了解对方的价值
- 兔小姐在外企 - 说杂语的新老板
卖氨糖的兔小姐
2021.01.08今天是周五,大家都喜欢周五吧,可是兔小姐不喜欢周五,因为周五来了,就意味着周六日长达两天的看娃日就要开始了。不开心规不开心,周五的工作还是要照样做的。兔小姐爸爸的作品上午开了视频会议,兔小姐的公司组织架构变了,兔小姐的老板的老板由之前的英国大帅哥变成长居美国的中国女人。大家都说换成中国人以后工作说汉语就行了,比以前方便了。可是兔小姐觉得在外企工作就是要有老外一起工作,都换成了中
- 前端面试每日 3+1 —— 第633天
浪子神剑
cssjavascript前端es6chrome-devtools
今天的知识点(2021.01.08)——第633天(我也要出题)[html]如何实现多行文字梯形排版?[css]在Less中转义有什么作用?[js]以下方法调用call输出的结果是什么?请解释下?[软技能]你是从哪些维度来评估代码的质量?《论语》,曾子曰:“吾日三省吾身”(我每天多次反省自己)。前端面试每日3+1题,以面试题来驱动学习,每天进步一点!让努力成为一种习惯,让奋斗成为一种享受!相信坚持
- 分享给大家的一些软件信息
泛能科技
笔记
2021.01.08TechnoSoftAMETankv10.3Win321CD2021.01.07DlubalSHAPE-MASSIVE6.74.021CDProfiCAD11.0.4Multilingual1CDSolid.Angle.Cinema4D.To.Arnold.v3.2.0.For.Cinema4D.R201CDVeroVISI2021.0.2036Win643DVDVeroVIS
- 2021.01.08
海豚恋妞妞
【好妈妈成长团】第八期牛晓峰学习分享第29篇今日感谢:1.感谢自己帮妹妹打扫卫生,收拾家里。难得!2.感谢自己给小侄儿洗涮,给他讲故事。难得!3.感谢好友们陪我度过了一个愉快的晚上!我们一起用餐,一起回忆过去,很开心。难得!
- 【古风】纪念总理(二首)
海煦
文/海煦周恩来总理逝世45周年纪念网图.侵删(一)七绝壹月八号悲戚戚,哀思寄挂美周公。儒风慧智完人范,生为黎民竭尽躬。(二)七言人民拥戴好总理,长安十里泪眼频。搭班唱戏谁堪比,名放异彩第一人。2021.01.08(星期五)庚子年冬月二十五
- 前端面试每日 3+1 —— 第633天
浪子神剑
cssjavascript前端es6chrome-devtools
今天的知识点(2021.01.08)——第633天(我也要出题)[html]如何实现多行文字梯形排版?[css]在Less中转义有什么作用?[js]以下方法调用call输出的结果是什么?请解释下?[软技能]你是从哪些维度来评估代码的质量?《论语》,曾子曰:“吾日三省吾身”(我每天多次反省自己)。前端面试每日3+1题,以面试题来驱动学习,每天进步一点!让努力成为一种习惯,让奋斗成为一种享受!相信坚持
- SAX解析xml文件
小猪猪08
xml
1.创建SAXParserFactory实例
2.通过SAXParserFactory对象获取SAXParser实例
3.创建一个类SAXParserHander继续DefaultHandler,并且实例化这个类
4.SAXParser实例的parse来获取文件
public static void main(String[] args) {
//
- 为什么mysql里的ibdata1文件不断的增长?
brotherlamp
linuxlinux运维linux资料linux视频linux运维自学
我们在 Percona 支持栏目经常收到关于 MySQL 的 ibdata1 文件的这个问题。
当监控服务器发送一个关于 MySQL 服务器存储的报警时,恐慌就开始了 —— 就是说磁盘快要满了。
一番调查后你意识到大多数地盘空间被 InnoDB 的共享表空间 ibdata1 使用。而你已经启用了 innodbfileper_table,所以问题是:
ibdata1存了什么?
当你启用了 i
- Quartz-quartz.properties配置
eksliang
quartz
其实Quartz JAR文件的org.quartz包下就包含了一个quartz.properties属性配置文件并提供了默认设置。如果需要调整默认配置,可以在类路径下建立一个新的quartz.properties,它将自动被Quartz加载并覆盖默认的设置。
下面是这些默认值的解释
#-----集群的配置
org.quartz.scheduler.instanceName =
- informatica session的使用
18289753290
workflowsessionlogInformatica
如果希望workflow存储最近20次的log,在session里的Config Object设置,log options做配置,save session log :sessions run ;savesessio log for these runs:20
session下面的source 里面有个tracing 
- Scrapy抓取网页时出现CRC check failed 0x471e6e9a != 0x7c07b839L的错误
酷的飞上天空
scrapy
Scrapy版本0.14.4
出现问题现象:
ERROR: Error downloading <GET http://xxxxx CRC check failed
解决方法
1.设置网络请求时的header中的属性'Accept-Encoding': '*;q=0'
明确表示不支持任何形式的压缩格式,避免程序的解压
- java Swing小集锦
永夜-极光
java swing
1.关闭窗体弹出确认对话框
1.1 this.setDefaultCloseOperation (JFrame.DO_NOTHING_ON_CLOSE);
1.2
this.addWindowListener (
new WindowAdapter () {
public void windo
- 强制删除.svn文件夹
随便小屋
java
在windows上,从别处复制的项目中可能带有.svn文件夹,手动删除太麻烦,并且每个文件夹下都有。所以写了个程序进行删除。因为.svn文件夹在windows上是只读的,所以用File中的delete()和deleteOnExist()方法都不能将其删除,所以只能采用windows命令方式进行删除
- GET和POST有什么区别?及为什么网上的多数答案都是错的。
aijuans
get post
如果有人问你,GET和POST,有什么区别?你会如何回答? 我的经历
前几天有人问我这个问题。我说GET是用于获取数据的,POST,一般用于将数据发给服务器之用。
这个答案好像并不是他想要的。于是他继续追问有没有别的区别?我说这就是个名字而已,如果服务器支持,他完全可以把G
- 谈谈新浪微博背后的那些算法
aoyouzi
谈谈新浪微博背后的那些算法
本文对微博中常见的问题的对应算法进行了简单的介绍,在实际应用中的算法比介绍的要复杂的多。当然,本文覆盖的主题并不全,比如好友推荐、热点跟踪等就没有涉及到。但古人云“窥一斑而见全豹”,希望本文的介绍能帮助大家更好的理解微博这样的社交网络应用。
微博是一个很多人都在用的社交应用。天天刷微博的人每天都会进行着这样几个操作:原创、转发、回复、阅读、关注、@等。其中,前四个是针对短博文,最后的关注和@则针
- Connection reset 连接被重置的解决方法
百合不是茶
java字符流连接被重置
流是java的核心部分,,昨天在做android服务器连接服务器的时候出了问题,就将代码放到java中执行,结果还是一样连接被重置
被重置的代码如下;
客户端代码;
package 通信软件服务器;
import java.io.BufferedWriter;
import java.io.OutputStream;
import java.io.O
- web.xml配置详解之filter
bijian1013
javaweb.xmlfilter
一.定义
<filter>
<filter-name>encodingfilter</filter-name>
<filter-class>com.my.app.EncodingFilter</filter-class>
<init-param>
<param-name>encoding<
- Heritrix
Bill_chen
多线程xml算法制造配置管理
作为纯Java语言开发的、功能强大的网络爬虫Heritrix,其功能极其强大,且扩展性良好,深受热爱搜索技术的盆友们的喜爱,但它配置较为复杂,且源码不好理解,最近又使劲看了下,结合自己的学习和理解,跟大家分享Heritrix的点点滴滴。
Heritrix的下载(http://sourceforge.net/projects/archive-crawler/)安装、配置,就不罗嗦了,可以自己找找资
- 【Zookeeper】FAQ
bit1129
zookeeper
1.脱离IDE,运行简单的Java客户端程序
#ZkClient是简单的Zookeeper~$ java -cp "./:zookeeper-3.4.6.jar:./lib/*" ZKClient
1. Zookeeper是的Watcher回调是同步操作,需要添加异步处理的代码
2. 如果Zookeeper集群跨越多个机房,那么Leader/
- The user specified as a definer ('aaa'@'localhost') does not exist
白糖_
localhost
今天遇到一个客户BUG,当前的jdbc连接用户是root,然后部分删除操作都会报下面这个错误:The user specified as a definer ('aaa'@'localhost') does not exist
最后找原因发现删除操作做了触发器,而触发器里面有这样一句
/*!50017 DEFINER = ''aaa@'localhost' */
原来最初
- javascript中showModelDialog刷新父页面
bozch
JavaScript刷新父页面showModalDialog
在页面中使用showModalDialog打开模式子页面窗口的时候,如果想在子页面中操作父页面中的某个节点,可以通过如下的进行:
window.showModalDialog('url',self,‘status...’); // 首先中间参数使用self
在子页面使用w
- 编程之美-买书折扣
bylijinnan
编程之美
import java.util.Arrays;
public class BookDiscount {
/**编程之美 买书折扣
书上的贪心算法的分析很有意思,我看了半天看不懂,结果作者说,贪心算法在这个问题上是不适用的。。
下面用动态规划实现。
哈利波特这本书一共有五卷,每卷都是8欧元,如果读者一次购买不同的两卷可扣除5%的折扣,三卷10%,四卷20%,五卷
- 关于struts2.3.4项目跨站执行脚本以及远程执行漏洞修复概要
chenbowen00
strutsWEB安全
因为近期负责的几个银行系统软件,需要交付客户,因此客户专门请了安全公司对系统进行了安全评测,结果发现了诸如跨站执行脚本,远程执行漏洞以及弱口令等问题。
下面记录下本次解决的过程以便后续
1、首先从最简单的开始处理,服务器的弱口令问题,首先根据安全工具提供的测试描述中发现应用服务器中存在一个匿名用户,默认是不需要密码的,经过分析发现服务器使用了FTP协议,
而使用ftp协议默认会产生一个匿名用
- [电力与暖气]煤炭燃烧与电力加温
comsci
在宇宙中,用贝塔射线观测地球某个部分,看上去,好像一个个马蜂窝,又像珊瑚礁一样,原来是某个国家的采煤区.....
不过,这个采煤区的煤炭看来是要用完了.....那么依赖将起燃烧并取暖的城市,在极度严寒的季节中...该怎么办呢?
&nbs
- oracle O7_DICTIONARY_ACCESSIBILITY参数
daizj
oracle
O7_DICTIONARY_ACCESSIBILITY参数控制对数据字典的访问.设置为true,如果用户被授予了如select any table等any table权限,用户即使不是dba或sysdba用户也可以访问数据字典.在9i及以上版本默认为false,8i及以前版本默认为true.如果设置为true就可能会带来安全上的一些问题.这也就为什么O7_DICTIONARY_ACCESSIBIL
- 比较全面的MySQL优化参考
dengkane
mysql
本文整理了一些MySQL的通用优化方法,做个简单的总结分享,旨在帮助那些没有专职MySQL DBA的企业做好基本的优化工作,至于具体的SQL优化,大部分通过加适当的索引即可达到效果,更复杂的就需要具体分析了,可以参考本站的一些优化案例或者联系我,下方有我的联系方式。这是上篇。
1、硬件层相关优化
1.1、CPU相关
在服务器的BIOS设置中,可
- C语言homework2,有一个逆序打印数字的小算法
dcj3sjt126com
c
#h1#
0、完成课堂例子
1、将一个四位数逆序打印
1234 ==> 4321
实现方法一:
# include <stdio.h>
int main(void)
{
int i = 1234;
int one = i%10;
int two = i / 10 % 10;
int three = i / 100 % 10;
- apacheBench对网站进行压力测试
dcj3sjt126com
apachebench
ab 的全称是 ApacheBench , 是 Apache 附带的一个小工具 , 专门用于 HTTP Server 的 benchmark testing , 可以同时模拟多个并发请求。前段时间看到公司的开发人员也在用它作一些测试,看起来也不错,很简单,也很容易使用,所以今天花一点时间看了一下。
通过下面的一个简单的例子和注释,相信大家可以更容易理解这个工具的使用。
- 2种办法让HashMap线程安全
flyfoxs
javajdkjni
多线程之--2种办法让HashMap线程安全
多线程之--synchronized 和reentrantlock的优缺点
多线程之--2种JAVA乐观锁的比较( NonfairSync VS. FairSync)
HashMap不是线程安全的,往往在写程序时需要通过一些方法来回避.其实JDK原生的提供了2种方法让HashMap支持线程安全.
- Spring Security(04)——认证简介
234390216
Spring Security认证过程
认证简介
目录
1.1 认证过程
1.2 Web应用的认证过程
1.2.1 ExceptionTranslationFilter
1.2.2 在request之间共享SecurityContext
1
- Java 位运算
Javahuhui
java位运算
// 左移( << ) 低位补0
// 0000 0000 0000 0000 0000 0000 0000 0110 然后左移2位后,低位补0:
// 0000 0000 0000 0000 0000 0000 0001 1000
System.out.println(6 << 2);// 运行结果是24
// 右移( >> ) 高位补"
- mysql免安装版配置
ldzyz007
mysql
1、my-small.ini是为了小型数据库而设计的。不应该把这个模型用于含有一些常用项目的数据库。
2、my-medium.ini是为中等规模的数据库而设计的。如果你正在企业中使用RHEL,可能会比这个操作系统的最小RAM需求(256MB)明显多得多的物理内存。由此可见,如果有那么多RAM内存可以使用,自然可以在同一台机器上运行其它服务。
3、my-large.ini是为专用于一个SQL数据
- MFC和ado数据库使用时遇到的问题
你不认识的休道人
sqlC++mfc
===================================================================
第一个
===================================================================
try{
CString sql;
sql.Format("select * from p
- 表单重复提交Double Submits
rensanning
double
可能发生的场景:
*多次点击提交按钮
*刷新页面
*点击浏览器回退按钮
*直接访问收藏夹中的地址
*重复发送HTTP请求(Ajax)
(1)点击按钮后disable该按钮一会儿,这样能避免急躁的用户频繁点击按钮。
这种方法确实有些粗暴,友好一点的可以把按钮的文字变一下做个提示,比如Bootstrap的做法:
http://getbootstrap.co
- Java String 十大常见问题
tomcat_oracle
java正则表达式
1.字符串比较,使用“==”还是equals()? "=="判断两个引用的是不是同一个内存地址(同一个物理对象)。 equals()判断两个字符串的值是否相等。 除非你想判断两个string引用是否同一个对象,否则应该总是使用equals()方法。 如果你了解字符串的驻留(String Interning)则会更好地理解这个问题。
- SpringMVC 登陆拦截器实现登陆控制
xp9802
springMVC
思路,先登陆后,将登陆信息存储在session中,然后通过拦截器,对系统中的页面和资源进行访问拦截,同时对于登陆本身相关的页面和资源不拦截。
实现方法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23