Ironbin


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

  • 搜索

使用 Laradock 创建 Laravel 开发环境

发表于 2019-01-26 | 分类于 php | | 阅读次数:

Docker Desktop

从官网下载用于 Mac 机器的 Docker Desktop,如果测试从官方源下载镜像非常慢的话,可以添加国内的阿里加速镜像:

配置 Laradock

1 下载 Laradock

1
$ git clone https://github.com/laradock/laradock.git

目录结构如下

1
2
3
+ laradock
+ project-1
+ project-2

2 配置虚拟主机

前往 nginx/sites,复制 laravel.conf.example 为 project-1.test.conf

注意:只有 .conf 结尾的才会被 nginx 读取。

阅读全文 »

Linux 浏览器如何配置 PKCS#11 设备

发表于 2019-01-25 | 分类于 browser | | 阅读次数:

Linux 常用的浏览器包括 Firefox 和 Chrome,这里演示如何为他们添加 PKCS#11(什么是 PKCS#11?) 设备。

在 Linux 平台上,不管是 Firefox 还是 Chrome 都是使用的 NSS(什么是 NSS?) 来管理证书和安全设备。所以我们只需要知道如何管理 NSS,就可以实现配置这两个浏览器的安全设备配置。

阅读全文 »

HTC ONE(M8)刷机

发表于 2019-01-13 | 分类于 修理 | | 阅读次数:

手中的一部 Verison HTC ONE 测试机是 4.0 系统,有些软件已经不能安装,抱着“老树开新花”的态度尝试搜了一下,果然已经有比较新的 6.0 系统了。首先用系统内的更新,由于手机是国外运营商版本,再加上更新源也在国外,系统内直接更新一直提示不成功。通过谷歌上查询,发现了一个 HTC 手机资源很全的网站,包含了 ROM 和 Firmware,以及刷机用的工具,比如第三方 Recovery。这里是网址:

HTC 资源下载列表

阅读全文 »

ADB 的简单用法

发表于 2019-01-13 | 分类于 android | | 阅读次数:

下载 ADB 工具

Download the ADB ZIP file for macOS

HTC ONE 开启开发者模式

设置 -> 关于 -> 软件信息 -> 软件版本(点击7次)

1 安装 apk

1
adb install apk/full/path
阅读全文 »

微服务:跨库联合查询

发表于 2019-01-03 | 分类于 微服务 | | 阅读次数:

参考

  • 微服务改造中解决跨库问题的思路
  • 关于【微服务】,你必须了解这些
  • 深度认识 Sharding-JDBC:做最轻量级的数据库中间层
  • Mycat数据库分库分表中间件

学习使用 kaitai 结构

发表于 2018-12-23 | 分类于 tools | | 阅读次数:

kaitai 是一个开源的用于解析二进制文件的解析器,包含了编译器、IDE 和一系列常用的二进制格式描述脚本,你可以直接利用这些脚本去解析对应的二进制文件。

它支持的语言:

  • C++/STL
  • C#
  • Go (*)
  • Java
  • JavaScript
  • Lua
  • Perl
  • PHP
  • Python
  • Ruby
阅读全文 »

WebBrowser 设置代理

发表于 2018-12-18 | 分类于 browser | | 阅读次数:

设置方式一:UrlMkSetSessionOption

该方式只作用于本程序的 WebBrowser 组件,不修改系统代理设置,所以对其它应用程序没有影响。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
std::string ws2s(const std::wstring& wstr){
using convert_typeX = std::codecvt_utf8<wchar_t>;
std::wstring_convert<convert_typeX, wchar_t> converterX;
return converterX.to_bytes(wstr);
}

INTERNET_PROXY_INFO proxyInfo;
proxyInfo.dwAccessType = INTERNET_OPEN_TYPE_PROXY;
proxyInfo.lpszProxyBypass = NULL;
// UrlMkSetSessionOption only appears to work on either ASCII or
// multi-byte strings, not Unicode strings. Since the INTERNET_PROXY_INFO
// struct hard-codes to LPCTSTR, and that translates into LPCWSTR for the
// compiler settings we use, we must use the multi-byte version here.
// Note that for the count of input characters, we can use -1, since
// we've forced the string to be null-terminated.
proxyInfo.lpszProxy = reinterpret_cast<LPCTSTR>(ws2s(L"127.0.0.1:808").c_str());

UrlMkSetSessionOption(INTERNET_OPTION_PROXY, &proxyInfo, sizeof(INTERNET_PROXY_INFO), 0);
阅读全文 »

Mac 系统 LaunchAgents

发表于 2018-12-14 | 分类于 mac | | 阅读次数:

launchctl是一个统一的服务管理框架,可以启动、停止和管理守护进程、应用程序、进程和脚本等。

LaunchDaemons - 启动时执行

添加本类脚本,需要注意以下几点:

  • 放置到目录 /Library/LaunchDaemons/
  • 确保文件的用户为 root 并且组为 wheel
  • 拥有权限(permissions) “644”: Owner – read/write, group – read, everyone – read

LaunchAgents - 登录时执行

  • 该类脚本可以放置在以下位置:
    • /Library/LaunchAgents/ – (For all users)
    • ~/Library/LaunchAgents/ – (For a specific user)
    • /System/Library/LaunchAgents/ – (For OS X use only)
  • 文件的用户为 root 并且组为 wheel
    注意: 当放置在 ~/Library/LaunchAgents/ 时, 用户应该为当前拥有 home 目录的用户
  • 拥有权限(permissions) “644”: Owner – read/write, group – read, everyone – read

操作命令

1
2
3
4
5
6
7
8
# 加载任务
$ launchctl load -w /Library/LaunchAgents/com.onthink.plist

# 删除任务
$ launchctl unload -w /Library/LaunchAgents/com.onthink.plist

# 查看任务列表
$ launchctl list | grep 'com.onthink'

参考

  1. LaunchDaemons vs LaunchAgents

Maven 和 SpringBoot

发表于 2018-10-28 | 分类于 java | | 阅读次数:

Maven 常用依赖

dependencies vs dependencyManagement

  • dependencies:引入依赖。子项目会从父项目中继承该依赖项
  • dependencyManagement:声明依赖,并不实现引入。因此子项目需要显示的声明需要用的依赖。如果不在子项目中声明依赖,是不会从父项目中继承下来的;只有在子项目中写了该依赖项,并且没有指定具体版本,才会从父项目中继承该项,并且 version,scope 都读取自父pom;另外如果子项目中指定了版本号,那么会使用子项目中指定的jar版本

spring-boot-starter-parent

1
2
3
4
5
6
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.10.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>

spring-boot-starter-parent 是一个特殊的 starter,它用来提供相关的Maven默认依赖,使用它之后,常用的包依赖可以省去version标签。可查看 .m2\repository\org\springframework\boot\spring-boot-dependencies\1.5.10.RELEASE\spring-boot-dependencies-1.5.10.RELEASE.pom

maven-surefire-plugin

The Surefire Plugin is used during the test phase of the build lifecycle to execute the unit tests of an application. It generates reports in two different file formats Plain text files (.txt) XML files (.xml)

maven-resources-plugin

参考

  1. Spring Boot干货系列:(一)优雅的入门篇

移动设备特征值

发表于 2018-10-26 | 分类于 mobile | | 阅读次数:

iOS 设备

UDID - iOS Unique Device ID

  • 设备的唯一识别符,移动广告商和游戏网络运营商往往需要通过UDID用来识别玩家用户,并对用户活动进行跟踪。
  • 小于 iOS5.0
  • 不再可用

Device Token

  • 用于向 iOS 设备推送消息的标识(Apple Push Notification System)。每个 App 有两个标识,一个用于开发推送,一个用于生产推送(ad hoc or app store builds)
  • iOS7 及以后
  • 64位十六进制序列(hexadecimal characters)
  • 往另一台设备恢复数据或重装系统(抹掉系统数据),会造成 device token 改变,所以不能用它来唯一标识一台设备。参考这里

UUID - Universally Unique Identifier

  • 通用唯一识别码,它保证每台机器都是唯一的。每次生成都会不一样,所以第一次启动获取后,存储在钥匙串Keychain中,这样app被删除了,Keychain里的数据依然存在,除非系统重置
  • 32位的十六进制序列
  • 抹掉或重装系统会造成改变

IDFA — Identifier For Advertisers

  • 广告标示符,苹果专门给各广告提供商用来追踪用户而设的标识
  • iOS6及之后
  • iOS10 后,苹果推出了“限制广告追踪”功能,参考这里,用户可以在iPhone 设置中选择关掉 IDFA 获取权限。

IDFV — Identifier For Vendors

  • 运营商标示符,来自同一个运营商的应用运行在同一个设备上,此ID的值是相同的,不同的运营商应用在同一个设备上的值不同。
  • iOS6 及之后
  • 如果同一运营商的 app 全部删除,重新安装后的ID值会改变,参考这里

MAC

  • iOS7 后禁止使用。返回同一值:02:00:00:00:00:00

IMEI - International Mobile Equipment Identity

  • 苹果不允许获取 IMEI

Android 设备

IMEI - International Mobile Equipment Identity

  • 国际移动设备身份码的缩写,国际移动装备辨识码,是由15位数字组成的”电子串号”,它与每台手机一一对应,而且该码是全世界唯一的
  • 15位
  • 用户设置权限时禁止,将获取不到

Mac

  • android 6.0 以后,googel官方为了加强权限管理而禁用了getSYstemService,不管任何手机都会返回”02:00:00:00:00:00”这个默认的mac地址

ANDROID_ID

  • 在设备首次运行的时候,系统会随机生成一64位的数字,并把这个数值以16进制保存下来,这个16进制的数字就是ANDROID_ID,但是如果手机恢复出厂设置这个值会发生改变。
  • 手机恢复出厂设置以后该值会发生变化
  • 在国内Android定制的大环境下,有些设备是不会返回ANDROID_ID的

SN - Serial Number

  • 设备序列号
  • 获取序列号不需要权限,但是有一定的局限性,在有些手机上会出现垃圾数据,比如红米手机返回的就是连续的非随机数

参考

  1. 如何唯一的标识一台Android设备?
1234…12
程学彬

程学彬

117 日志
48 分类
99 标签
Creative Commons
Links
  • ShinySky
0%
© 2014 — 2020 程学彬