大象笔记

知者行之始,行者知之成

Android Q 模拟器上无法使用 Flutter Hot Reload

在调试 Flutter App 时,如果使用 Android Q 模拟器,会发现 Flutter 的一大卖点 - 热加载 hot reload 按钮,一直是灰的。想看到界面更新,除非手动重新编译。非常失望,我觉得如果没有 hot reload,我都没有动力继续尝试 flutter 开发了。 而且编译时,会报错 flutter Error connecting to the service protocol: HttpException: Connection closed before full header was received, uri = http://127.0.0.1:5107 ...

阅读全文...

Win10 Android Studio 编译 flutter 卡在 Download https://services.gradle.org/xxx 及 Initializing gradle

好久没有打开过 Android Studio 了,晚上为了尝试 Flutter,升级了一下 Android Studio。但是,在升级 Gradle 版本时,卡住了,停止 4% 不动了。 原来国内从 https://services.gradle.org/ 下载 gradle 新版本异常缓慢,会导致 Android Studio 一直卡在那里,没有下载进度。 有效的解决方案是: 将 https://services.gradle.org/ 对应的下载地址,填入迅雷,使用迅雷快速下载完。例如: gradle-5.1.1-all.zip 对应的下载地址为: https://downloads.gr ...

阅读全文...

周末青岛高铁之旅,极地海洋世界缴纳智商税

高铁真是又快又稳,一等座也很宽敞,舒服,比开车去青岛舒服太多了。 确实稳,我觉得说“放个硬币都不倒”有点夸张了,但确实感觉不到加速减速,而且一点也不晃,最直观的感受是,去厕所尿尿,都不需要扶着,很轻松。以前的绿皮车,洒水着实考验平衡能力。 但唯一不佳的体验是,高铁上乘务员频繁推销商品,令人不悦。特别是推销玩具,这么贵的高铁模型,对于带着小朋友的家长来说,非常烦恼。我闺女平时在家估计玩够了小火车轨道玩具,没有任何反应,同行的一个同龄小朋友,直接哭闹起来。那一刻,我觉得这种推销方式非常无耻。 青岛的商业氛围 虽然去过几次青岛,但都是匆匆路过,或者拜访客户,没闲逛过。对青岛的印象一直停留在,高空俯瞰 ...

阅读全文...

算法之美

这本书的英文名为 Algorithms to Live By。 《算法之美》是第一本让我觉得是在解决现实问题的、有趣的算法书。在出发去青岛之前的晚上,我终于翻完了。 这本书介绍了大量的生活中的实际案例,如何使用算法进行决断,优化,并由此延伸到计算机领域。 一些有趣的案例 招聘秘书问题,即最优停止问题。可以延伸到找停车位问题,何时卖出股票问题。 质数在加密算法中的应用。 待办事项优先级排序。 合并排序在生活场景中的应用。 读的过程中,我惊叹于美国人对于日程琐事的思考,并寻求优化方案的过程。甚至登报讨论。这种不断探索的文化氛围,大概就是美国能一直位居世界第一大国的原因。全世界优秀的人,对于这种 ...

阅读全文...

laravel validation rule 限制角色数量

我想限制后台登陆账号所拥有的角色数量。例如,一个人最多只能有一种角色。 可以使用 array between 规则来校验。 public function rules() { return [ 'password' => 'confirmed', 'roles' => 'array|between:0,1', ]; } public function messages() { return [ 'password.confirmed' => '请确认密码一致', 'between' =& ...

阅读全文...

laravel backpack 管理后台使用手机号替换邮箱登录

这个时代用邮箱的人越来越少。很多客户反馈,希望使用手机号替换掉目前的邮箱登录管理后台的方式。 Laravel 切换登录方式确实非常简单。 使用手机号替换邮箱登录 修改 username 的返回即可。 +++ b/app/Http/Controllers/Auth/LoginController.php @@ -20,6 +20,11 @@ class LoginController extends Controller use AuthenticatesUsers; + public function username() + { + ...

阅读全文...

VueJS 实现管理后台新订单的语音提醒

逻辑 当新订单数量接口返回的数字大于之前缓存的值时,就播放提示音;并弹窗提醒。 实现代码 第一次用 js 调用音频播放,没想到这么简单。。。 new Vue({ el: "#sidebar", data: { "new_order_count": 0, }, mounted: function() { var audio = new Audio('/new_order.mp3'); var that = this; this.fetch_data('new_order_count', '/new_or ...

阅读全文...

微信小程序的可恶爬虫

今天看到一个小程序后台突然增加了几百个没有个人信息的用户,只有 open_id。 从 nginx 日志看,这些用户都是在访问各种详情页,有爬虫的嫌疑。 统计了一下排名最高的 IP 前十名: awk '{print $1}' xxx-access.log.3 | sort | uniq -c | sort -nr -k1 | head -n 10 1062 223.166.222.109 597 223.166.222.11 568 101.91.60.26 530 223.166.222.108 461 101.227.139.164 442 1 ...

阅读全文...

常用 Emoji 表情及中文释义

最近发现自己越来越喜欢用 emoji 表情符号。但仅局限于几个表情,所以特别整理一下。 不同系统/应用里,同一个 Emoji 表情符号,展示的不同 例如,Windows 系统跟 Apple 系统的不同,Google 应用跟腾讯应用的也不同。 常用 Emoji 表情 图书 📖 笑哭 😂 胜利剪刀手 ✌ 赞 👍 ...

阅读全文...

省份名称与编号映射表

[ '110000' => '北京市', '120000' => '天津市', '130000' => '河北省', '140000' => '山西省', '150000' => '内蒙古自治区', '210000' => '辽宁省', '220000' => '吉林省', '230000' =&gt ...

阅读全文...

v-charts 图表组件 - 基于 Vue 和 echarts 封装

现在稍微复杂一点的前端界面,我发现离开了 Vue 就写不动。 目前正在做一个数据的图表展示,发现 v-charts 真是个神器。完美结合了 Vue 和 echarts 的优点。 效果如图 配置方便直观 设置别名 双 Y 轴 很轻松实现,文档示例也非常人性化,比 echarts 官网文档更直观。 代码实现 模板 <ve-histogram :title="{text: '订单趋势', left: 'center', top: 'bottom'}" :data="order_data" :settings=" ...

阅读全文...

Laravel backpack 通过 url 链接参数设置列表页面的默认过滤条件

例如,我想查看 https://abc.com/admin/news 这个列表页中,store_id 为 29 的信息。 过滤的方法是在链接中加入请求参数 https://abc.com/admin/news?store_id=29 crud controller 中对参数进行检查,并设置过滤条件 use Illuminate\Support\Facades\Input; $store_id = Input::get('store_id', 0); if ($store_id) { $this->crud->addClause('where', 'store ...

阅读全文...

近期节日

2019年07月23日 大暑
2019年07月30日 非洲妇女日
2019年08月01日 八一建军节
2019年08月06日 国际电影节
2019年08月07日 七夕
2019年08月08日 立秋
2019年08月15日 日本投降日
2019年08月15日 中元节
2019年08月23日 处暑
2019年09月03日 抗日胜利纪念日
2019年09月08日 白露
2019年09月08日 国际扫盲日
查看更多节日