1、去女友家拜访,到她家附近时不可以再挽着她的手,因为她的邻居会品头论足一番。2、进家后,不要对她太随便、太亲热,她的家人在观察着你的一举一动,以免给人留下不好的印象。3、不可不时看手表,否则她的家人会认为你不愿意呆在她家。4、离去时不可一踏出门就露出松懈姿态,因为背后她的家人们还在观察你。5、还应注意一点,去女友家做正式拜访的前一天,一定要洗澡,更衣,要做到干净、整洁,切不可邋里邋遢,既不尊重对方,又给人留下不好的第一印象。最重要的是全身都散发出干净的清洁感,如肩膀上有头屑最让人恶心。男人通常都是以外表取胜,因为父母的眼睛很容易往细处看:干净、整齐的头发、胡子,衬衣领口和袖口洁净,指甲修理整齐、干净,长裤笔挺,干净的袜子的鞋。初登恋人家门,就像参加一场考试,既要注意服饰仪表,又要为应答交谈作好必要的准备。这可从四个方面进行:一是稳定情绪,自信真诚恳切,落落大方,肯定受欢迎;虚伪做作,扭扭捏捏,必然被嫌弃。有了自信心,紧张的心情便会慢慢平静。二是了解情况。询问恋爱对象,了解其家庭成员,父母的职业,文化,兴趣,经历,性格等,知道越详细越好。情况熟悉,才能先有准备,交谈时也能有的放矢。三是初拟内容。想想对方会提出些什么问题。在这种场合下,未来的岳父母常会问问你的家庭,工作,爱好等,自己可做些准备。四是适当准备礼物,初次去对方家里做客,适当送些礼物给对方的父母,很有必要,这不仅表明你对长辈的尊敬,更表明你的诚意,一般来说,对方父母是会接受的,但应注意,送的礼品不宜太贵重,否则起点太高,以后恐怕你难以为继。初次见面,双方难免感到拘束。寒暄之后,常会冷场。这时就要引出话题。一种方法是就地取材。仔细观察墙壁,窗台,桌子等,墙上的名人字画,窗台上的菊花,桌上的各种小摆设,都可借来入话。因为它们往往体现了主人的情趣爱好,能使主人讲出许多愉快的话来。另一种方法是避生就熟。引出话题要避开对方感到陌生的事,从对方最熟悉的入手,可以谈谈新闻,聊聊天气。对方父母提问时,要会叙述说明,态度要恭敬,声音略低一些,柔和些。把话一句句,一层层说清楚,谈话时一定彬彬有礼。长辈夸奖年轻人时,总爱说:“这孩子很懂事!”一般长辈衡量青年好坏的标准,除了天生的外貌和本人的才能外,就看他是否“懂事”,也就是是否能通晓情理。在与对方父母交谈时,你一定要注意礼貌问题,要做到谦虚恭敬,善解人意。初登恋人家门,应忌讳四个方面:一忌油嘴猾舌。说话要朴实,说心里话,如一池清水,清澈见底;不做作,不油滑。二忌自我吹嘘。要懂得:不表示自己聪明,就是聪明;不夸张自己的美德,就是美德。三忌胆小怯羞。要明白:越怕讲错,就越会讲错话;不怕讲错,反倒会使言谈顺畅。胆小,拘谨,害羞,是初登恋人家门交谈时的大忌。四忌粗言劣语。语言必须文明,不礼貌的口头禅,习惯语等,一定要戒除。对方父母请你家宴,说明他们对你有了初步好感,你切不可得意忘形,露出“野性”。由于来做客赴宴是“醉翁之意不在酒”,切末贪杯,喝个酩酊大醉,美好姻缘可能会因你一醉方休而毁于一旦。拜见家长怎么穿不适宜:不要在未来的岳父岳母面前表现你的小个性了,艺术家那样的披肩长发啦,络腮胡子啦,各种放荡不羁啦,请收敛起来吧,这只能给你减分。夏天的凉拖短裤,冬天挂满泥的球鞋和满是褶皱的裤子,还是早点换了吧。有汗脚的男孩,也要前期做好准备,不要穿不透气的鞋子,换双新袜子,不要让破洞在换鞋后暴露出来。拜见家长怎么送礼物适宜:送礼物是个大学问,现在已经不再是水果点心的年代了。在挑选礼物的时候,要跟女友商量着来,有没有对方父母一直想买但没有机会去买的东西。送这样的礼物,会让长辈觉得这孩子很贴心。像是茶叶、羊毛披肩这样既实用又有面子的礼物,再好不过了。礼物很重要,价格也很关键。我恰恰不赞同送过于贵重的礼物,毕竟是第一次见面,太贵重的礼物会让对方父母觉得你是不是故意在显示有钱呢,又或者不懂得节俭,这样怎么能过日子呢。拜见家长怎么称呼适宜:得体的礼貌,在初次见面中很重要。可以事先问问对方父母的出生年份,决定称呼叔叔阿姨还是伯父伯母,这样比统称叔叔阿姨更得体一些。跟女方父母交流时要带“您”。拜见家长怎么聊适宜:谈话时,语速要适中。长辈问什么就答什么,如果稍微有点冷场,男孩子可以主动引起一些话题,可以从对方父母的爱好展开话题,但态度要谦虚谨慎,大方得体,不要滔滔不绝。拜见家长怎么不适宜:在具体聊天的过程中,请新人注意一些禁忌。1、如果对方父母有身体不好的,请不要聊健康。2、不要涉及对方家里的私事,比如退休工资啦,以前的单位啦。3、不要滔滔不绝,那样会让人觉得特别不稳重,爱显示自己。遇上本身低调的父母,会觉得这个小伙子有点夸夸其谈。4、不要谈及财产之类比较敏感的话题,即使你家里物质条件好,也要低调。男方第一次去女方家相关事项:1、时间——最好是一天之中的上午,千万别晚上去(当然这得看你未来的岳父母的意识)这是一般的礼节,以示尊重,并暗示你是一个勤奋之人。2、送礼——男方第一次去女方家总不能空手而去,总会想买点礼物,这是很多男孩子好面子才这样想,但是究竟要买什么也拿不定主意。这个礼物不要太多,但是一定要买。要买好看的,拿得出手的,不一定要很实用(因为在他们心理,你毕竟还是“外人”,所以一定要体面)。3、礼貌——上一辈的人对这个看得是比较重的,第一次去女方家之前,男方可以先问问你女朋友她们那里有没有什么特殊的礼节,如没有特别的,则和长辈的交往中保持谦虚的态度可谓是最大的礼节吧,进女方家门时,男方嘴口一定要甜,比如微笑的问叔叔阿姨你好,这是初次登门给人的第一印象(很关键的)。4、言谈——在女方家人面前,男孩子要面带微笑,多听少说,认真聆听老人的言谈、并及时应和,说话时大方自然,但不可以得意忘形,保持诚恳、实诚的本色,也许你有些事情还没想好,如大人们问起也许不知怎么回答,那就照实回答,比胡谄强多了,老人往往要的是感觉,也给你的女友一种姿态,你接纳她并会善待她的父母。”多谢””不客气””你们别忙乎.我来”要常挂在嘴边,多说关心的话。5、话题——避开一些双方敏感的话题,多询问一些女友小时候的事,这是每个父母百说不厌的经典话题,尤其是值得夸耀的事,可问一些细节。当他们的思维跟你转的时候,就减轻了对你的注意力,同时他们会认为你关心他们的女儿。6、衣着——男方第一见女方家长,衣服不必刻意讲究有多华丽,只要整洁、干净,就行,但不要太随便,还有就是头发一定要干净。7、神态举止——自然、轻松、愉快。最好用几句简短的话,表明你对将来的打算,并征求他们的意见。对他们的回答哪怕有异议,也点头,微笑,以后再说,不要破坏此次的气氛。做些力所能及的小事吧,也许他们不会让你做,但态度是另外一回事。8、吃饭——注意用餐礼仪。对方父母请你家宴,说明他们对你有了初步好感,你切不可得意忘形,这很有可能是一次非常近距离的接触。因为从饭局能看出一个人的许多品性和性格,孰优孰劣一目了然。切记,当你在席间满口塞满饭菜,还滔滔不绝讲话的时候,你的形象分已经被减去好多。男生,你无论多饿,还是一口口慢慢吃。不要给自己堆好一大碗饭菜,然后埋头猛往嘴巴里面填。这样的行为,会显得你很粗俗。 吃饭过程还要给家长多端茶倒水,男生要给女友夹菜,这些细节,家长都会看在眼里的。小贴士:由于来赴宴是“醉翁之意不在酒”,切莫贪杯,喝个酩酊大醉,美好姻缘可能会因你一醉方休而毁于一旦。小冰有一个老家的表哥就是因为贪杯,经不住女方家人的轮番劝酒,自己的酒量又有限,知道自己酒量有限还充面子海喝,结果喝得自己都不知道怎么回家的。没过两天,女方那边带话过来就把这门亲事给吹了。9、其他——第一次会面的时间最好不要太长,最好不要住在女方家里,有的家庭很忌讳这个,速战速决,见好就撤,以便为下次会面留下良好的期待。多注意观察,比如看见家里长了花草,就装作很感兴趣可以询问饲养花草的方法,要是看见有什么古董之类的陈设,可以赞美一番。总之就是要抓住岳父母的爱好,他会很有兴趣,觉得你是同道中人。
分类: 默认分类
-
阿里云服务器git pull/push无法使用
原因:
国内服务器厂商墙了github.com
如何解决:
一,获取github.com的服务器ip
我搜索了好久,终于在网上找到了可以查询多地区ping的网站 ping.sx,我们打开网站ping.sx,查询github.com的ping值
二,我们随便找复制一个ip在本地机器查看能否ping通,比如我们复制一个日本地区ping出的ip 20.27.177.113
ping 20.27.177.113
如果不能ping通,我们就换一个ip,总有能ping通的
三,修改服务器的hosts文件,hosts的目录在/etc/hosts,这里我们就需要刚才能ping通的ip地址
vim /ect/hosts
20.27.177.113 github.com 20.27.177.113 www.github.com
这样我们就设置好了。
-
mac如何使用brew安装php7.4版本
一、前言
现在是2023年8月,我本想使用如下命令安装php7,
brew install php@7.4
但发现brew官方已经不支持
二、我是这样安装的
如果你本地没有安装过其他版本的php,命令如下
brew tap shivammathur/php brew install shivammathur/php/php@7.4 brew link php@7.4
如果你之前安装过其他版本的php,需要先unlink一下,比如我的本地安装了php@8.1
brew unlink php@8.1 brew link php@7.4
三、安装brew-php-switcher
brew install brew-php-switcher
安装玩第二步以后基本可以实现了,也可安装这个brew-php-switcher包来切换php的版本
具体用法如下
切换的前提是你已经安装了多个版本的php
brew-php-switcher 7.4 -s brew-php-switcher 8.1 -s
-
微信小程序页面启动,如何获取全局的用户信息
在微信小程序中,
App.onLaunch
和Page.onLoad
是两个生命周期方法。App.onLaunch
是当小程序启动时触发的方法,而Page.onLoad
是当页面加载时触发的方法。因为App.onLaunch
和Page.onLoad
是异步执行的,有时Page.onLoad
会在App.onLaunch
完成之前执行。这可能导致页面在获取用户信息之前就已经加载完成。this.userInfoReadyCallback
是一种解决方案,用于处理这种情况。它是一个回调函数,用于在全局数据(例如用户信息)准备就绪时通知页面。原理如下:
- 在
App.onLaunch
方法中,你会尝试获取用户信息并将其存储到全局变量globalData.userInfo
中。 - 由于
wx.getUserInfo
是一个网络请求,它可能在Page.onLoad
之后才返回。因此,在App.onLaunch
中,你可以检查是否已经定义了this.userInfoReadyCallback
。如果已经定义了,说明页面已经加载完毕,并且需要在用户信息准备就绪时接收通知。 - 在需要用户信息的页面的
Page.onLoad
方法中,你可以检查全局变量globalData.userInfo
是否已经存在。如果不存在,说明用户信息还未准备就绪,此时你可以定义this.userInfoReadyCallback
并将其设置为一个处理用户信息的函数。
这样,当用户信息准备就绪时,
App.onLaunch
方法会调用this.userInfoReadyCallback
,从而通知页面并处理用户信息。这种方法确保了页面在处理用户信息时,不会因为数据未准备就绪而出现错误。小程序默认的app.js
// app.js App({ onLaunch: function () { // 展示本地存储能力 var logs = wx.getStorageSync('logs') || [] logs.unshift(Date.now()) wx.setStorageSync('logs', logs) // 登录 wx.login({ success: res => { // 发送 res.code 到后台换取 openId, sessionKey, unionId } }) // 获取用户信息 wx.getSetting({ success: res => { if (res.authSetting['scope.userInfo']) { // 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框 wx.getUserInfo({ success: res => { // 可以将 res 发送给后台解码出 unionId this.globalData.userInfo = res.userInfo // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回 // 所以此处加入 callback 以防止这种情况 if (this.userInfoReadyCallback) { this.userInfoReadyCallback(res) } } }) } } }) }, globalData: { userInfo: null } })
如果想确保在page页面能获取用户信息,需要判断`app.globalData.userInfo`是否存在,不存在的话调用app.userInfoReadyCallback
// pages/somePage/somePage.js Page({ data: { userInfo: null }, onLoad: function () { // 获取全局 App 实例 const app = getApp(); // 检查全局数据 globalData.userInfo 是否已经存在 if (app.globalData.userInfo) { // 用户信息已经存在,可以直接在页面中使用 this.setData({ userInfo: app.globalData.userInfo }); } else { // 用户信息不存在,定义一个处理用户信息的函数 app.userInfoReadyCallback = (res) => { this.setData({ userInfo: res.data.data }); }; } }, // 其他页面方法... });
- 在
-
如何查看服务器443端口是否被封
可以通过以下步骤来查看服务器端口是否通畅:
- 打开终端或命令行界面。
- 使用telnet命令测试端口连接。例如,要测试80端口是否通畅,可以输入以下命令:
telnet 服务器IP地址 80
如果连接成功,则表示该端口通畅;如果连接失败,则表示该端口不通畅。
- 使用nc命令测试端口连接。例如,要测试443端口是否通畅,可以输入以下命令:
nc -zv 服务器IP地址 443
如果连接成功,则表示该端口通畅;如果连接失败,则表示该端口不通畅。
- 使用ping命令测试服务器是否可达。例如,要测试服务器是否可达,可以输入以下命令:
ping 服务器IP地址
如果服务器可达,则表示网络连接正常;如果服务器不可达,则表示网络连接故障。
需要注意的是,不同的操作系统可能有不同的命令行工具,以上命令仅为示例。
-
hapi.js验证器joi.js报错提示
在使用hapi.js进行数据验证时,如果出现”Cannot set uncompiled validation rules without configuring a validator”的错误,这通常是因为没有正确配置Joi验证器。
为了正确地使用Joi验证器,需要先将其配置为hapi.js的默认验证器。可以在hapi.js服务器对象的选项中添加”validate”字段来配置Joi验证器。以下是一个示例:
const Hapi = require('@hapi/hapi'); const Joi = require('joi'); const server = new Hapi.Server({ port: 3000, host: 'localhost', validate: { failAction: (request, h, err) => { throw err; }, options: { abortEarly: false }, schemaOptions: { abortEarly: false } } }); // ...
在上述示例中,我们将Joi验证器配置为hapi.js的默认验证器,并设置了一些选项。其中,failAction选项指定了验证失败时的处理方式,options选项和schemaOptions选项用于配置Joi验证器的选项。在使用Joi验证器时,需要遵循Joi的规则和语法,以确保验证器能够正常工作。
-
ffpmeg常用功能
一,通用转换
通常使用ffpmeg转换音视频文件直接用下面的命令
ffpmeg -i input.mp4 output.mp4
视频分辨率通常为以下几种
4k 3840×2160
1080p 1920×1080
720p 1280×720
480p 854×480
360 640×360
二,自定义视频格式
根据视频的宽度来设置视频
ffmpeg -i input.mp4 -vf scale=480:-1 output.mp4
根据视频的高度来设置视频
ffmpeg -i input.mp4 -vf scale=-1:720 output.mp4
三,批量转换
命令行循环转换文件,达到批量转换的效果
for i in *.avi; do ffmpeg -i "$i" "${i%.*}.mp4"; done
-
Mysql数据库常用操作
一,连接/取消连接数据库服务器操作
连接数据库服务器操作
mysql -u root -p
取消连接数据库服务器
quit
二,创建和使用数据库
展示数据库列表
SHOW DATABASES;
创建一个名叫test的数据库
CREATE DATABASE test;
以下是 MySQL 命令行的一些基本操作:
- 连接到 MySQL 数据库:在命令行中输入
mysql -u <username> -p
命令,然后输入密码。 - 显示所有可用的数据库:在 MySQL 命令行中输入
show databases;
命令。 - 选择数据库:在 MySQL 命令行中输入
use <database_name>;
命令,其中<database_name>
是要选择的数据库的名称。 - 显示数据库中的所有表:在 MySQL 命令行中输入
show tables;
命令。 - 显示表的结构:在 MySQL 命令行中输入
describe <table_name>;
命令,其中<table_name>
是要查看的表的名称。 - 查询数据:在 MySQL 命令行中输入
select * from <table_name>;
命令,其中<table_name>
是要查询的表的名称。 - 插入数据:在 MySQL 命令行中输入
insert into <table_name> (column1, column2, column3) values ('value1', 'value2', 'value3');
命令,其中<table_name>
是要插入数据的表的名称,column1, column2, column3
是要插入的列的名称,value1, value2, value3
是要插入的值。 - 更新数据:在 MySQL 命令行中输入
update <table_name> set column1='value1' where column2='value2';
命令,其中<table_name>
是要更新的表的名称,column1='value1'
是要更新的列和值,where column2='value2'
是要更新的行的条件。 - 删除数据:在 MySQL 命令行中输入
delete from <table_name> where column='value';
命令,其中<table_name>
是要删除数据的表的名称,where column='value'
是要删除的行的条件。 - 退出 MySQL 命令行:在 MySQL 命令行中输入
exit
命令或者使用快捷键Ctrl + D
。
- 连接到 MySQL 数据库:在命令行中输入
-
nuxt v3 如何安装tailwindcss
刚开始我上tailwind的官网想看看nuxt v3如何安装tailwindcss,安装了一半发现好像不对,tailwind官网的那个教程是nuxt2安装的方式。
搜索之后发现,nuxt官方写了tailwind的插件,网址如下:
nuxtjs的生态tailwind插件 https://tailwindcss.nuxtjs.org/
安装3步搞定
-
为什么strapi不显示data数据
/api/article
卡了我好几个小时,终于发现,save按钮只是保存,在save按钮的旁边有一个publish的按钮~