首页
关于
壁纸
直播
留言
友链
统计
Search
1
《吞食天地1》金手指代码
6,561 阅读
2
《三国志英杰传》攻略
6,434 阅读
3
白嫖Emby
6,361 阅读
4
Emby客户端IOS破解
6,336 阅读
5
破解emby-server
4,466 阅读
moonjerx
game
age-of-empires
zx3
san-guo-zhi
尼尔:机械纪元
net
emby
learn-video
docker
torrent
photoshop
route
minio
git
ffmpeg
im
vue
gitlab
typecho
svn
alipay
nasm
srs
mail-server
tailscale
kkfileview
aria2
webdav
synology
redis
oray
chemical
mxsite
math
π
x-ui
digital-currency
server
nginx
baota
k8s
http
cloud
linux
shell
database
vpn
esxi
rancher
domain
k3s
ewomail
os
android
windows
ios
app-store
macos
develop
java
javascript
uniapp
nodejs
hbuildx
maven
android-studio
jetbrain
jenkins
css
mybatis
php
python
hardware
hard-disk
pc
RAM
software
pt
calibre
notion
office
language
literature
philosophy
travel
登录
Search
标签搜索
ubuntu
mysql
openwrt
zerotier
springboot
centos
openvpn
jdk
吞食天地2
synology
spring
idea
windows11
吞食天地1
transmission
google-play
Japanese
xcode
群晖
kiftd
MoonjerX
累计撰写
380
篇文章
累计收到
466
条评论
首页
栏目
moonjerx
game
age-of-empires
zx3
san-guo-zhi
尼尔:机械纪元
net
emby
learn-video
docker
torrent
photoshop
route
minio
git
ffmpeg
im
vue
gitlab
typecho
svn
alipay
nasm
srs
mail-server
tailscale
kkfileview
aria2
webdav
synology
redis
oray
chemical
mxsite
math
π
x-ui
digital-currency
server
nginx
baota
k8s
http
cloud
linux
shell
database
vpn
esxi
rancher
domain
k3s
ewomail
os
android
windows
ios
app-store
macos
develop
java
javascript
uniapp
nodejs
hbuildx
maven
android-studio
jetbrain
jenkins
css
mybatis
php
python
hardware
hard-disk
pc
RAM
software
pt
calibre
notion
office
language
literature
philosophy
travel
页面
关于
壁纸
直播
留言
友链
统计
搜索到
380
篇与
moonjerx
的结果
2022-04-08
Android Studio生成Key Store打包含有app安装包证书的apk应用
https://blog.csdn.net/xubingtao/article/details/108887466
2022年04月08日
200 阅读
0 评论
0 点赞
2022-04-08
2022最新ios打包发布流程
https://www.cnblogs.com/zima/p/14861963.htmlhttps://www.cnblogs.com/wxylog/p/13828317.html上架步骤一、创建App ID二、创建证书请求文件 (CSR文件)三、创建发布证书 (CER)四、创建Provisioning Profiles配置文件 (PP文件)五、在App Store创建应用六、打包上架苹果 开发者账号 申请:https://developer.apple.com/一、开发者账号(1)账号类别个人开发者账号 : 99$ 一年,可以在AppStore上架,并且在app后面显示个人ID;每年最多只能添加一百个苹果设备对app进行真机调试;只要付费就可以申请;一般是个人使用或者小公司偶尔使用(AppStore显示的是个人名字,不是公司名)。企业开发者账号 : 299$ 一年,不可以在AppStore上架(所以也就不需要苹果的审核就能直接批量安装在苹果设备上),一般只在自己企业内部使用,对设备数量没有任何限制;申请的时候还需要公司的邓白氏编码DUNS(这个可以在苹果开发者中心免费申请)公司开发者账号 : 99$ 一年,可以在App Store上架,可以自定义的团队名称。最重要的是公司账号可以允许多个开发者协作开发,比个人多一些帐号管理的设置,分4种管理级别权限。申请的时候同样需要公司的邓白氏编码。(一般公司的话会选择这个)(2)开发者中心的内容{x} Certificates :有开发证书和发布证书。开发证书都是一样的,我们只说说发布证书:AdHoc:这个证书一般用在上线苹果商店前最后一次的调试,它所用是的证书和配置文件和正式上线商店时用的证书和配置文件是一样的,他们的不同点在于,这个证书中指定了哪些苹果设备(最多100)才能安装此app,所以一般公司就用打个AdHoc包,对设备上线前做最后一步测试AppStore:正式发布到苹果商店的证书,这个是我们上线时候用到最多的一种证书,这个证书打包出来的ipa包对安装设备数量没有限制In House: 这个证书的创建选项现在的好像只能在企业账号中才能看到,这个打包出来的app不能再苹果商店上线,对安装的设备数量也没有限制。这个可以借助一些三方平台比如蒲公英、fire实现方便安装(扫扫二维码就能下载很方便的),当然用工具iTools安装也是可以的{x} Identifiers :这里只说说我们平常用的App IDs,其余的几个就不说了{x} App ID :其实就是一个App的身份证,一个App的唯一标示。在Project中称为Bundle ID{x} Devices :添加设备,告诉苹果,我的这个设备能进行真机调试,没有值得说的{x} Provisioning Profiles : 描述文件的作用是描述了可由哪台电脑,把哪个App,安装到哪台手机上面。一个描述文件的制作是需要App ID、Device、Certificate这些信息的。一般我们把配置文件分为两类:需要Device的 和 不需要Device的二、证书申请: 接着在开法者网站中选择左边导航栏的 Certificates ,然后选择蓝色的 ➕ 进行新建。进入新建页面,它会问你要创建那种,通常选择第四个,第四个是针对 IOS App 的一个发布证书,因为是要发布嘛,所以是发布证书。按顺序第三个是开发证书。点击按钮继续打包上传蒲公英网站:https://www.pgyer.com/ ,可以将ipa包上传供其他人下载,设备的uuid需要添加至开发者中心的deviceid中,并且设备添加了profile中重新打包才行。
2022年04月08日
167 阅读
0 评论
0 点赞
2022-04-04
跨域请求如何携带cookie
前言最近在参加面试找工作,陆陆续续的面了两三家。其中面试官问到了一个问题:如何解决跨域问题?我巴巴拉拉的一顿说,大概了说了四种方法,然后面试官紧接着又问:那跨域请求怎么携带 cookie 呢?(常规的面试套路,一般都会顺着你的回答往深了问)由于之前的项目都是同源的,不牵涉跨域访问,所以一时没有回答出来,后来研究了下,所以有了这篇文章。阅读本文,你将学到:1.学会`withCredentials`属性; 2.学会`axios`配置`withCredentials`; 3.学会设置`Access-Control-Allow-Origin`属性; 4.学会设置`Access-Control-Allow-Credentials`属性; 5.学会解决跨域请求携带源站cookie的问题;一. 搭建一个跨域请求的环境思路:使用 express 搭建第一个服务A( http://localhost:8000 ),运行在8000端口上;A服务托管index.html(用于在前端页面发送网络请求)文件;在A服务中写一个处理请求的路由,加载index.html页面时,种下 cookie (这里种cookie为了在请求B服务时携带上);使用 express 搭建第二个服务B( http://localhost:8003 ),运行在8003端口上;在A服务托管的index.html页面去请求B服务,然后把 cookie 传过去;先看下代码结构,相对比较的简单:A服务的代码: // src/app1.js const express = require("express"); const app = express(); // `index.html` 加载时会请求login接口 // 设置`cookie` app.get("/login", (req, res) => { res.cookie("user", "jay", { maxAge: 2000000, httpOnly: true }); res.json({ code: 0, message: "登录成功" }); }); // 此接口是检测`cookie`是否设置成功,如果设置成功的话,浏览器会自动携带上`cookie` app.get("/user", (req, res) => { // req.headers.cookie: user=jay const user = req.headers.cookie.split("=")[1]; res.json({ code: 0, user }); }); // 托管`index.html`页面 // 这样的话在`index.html`中发起的请求,默认的源就是`http://localhost:8000` // 然后再去请求`http://localhost:8003`就会出现跨域了 app.use("/static", express.static("public")); app.listen("8000", () => { console.log("app1 running at port 8000"); });index.html的代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> </head> <body> <h2>this is index.html at port 8000</h2> <button id="button">发送同源请求</button> <button id="cross-button">发送跨域请求</button> <script src="https://static.4ce.cn/npm/axios/dist/axios.min.js"></script> <script> const button = document.querySelector("#button"); const crossButton = document.querySelector("#cross-button"); axios.get("http://localhost:8000/login", {}).then((res) => { console.log(res); }); // 发送同域请求 button.onclick = function () { axios.get("http://localhost:8000/user", {}).then((res) => { console.log(res); }); }; // 发送跨域请求 crossButton.onclick = function () { axios({ method: "get", url: "http://localhost:8003/anotherService", }).then((res) => { console.log(res); }); }; </script> </body> </html>B服务的代码:// src/app2.js const express = require("express"); const app = express(); // 定义一个接口,index.html页面请求这个接口就是跨域(因为端口不同) app.get("/anotherService", (req, res) => { res.json({ code: 0, msg: "这是8003端口返回的" }); }); app.listen("8003", () => { console.log("app2 running at port 8003"); });这个时候环境基本就搭建好了。二、解决跨域携带cookie问题首先我们先在A服务的index.html页面中得到一个cookie,运行A服务:npm install express -D node src/app1.js然后打开 http://localhost:8000/static/index.html : 没有问题的话,页面长这样:这个时候F12打开控制台:可以看到发送了一个 login 请求,并且设置了 cookie ,也可以选择浏览器控制台的Application页签,选中cookie,可以看到cookie的信息:然后我们点击页面上的发送同源请求按钮,可以看到发送了一个user请求,并且已经携带上了cookie:接下来刺激的画面来了,我们点击 发送跨域请求 按钮,出现了跨域请求的报错:重点:接下来开始解决跨域携带cookie问题:1.在前端请求的时候设置request对象的属性withCredentials为true;什么是withCredentials?XMLHttpRequest.withCredentials 属性是一个Boolean类型,它指示了是否该使用类似cookies,authorization headers(头部授权)或者TLS客户端证书这一类资格证书来创建一个跨站点访问控制(cross-site Access-Control)请求。在同一个站点下使用withCredentials属性是无效的。如果在发送来自其他域的XMLHttpRequest请求之前,未设置withCredentials 为true,那么就不能为它自己的域设置cookie值。而通过设置withCredentials 为true获得的第三方cookies,将会依旧享受同源策略,因此不能被通过document.cookie或者从头部相应请求的脚本等访问。// 修改跨域请求的代码 crossButton.onclick = function () { axios({ withCredentials: true, // ++ 新增 method: "get", url: "http://localhost:8003/anotherService", }).then((res) => { console.log(res); }); };这个时候再去发送一个跨域请求,你会发现依旧报错,但是我们仔细看下报错,意思是需要设置header的 Access-Control-Allow-Origin 属性:2.在服务端设置Access-Control-Allow-Origin我们修改B(app2.js)服务的代码:// 在所有路由前增加,可以拦截所有请求 app.all("*", (req, res, next) => { res.header("Access-Control-Allow-Origin", "http://localhost:8000"); next(); });修改完之后再次发送一个跨域请求,你会发现,又报错了(接近崩溃),但是跟之前报的错不一样了,意思大概就是Access-Control-Allow-Credentials这个属性应该设置为true,但是显示得到的是个'':3.在服务端设置Access-Control-Allow-Credentials再次修改B服务的代码(每次修改后需要重新运行):// 在所有路由前增加,可以拦截所有请求 app.all("*", (req, res, next) => { res.header("Access-Control-Allow-Origin", "http://localhost:8000"); res.header("Access-Control-Allow-Credentials", "true"); // ++ 新增 next(); });再发送一个跨域请求:可以看到,这个跨域请求已经请求成功并且返回数据了!而且也携带了A服务的cookie,这个时候已经大功告成了。三、总结前端请求时在 request 对象中配置 "withCredentials": true服务端在 response 的 header 中配置 "Access-Control-Allow-Origin", "http://xxx:${port}"服务端在 response 的 header 中配置 "Access-Control-Allow-Credentials", "true"
2022年04月04日
182 阅读
0 评论
0 点赞
2022-04-04
硬盘垂直盘和叠瓦盘的区别
在机械硬盘里,很多人都听说过垂直盘和叠瓦盘,但是要想通俗易懂的讲出两者的区别,也让很多人有点犯难。今天咱们来聊一聊垂直盘和叠瓦盘两者的区别,不当之处,还望大神批评指正。举个简单的例子。在我们日常生活和工作中,用过单行的笔记本吧?硬盘就好比那个单行笔记本。一行只能写一排字,要重写的话就需要用橡皮擦擦除一行再重写。受本子容量的影响,所以能书写的字数是有限的,这就好比垂直盘。那么问题来了,现在我要记录的笔记很多,本子不够写,怎么办?这个时候,有人提出了一个新的思路:把字写小一点,一行的行距里写两排字!这么一来,容量变大了,本子能写的字数变多了,这就好比叠瓦盘。如果是新本子,从空白到写满,不重写的话,速度不会慢。但是,你写满后问题来了,你想擦除一行重写。但是橡皮擦一次只能擦除一行格子,也就是两排字。但是你只需要擦除一行字,怎么办?如果字数少,你可以把不需要擦除的字暂时记在脑海(缓存)里,然后再擦除,再写入新的文字,同时再把之前记在脑海(缓存)里的字一起写上。这里一来,就多了一步记忆文字在脑海里(读取文件到缓存)。如果文字非常多,记不住了咋办呢?那就只好把不需要擦除的文字先抄到别的空白的地方,然后擦除再写上新的文字,这个时候工作步骤就变成了“查看--抄写--擦除--抄写”(“读取--写入--擦除---写入”)。这样用久了碎片多了,文件传输就会变得非常的慢!当然也不是说叠瓦盘不好。垂直盘和叠瓦盘的区别在于,垂直盘适合视频剪辑、大型游戏等数据读写频繁的场景;叠瓦盘的话,一般可以当仓库盘使用,像储存手机里的照片视频、办公、看看电影什么的,区别也不是太大,但是垂直盘的使用寿命比叠瓦盘要长。如果是储存重要的文件数据,还是建议垂直盘
2022年04月04日
350 阅读
0 评论
0 点赞
2022-03-30
centos7安装ewomail教程
官网http://www.ewomail.com1.安装gcc编译环境yum -y install gcc gcc-c++ libstdc++-devel yum -y install gcc gcc-c++ autoconf automake yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel yum -y install perl-ExtUtils-MakeMaker2.关闭selinuxvi /etc/sysconfig/selinuxSELINUX=enforcing 改为 SELINUX=disabled 3.修改主机名Centos6修改文件 /etc/sysconfig/network 修改文件 /etc/hosts , 添加 mail.ewomail.cn 输入命令:hostname mail.ewomail.cncentos7 hostnamectl set-hostname mail.ewomail.cn修改文件 /etc/hosts , 添加 mail.ewomail.cn4.上传EwoMail安装包通过安装git客户端下载项目安装包git clone https://gitee.com/laowu5/EwoMail.git可能需要安装unzip命令:yum install -y unzip zip通过xftp远程上传安装包5.安装执行安装命令,需带上域名cd /EwoMail/install && ./start.sh ewomail.cn安装成功后将输出 Complete installation6.访问地址邮箱管理后台:http://192.168.3.59:8010 (默认账号admin,密码ewomail123)web邮件系统:http://192.168.3.59:80007.查看配置的域名和数据库密码vi /ewomail/config.ini8.降低内存占用安装完成EwoMail后,可关闭邮件杀毒软件可以降低内存占用,对于运行内存2G以下的服务器可关闭杀毒来降低内存占用,关闭后能大大的降低内存的占用,不影响防垃圾邮件检测。查看内存占比命令free -mcentos7安装vimyum install vim -y修改文件(修改前请备份文件)vim /etc/amavisd/amavisd.conf输入 :set number 回车显示行号输入 i 回车可以编辑修改找到大概在383行左右,将图片以下的4行前面加上#符号在文件尾部加上该行参数@bypass_virus_checks_maps = (1);修改文件(参考上面的例子操作命令修改)vim /usr/lib/systemd/system/amavisd.service在 Wants=clamd@amavisd.service 前面加上#符号保存文件最后执行命令:systemctl daemon-reload systemctl stop clamd@amavisd systemctl disable clamd@amavisd systemctl restart amavisd
2022年03月30日
419 阅读
0 评论
0 点赞
1
...
42
43
44
...
76
您的IP: