- 博客(71)
- 收藏
- 关注
原创 Java(SpringBoot)框架实现工厂模式的几种方法
该方法一共核心文件包括4个类,下面4个类时具体的使用方式,下面来逐一讲解1、工厂的核心方法(BaseFactory)public class BaseFactory<T extends FactoryService<?>> implements InitializingBean, ApplicationContextAware { private ApplicationContext applicationContext; private Map<Fa
2021-05-30 22:50:49 2432 4
原创 Mac的常用命令
1、查看端口使用情况(port是对应的端口号)MacBook-Pro-4:~ kevin$ lsof -i tcp:portCOMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEjava 2652 kevin 279u IPv6 0xc610d376cccb6d2b 0t0 TCP *:us-cli (LISTEN)2、杀掉线程(port是对应的PID)MacBook-Pro-4:~ kevi
2021-05-28 13:44:17 268
原创 Docker超详细学习教程,简单易懂(小白必看)
事先说明,本教程使用的是Mac版docker桌面版,命令执行都是在Mac终端实现Docker概述与历史该处去官网看一下或者自行百度,个人建议还是要了解一下,毕竟学习一个新技术首先就是要了解该技术,不要觉得无用Docker安装镜像(image):docker镜像就好比是一个模板,就可以通过这个模板来创建容器服务,nginx镜像 ==>run ==> nginx01容器(提供服务器),通过这个镜像就可以创建多个容器(最终服务运行或者项目运行就是在容器中的)容器(Container):
2021-03-05 15:37:14 2862 1
原创 【java消息格式化】使用MessageFormat进行消息格式化
消息格式化的基本使用格式化:匹配数字;格式化:匹配日期;格式化:匹配时间;格式化:多次匹配;MessageFormat用来格式化一个消息,通常是一个字符串。MessageFormat模式的主要部分下面是详细配置:示例程序:基本匹配:String message = "基本匹配:{0}{1}{2}{3}{4}";Object[] array = new Object[] { "A", "B", "C", "D", "E" };String value = MessageForma
2020-09-20 23:32:57 4762
原创 java.lang.IllegalArgumentException: can‘t parse argument number
究其原因是表示占位符的那对花括号,在MessageFormat中用{}来表示占位符,例如:{0},{1},其中的0和1就是对应的替换参数的序号,在花括号中没有数字的情况下就会导致不能解析的错误;解决方案:将这里面存在的特殊符号进行转义一下就可以规避这个报错,但是这里面用的是单引号 ’ 来转义。如下:’{}举例:String str = " '{} won the winner ";String param = "Kevin";String result = MessageFormat.format
2020-09-20 22:24:30 13331 1
原创 Magento获取商品在不同站点下的属性值
$valueAr = Mage::getResourceModel('catalog/product')->getAttributeRawValue(202665, 'fabric', 0);$product = Mage::getModel('catalog/product')->load(202665);$attributeValueAr = $product->getR...
2020-04-02 19:54:57 276
原创 Magento获取后台登录状态及用户信息
在magento开发中,在后台的相关开发中可能经常会使用获取当前登录用户的相关信息用来记录操作日志;下面列举几个常用的方法:1、获取当前登录状态$isLogin = Mage::getSingleton('admin/session')->isLoggedIn();如果登录则返回true,否则返回false2、获取当前用户信息$user = Mage::getSingleton...
2020-01-13 20:27:43 722
原创 MySQL同表相邻数据查询或计算(用户下相邻订单的时间差举例)
这里主要介绍一下,在一张数据表下对相邻的数据进行一个相关查询和计算;拿一个在电商中最常见的情况,计算一下用户首单和第二单的时间间隔这样的数据来举例,如下:idcustomer_idcreated_at112017-07-21 09:43:022122017-07-25 11:37:483102017-07-25 11:43:4141201...
2019-12-07 17:00:21 3683
原创 日期时间格式正则表达式
最近遇到了一个日期格式验证的问题,看了一下网上的感觉不够全,适应的格式比较单一,所以自己补全了一下/^([0-9]{4})(-|\/)([0-1]{1}[0-9]{1}|[0-9]{1})(-|\/)([0-3]{1}[0-9]{1}|[0-9]{1})$/if (preg_match ("/^([0-9]{4})(-|\/)([0-1]{1}[0-9]{1}|[0-9]{1})(-|\/)...
2019-12-04 21:05:01 1083
原创 Magento后台Grid出现Invalid attribute error
有时,在将产品(例如后台评论列表)与其他表连接之后,在过滤或排序过程中,管理面板网格中可能会遇到错误 “Invalid attribute error”。假设如下:其中$collection是商品的集合protected function _prepareCollection(){ $model = Mage::getModel('review/review'); $col...
2019-12-03 19:45:33 387
原创 mysql判断是否包含某字符串的方法
当我们需要对数据做筛选和查询的时候,往往会涉及到筛选或者查询包含某个字符串的情况,下面列出几个实现方法。likelike的用法肯定都很熟悉,它可以匹配字段以某字符串开始,以某字符串结尾,包含有某字符串,用法如下:like ‘string%’,like ‘%string’,like ‘%string%’find_in_set现在我们遇到这样一个需求,字段里面的值存储形式是这样的,‘12,15...
2019-10-30 16:38:11 2132
原创 分位数计算
分位数(Quantile),亦称分位点,是指将一个随机变量的概率分布范围分为几个等份的数值点,常用的有中位数(即二分位数)、四分位数、百分位数等。网上看到的例子:[1,2,3,4,5,6,6,6,6,7,8,9]这个list的90分位数是7.9计算原理:首先将你的输入数组进行从小到大排序,然后计算:(n−1)∗p=i+j其中n为数组元素的个数,将计算结果的整数部分用i表示,小数部分用j...
2019-09-22 18:47:18 9343
原创 PHP/PHPStudy所需的VC9-VC14的运行库
php5.3、5.4和apache都是用vc9编译,电脑必须安装vc9运行库才能运行。php5.5、5.6是vc11编译,如用php5.5、5.6必须安装vc11运行库。php7.0、7.1是vc14编译,如用php7.0、7.1及以上版本必须安装vc14运行库。链接:https://pan.baidu.com/s/1MwkATSb1I5gt6FKwgjNGIQ提取码:a3ib...
2019-09-08 17:11:59 1574
原创 Windows下Redis的下载与安装以及Redis拓展下载与安装
一.redis的下载及安装使用https://github.com/microsoftarchive/redis/releases链接去下载redis服务下载Redis-x64-3.2.100.msi到本地进行安装:注意,到下图这个地方的时候勾选上Add the Redis installation folder to the PATH environment variable,将red...
2019-09-01 15:24:28 697
原创 常见的撞库及防撞库方案
问题:什么是撞库?回答:撞库是黑客通过收集互联网已泄露的用户和密码信息,生成对应的字典表,尝试批量登陆其他网站后,得到一系列可以登录的用户。很多用户在不同网站使用的是相同的帐号密码,因此黑客可以通过获取用户在A网站的账户从而尝试登录B网址,这就可以理解为撞库攻击。问题:常见的撞库有哪些呢?怎么防撞库呢?回答:先介绍一下黑客可能怎么攻击网站,黑客可以通过穷举法来穷举用户/管理员的账户/...
2019-07-06 15:17:16 5270
原创 2分钟搞懂Mysql常用函数
1、SUBSTRING 截取函数从特定位置开始的字符串返回一个给定长度的子字符串。SUBSTRING(string,position);有两个参数:string参数是要提取子字符串的字符串。position参数是一个整数,用于指定子串的起始字符,position可以是正或负整数。例:select substring(content,5) as abstract from my_co...
2019-06-23 20:24:26 270
原创 Magento指定店铺翻译
给指定模块添加对应翻译文件,并在配置文件config.php配置好<config> <frontend> <translate> <modules> <Core> <files> ...
2018-11-29 14:09:09 412
原创 Magento后台添加商品属性集属性集详细教程
第一步进入属性列表页:第二步点击Add New Attribute进入属性添加页面:第三步按照下面样式填写:然后点击Save Attribute保存,然后列表页中就新加了该属性:第四步进入属性集列表页:第五步找到对应属性集,点击进入属性集详情:滑动右半部的属性找到想要添加的属性,然后鼠标点中拖拽该属性到左半部对应位置:点击Save Attribute Set保存...
2018-10-22 18:48:59 1572
原创 Magento中helper类的天生单例
今天在做项目的时候发现了magento中的一个坑,说是坑只是不知道的情况下这就是一个坑,先看一下是哪里的;先看一下下面的代码:public static function helper($name){ $registryKey = '_helper/' . $name; if (!self::registry($registryKey)) { $help...
2018-10-20 20:37:16 316
原创 Magento后台添加商品(Simple Product和Configurable Product)
商品中存在两种状态,一种是Simple Product,一种是Configurable Product;Simple Product商品存在两种,一种是Configurable Product下的Simple Product,一种是由于商品只有这一种所以单独存在的Simple Product!下面介绍着两种商品创建:一、独立存在的Simple Product通过后台Catalog—&amp;gt;Ma...
2018-10-14 17:01:07 2940
原创 magento中的冗余表数据同步
先说一下数据库设计的三范式:第一范式(1NF):确保每一列的原子性如果每一列都是不可再分的最小数据单元,则满足第一范式。第二范式:非键字段必须依赖于键字段如果一个关系满足1NF,并且除了主键以外的其它列,都依赖与该主键,则满足二范式(2NF),第二范式要求每个表只描述一件事。第三范式:在1NF基础上,除了主键以外的其它列都不传递依赖于主键列,或者说: 任何非主属性不...
2018-07-28 15:01:19 231
原创 magento的性能优化
1、预售商品正常商城的商品是有库存的,预售商品意思是无库存概念;正常存在库存: 无库存: 没有库存概念就会在购买的时候省掉减库存操作,就会省掉写数据库的操作,这会节省性能的,减小压力的;具体方法在如下:public function registerProductsSale($items){ $qtys = $this->_prepareProductQ...
2018-06-26 21:11:29 544
原创 Magento中轻量级Load()处理
load商品对象在magento中是很常见的,但是load一次商品对象消耗性能是很大的,因为load的时候会触发很多事件,所以经常load对服务器压力是很大的,有的时候可能只需要很少的数据,但是我们load就会得不偿失,所以这里使用一个轻量级的load;$product = Mage::getModel('catalog/product')->setLite(true)->lo...
2018-06-26 21:06:15 417
原创 Windows下RabbitMQ的安装操作
Rabbit MQ 是建立在强大的Erlang OTP平台上,因此安装Rabbit MQ的前提是安装Erlang。通过下面两个连接可以下载安装最新的版本:下载并安装 Eralng OTP For Windows otp_win64_18.3.exe(erlang的环境) 运行安装 Rabbit MQ Server Windows Installer (v3.6.1) rabbit...
2018-06-24 12:33:31 307
原创 PHP索引数组,用array_values()解决unset()的坑
使用 unset() 需要注意,当使用了unset()之后会将数组原有的索引去掉并且不会重建索引。需要重建索引,可以使用 array_values() 函数。当我们使用PHP的索引数组(key是0,1,2,3,……),同时对数组进行unset操作的时候,PHP会将数组转化为关联数组。当我们使用json_encode的时候,会导致数据结构不一致。这时我们可以使用array_values函数解决这...
2018-06-04 10:19:47 4229
原创 Magento 向商品列表中的商品对象添加指定属性
这里以商品的SKU做例子: 因为商品的SKU在magento中是静态属性非eav属性,所以列表中是没有SKU这个属性的,所以要添加这个属性到列表中,这里面添加的位置有两个:第一个方法:$category = Mage::getModel('catalog/category')-&gt;load($category_id);$products = $category-&gt;get...
2018-05-23 20:29:49 604
原创 array_multisort()根据数组中某个键值对数组进行排序
array_multisort(array1,sorting order,sorting type,array2…)array1:必选,规定数组,指定要进行排序的数组; sorting order:可选,规定排列顺序; - SORT_ASC - 默认。按升序排列 (A-Z)。 - SORT_DESC - 按降序排列 (Z-A); sorting type:可选,规定排...
2018-05-22 21:14:30 3235
原创 Redis消息队列
在Magento中利用redis做消息队列首先在配置文件中配置好redis的相关信息:<config> <global> <redis_queue> <host>127.0.0.1</host> <port>6379</port>
2018-03-09 18:57:41 302
原创 重写Grid添加数据
在magento的Grid中经常会出现_prepareCollection方法中的数据是下面这样筛选添加字段进去的:protected function _prepareCollection(){ $collection = Mage::getResourceModel('sales/order_grid_collection') ->addFieldToS...
2018-03-09 18:55:15 560
原创 magento Grid列表数据导出CSV/XML
在Grid的_prepareColumns中加上下面的两句代码在Grid页面会出现导出文件选项:$this-&gt;addExportType('*/*/exportCsv', $this-&gt;__('CSV'));$this-&gt;addExportType('*/*/exportXml', $this-&gt;__('XML')); 其中这里面的//exportCsv代表...
2018-03-06 18:57:21 859
原创 事务的基本概念和性质以及在magento中的应用
一、事务所谓事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。例如,在关系数据库中,一个事务可以是一条SQL语句、一组SQL语句或者整个程序。事务和程序是两个概念。一般的讲,一个程序中包含多个事务。事务的开始和结束可以由用户显示控制。如果用户没有显示的定义事务,则有DBMS按照缺省规定自动划分事务。在SQL中,定义事务的语句有3条:BEGIN TR...
2018-01-30 18:57:11 302
原创 magento中csv文件批量导入
magento中的CSV文件批量导入,下面是我自己写的一个发放优惠劵的功能,根据订单给用户发放优惠券,用到的字段是increment_id和优惠劵价格:protected function _prepareForm() { $form = new Varien_Data_Form(array( 'id' => 'edit_form',
2018-01-27 16:09:37 444
原创 PHP中的引用赋值
php提供了一种叫作“引用赋值”的方式,也就是让新变量指向原变量,一旦新变量的值发生变化,原变量的值也会随着发生变化,一下面的语句为例由于新变量var2指向原变量var1(前面加上&符号),当新变量var2的值变为“Mary”时,原变量var1的值也会随着变为“Mary”:$var1 = "John"; //原变量var1的值为“John”$var2 = &
2018-01-27 15:20:16 1897 1
原创 array_map()的相关使用
将函数作用到数组中的每个值上,每个值都乘以本身,并返回带有新值的数组,下面用两个例子来解释这个函数的使用方法: 1、$aa = array('aa', 'bb');$aa = array_map(function($item) { $item = $item . 'aa' ; return $item;}, $aa);输出的结果是:Array( [0
2018-01-21 15:51:02 1680
原创 SQL的相关优化
1、尽可能的使用 varchar/nvarchar 代替 char/nchar ,因为首先变长字段存储空间小,可以节省存储空间,其次对于查询来说,在一个相对较小的字段内搜索效率显然要高些。2、任何地方都不要使用 select * from t ,用具体的字段列表代替“*”,不要返回用不到的任何字段。3、对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及...
2018-01-21 15:47:36 348
原创 Magento中Mage::registry (Mage::register)使用方法
用session,cookie可以存储需要的数据,除此之外magento还提供registry存储所需的数据,非常方便和使用。(1)添加Mage::register()Mage::register('name-of-registry-key',$your-data); (2)获得Mage::registry$data = Mage::registry('name-of-registr
2018-01-19 20:12:33 595
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人