IT小常识

微版云是如何用vue-electron构建mac客户端的

如何初始化项目暂且不说,请看vue-electron的官方文档。 先给大家看一下package.json的部分配置: “main”: “dist/electron/electron.js”,  “build”: {    “appId”: “ink.weiban.portal”,    “productName”: “WeiBan”,    “copyright”: “Copyright © 2019 北京商连信息科技有限公司”,    “directories”: {      “output”: “./outapp”,      “app”: “./dist”    },    “win”: {      “target”: [        “nsis”      ],      “icon”: “./static/ico/favicon256.ico”,      “artifactName”: “${productName}-Setup.${ext}”,      “publisherName”: “WeiBan”,      “signingHashAlgorithms”: [        “sha256”      ],      “signDlls”: true,      “rfc3161TimeStampServer”: “http://timestamp.digicert.com”,      “certificateFile”: “./static/codeSign/windows/shanglian.pfx”,      “certificatePassword”: “shanglian”    },    “linux”: {      “target”: [        “AppImage”      ],      “artifactName”: “${productName}.${ext}”    },    “mac”: {      “target”: [        “dmg”      ],      “icon”: “./static/ico/favicon.icns”,      “artifactName”: “${productName}.${ext}”    },    “nsis”: {      “createDesktopShortcut”: “always”    },    “publish”: {      “provider”: “s3”,      “bucket”: “electron-app”,      “endpoint”: “https://electron-app.s3.cn-north-1.amazonaws.com.cn”    }  },  “scripts”: {    “dev”: “webpack-dev-server –inline –progress –config build/webpack.dev.conf.js”,    “start”: “npm run dev”,    “unit”: “jest –config test/unit/jest.conf.js –coverage”,    “e2e”: “node test/e2e/runner.js”,    “test”: “npm run unit && npm run e2e”,    “lint”: “eslint –ext .js,.vue src test/unit test/e2e/specs”,    “build”: “node build/build.js”,    “build-electron-dev”: “node build/build-electron-dev.js”,    “build-electron-prod”: “node build/build-electron-prod.js”,    “dir”: “electron-builder –dir”,    “win32”: “electron-builder –win –ia32”,    “win64”: “electron-builder –win –x64”,    “mac”: “electron-builder –mac”,    “linux”: “electron-builder –linux”  }, 构建mac的客户端之前首先要将vue构建好,即运行: npm run build-electron-prod 然后运行: sudo yarn mac 之所以要加sudo是yarn用到一些系统目录,不加会报错。(关于如何安装yarn请看官网) yarn run v1.17.3 $ electron-builder –mac • electron-builder version=21.1.1 os=18.7.0 • loaded configuration file=package.json (“build” field) • writing effective config file=outapp/builder-effective-config.yaml • packaging platform=darwin arch=x64 electron=5.0.6 appOutDir=outapp/mac • signing file=outapp/mac/WeiBan.app identityName=Developer ID Application: Beijing Shanglian Information Technology Co., Ltd. (R65P3V6H9V) identityHash=BA45718278F5E4268071035C88A48F38A2271B1C provisioningProfile=none •

如何以正确的姿势激活百度效率云

百度效率云的具体介绍就不说了,之前是冲着icafe来的,用过一段时间,因为数据无法导出,也不方便把目前用的mantis替换掉,所以一度弃用。 现在产品发布了,面临更严重的用户需求收集和处理问题,在产品比较弱的时候,如果不能更好地把握这些需求的先后和强弱,很容易导致产品开发崩溃。icafe从story到task的过渡处理的还算不错,现在又延伸出一个效率云系列产品,按理说算是不错的敏捷开发平台了。 尽管百度说效率云是按用户收费,目前免费测试,让我有一些担忧,不过用一用也无妨,吸收一些可取之处,也为自己的协作产品找到一些灵感。 不过在初始化账户的过程中,遇到了很多困惑,以至于求助于客服依然没有解决,对接的客户经理对效率云基于没有了解,似乎是我提起她才知道。 好了,废话不多说了,下面列一下建议的步骤。假设你之前没有任何百度系的帐号的话,有的话也尽量忽略,百度系的帐号可不是那么容易注销的。 (1)创建公司/团队帐号。 https://login.bce.baidu.com/reg.html?tpl=bceplat&from=portal 建议使用以上链接直接创建百度云的帐号,百度云和百度智能云貌似是一个东西。为了方便起见,用户名建议使用公司全名,不要用自己偏好的东西,因为这个帐号无法变更主帐号,也就是基本上无法移交,只能变更绑定的手机号和邮箱。再说一遍,建议用企业全名作为用户名。 (2)登录以后在百度云一大堆产品里面找到效率云,创建的时候有个团队名称,建议也用公司全名,下面分配一个空间地址,用公司缩写字母之类比较好,一旦创建,不能修改,也要慎重,而且是全局唯一,不能跟别人重。 (3)进入效率云以后创建一个新的项目,第一个问题就是邀请团队了。找到效率云的项目设置(在左下角),找到“通用设置-权限管理”,邀请用户,这时填写的是被邀请人的邮箱,之所以这样是因为原来icafe单独部署的时候可以不依赖于百度帐号体系,就是用邮箱登录即可。假设你邀请的邮箱是fymeng@51shanglian.com,那么这个邮箱会收到一封邮件。 (4)被邀请人进入fymeng@51shanglian.com,点击邮件中的链接,提示初始化自己的密码,按照要求填写即可,然后自动登录。 (5)被邀请人激活的是一个子帐号,与用fymeng@51shanglian.com这个邮箱注册百度云帐号无关。那么当前子帐号注销了以后如何登录呢,需要请管理员照一下子帐号登录地址,管理员帐号下打开帐号控制区的多用户访问控制,会发现用户管理中的子帐号中已经有fymeng了。然后子帐号列表上方就是子帐号登录的地址,比如http://a3630175ee3744039c854eabf1d33456.login.bce.baidu.com,这里肯定不方便记忆,所以百度很贴心的给了自定义的功能,所以就可以设置为http://shanglian.login.bce.baidu.com,当然这个地址依然还是很难记的,那就需要用自己的域名解析了,比如显性URL转发。 (6)最后补充一点,子帐号登录的时候默认是用邮箱前面那个名字比如fymeng。这个可以在子帐号管理看见到底是什么。

如何使用s3cmd批量修改aws s3上的文件Content-type

首先,使用aws官方的批量处理是可以的,至少官方是这么说的,不过做文件清单然后执行,可能适合比较大量的文件。 现在用s3cmd处理可能是比较直观的方案。mac上安装s3cmd比较简单。只需要brew install s3cmd即可。安装比较慢的话设置一下brew的国内镜像源,方法:https://www.cnblogs.com/crayfish/p/6003862.html (1)s3cmd –version看看版本对不对,最好是2.0以上。 (2)s3cmd –configure启动配置引导,按提示依次输入key,没有的话去aws生成一个。 (3) s3cmd –mime-type=image/jpeg –recursive  –exclude=* –include=*.jpg modify s3://your-bucket 这就是批量的命令了。看起来还是很简单的。设置参数需要注意顺序,尤其是一定要先exclude再include,否则起不到筛选文件类型的效果,recursive保证你可以遍历bucket下的所有文件,而不是只能修改某个object的元数据。–include=*.jpg这里留意大小写,如果你的文件里有大写后缀名,需要–include=*.JPG也来一遍。

Laravel 框架 MySQL 运行报错: PDOStatement::execute (): MySQL server has gone away?

项目什么都没动,突然发现无法连远程的数据库了,只能连本地的,折腾了半天,连本地的都连不上了,简直像遇到了奇异事件。 用java程序连了一下,默认连不上,需要把usessl设为false,但是php对应的sslmode设为disable并不起作用。 尝试修改wait_timeout和connect_timeout也都无效,只是让等待的时间更长了。 直到在老同事刘明的提醒下,去查看laravel的日志,发现了这么一句:Unexpected server respose while doing caching_sha2 auth 于是,按这个问题去搜索,找到了https://www.cnblogs.com/qichao123/p/9719470.html 进到mysql,通过SELECT user,host,plugin FROM mysql.user; 确认我用的当前用户没问题,是mysql_native_password,于是继续配置my.cnf中的mysqld,添加: default_authentication_plugin=mysql_native_password 回来测试成功。

部署自己的ngrok1.7服务

非常感谢https://hteen.cn/docker/docker-ngrok.html 我的服务器是ubuntu,首先登录服务器,依次运行以下命令: 运行结果显示一个token 这样,在服务器的/root/ngrok目录下则有 bin/ngrokd 服务端 bin/ngrok linux客户端 bin/darwin_amd64/ngrok osx客户端 bin/windows_amd64/ngrok.exe windows客户端 还要增加一个nginx的站点配置,转发请求 在本地电脑执行命令,下载对应的客户端,我的是mac,所以: 然后在本地创建ngrok.yml文件,并填入以下内容: 然后在本地执行 ~/ngrok –config=ngrok.yml start weixin api 就启动了。

过了这么久才遇到github资源域名被污染的情况

上周打开github突然发现样式无法加载,打开vpn才行,后来搜索才知道这个情况已经存在好多年了,不是封禁IP,而是DNS污染,这种情况适用自行定义hosts的方法。 即,在hosts文件中定义如下关系。 151.101.24.133 assets-cdn.github.com

使用iview的upload组件上传阿里oss的参数设置

下面是组件设置: 以下是相关的js方法: 以下是发放参数的api方法(laravel):

Visual Studio Code中使用Docker中的Xdebug

开发环境说明 IDE:Visual Studio Code DNMP:https://github.com/yeszao/dnmp 项目:laravel 开启xdebug 修改dnmp/php/php72/Dockerfile,添加以下两行(插在带\的任一一行后面即可,查看dockerfile编写规范): && pecl install xdebug \ && docker-php-ext-enable xdebug \ 修改dnmp/config/php.ini,在文件末尾添加以下内容: [xdebug] zend_extension=xdebug.so xdebug.remote_port=9000 xdebug.remote_enable=1 xdebug.remote_host=192.168.0.102 xdebug.remote_autostart=1 xdebug.remote_log=”/var/log/dnmp/xdebug.log” 其中192.168.0.102就是你的电脑的IP,也就是docker宿主机的IP,docker的端口都挂到宿主机IP上。xdebug默认是localhost,不改就访问不到了。也不要打开 xdebug.remote_connect_back=1,这会使得remote_host配置失效。 在vscode中安装PHP Debug插件,在调试选项卡中打开齿轮配置,即当前项目的.vscode/launch.json,对照以下内容配置: { // 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。 // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387 “version”: “0.2.0”, “configurations”: [ { “name”: “Listen for XDebug”, “type”: “php”, “request”: “launch”, “port”: 9000, “pathMappings”:{

Error starting userland proxy: mkdir /port/tcp:0.0.0.0:3306:tcp:172.19.0.3:3306: input/output error

在windows10/win10上使用dnmp:https://www.awaimai.com/2120.html 首先需要安装docker环境:https://download.docker.com/win/stable/Docker%20for%20Windows%20Installer.exe 装完以后在dnmp目录执行docker-compose up,启动失败,报错如标题,需要修改win10的快速启动设置,然后重启。修改方法见:https://www.tenforums.com/tutorials/4189-turn-off-fast-startup-windows-10-a.html

node版本太高

npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the dpexpo@1.0.0 dev script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. 出现的原因:node的版本太高,当我从node8升级到node10以后出现问题。