-
flutter 03 添加自定义导航并使上下滚动时导航渐变
上一节,我们制作了轮播图,在这里来对这个轮播图进行一点点优化。 在浏览应用时,很多应用都会有在页面滚动时,出现轮播图慢慢消失,导航不断清晰的效果,那么这里就来制作这样的效果。 首先我们要将首页的Column,改写成ListView,让首页滚动起来。 @override Widget build(BuildContext context) { // TODO: implement build return Scaffold( body: Center( child: ListView( //这里原来是Column,现在改写成li...
-
Flutter 02 创建轮播图
轮播图,我们使用一个轮播组件flutter_swiper,来到 https://pub.dev/flutter/packages ,搜索flutter_swiper 即可找到它。 安装现在让我们来安装这个插件: //pubspec.yaml dependencies: flutter_swiper: ^1.1.6 输入安装包的命令: flutter pub get 在首页中引入这个插件 //lib/pages/home_page.dart import 'package:flutter/material.dart'; import 'pack...
-
Flutter Scaffold介绍
Scaffold 实现了基本的 Material Design 布局结构。在 Material 设计中定义的单个界面上的各种布局元素,在 Scaffold 中都支持。 Scaffold 有下面几个主要属性: appBar - 显示在界面顶部的一个 AppBar。body - 当前界面所显示的主要内容 Widget。floatingActionButton - Material 设计中所定义的 FAB,界面的主要功能按钮。persistentFooterButtons - 固定在下方显示的按钮,比如对话框下方的确定、取消按钮。drawer - 抽屉菜单控件。backgroundColor...
-
flutter 01 创建底部菜单
底部导航,是很多应用里面都有的功能。今天就来看看如何实现它。 首先我们在AndroidStudio中创建一个新的项目,我的项目叫flutter_xiecheng。 新建文件夹navigator,目录为 /lib/navigator,在这个目录下新建文件tab_navigator.dart // lib/navigator/tab_navigator.dat import 'package:flutter/material.dart'; class TabNavigator extends StatefulWidget{ @override ...
-
如何在Android中解决setWindowSurfaceColorBuffer和flushwindowsurfacecolorbuffer错误
在AndroidStudio中运行虚拟机,虚拟机一直运行不起来,查看编辑器日志发现: emulator: setWindowSurfaceColorBuffer: bad window surface handle 0x5 emulator: fb::flushwindowsurfacecolorbuffer: window handle 0x9 not found 解决办法: 来到AndroidStudio 在顶部找到 Tools 导航,选择 AVDManger; 找到你运行的虚拟设备,来到 Action 列,选择 Wipe Data (擦除数据) ...
-
小程序数字键盘,添加小数点
小程序中我们最常用的input数字类型就是type="number",但是这家伙没有小数点。有时我们输入一些数字的时候,需要小数这可怎么办?那么在这里我就介绍一些小程序中关于字数的表单类型:number:数字键盘(无小数点)idcard:数字键盘(无小数点、有个 X 键)digit:数字键盘(有小数点)注意:number 是无小数点的,digit 是有小数点的 ...
-
Flutter安装错误解决
在mac上安装flutter,输入flutter doctor发现如下错误:问题1: [!] Android toolchain - develop for Android devices (Android SDK version 29.0.1) ! Some Android licenses not accepted. To resolve this, run: flutter doctor --android-licenses 解决: flutter doctor --android-licenses 问题2: [!] Xcode - develop f...
-
mac下安装Flutter报错 xcrun: error: invalid active developer path
我是在mac电脑下,安装flutter的sdk,这时输入flutter precache爆出以下错误。 xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun 解决办法: 输入命令xcode-select --install。 他会弹出一个安装程序,将它安装到mac book上即可。安装成功后,你不会再有错误发上了。 ...
-
Android原生:E/AndroidRuntime: FATAL EXCEPTION: main
有一个MainActivity包含:AFragment、BFragment。但是切换BFragment时,得到以下错误: com.exampl E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example, PID: 12845 java.lang.RuntimeException: com.example.MainActivity@f3030ac must implement OnFragmentInteractionListener at com.example.BFragment.onAtt...
-
Flutter: 常见错误 import 'package:http/http.dart' as http;
有时候,我们下载一个程序,会看到import 'package:http/http.dart' as http;,会出现错误。主要原因时我们没有安装http库,只要我们安装了它,就不会报错了。 1、引入之前,我们要看看最新版本号: https://pub.dartlang.org/packages/http#-installing-tab- 2、引入 找到pubspec.yaml,添加如下代码 dependencies: http: ^0.12.0+2 3、安装库如图所示,点击Packages get 完成安装。或者输入命令也可flutter package...
-
Chrome在Ubuntu下总是突然死掉
在64 bit Mint Linux下使用Chrome时,经常会导致死机状态,图形界面下除了鼠标能动,什么也干不了,不过能够Ctrl + F1进行终端环境。有种原因时硬件加速的问题,所以我们可以来到chrome的设置:(关掉硬件加速) ...
-
flutter : Your application could not be compiled, because its dependencies could not be established
有时候你打开一个已经开发的项目并运行时,会出现 Your application could not be compiled, because its dependencies could not be established 我对可能出现的问题进行一个汇总: 这主要是你项目的包可能有问题,仔细检查你的包是否import正确的地址. 检查你import的大小写是否与文件名一致。例如windows开发完后,用ubuntu打开,你原来用的文件名都用的小写和你import 'tabBar.dart'; 时不一样,就会出现这样的问题。 如果你使用GBK文件格式,请变为...
-
Flutter已经成为可以开发移动、web、嵌入式和桌面应用的快捷UI框架
对于Flutter框架来说,这是一个重要的里程碑,因为Flutter将重点从移动扩展到了更广泛的设备上。在I/O大会,发布了Flutter web 的第一个预览版,宣布Flutter正在为Google Home Hub在内的Google智能显示平台提供支持,并通过Chrome OS提供支持桌面级应用程序的第一步。 从移动到多平台早期,Flutter团队的使命是:为iOS和Android提供开发移动应用程序的最佳框架。移动开发在以前已经成熟,但还需要改进,开发人员不得不选择在两个平台上构建相同的应用程序,而且要写两次代码,或者在使用跨平台框架是做出很大的妥协。Flutter打造了一个最佳点,即...
-
2019谷歌I/O开发者大会全程回顾,不看你会后悔哦!
2019谷歌I/O开发者大会全程回顾(上) 各个时间段的看点本时间与上面视频对应: 02:26 主讲人,谷歌CEO桑达尔·皮查伊登场。展示谷歌技术,给我们带来的便利。google从”帮你找到答案”企业变成”帮你完成任务”的企业。 08:39 发布摄像头和google搜索引擎结合在一起的AR功能,例如通过搜索“肌肉伸缩”,他会展示一个3D效果,并且你可以放到你屋内的桌子上。 12:05 Google Lens提供了更强的识别能力,在翻译之余,它还能给你高亮特色产品,关联图片,甚至是计算小费。 20:09 这一次Duplex助手可以帮助你订车啦,很方便,可以自动为你填写表单 ...
-
Google I/O 2019 又一次技术盛宴
此次盛宴是开发者的盛宴,2019 Google I/O 将于美国当地时间 5 月 7 - 9 日 (北京时间 5 月 8 - 10 日) 于美国加州山景城 (Mountain View) 海岸线圆形剧场举办,届时来自全世界的众多开发者将齐聚一堂,亲眼目睹 Google 公布诸多开发技术、产品及服务,更可以和 Google 技术专家们面对面,畅聊技术 / 设计与未来图景。 每年会有来自全球的 7000 多名开发者齐聚山景城参加 I/O 大会,我们不妨看看这 5 位开发者去年的经历,给今年热热身: Bilibili 视频链接https://www.bilibili.com/video...
-
php实现附近的人
要想知道附近的人,就需要了解用户的当前位置经纬度,然后制定一个搜索范围。也就是说当前用户为中心点,根据半径,计算出符合条件的经纬度范围。 我就来制作一个函数,用作计算经纬度的范围,也就是最大经纬度和最小经纬度: /** * 根据经纬度和半径计算出范围 * @param string $lat 纬度 * @param String $lng 经度 * @param float $radius 半径 * @return Array 范围数组 */ private function calcScope($lat, $lng, $radius) { $degree ...
-
解决ubuntu系统android虚拟机无法启动
今天在android studio启动Android虚拟机时发现下面一个错误,虚拟机无法启动。 Emulator: Process finished with exit code 139 (interrupted by signal 11: SIGSEGV 查找了一些解决问题的方式,都是将 “Emulated Performance” 下的 “Automatic” 修改为 “Software”。其实这是个不好的办法,其实这个问题出现在显卡上。我的解决方式是:更新显卡驱动。 打开“系统设置”(System Settings) —> “软件与更新”(Software & Upd...
-
在Ubuntu和Debian下安装/升级到PHP 7.3
1.添加ondrej/phpPPA我们使用Ondrej提供的PHP PPA源 。他在所有的Ubuntu版本和Debian上发布了PHP 7.3。 Ubuntu sudo add-apt-repository ppa:ondrej/php # Press enter to confirm. sudo apt-get update Debian sudo apt install apt-transport-https lsb-release sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/p...
-
composer更新出现 Command "self-update" is not defined
我使用的是ubuntu 16.04版本,出现这个问题的原因是,ubuntu库中的composer,不能完成self-update。所以我们要先移除原来的composer: sudo apt-get remove composer 移除成功后,以composer官方的方式下载composer: curl -sS https://getcomposer.org/installer | php 并将下载的composer.phar 移动到以下命令指定的目录,使所有用户全局都可以使用composer: sudo mv composer.phar /usr/bin/composer chmo...
-
在新装的Ubuntu中五行命令安装运行Symfony
安装composer sudo apt-get install composer 如果你想看是否成功,运行composer即可获得以下信息。 安装php ubuntu默认库提供了php7.0的资源,为了方便,我们就安装php7.0: sudo apt-get install php7.0 php7.0-fpm php7.0-mysql php7.0-common php7.0-mbstring php7.0-gd php7.0-json php7.0-cli php7.0-curl php7.0-xml 安装Symfony 来到你的web目录下运行: composer c...
-
Linux下最棒录制屏幕软件SimpleScreenRecorder安装
什么是SimpleScreenRecorder? SimpleScreenRecorder是我为记录程序和游戏而创建的Linux程序。已经有一些程序可以做到这一点,但我对它们中的任何一个都不是100%满意,所以我创建了自己的程序。 我最初的目标是创建一个非常简单易用的程序,但是当我编写它时,我开始添加越来越多的功能,结果实际上是一个非常强大的程序。从某种意义上讲,它比ffmpeg / avconv或VLC更容易使用,因为它具有简单的用户界面。 输入选择页面: 特征 图形用户界面(基于Qt)。 比VLC和ffmpeg / avconv更快。 记录整个屏幕或部分屏幕,或直接记...
-
了解Flutter是什么?
Flutter 是一套高效的跨平台免费开源 SDK,可以帮助开发者用一套代码同时在 Android 和 iOS 上构建媲美原生体验的精良应用。随着 Flutter 1.0 的正式到来,我们从社区中也搜集到了不少开发者关注的问题,我们会由浅到深地为开发者们进行解答。如果您对 Flutter 已经有一定的了解,不妨在看到问题的时候先试着回答,然后和我们给出的答案进行比较,从而进一步加深理解。 我们可以先通过一个短片了解和认识【Flutter】 问题 1:Flutter 是什么? Flutter 是 Google 的移动应用 SDK,用于在极短时间内在 Android 和 iOS ...
-
Flutter 1.2发布:添加应用内支付和App Bundles
在去年MWC大展上发布首个Beta版后,Flutter 1.0正式版于2018年12月召开的Flutter Live 2018上正式发布。今天在巴塞罗那召开的MWC发布会上,Google正式发布了Flutter跨平台UI框架的1.2版本。新版本最大的改变就是引入了对Android App Bundles的支持,可有效打包Android APP并创建即时应用的最新技术。此外该框架还帮助开发者接受应用内支付奠定了基础,并添加了很多基于Web的工具。 Flutter 1.2更新包括了大量常规稳定性和性能更新,包括最新的Dart 2.2 SDK(默认情况下,Flutter应用程序是用Google...
-
玩玩AI创造的人脸!你看看你能找出破绽吗?
科技在不断的飞快进步,英伟达研究人员推出的人工智能算法 StyleGAN 可以合成足以骗过人类的假人脸。不过对于大多数人来说,这项基于生成对抗网络(GAN)的技术距离我们还很遥远。但这个问题很快就被一名 Uber 工程师解决了,近日,一个名为「此人不存在」的网站悄然上线。足以以假乱真。所以说有图有真相的日子,已经不复存在了。你可以打开,网站连接,他就会为我们生成一个人脸,但这些人都不是真是存在的: https://thispersondoesnotexist.com/ AI 产生虚假视觉效果的能力目前似乎还不是主流,但这个网站的出现让「有图有真相」变成了过去式。结合 OpenAI 提出...
-
推荐:万字长文带你看尽深度学习中的各种卷积网络
现在AI如火如荼,深度学习也是其中的精华,各种卷积网络也有各个的特性。你到底了解多少呢?我推荐一篇不错的文章,它用大家都能够明白的方式,介绍了深度学习中比较常见的几种卷积。并为大家的学习/研究带来有用的参考价值。你也可以关注作者的更多文章,都是很不错的。 万字长文带你看尽深度学习中的各种卷积网络(上篇) 万字长文带你看尽深度学习中的各种卷积网络(下篇) ...
-
Google Chrome浏览器即将支持填写PDF表格并保存
在Google Chrome支持添加PDF注释后,Google又计划推出一个与PDF相关的功能,以帮助处理大量PDF文件的用户:您很快就可以填写PDF表单并保存文件,而无需采取诸如填写后将PDF打印为另一个PDF的解决方法。已经有测试用户在Canary版Google Chrome中发现了一个新增Flag,它很可能也在Dev版本中可用。描述如下:启用填充的表单数据保存PDF - Mac,Windows,Linux,Chrome OS不过目前Canary版的Chrome暂时也无法使用这一功能,一般而言,开发人员都会先在社区建立Flag,然后经过开发和验证来完成功能。所以,好消息是,您很快就可以使用...
-
由于 Web 服务器上此资源的访问控制列表(ACL)配置或加密设置,您无权查看
这主要的原因是php.ini的”upload_tmp_dir”路径配置不正确。或者根本没有配置。 在Windows平台下如果PHP使用的是IIS的话那么php在上传文件时是先将文件上传到一个临时目录下的(该配置项可以在php.ini的”upload_tmp_dir”里进行配置,由于我们的服务器并没有进行过配置,所以php将使用系统的临时目录”C:\Windows\Temp”) 然后PHP再将临时目录中上传的文件再移动到你指定的目录中去。这样就存在一个问题,即Temp目录下默认的权限是没有相应的IIS访问权限的(windows默认配置),当文件上传到该目录时那么上传的文件默认是继承了...
-
密码学中的盐值“Salt”
为什么要在密码里加点“盐” 盐(Salt) 在密码学中,是指通过在密码任意固定位置插入特定的字符串,让散列后的结果和使用原始密码的散列结果不相符,这种过程称之为“加盐”。 以上这句话是维基百科上对于 Salt 的定义,但是仅凭这句话还是很难理解什么叫 Salt,以及它究竟起到什么作用。 第一代密码 早期的软件系统或者互联网应用,数据库中设计用户表的时候,大致是这样的结构: mysql> desc User; +----------+--------------+------+-----+---------+-------+ | Field | Type ...
-
人工智能、机器学习、深度学习之间的关系
人工智能的浪潮正在席卷全球,诸多词汇时刻萦绕在我们耳边:人工智能(Artificial Intelligence)、机器学习(Machine Learning)、深度学习(Deep Learning)。不少人对这些高频词汇的含义及其背后的关系总是似懂非懂、一知半解。下面我们用几张图清晰了解。 ...
-
Doctrine中cascade={"remove"} 、orphanRemoval=true 和 ondelete="CASCADE" 之间的区别
我试着收集了一些和 “删除父entity时,子entity也被自动删除” 有关的、应当遵循的信息。最常见的方式是使用以下三种annotation之一:cascade={“remove”},或是 orphanRemoval=true,或是 ondelete=”CASCADE”。 cascade={“remove”} /** * @OneToMany(targetEntity="B", mappedBy="A", cascade={"remove"}) */ protected $B 在ORM体系下实现应当被用在collection中(因此也在OneToMany或Many...
-
Windows 服务器对于TLS 1.2功能的支持
现在除了苹果等应用,连小程序都要求https支持TLS1.2及以上版本。尽管TLS 1.0和1.1像该协议很多更老旧版本一样,仍未被彻底淘汰,但聪明人都知道,这些版本都有很多缺陷和漏洞。微软自然也宣布进行一项工作来改进Windows系统对TLS 1.2的支持,并鼓励他们的企业客户抛弃此前问题多多的TLS 版本的原因。 Windows系统中,有问题的是老系统Vista、Windows 7和Server 2008。Vista和Server 2008系统已完全不再支持TLS 1.2。在Windows 7和Server 2008 R2系统中,默认情况下也不支持TLS 1.2。 为解决这一问题,微软...
-
小程序 video 组件同层渲染公测
小程序原生组件因脱离 WebView 渲染而存在一些使用上的限制,为了方便开发者更好地使用原生组件进行开发,我们对小程序原生组件引入了 同层渲染 模式。通过同层渲染,小程序原生组件可与其他内置组件处于相同层级,不再有特殊的使用限制。 现阶段,小程序 video 组件 已切换至同层渲染模式。在该模式下,video 组件可以做到: 1、直接通过 z-index 属性对 video 组件进行层级控制; 2、无需使用 cover-view、cover-image 组件来覆盖 video 组件; 3、可在例如 scroll-view、swiper、movable-view 等内置组件中使用 ...
-
php添加水印之全图水印
比如:你是一家靠设计赚钱公司,你的设计可能会被人盗取,加一个水印,或者只加在左下角、正中间也很容易被人去除。为了我们的工作不被恶人盗取,不得不采用全图水印的方式来保护我们的版权。 这里我就介绍一个php加全图水印的方式: 1、准备水印图首先我们要准备一个,水印图片(logo图片),这个图片为半透明的,并且在ps中将他倾斜放置。 2、准备你的测试图 3、直接上代码 <?php $bigImgPath = "bgimage.jpg"; //原图 $logo = "logo.png"; //水印 $im = imagecreatefromstring(file_...
-
支付宝接口中:通知页面notify_url、返回页面return_url的区别
两个页面我建议都要去做: 返回页面: 主要用于用户在支付宝页面付款完毕后自动跳转回你自己的网址, 你根据他的参数告诉用户已经支付成功, 然后你再更新你自己订单表的状态为已支付.异步通知页面: 其实是双保险机制, 如果同步通知后没有跳转到你的网址, 可能用户关了, 可能网速慢, 即无法触发你更新订单状态为已支付的controller, 这时候异步通知就有作用了, 不过你要判断一下, 如果订单已经变为已支付, 则不必再更新一次了, 只返回给支付宝success即可, 否则他会一直异步通知你 一、return_url 同步通知,是给用户看的。买家可以看到。用户付款成功后,从支付宝跳转到...
-
IIS下 woff svg 后缀的文件找不到的解决办法
在使用IIS部署你的程序时,你可能会遇到.woff .woff2 .ttf 这样后缀的文件找不到的错误,页面的字体图标你也看不到。但是你查看程序时,他们的确存在。 那问题出在哪里呢?因为服务器IIS不认SVG,WOFF/WOFF2 这几个文件类型,只要在IIS上添加MIME 类型即可。 解决办法:1、打开我们的服务器IIS管理器,找到MIME类型。 2、添加需要的MIME类型就可以了,下面我列举了一些: 文件扩展名 MIME类型 .woff application/x-font-woff .woff2 application/x-fon...
-
机器学习 - 线性分类器和非线性分类器的区别
上图为非线性分类器,下图为线性分类器。 什么是分类器,就是用来把输入的数据分类的。 上图,黑色的曲线就是非线性分类器,因为他分类了红点和蓝点。下图,黑色的直线就是线性分类器。以直线的方式分类。 线性分类器 线性分类器就是用一个“超平面”将两个样本隔离开,如: (1)二维平面上的两个样本用一条直线来进行分类; (2)三维立体空间内的两个样本用一个平面来进行分类; (3)N维空间内的两个样本用一个超平面来进行分类。常见的线性分类器有:LR,贝叶斯分类,单层感知机、线性回归,SVM(线性核)等。线性分类器速度快、编程方便且便于理解,但是拟合能力低。 (上图:高纬...
-
HTTP3.0有望抛弃TCP协议换用UDP协议
下一代的超文本传输协议,也就是我们熟知的HTTP,可能不会再使用TCP协议。 目前,HTTP 1.0/1.1/2都使用TCP构建传输层,其特点或者说优点在于可靠性、有序性和纠错性。即连接两端收发信息是依序且能够检查错误,如果收方的数据包有问题,可以再次请求发送。 当然,这些都是理想的属性。实际上,TCP被设计成了一种一刀切的解决方案,对于HTTP所使用的场景类型并没有进行特别调优。例如,TCP需要客户端和服务器之间的多次往返来建立连接;使用SSL加密的HTTPS,则需要更多的往返来建立加密连接,一定程度上降低了效率、提高了网络延迟。 在下一版HTTP中,有望引入谷...
-
Symfony4.2 安装数据库出现 Malformed parameter "url".
在使用symfony4.2运行 php bin/console doctrine:database:create 命令时,出现一个错误 In DriverManager.php line 269: Malformed parameter "url". 解决办法: 造成这种情况的原因是:我们的.env文件中配置数据库的密码存在了#号,这是一个doctrine错误。例如密码是:7777#uiun,这样就是不行的。 所以需要我们调整数据的密码。 ...
-
安装mysql8.0.13时遇到服务无法启动,报NET HELPMSG 3534问题
一 、在windows下,输入net start mysql安装服务时,出现以下问题 MySQL 服务正在启动 . MySQL 服务无法启动。 服务没有报告任何错误。 请键入 NET HELPMSG 3534 以获得更多的帮助。 解决办法: 官方的安装文档,发现要用mysqld --initialize 先初始化data目录 如果有data文件夹了,先删除掉,再执行 mysqld --initialize. 二、还有一种可能,我们查看mysql报错,找到.err后缀的文件 2018-12-24T08:15:44.956615Z 0 [ERROR] [MY-01...
-
微信Web开发者工具如何修改AppID
修改小程序项目的APPID,其实很简单。 一、删除工具与源码的关联 点击【管理项目】进入 删除你想要修改APPID的项目。这个删除会有提示:告知你不会删除源码,只会删除此工具与源码的关系。 二、新建小程序并绑定新的AppID这一步,很简单了,我们新建小程序项目。 重新选择我们之前的项目目录,他会自动填充AppID,但这个AppID是可以修改的,因此这一步才是关键,我们就在此处修改我们的AppID。 修改完成后,提交大功告成。 ...