摘要: 在涂涂商城开发之前,发现一篇关于电商中 SPU、SKU、ARPU 的介绍,转至博客,原文地址:http://www.ikent.me/blog/3017 什么是SPU、SKU、ARPU 首先,搞清楚商品与单品的区别。例如,iphone 是一个单品,但是在淘宝上当很多商家同时出售这个产品的时候,iph 阅读全文
posted @ 2019-07-31 21:56 niceyoo 阅读(598) 评论(0) 推荐(0) 编辑
摘要: 一、前言 为什么会出现session共享问题? 客户端与服务器交互时会产生唯一的sessionid用于标记用户,但是在分布式架构中,如果还是采用 session 的方式,用户发起请求,通过 nginx 做请求转发时,并不知道是转发到服务器1还是服务器2,所以就会出现session共享问题。 关于分布 阅读全文
posted @ 2019-07-28 11:53 niceyoo 阅读(555) 评论(0) 推荐(0) 编辑
摘要: 一、静态资源服务与动态资源服务的区别 首先动静分离非前后端分离,关于两者的介绍如下: 动静分离:动态资源(jsp、ftl)与静态资源(js、img、css)分开 前后端分离:接口与视图分开独立开发部署 二、为什么静态资源需要实现CDN内容加速 在一个网站中,请求是比较占宽带资源的。 其主要加载内容为 阅读全文
posted @ 2019-07-28 11:15 niceyoo 阅读(990) 评论(0) 推荐(0) 编辑
摘要: 一、准备部分 1、账户注册 腾讯开放平台网址: https://connect.qq.com/index.html 首先需要到开放平台注册QQ互联开发者身份。注册之后创建一个网站应用,注意,需要备案成功的域名才可申请。 2、应用审核 审核通过后如下图所示,审核通过后可以得到 appid 和 appk 阅读全文
posted @ 2019-07-27 18:48 niceyoo 阅读(6594) 评论(0) 推荐(0) 编辑
摘要: 前言 我们在学习 java 基础的时候,从宏观上了解一个类到运行大致是:.java 文件通过 javac 编译器编译得到 .class 文件,在用到该类时,jvm 会加载该 class 文件,并创建对应的 class 对象,将 class 文件加载到 jvm 的内存当中,这个过程也被称之为类加载过程 阅读全文
posted @ 2019-07-24 23:54 niceyoo 阅读(637) 评论(0) 推荐(0) 编辑
摘要: 文章导读 一、回眸过去-- 闲扯的话-- 零碎的技术 二、经验总结-- 沟通交流-- 贵在坚持-- 合理规划 三、展望未来-- 积累行业背景-- 学习清单 四、最后补充 一、 回牟过去 1、闲扯的话 大专生毕业一年工作总结,谈不上予人借鉴,算是对自己过去一年的梳理。 去年此时写了一篇题为《一年工作经 阅读全文
posted @ 2019-07-20 17:00 niceyoo 阅读(2562) 评论(0) 推荐(5) 编辑
摘要: 说明:基于 docker 搭建的 apollo,创建项目后一直报系统出错,请重试或联系系统负责人错误。 项目人员列表一直空白: 经排查是数据库配置参数不匹配,由于自己的虚拟机 ip 为 192.168.10.130 注意:修改完需要重启 说明:基于 docker 搭建的 apollo,创建项目后一直 阅读全文
posted @ 2019-07-18 22:39 niceyoo 阅读(4360) 评论(1) 推荐(0) 编辑
摘要: 为了统一管理微服务配置文件,实现动态化刷新配置文件,常见的两种方式为阿波罗、SpringCloudConfig,关于两者主要区别是: 阿波罗配置文件存放在数据库中,SpringCloudConfig存放在Git里面 一、搭建过程 本篇主要演示阿波罗的搭建方式,详细步骤如下: 1、下载 aploll 阅读全文
posted @ 2019-07-18 21:54 niceyoo 阅读(852) 评论(0) 推荐(0) 编辑
摘要: 为何用到Maven私服? 在实际开发中,项目中可能会用到第三方的jar、内部通讯的服务接口都会打入到公司的私服中。 我们从项目实际开发来看: 一些无法从外部仓库下载的构件,例如内部的项目还能部署到私服上,以便供其他依赖项目使用。 为了节省带宽和时间,在局域网内架设一个私有的仓库服务器,用其代理所有外 阅读全文
posted @ 2019-07-17 22:30 niceyoo 阅读(3663) 评论(0) 推荐(0) 编辑
摘要: 关于Git、SVN的优缺点就不再重复了,本篇主要以实际搭建为主。 1、下载镜像文件 在命令行窗口执行如下指令,预计下载完成4分钟。 docker pull beginor/gitlab-ce:11.0.1-ce.0 注意: 一定要配置镜像加速,不然会非常非常的慢,可参考我之前的一篇文章: docke 阅读全文
posted @ 2019-07-16 21:24 niceyoo 阅读(552) 评论(0) 推荐(0) 编辑
摘要: 在创建父子工程或者聚合工程时产生的大量 .iml 文件,有时会对我们的操作产生干扰,所以,一般情况下,我们都将其隐藏掉,步骤如下: File——>settings——>Editor——>File Types——>Ignore files and foloders中输入*.iml; 操作截图如下: 如 阅读全文
posted @ 2019-07-16 09:52 niceyoo 阅读(3453) 评论(0) 推荐(0) 编辑
摘要: 1、什么是 Volatile? volatile 是一个类型修饰符,具有可见性,也就是说一旦某个线程修改了该被 volatile 修饰的变量,它会保证修改的值会立即被更新到主存,当有其他线程需要读取时,可以立即获取修改之后的值。 在 java 中为了加快程序的运行效率,对一些变量的操作通常是在该线程 阅读全文
posted @ 2019-07-11 22:32 niceyoo 阅读(439) 评论(0) 推荐(0) 编辑
摘要: 1、为什么有线程安全问题? 当多个线程共享同一个全局变量或静态变量,做写的操作时,可能会发生数据冲突问题,也就是线程安全问题。但是做读操作是不会发生数据冲突问题。 案例:现在有100张火车票,有两个窗口同时抢火车票,请使用多线程模拟抢票效果。 代码: public class NewThread1  阅读全文
posted @ 2019-07-09 21:01 niceyoo 阅读(368) 评论(0) 推荐(0) 编辑
摘要: 1、线程与进程的区别 进程是所有线程的集合,每一个线程是进程中的一条执行路径。 比方:通过查看 windows 任务管理器中的列表,我们可以把运行在内存中的 exe 文件理解成进程,进程是受操作系统管理的基本运行单元。 2、为什么要使用多线程? 主要体现在多线程提高程序效率,但是需要注意,并不是使用 阅读全文
posted @ 2019-07-08 23:50 niceyoo 阅读(384) 评论(0) 推荐(0) 编辑
摘要: String 对象可谓再熟悉不过了,与此相关的面试题经常会引出内存性能优化的问题,本篇主要以 new String("123") 创建了几个对象为例记录。 一、你能回答正确吗 String a = "123"; 如上定义的为常量; String b = a +"456"; 如上 b 为变量,为啥? 阅读全文
posted @ 2019-06-27 22:40 niceyoo 阅读(7984) 评论(3) 推荐(6) 编辑
摘要: 1、申请极光账号和建立应用 极光推送的官方网址为:https://www.jiguang.cn/ 注册好后,进入'服务中心',然后再进入'开发者平台',点击创建应用。 这时候会出现新页面,让你填写“应用名称”和上传“应用图标”。 创建完成,极光平台就会给我们两个key。 appKey : 移动客户端 阅读全文
posted @ 2019-06-27 11:23 niceyoo 阅读(5619) 评论(0) 推荐(1) 编辑
摘要: 1、注册和建立高德API应用 高德网站:https://lbs.amap.com/ 控制台-应用管理-创建应用 在创建 Key 2、获得SHA1 进入Flutter项目中的android文件夹内,打开任意一个文件: 比如进入 build.gradle,右上角会有 Open for Editing a 阅读全文
posted @ 2019-06-27 11:16 niceyoo 阅读(6742) 评论(2) 推荐(0) 编辑
摘要: 1、界面分析 通过下图我们可以拆分成 4 部分,头部、订单标题区域、订单列表区域、ListTitle同用部分。 2、UI编写 2.1、头部 主要用到了圆形头像裁剪组件-ClipOval 顶部头像区域Widget _topHeader(){ return Container( width: Scree 阅读全文
posted @ 2019-06-27 11:04 niceyoo 阅读(2580) 评论(0) 推荐(1) 编辑
摘要: 由于 java 有垃圾回收机制,所以往往不太会去关注栈堆的内存分配问题,直至OOM 一、了解栈堆概念 1、堆【存储对象创建实例】 程序开始运行时,JVM从OS获取一些内存,部分是堆内存。堆内存通常在存储地址的底层,向上排列。 堆是一个"运行时"数据区,类实例化的对象就是从堆上去分配空间的; 在堆上分 阅读全文
posted @ 2019-06-25 18:10 niceyoo 阅读(1713) 评论(0) 推荐(1) 编辑
摘要: 记录一次帮助小伙伴将java类打成jar包运行 1、创建java project项目 file > new > project > java project 随便起一个项目名称,finish 完成后项目结构如下: 2、植入java类 将准备好的java类,植入项目中,在 src 目录中,新建包名,例 阅读全文
posted @ 2019-06-23 20:29 niceyoo 阅读(2713) 评论(0) 推荐(0) 编辑
摘要: 本文转载自 夏雪冬日:https://www.cnblogs.com/heyonggang/p/9112731.html 在实际面试过程中出现集合 Map 的概率接近 100%,可见不背上个 Map 相关的题目都不好意思去面试了。 如果你去面试,面试官不问你这个问题,你来找我^_^ 下面直接来干货, 阅读全文
posted @ 2019-06-23 19:56 niceyoo 阅读(1514) 评论(0) 推荐(2) 编辑
摘要: 饿补一下Flutter中Http请求的异步操作。 Dart是一个单线程语言,可以理解成物理线路中的串联,当其遇到有延迟的运算(比如IO操作、延时执行)时,线程中按顺序执行的运算就会阻塞,用户就会感觉到卡顿,于是通常用异步处理来解决这个问题。 Dart异步编程有两种方式:Future和Stream F 阅读全文
posted @ 2019-06-20 10:02 niceyoo 阅读(5121) 评论(1) 推荐(1) 编辑
摘要: 1、获取接口的方法 在service/service_method.dart里制作方法。我们先不接收参数,先把接口调通。 Future getHomePageBeloConten() async{ try{ print('开始获取下拉列表数据.................'); Response 阅读全文
posted @ 2019-06-19 23:45 niceyoo 阅读(726) 评论(0) 推荐(0) 编辑
摘要: 1、楼层标题组件 该组件非常简单,只接收一个图片地址,然后显示即可: class FloorTitle extends StatelessWidget { final String picture_address; FloorTitle({this.picture_address}); @overr 阅读全文
posted @ 2019-06-19 23:19 niceyoo 阅读(613) 评论(1) 推荐(0) 编辑
摘要: 底栏切换每次都重新请求是一件非常恶心的事,flutter 中提供了AutomaticKeepAliveClientMixin 帮我们完成页面状态保存效果。 1、AutomaticKeepAliveClientMixin AutomaticKeepAliveClientMixin 这个 Mixin 是 阅读全文
posted @ 2019-06-19 22:01 niceyoo 阅读(3985) 评论(1) 推荐(0) 编辑
摘要: 1、推荐商品类的编写 这个类接收一个List参数,就是推荐商品的列表,这个列表是可以左右滚动的。 /*商品推荐*/class Recommend extends StatelessWidget { final List recommendList; Recommend({Key key, this. 阅读全文
posted @ 2019-06-19 21:45 niceyoo 阅读(590) 评论(0) 推荐(0) 编辑
摘要: 1、生成签名文件 在打包之前我们需要一个签名文件,证明文件的唯一性。 keytool -genkey -v -keystore F:\APP\sign.jks -keyalg RSA -keysize 2048 -validity 10000 -alias sign F:\APP\sign.jks为 阅读全文
posted @ 2019-06-18 17:03 niceyoo 阅读(7779) 评论(0) 推荐(0) 编辑
摘要: 效果图 右击新建 ping.bat 文件(ping为文件名称,随便起),内容如下: cscript ping.vbs 127.0.0.1 -t >log.txt 127.0.0.1 修改为你自己的ip地址,log 为记录日志的文件名 右击新建 ping.vbs 文件(ping为文件名称,随便起,但是 阅读全文
posted @ 2019-06-17 11:15 niceyoo 阅读(6146) 评论(1) 推荐(3) 编辑
摘要: 拨打电话的功能在app里也很常见,比如一般的外卖app都会有这个才做。其实Flutter本身是没给我们提供拨打电话的能力的,那我们如何来拨打电话那? 1、编写店长电话模块 这个小伙伴们一定轻车熟路了,我也就不再多介绍吧。直接看代码,相信都能看懂。 class LeaderPhone extends  阅读全文
posted @ 2019-06-17 09:29 niceyoo 阅读(552) 评论(0) 推荐(0) 编辑
摘要: 1、AdBanner组件的编写 我们还是把这部分单独出来,需要说明的是,这个Class你也是可以完全独立成一个dart文件的。代码如下: 广告图片class AdBanner extends StatelessWidget { final String advertesPicture; AdBann 阅读全文
posted @ 2019-06-17 09:27 niceyoo 阅读(404) 评论(0) 推荐(0) 编辑
摘要: 1、导航单元素的编写 从外部看,导航是一个GridView部件,但是每一个导航又是一个上下关系的Column。小伙伴们都知道Flutter有多层嵌套的问题,如果我们都写在一个组件里,那势必造成嵌套严重,不利于项目以后的维护工作。所以我们单独把每一个自元素导航拿出来,一个方法,返回一个组件。 代码如下 阅读全文
posted @ 2019-06-15 22:48 niceyoo 阅读(1138) 评论(0) 推荐(0) 编辑
摘要: 1、flutter_ScreenUtil插件简介 flutter_ScreenUtil屏幕适配方案,让你的UI在不同尺寸的屏幕上都能显示合理的布局。 插件会让你先设置一个UI稿的尺寸,他会根据这个尺寸,根据不同屏幕进行缩放,能满足大部分屏幕场景。 github:https://github.com/ 阅读全文
posted @ 2019-06-15 22:45 niceyoo 阅读(1968) 评论(0) 推荐(0) 编辑
摘要: 1、引入flutter_swiper插件 flutter最强大的siwiper, 多种布局方式,无限轮播,Android和IOS双端适配. 好牛X得介绍,一般敢用“最”的一般都是神级大神,看到这个介绍后我也是吃了碗贾玲代言的方便面(一桶半),压了压我激动的心情。 Flutter_swiper的Git 阅读全文
posted @ 2019-06-15 22:41 niceyoo 阅读(3477) 评论(0) 推荐(0) 编辑
摘要: 1、URL接口管理文件建立 第一步需要在建立一个URL的管理文件,因为课程的接口会一直进行变化,所以单独拿出来会非常方便变化接口。当然工作中的URL管理也是需要这样配置的,以为我们会不断的切换好几个服务器,组内服务器,测试服务器,内测服务器,公测上线服务器。 所以说一定要单独把这个文件配置出来,这也 阅读全文
posted @ 2019-06-15 22:34 niceyoo 阅读(1431) 评论(0) 推荐(0) 编辑
摘要: 在很多时候,后端为了安全都会有一些请求头的限制,只有请求头对了,才能正确返回数据。这虽然限制了一些人恶意请求数据,但是对于我们聪明的程序员来说,就是形同虚设。这篇文章就以极客时间 为例,讲一下通过伪造请求头,来获取极客时间首页主要数据。(不保证接口和安全措施一直可用哦,赶快练习吧) 查看极客时间的数 阅读全文
posted @ 2019-06-15 22:31 niceyoo 阅读(1514) 评论(0) 推荐(0) 编辑
摘要: 上篇文章中,我们只看到了 dio 的使用方式,但并未跟应用关联起来,所以这一篇将 dio 网络请求与应用界面结合起来,当然这也是为以后的实战作基础准备,基础打牢,我们才能飞速前进。 1、案例说明 我们还是作去“大保健”选择服务对象这个例子,不过这次我们使用按钮和动态组件来实现。具体业务逻辑是这样的: 阅读全文
posted @ 2019-06-15 21:19 niceyoo 阅读(1048) 评论(0) 推荐(0) 编辑
摘要: 这篇开始我们学习Dart第三方Http请求库dio,这是国人开源的一个项目,也是国内用的最广泛的Dart Http请求库。 1、dio介绍和引入 dio是一个强大的Dart Http请求库,支持Restful API、 FormData、拦截器、请求取消、Cookie管理、文件上传/下载、超时和自定 阅读全文
posted @ 2019-06-15 21:14 niceyoo 阅读(2214) 评论(0) 推荐(0) 编辑
摘要: 关于界面切换以及底栏的实现可参考之前写的一篇文章:Flutter实 ViewPager、bottomNavigationBar界面切换 1、新建4个基本dart文件 在pages目录下,我们新建下面四个dart文件。 home_page.dart :商城首页UI页面,首页相关的UI我们都会放到这个文 阅读全文
posted @ 2019-06-14 20:45 niceyoo 阅读(840) 评论(0) 推荐(0) 编辑
摘要: 1、cupertino_IOS风格介绍 在Flutter里是有两种内置风格的: material风格: Material Design 是由 Google 推出的全新设计语言,这种设计语言是为手机、平板电脑、台式机和其他平台提供一致,更广泛的外观和感觉。我喜欢称它为纸墨设计。Material Des 阅读全文
posted @ 2019-06-14 20:43 niceyoo 阅读(1026) 评论(0) 推荐(0) 编辑
摘要: 环境搭建请参考之前写的一篇文章:Flutter_初体验_创建第一个应用 1、创建项目 采用AndroidStudio构建本项目,FIle>New>New Flutter Project… 创建后的项目如下图所示: 我们着重需要注意一下几个文件夹,其他的暂时不用理会 文件夹作用 android and 阅读全文
posted @ 2019-06-14 09:12 niceyoo 阅读(1123) 评论(0) 推荐(0) 编辑