2020年8月31日星期一

家居装修要注意八类健康禁忌

  装修劳心费力自不用说,更不容忽视的还是健康、环保问题。据一项针对白血病患儿的调查显示,其中有八成在新装修的房子中居住过。

  涂料忌有"香味"。

  涂料选择不当的危害在于,其含有苯等挥发性有机化合物,以及重金属。市场上有部分伪劣的"净化"产品,通过添加大量香精去除异味,实际上起不到消除有害物质的作用。因此,买涂料最好选择没有味道的,使用前应打开涂料桶,亲自检查一下:一看,看有无沉降、结块或严重的分层现象,若有则表明质量较差;二闻,闻着发臭、刺激性气味强烈的不好;三搅,用棍轻轻搅动,若抬起后,涂料在棍上停留时间较长、覆盖较均匀,则表明质量较好。进行墙面涂饰时,还要注意基层的处理,禁止使用107胶,也别用调和漆或清漆,否则会造成甲醛和苯双重污染。

  地板忌用一种。

  地板一般有人造板、复合板和地砖等多种类型,单一使用有可能导致某一种有害物质超标。比如实木地板虽说是最环保的,但有油漆,可能造成苯污染;复合地板含甲醛,只用这一种甲醛就容易超标了。建议客厅铺瓷砖,卧室、书房用实木地板,搭配使用对健康最有利。尤其需注意的是,地板下别铺大芯板,否则也易致甲醛严重超标;瓷砖一定要选"A"级产品,其有害物质量符合国家标准,可在室内使用。

  卫生间忌无返水弯。

  卫生间的选材非常重要,有条件的可以采用能抗菌、抗霉变的瓷砖,而且最好防滑;天花板受水蒸气影响,最易发霉,应选用防水耐热的材料。此外,下水道的返水弯和地漏至关重要,却极易被忽视,最好买正规厂家符合标准的产品。地漏水封应该超过2公分;洗面盆下面一定要安装返水弯,可防止下水道异味、细菌、病毒、臭气、蟑螂、蝇蝶侵入并污染。

  厨房台面少用花岗岩。

  厨房装修材料除了应防水防火以外,操作台面选择放射性低的也非常重要。有研究显示,浅色花岗岩,如白色、红色、绿色等,比深色花岗岩的辐射更强。若青睐天然石材的话,大理石是不错的选择。

  家具忌有裸露面。

  同等大小的空间里,放一两件家具和放很多家具的环保系数肯定有区别,堆砌容易导致污染物超标。选择家具时应注意一闻二看:闻闻有没有强烈的刺激性气味,若味道冲鼻、刺眼,说明有害气体释放量较高;看看家具有没有裸露的端面,裸露材料会导致有害物质释放。宋广生说,他家的家具都是从家具厂订做的,要求全部封边,这样就可把甲醛封在里面,板材也要选择双面板。

  壁纸忌用一种颜色。

  壁纸是目前使用最广的墙面装饰材料,但用色不当也会引发健康问题。金色易反射光,对眼睛伤害大;橙色影响睡眠质量,不宜用在卧室,但它有诱发食欲的作用,可装点餐厅;黄色减慢思考速度,不宜用在书房;卫浴间可用蓝色增加神秘感和隐私感;黑色过于沉重、粉红色时间长了会心情烦躁,均应避免大面积使用。使用时各种颜色应互相搭配,最好不要只用一种颜色。更重要的是,壁纸本身,以及贴壁纸时所用的壁纸胶等基层处理材料也含有害物质,可向室内释放大量有机物,如甲醛、氯乙烯、苯、甲苯、二甲苯、乙苯等,购买时一定要选择环保材料。

  装饰布忌买来就用。

  新家里,窗帘、桌布、沙发套、门帘、地毯这些装饰布,很多人买回后就直接使用。其实,装饰布在生产过程中,常会加入人造树脂等助剂,以及染料、整理剂,其中含有甲醛。尤其是深色布料,以及经抗皱、柔软等特殊处理的布料,甲醛含量更大。因此,装饰布买回后别忙着用,最好先在清水中充分浸泡,以减少残留在上面的甲醛含量。选购时,不要买有刺鼻异味的,颜色越浅越安全。

  灯具忌过于花哨。

  灯具用好了有时尚、温馨之感,用得不当则可能成为室内彩光污染的主要来源。彩色光源会让人眼花缭乱,还会干扰大脑中枢神经,使人头晕目眩、恶心呕吐、失眠等。因此,室内灯具选择时应尽量避免旋转灯、闪烁灯,以及彩色和样式过于复杂的大功率日光灯,建议选柔和的节能灯,既环保,又把"光污染"的影响减少到最小。书房、厨房要选择色温较高的光源(色温大于3300K);起居室、卧室、餐厅宜采用暖色光源(色温小于3000K);辅助光源,如壁灯、台灯,选择时需避免其亮度与周围环境亮度相差过大。

  大家应逐渐树立"轻装修、重装饰"的概念。装修时,使用的材料越多、越复杂,污染物可能越多。另外,装修结束后,最好找有资质的检测中心检测,确保各种污染物不超标后再入住。

(责任编辑:徐晓宇 实习编辑:姜文苑)

家居装修要注意八类健康禁忌亚马逊点滴常识跟我学"新新之火,必将燎原"跨境电商亚马逊平台干货分享沙龙亚马逊站内营销详解美国站 站外deal如何提升亚马逊产品排名?浅析亚马逊产品运营技巧Pinterest第二季度营收2.61亿美元,同比增长62%!Shopee马来西亚站运费怎么定价?不搞懂会亏死!亚马逊断货之后,如何重新拉动Listing的销量?

警惕!厨房“细菌炸弹”要提防

  喜欢做美食,喜欢待在厨房,但是,光是这一点还是不够哦!我们还要了解更多的厨房健康知识,美食是需要诞生在健康的环境中,才能让人吃得放心哦!那么,厨房的"细菌炸弹"究竟有哪些呢?下面为你一一揭晓。

  厨房"细菌炸弹"

  炸弹一、厨房炉灶

  厨房的炉灶是我们经常使用的地方,做菜的时候很容易不小心把调味料或者是菜汁掉落到炉灶台上面。长此以往不清洁的话,就会成为细菌的滋生地。

  杀菌剂:把柠檬或是橘子的皮,放入水中煮沸,待到水冷却后用布蘸湿,就可以轻松擦洗煤气炉、燃气炉上的污垢。还可以用粘稠的米汤涂在炉灶上,待干燥后,米汤结痂,会把油污粘在一起,只要清洁米汤的结的痂就可以轻松除去污垢啦!

  炸弹二、菜板

  菜板也是滋生细菌的重要场所,因此生熟要分开、荤素也要分开。

  杀菌剂:清洗菜板时,先在菜板上铺一层纸巾,然后把醋和温水的混合物倒在上面,5~10分钟后把纸巾揭开,再用清水清洗,这样既可以清除污垢、除去异味,还有除菌的功效哦!

  炸弹三、洗涤槽

  很多人为了方便喜欢把碗碟放在水槽中,这会让这里成为细菌的滋生地。在你清洁完它们之后,其实细菌还有残留,简单的冲洗并不能够消灭它们。

  杀菌剂:提前用肥皂和水清洁,然后用4升水稀释3/4杯漂白剂,或者使用含有漂白剂的全能清洁剂。使用这样的溶液或者清洁剂擦拭水槽,等至少五分钟。

  炸弹四、水龙头套管

  在清洗莴笋,菠菜这类蔬菜时,从上面冲洗下来的污垢会飞溅到水槽里的水龙头套管上,给细菌创造另外一个休息场所。

  杀菌剂:扭开水龙头,取下过滤网,让热水流过。然后用热肥皂水清洗过滤网,然后冲洗,重新组装。

  炸弹五、水龙头旋塞

  多数人家里都不会安装像机场那样的感应龙头,所以脏手肯定会把水龙头和把手弄脏。

  杀菌剂:用抗菌抹布每天清洁将减少细菌的量,但你可能需要使用几块抹布来反复擦拭确保物体表面杀菌成功。

  炸弹六、海绵百洁布

  众所周知,细菌喜欢隐藏在潮湿的裂缝中。用脏的海绵会把细菌传递到厨房的其他地方。

  杀菌剂:确保每周清洗它们,当它们开始掉渣之后就一定要丢掉。警惕!厨房"细菌炸弹"要提防产品规划与品牌运营比酷尔亚马逊电商培训见面会 泉州站决战亚马逊旺季之巅跨境快讯:亚马逊Prime Day卖家战绩喜人,Lazada年中大促单量猛增!还在担心亚马逊真人测评的核心数据被员工窃取?亚马逊英国站健康和安全问题曝光,还被人形容为"黑作坊"?Wish Tags助力产业带抱团出海,新型贸易平台虚位以待

防治皮肤干燥瘙痒 按摩百虫窝穴

  如今,天气越来越干燥,人们的皮肤也随之干燥。有些人感觉皮肤干燥外,还感觉皮肤异常瘙痒。中医认为,冬天防治皮肤瘙痒,可通过穴位按摩。按摩百虫窝穴,对防治皮肤瘙痒有较好的疗效。

  什么是百虫窝穴?该穴位又名血郄,属于经外奇穴,出自明代《针灸大全》。由于本穴善治各种虫邪侵袭之病,有如直捣百虫之窝穴,故如此命名。百虫窝穴位于大腿内侧,髌底内侧端上3寸,即脾经血海穴上1寸,坐正屈膝或仰卧取之,它具有祛风活血,驱虫止痒之功效。

  百虫窝除可以治疗皮肤疾病外,对于蛔虫病、膝关节病、肾脏风疮、产后风等病症,也有很好的效果。皮肤易干燥瘙痒的人群,可按摩百虫窝穴以缓解症状。

  针灸百虫窝穴,治皮肤瘙痒

  做针灸的人,一提到治疗皮肤问题,很多人经常使用曲池、血海、肺俞等几个耳熟能详的穴位,殊不知,还有一个很重要的穴位往往容易被大家忽视,那就是"百虫窝"。百虫窝穴可针可灸,可埋线,亦可注射,可单独使用,亦可联合其它穴位使用,对治疗皮肤疾病如荨麻疹,皮肤瘙痒症,风湿痒疹,阴囊湿疹,下部生疮等有比较好的效果。

(责任编辑:徐晓宇)

防治皮肤干燥瘙痒 按摩百虫窝穴福茂品牌大学决战亚马逊之Google营销深度精讲掌握这几个"索评"小技巧,0差评so easy!亚马逊选品背后的逻辑跨境电商"两超多强"局面,谁与争锋?市场盘点:2019年加拿大十大电子商务网站 25个视频分享网站,免费推广的同时还能赚钱!

路易威登LV独立合作系列限时活动

路易威登于北京SKP南馆中庭及成都太古里东广场举办限时活动路易威登于北京SKP南馆中庭及成都太古里东广场举办限时活动

路易威登男装艺术总监Virgil Abloh基于长久深厚的友情,邀请到日本设计师、街头品牌Human Made创始人Nigo,为路易威登设计LV2独立合作系列。围绕路易威登核心理念之一的旅行真谛,通过东京式镜头描摹伦敦摩登时代的丹迪风格。两位设计师将各自的设计风格巧妙结合,为LV2系列定下基调。该系列包括成衣、皮具、鞋履和配饰等品类,融合了诸多趣味图案并对经典路易威登标识重新演绎。

路易威登标志性双肩包、斜挎包、休闲手袋及Horizon旅行箱保留了原有的经典造型,并以颇具特色的潮流元素凸显焕然一新的观感。两位设计师通过 Damier 格纹与 Monogram 图案的拼接创意,致敬路易威登的早期风格。

路易威登LV独立合作系列限时活动

成衣设计中处处可见传统旅行主题的烙印。Virgil Abloh的设计风格中嵌入 Nigo 的精妙细节,打造出全然不同的时尚廓形。不规则剪裁的摩登风格西装,使用放大版路易威登的Damier格纹图案。该图案还在双面粗呢大衣的微型格纹衬里中再次出现。路易威登经典Monogram图案和Damier格纹图案的以拼接、刺绣与印花等不同形式,运用到了牛仔服饰之中。一款飞行员夹克饰有"LV Made"和日本富士山两种图案,正是对Nigo创立的日本品牌Human Made的致敬。

LV2 鞋履设计包括经黑色与 Monogram 印花款皮革便鞋、由米黄色与乌木色绒面皮革及平纹皮革制成的 Monogram 印花款及踝靴以及凉拖。另有蓝色Monogram 牛仔版本的LV Cosy长靴和LV Cosy Ankle及踝靴选用羊毛内衬,展现摩登风格的同时又分外舒适。

路易威登LV独立合作系列限时活动

Nigo标志性的北极熊造型化身为零钱包和包饰,体现LV2的新潮美学。另有多款首饰,都饰有LV2标识。Squared LV吊坠项链,吊坠上手工镶嵌了327颗水晶;Squared LV手镯则由弯曲的银色金属打造;Squared LV戒指有了更为大胆摩登的造型,方形戒面双指戒十分前卫。

路易威登于北京SKP南馆中庭及成都太古里东广场限时活动场地路易威登于北京SKP南馆中庭及成都太古里东广场限时活动场地

路易威登LV2独立合作系列限时活动的场地设计充满活力,墙面和地面布满亮黄色Monogram图案。作为本次合作系列的主题形象,巨型玻璃钢制"LV Made"鸭子装置位于入口处,Nigo 标志性的融化冰淇淋图案点缀墙面,处处呼应LV2系列独有的印花与图案。

特别限时活动信息

北京SKP南馆D1003:  北京市朝阳区建国路86号

成都远洋太古里东广场:四川省成都市锦江区中纱帽街8号

开放时间: 2020年8月28日至9月20日,每日10:00 - 22:00

路易威登LV独立合作系列限时活动亚马逊平台选品与优化巴克莱google趋势亚马逊欧洲站VAT风云!德国刚告一段落,法国又要沦陷了吗?速卖通燕文航空线路线上发货运费调整 / 沃尔玛日收13.7亿美金网易考拉投身阿里巴巴背后的事实,你了解多少?黑五倒计时,姐夫又开始删评了,还专删好评!2020最全亚马逊选品运营实操指南

如何应对亚马逊投诉之—— 中立评估程序的不侵权抗辩

周先生多年来从事汽车用品的研发和生产,由于非常有知识产权意识,周先生委托舜立围绕该产品的核心结构及其迭代技术布局了几十个国内外的专利,其中也包括美国外观和发明专利。

随着全球市场竞争激烈,周先生收到亚马逊上的多个代理商消息,指其汽车用品的店铺链接陆续收到一位美国发明专利权人的投诉,产品链接已被下架不能正常销售。

周先生对自己多年研发的产品非常有自信,经过舜立分析对比后发现,周先生的产品与投诉人的美国发明专利技术差异很大,从发明构思到具体实施方式均不相同,周先生的产品并不落入美国发明专利的保护范围。

一开始周先生仅提供了产品对比资料,证明产品不同点就得到亚马逊同意恢复链接。但在接下来的2年内,时不时还收到专利权人的投诉或警告信骚扰。近日该美国专利权人继续投诉并启动亚马逊中立评估程序,要求亚马逊马上下架了2个店铺的产品链接,迫使周先生缴纳8000美金、支持2个店铺应对中立评估程序。

周先生委托舜立沉着应对,一一对比产品结构与美国发明专利权利要求中技术特征的区别,形成报告说明产品并不落入权利的保护范围。最后,仅仅历时1月,中立程序审查结果就出来了:主审官认为周先生产品并不落入美国发明专利的保护范围,不构成专利侵权!随即亚马逊恢复产品链接。

亚马逊中立程序介绍

为了有效地解决第三方产品清单侵犯发明专利的指控,亚马逊提供了一个简单、低成本的程序,称为专利中立评估程序(NPE)。主要内容就是直接向第三方卖家和美国发明专利权人开放中立的专利侵权评估程序——当拥有专利的卖家(专利权人)发现自己的产品被山寨跟卖时,可以使用这一功能,向律师提供相关的信息,而律师会对拥有专利的卖家(专利权人)提出的申请进行评估并决定是否要将山寨产品删除。

亚马逊中立程序的流程

1、美国专利权人(投诉人)列出侵犯其专利的产品的亚马逊条码ASIN(不超过50个),

2、亚马逊会将该协议发给列出被指控的每个卖家,并给予卖家2个选择:

要么在三周内签署并归还协议,将所有信息写在附录2中表示同意进入中立评估程序,并交纳评估费用为4000美金;

要么从亚马逊上删除被指控的产品。

3、在收到卖家的资料后,亚马逊会从有美国专利纠纷经验的律师名单中选择一个中立的个体作为评估者。

4、中立的第三方律师会对这些产品是否侵权进行快速评估。如果律师得出结论,被指控的产品侵犯了专利,亚马逊将强制删除该产品。中立律师的评估费用由在评估中失败的一方承担,而亚马逊不会从中收取任何费用。

5、关于评估费用的处理:

①若律师认为,专利权人可以证明所有被指控的产品都存在侵权行为,律师将退还其支付的4000美金,而4000美金的费用将由参与评估的卖家平摊。

②若律师认为,专利权人不能证明被指控的任意一个产品侵权,律师将退还卖家的款项并保留专利权人的4000美元。

③若律师认为专利权人可以证明被指控的部分产品侵权(而部分不侵权),第三方律师将:

(i)从专利所有人的定金中保留$2000及退还余款;

(ii)对无侵权行为的卖家退还全部款项;

(iii) 对被控产品侵权的卖家收取$2000,这2000美金将由多个被控侵权店铺平摊。

(来源:知识产权商学院)

以上内容属作者个人观点,不代表立场!本文经原作者独家授权供稿。

如何应对亚马逊投诉之—— 中立评估程序的不侵权抗辩平台政策点通"星耀2017"Wish金玖秋季卖家峰会现场直播亚马逊新手卖家,该注意哪些坑?Shopify:一个数百亿市值公司的歪打正着的故事品牌备案后无法做A+,如何解决?引爆圣诞季,如何通过Facebook获取Review!

由浅入深理解 IOC 和 DI

目录

  • 由浅入深理解 IOC 和 DI
    • 开闭原则 OCP(Open Closed Principle)
    • 面向抽象编程
    • 逐步理解实现 IOC 和 DI 的过程(LOL Demo 示例)
      • 比较尴尬的编写程序添加需求/更改需求的做法
      • 使用 interface 接口统一方法的调用
      • 使用工厂模式把对象实例化的过程隔离
      • 使用反射隔离工厂中的变化,让用户直接输入一个对象
      • IOC/DI/DIP

由浅入深理解 IOC 和 DI

开闭原则 OCP(Open Closed Principle)

  • 对扩展开放,对修改封闭。
    • 修改一处代码可能会引起其他地方的 bug,最好的方式就是新增业务模块/类代替原来的业务模块/类,使出现 bug 的几率变小。
  • 必须满足此原则的代码才能算作好的可维护的代码。

面向抽象编程

  • 只有面向抽象编程,才能够逐步实现开闭原则。
    • 面临的两个问题:
      • 统一方法的调用。
      • 统一对象的实例化。
  • 可实现面向抽象编程的语法:
    • 接口(interface)
    • 抽象类(abstract)
  • 只有有了接口和抽象类的概念,多态性才能够得到很好的支持。
  • 面向抽象编程的目的: 实现可维护的代码,实现开闭原则。
    • 面向抽象 -> OCP -> 可维护的代码

逐步理解实现 IOC 和 DI 的过程(LOL Demo 示例)

比较尴尬的编写程序添加需求/更改需求的做法

  • 程序示例:

    • 各英雄类

      /*** <p>* Camille 英雄* </p>** @author 踏雪彡寻梅* @version 1.0* @date 2020/7/28 - 10:21* @since JDK1.8*/public class Camille { public void q() {  System.out.println("Camille Q"); } public void w() {  System.out.println("Camille W"); } public void e() {  System.out.println("Camille E"); } public void r() {  System.out.println("Camille R"); }}/** * <p> * Diana 英雄 * </p> * * @author 踏雪彡寻梅 * @version 1.0 * @date 2020/7/28 - 10:00 * @since JDK1.8 */public class Diana { public void q() {  System.out.println("Diana Q"); } public void w() {  System.out.println("Diana W"); } public void e() {  System.out.println("Diana E"); } public void r() {  System.out.println("Diana R"); }}/** * <p> * Irelia 英雄 * </p> * * @author 踏雪彡寻梅 * @version 1.0 * @date 2020/7/28 - 10:16 * @since JDK1.8 */public class Irelia { public void q() {  System.out.println("Irelia Q"); } public void w() {  System.out.println("Irelia W"); } public void e() {  System.out.println("Irelia E"); } public void r() {  System.out.println("Irelia R"); }}
    • 选择英雄释放技能 main 函数

      /** * <p> * 传统编写程序添加需求/更改需求的做法 * </p> * * @author 踏雪彡寻梅 * @version 1.0 * @date 2020/7/28 - 10:01 * @since JDK1.8 */public class Main { public static void main(String[] args) {  // 选择英雄  String name = Main.getPlayerInput();  // 新增英雄时需要改此处代码  switch (name) {   case "Diana":    Diana diana = new Diana();    diana.r();    break;   case "Irelia":    Irelia irelia = new Irelia();    irelia.r();    break;   case "Camille":    Camille camille = new Camille();    camille.r();    break;   default:    break;  } } private static String getPlayerInput() {  Scanner scanner = new Scanner(System.in);  System.out.println("请输入一个英雄的名称: ");  return scanner.nextLine(); }}
  • 从上面的代码,可以看出以下几点:

    • 当增加新的英雄时,需要修改 switch 处的代码,增加新的 case
    • 各个 case 中的代码都存在着 new 一个某某英雄,并且调用了释放技能的方法。
    • 在真实项目中,大量存在着这样的 new 是不好的,因为真实项目中类和类的依赖是非常之多的,这个类依赖那个类,那个类又依赖了另一个类。
    • 如果大量存在着这样的 new 操作,代码间的耦合度将变得非常高,当某个类的需求产生变化的时候,一旦修改代码,其他依赖这个类的地方就很有可能引起很多 bug,同时依赖的地方也可能需要修改大量的代码。
    • 通过上面例子也可以看出,在创建实例对象之后,会调用这个对象的方法,上面的例子只是简单地调用了一个方法,而在真实项目中,依赖的类可能需要调用它的很多方法。
    • 所以一旦依赖的这个类的代码产生了变化,比如某某方法不用了,依赖的地方就需要删除这个调用,而依赖这个类的类很可能有许多个,就需要更改很多地方的代码,可见耦合度之高,这也就是为什么这种代码一旦修改,就很可能出现多个 bug 的原因。
    • 所以,对于这种代码,是需要优化和改良的,不能依赖的太过具体,而是要依赖抽象,即面向抽象编程,下面就一步步演进这个过程,达到逐步理解 IOCDI 的目的。

使用 interface 接口统一方法的调用

  • 程序示例:

    • 英雄技能接口类

      /** * <p> * 英雄技能接口类 * </p> * * @author 踏雪彡寻梅 * @version 2.0 * @date 2020/7/28 - 10:31 * @since JDK1.8 */public interface ISkill { void q(); void w(); void e(); void r();}
    • 各英雄类

      /** * <p> * Camille 英雄 * </p> * * @author 踏雪彡寻梅 * @version 2.0 * @date 2020/7/28 - 10:21 * @since JDK1.8 */public class Camille implements ISkill { @Override public void q() {  System.out.println("Camille Q"); } @Override public void w() {  System.out.println("Camille W"); } @Override public void e() {  System.out.println("Camille E"); } @Override public void r() {  System.out.println("Camille R"); }}/** * <p> * Diana 英雄 * </p> * * @author 踏雪彡寻梅 * @version 2.0 * @date 2020/7/28 - 10:00 * @since JDK1.8 */public class Diana implements ISkill { @Override public void q() {  System.out.println("Diana Q"); } @Override public void w() {  System.out.println("Diana W"); } @Override public void e() {  System.out.println("Diana E"); } @Override public void r() {  System.out.println("Diana R"); }}/** * <p> * Irelia 英雄 * </p> * * @author 踏雪彡寻梅 * @version 2.0 * @date 2020/7/28 - 10:16 * @since JDK1.8 */public class Irelia implements ISkill { @Override public void q() {  System.out.println("Irelia Q"); } @Override public void w() {  System.out.println("Irelia W"); } @Override public void e() {  System.out.println("Irelia E"); } @Override public void r() {  System.out.println("Irelia R"); }}
    • 选择英雄释放技能 main 函数

      /** * <p> * 使用 interface 统一方法的调用 * </p> * * @author 踏雪彡寻梅 * @version 2.0 * @date 2020/7/28 - 10:29 * @since JDK1.8 */public class Main { public static void main(String[] args) throws Exception {  ISkill iSkill;  // 选择英雄  String name = Main.getPlayerInput();  // 新增英雄时也需要改此处代码  // 这个 switch 提取成一个方法(例如工厂模式)之后,这里的代码就会变得简单  // 只有一段代码不负责对象的实例化,即没有 new 的出现,才能保持代码的相对稳定,才能逐步实现 OCP  switch (name) {   case "Diana":    iSkill = new Diana();    break;   case "Irelia":    iSkill = new Irelia();    break;   case "Camille":    iSkill = new Camille();    break;   default:    throw new Exception();  }  // 调用技能,现在这个版本使用接口统一了方法的调用,但还不能统一对象的实例化  // 统一了方法的调用是意义非常重大的  // 真实项目中,方法的调用可能非常的多或者复杂,这种情况下把方法的调用统一起来,集中在一个接口的方法上面,这个意义非常重大  iSkill.r(); } private static String getPlayerInput() {  Scanner scanner = new Scanner(System.in);  System.out.println("请输入一个英雄的名称: ");  return scanner.nextLine(); }}
  • 从以上代码示例可得出以下几点:

    • 单纯的 interface 可以统一方法的调用,但是它不能统一对象的实例化。
      • 统一了方法的调用是意义非常重大的。
        • 真实项目中,方法的调用可能非常的多或者复杂,这种情况下把方法的调用统一起来,集中在一个接口的方法上面,这个意义非常重大。
      • 抽象的难点在于将 new 对象这个操作变得更加的抽象,而不是具体。
    • 面向对象很多时候都是在做两件事情: 实例化对象,调用方法(完成业务逻辑)。
      • 所以仅仅达到统一方法的调用还不足够,还需要达到统一对象的实例化。
    • 由以上几点可得出只有一段代码不负责对象的实例化,即没有 new 的出现,才能保持代码的相对稳定,才能逐步实现 OCP。(表象)
      • 实质: 一段代码如果要保持稳定,就不应该负责对象的实例化。
      • 如果各个类中有大量的实例化对象的过程,那么一旦产生变化,影响将非常大。
    • 当然,对象实例化是不可能消除的,我们需要把对象实例化的过程转移到其他的代码片段里,即把所有这些对象实例化的过程全部隔离到一个地方,这样子除了这个地方外的其他地方的代码就会变得非常稳定(最简单的方式为使用工厂模式,接下来的版本将演示这个过程)。

使用工厂模式把对象实例化的过程隔离

  • 三种子模式:

    • 简单工厂模式
      • 对生产的对象的一种抽象。
    • 普通工厂模式
    • 抽象工厂模式
      • 对工厂的一种抽象。
  • 使用简单工厂模式把对象实例化的过程转移到其他的代码片段里:

    • 程序示例:
      • 英雄技能接口类

        /** * <p> * 英雄技能接口类 * </p> * * @author 踏雪彡寻梅 * @version 3.0 * @date 2020/7/28 - 10:31 * @since JDK1.8 */public interface ISkill { void q(); void w(); void e(); void r();}
      • 各英雄类

        /** * <p> * Camille 英雄 * </p> * * @author 踏雪彡寻梅 * @version 3.0 * @date 2020/7/28 - 10:21 * @since JDK1.8 */public class Camille implements ISkill { @Override public void q() {  System.out.println("Camille Q"); } @Override public void w() {  System.out.println("Camille W"); } @Override public void e() {  System.out.println("Camille E"); } @Override public void r() {  System.out.println("Camille R"); }}/** * <p> * Diana 英雄 * </p> * * @author 踏雪彡寻梅 * @version 3.0 * @date 2020/7/28 - 10:00 * @since JDK1.8 */public class Diana implements ISkill { @Override public void q() {  System.out.println("Diana Q"); } @Override public void w() {  System.out.println("Diana W"); } @Override public void e() {  System.out.println("Diana E"); } @Override public void r() {  System.out.println("Diana R"); }}/** * <p> * Irelia 英雄 * </p> * * @author 踏雪彡寻梅 * @version 3.0 * @date 2020/7/28 - 10:16 * @since JDK1.8 */public class Irelia implements ISkill { @Override public void q() {  System.out.println("Irelia Q"); } @Override public void w() {  System.out.println("Irelia W"); } @Override public void e() {  System.out.println("Irelia E"); } @Override public void r() {  System.out.println("Irelia R"); }}
      • 生产英雄的工厂类

        /** * <p> * 英雄工厂类,生产或实例化英雄类,把对象实例化的过程隔离 * </p> * * @author 踏雪彡寻梅 * @version 3.0 * @date 2020/7/28 - 21:11 * @since JDK1.8 */public class HeroFactory { /**  * 简单工厂实例化英雄类  *  * @param name 英雄名称  * @return 返回英雄名称对应的实例  */ public static ISkill getHero(String name) throws Exception {  ISkill iSkill;  // 变化是导致代码不稳定的本质原因  // 所有的变化最终其实都要交给不同的对象去处理,当业务或用户的输入有了变化的时候,必须要创建不同的对象去响应这些变化  // 这里的变化: 用户的输入,选择英雄导致的不稳定,根据用户的输入实例化不同的对象  // 也例如改动程序使用的数据库,从 MySQL 更改为 Oracle  // 如何消除这个变化?  // 思考:  // 1. 这里是用户只能够输入一个字符串,把输入的字符串转换为一个对象  // 2. 但是如果用户能够直接输入一个对象传给程序,这个 switch 就可以被干掉(使用反射解决,把输入的字符串转换为一个对象)  switch (name) {   case "Diana":    iSkill = new Diana();    break;   case "Irelia":    iSkill = new Irelia();    break;   case "Camille":    iSkill = new Camille();    break;   default:    throw new Exception();  }  return iSkill; }}
      • 选择英雄释放技能 main 函数

        /** * <p> * 使用简单工厂模式把对象实例化的过程转移到其他的代码片段里(IOC 的雏形) * </p> * * @author 踏雪彡寻梅 * @version 3.0 * @date 2020/7/28 - 21:06 * @since JDK1.8 */public class Main { public static void main(String[] args) throws Exception {  // 选择英雄  String name = Main.getPlayerInput();  // 调用工厂方法,这里把 new 的操作干掉了,这里的代码已经相对稳定了,新增英雄时这里的代码不需要再更改,只需要更改工厂方法的代码  // 对于 main 方法而言,它实现了 OCP,而工厂方法中的代码还没有实现 OCP  // 虽然这里的代码已经相对稳定了,但是还引用着 HeroFactory 工厂类,对于这行代码,还不是非常稳定,还存在着可能更换修改的可能  // 例如说: HeroFactory 的 getHero 方法是个实例方法,那么 HeroFactory 也需要 new 出来,这种情况下会存在着修改代码的可能  // 如果业务逻辑足够复杂,可能存在很多这种工厂类,这样看起来对于工厂类而言,需求变更时还是需要改动很多代码  // 当然也可以使用抽象工厂将工厂抽象化使这里变得稳定起来,但这里不演示了,这里只是演示一个如何隔离变化的过程,所以假设这里是稳定的,是一个超级工厂,能够生产项目的各种对象  // 当假设有一个超级的工厂之后,这个工厂可以兼容整个项目的工厂,把整个项目的所有的变动都封装到一起,从而保证除了这个超级工厂之外的代码都是稳定的,这样这个工厂就有了意义  // 其实 IOC 也就是相当于一个非常大的容器一样,把所有的变化都集中到了一个地方,写其他的代码就会变得非常容易,不再需要在整个项目中到处更改代码,如果出现了变化,只需要让容器去负责改变即可  // spring ioc 中的 ApplicationContext 就类似于这个超级工厂,通过 ApplicationContext 可以获取各种各样的对象,不过 ApplicationContext 在 spring 中给的是一个接口,即抽象工厂模式  // 需要注意的是: 生产对象只是 IOC 的一部分,不是 IOC 的全部  ISkill iSkill = HeroFactory.getHero(name);  // 调用技能  iSkill.r(); } private static String getPlayerInput() {  Scanner scanner = new Scanner(System.in);  System.out.println("请输入一个英雄的名称: ");  return scanner.nextLine(); }}
  • 从以上例子可得出以下几点:

    • 代码中总是会存在不稳定,要尽可能地隔离这些不稳定,保证其他的代码是稳定的。隔离不稳定其实就是在隔离变化。
      • 其实 IOC 就是将这些不稳定(变化)给封装、隔离到了一块,保证其他地方的代码是稳定的。
      • 变化是导致代码不稳定的本质原因。
        • 变化有这么两大类变化:
          • 用户的输入、用户的选择、用户的操作造成的变化。
          • 软件自身的业务需求或技术选择有了变化。
            • 注意事项:
              • 对于技术选择的改变,例如从使用 MySQL 更换到 Oracle,如果将这个变化提取到配置文件中,那么配置文件的变化是允许的,并不违反 OCP
                • 配置文件是属于系统外部的,而不属于代码本身。(这里的配置文件也可以理解为用户的输入,把需求的变化隔离到了配置文件中)
        • 所有的变化最终其实都要交给不同的对象去处理,当业务或用户的输入有了变化的时候,必须要创建不同的对象去响应这些变化。
          • 那么如何消除这些变化呢?
            • 在上面的示例中,用户只能输入一个字符串,然后在工厂方法内去判断用户的输入的变化,创建不同的对象去响应这些变化。
            • 同时,如果有新增的英雄,势必要工厂方法中的 switch 代码。
            • 那么如果有这么一个机制,可以实现用户的输入输入进来就是一个对象,然后就创建这个对象进行响应,而不是像上面的判断字符串,那么就可以干掉 switch,使这里的代码变得更加简单,更加稳定。
            • 对于这种机制,也就是反射机制,下面的版本将演示这个过程。

使用反射隔离工厂中的变化,让用户直接输入一个对象

  • 对于这个版本,只有工厂类发生了变动,所以只展示工厂类的代码和 main 函数的代码

  • 程序示例:

    • 生产英雄的工厂类

      /** * <p> * 英雄工厂类,生产或实例化英雄类,把对象实例化的过程隔离 * </p> * * @author 踏雪彡寻梅 * @version 4.0 * @date 2020/7/28 - 21:11 * @since JDK1.8 */public class HeroFactory { /**  * 简单工厂实例化英雄类  *  * @param name 英雄名称  * @return 返回英雄名称对应的实例  */ public static ISkill getHero(String name) throws Exception {  // 使用反射隔离工厂中的变化,让用户直接输入一个对象,即把用户输入的字符串转换为一个对象  // 反射的作用: 动态的创建对象  // 根据输入的英雄名称获取元类  // 类是对象的抽象,描述对象  // 元类是类的抽象,是对类的描述  // 需要注意在名称前加上包路径 cn.xilikeli.lol.v4.hero.  name = "cn.xilikeli.lol.v4.hero." + name;  Class<?> classA = Class.forName(name);  // 通过元类实例化对应的实例对象  // 注意点: java8 之后 newInstance 已经废弃  // 新版本中使用 classA.getDeclaredConstructor().newInstance()  Object obj = classA.newInstance();  // 强制转型返回  return (ISkill) obj; }}
    • 选择英雄释放技能 main 函数

      /** * <p> * 使用反射隔离工厂中的变化,让用户直接输入一个对象,即把用户输入的字符串转换为一个对象 * </p> * * @author 踏雪彡寻梅 * @version 4.0 * @date 2020/7/28 - 22:26 * @since JDK1.8 */public class Main { public static void main(String[] args) throws Exception {  // 选择英雄  String name = Main.getPlayerInput();  ISkill iSkill = HeroFactory.getHero(name);  // 调用技能  iSkill.r(); } private static String getPlayerInput() {  Scanner scanner = new Scanner(System.in);  System.out.println("请输入一个英雄的名称: ");  return scanner.nextLine(); }}
  • 从以上示例可得出以下几点:

    • 在使用了反射机制之后,已经消除了所有的变化,不管输入的是什么,代码都不需要再做更改了,代码已经变得非常稳定了。
    • Spring 内部其实也是使用了类似现在这种工厂模式 + 反射的机制,但是要比现在实现的这种形式更加地完善更加地聪明。
      • 现在这种形式,每次输入都进行一次反射是性能比较低的,因为频繁地反射会使性能变低。
      • Spring 中取到或实例化一个对象之后,会把这个对象放到它的缓存中去,下次要再取或创建相同的对象的时候,不会进行反射,而是从缓存中拿(和 DI 有关系)。
    • 需要注意的是: 现在这种工厂模式 + 反射的机制还不是 IOCDI
      • 现在这个版本并没有运用到任何 IOCDI 的原理,只是让代码变得非常稳定。
      • 现在这种形式是正向思维,虽然现在是实现了需要什么就可以返回什么,但是现在拿到对象的方式依然是需要什么然后去调用什么类下面的什么方法得到什么的方式。
      • IOC 是控制反转,现在这里并没有反转,同时也没有注入,现在只是实现了 OCP
    • 那么,问题来了,现在已经实现了 OCP,那么还需要 IOCDI 干嘛?
      • 因为现在的实现使用起来还不方便,是一个正向的思维。每次创建一个对象都需要引入这个工厂类调用其方法。也就是说工厂的方式在实现的逻辑中是正向的创建对象,而 IOC 是反向的,是容器根据需求主动注入的。
      • 那么有什么方法可以让工厂类不出现,直接可以拿到需要的对象?
        • 这就是 IOCDI 需要做的事情。IOCDI 的雏形至此也就出来了。
        • 如果需要的对象可以由一个什么东西例如某个容器中将其传进来,这个需要的对象就可以不需要使用工厂类创建了,此时代码变得更加简单、更加稳定。
        • 这种形式就是 IOCDI 的体现,把对象的控制权交给了容器,即控制反转;获取对象时只需要直接使用它即可,容器会自动把这个对象创建好给传入进来,即依赖注入。
        • 在前面也谈到了配置文件,其实 IOC 简单理解就是 工厂模式 + 反射机制 + 配置文件 组成了一个大的容器,我们需要什么就配置什么,容器就会创建对象,把创建好的对象提供给我们,这个过程中我们没有感受到创建对象的正向过程,而是感受到使用的对象是容器给我们的,这是一个反向的过程,也就是控制权由我们反转到了容器中,容器掌控着创建对象的权利,即控制反转。
    • 到了此处,也可以隐隐约约地明白了 IOCDI 到底是个什么东西了,接下来再对这两个东西解释一下,以便理解地更加深刻。

IOC/DI/DIP

  • DIP(Dependency Inversion Principle,依赖倒置)

    • 高层模块不应该依赖低层模块,两者都应该依赖抽象。
      • 高层: 抽象,抽象也就是站在更高的角度概括具体。
      • 低层: 具体的实现。
    • 抽象不应该依赖细节。
    • 细节应该依赖抽象。
    • 倒置: 正常编写代码时可能会 new 一个对象,即依赖了一个具体;而倒置就是不依赖具体而是反过来依赖一个接口(抽象)。
  • DI

    • 对象与对象之间的相互作用必定是要产生依赖的,这个是不可避免的,关键是产生依赖的方式是多种多样的,比如 new 的方式,不过这个方法不好,因为是一个具体实例化的过程,如果依赖的类的代码改变了,使用这个依赖的类的地方就会变得不稳定。
    • 更好的方式: 不再使用 new 的方式,而是让容器(容器可以理解为在系统的最上层)把需要依赖的类的抽象(例如接口)的实现给注入进来,虽然也产生了依赖,但是依赖的形式是不同的,是注入进来的,并且注入进来的类是抽象的实现,依赖只是依赖抽象的接口,相比 new 来说产生的依赖不这么具体。
    • 依赖注入的几种形式:
      • 属性注入

        public class A { private IC ic; // 属性注入,容器在实例化 A 的时候会 set 一个 ic 进来 public void setIc(IC ic) { this.ic = ic; }}
      • 构造注入

        public class A { private IC ic; // 构造注入,容器在实例化 A 的时候会给构造函数传一个 ic 进来 public A(IC ic) { this.ic = ic; }}
      • 接口注入(用的较少)

    • 依赖注入的原理
      • 容器在创建一个对象实例的时候可以把这个对象依赖的对象实例注入进去。相当于我们自己写代码的时候 new 对象时把一个对象传进去或赋值以及可以调用 set 方法传入一个对象或赋值。
    • 依赖注入在更高角度的意义
      • 容器其实是在装配这一个个的对象。
        • 即各个类依赖了各个类,他们彼此之间的装配不是由他们在代码中 new 出来的。而是全部交给容器,由容器来装配。
        • 当把装配的过程交给了容器了之后,我们在编写类时的只需要负责类的编写就行了,而不需要关心如何装配。由容器来决定某个类依赖的对象到底是哪一个对象,由它把对象注入到类里。
        • 同时在编写类的时候,也不需要关心依赖的对象,因为依赖的不是一个具体的对象,而是一个抽象,例如接口。最终实例化的是这个接口的哪一个实现类,编写类的时候是不需要关心的,只需要关心接口即可,对于实例化哪个实现类则由容器来决定。这就保证了我们在编写一个个类的时候类是独立的,保证了代码的稳定性。保证了系统的耦合度是非常低的。即面向抽象的重要性,面向接口去编程。
  • IOC

    • IOC 本身概念非常抽象和模糊,只是展示了一种思想,并没有给出具体的实现。
    • DI 可以看做 IOC 的一个具体的实现。
    • DI 的角度理解 IOC
      • 当在一个类(这里用 A 表示)中使用 new 来创建一个需要的对象时,主控类为 A
      • 如果应用了 DI 之后,有了容器的概念,此时主控方为容器,主控的地方不再是 A 类了,这个其实就是实现了控制反转,全部交给了容器去控制。
    • IOC 的奥义
      • 整个程序运行的控制权是谁的?
        • 其实本质上还是由程序员决定的。
          • 如果需求固定不变,就没有什么问题。
          • 但是如果存在着变化,就会有问题。一旦产生了变化,程序员就要去更改控制代码(变化指的不是新增的业务代码,而是指控制代码,控制代码: 例如原来 new 了一个什么,要改成 new 一个新的什么)。
          • 如果此时反转过来,程序员不再控制这些控制代码,而是交给别人控制,所有除了控制代码之外的代码都是非常稳定的。也就是反过来是用户在控制代码,也可以理解为产品经理来控制整个应用程序。
            • 例如: 原来用的 MySQL,产品经理改成了 Oracle,程序员肯定要负责新增代码实现 Oracle 的功能,但是至于应用程序用的是原来的 MySQL 还是新加的 Oralce,现在不再由程序员去控制,而是产品经理去控制,控制权由产品经理决定,即控制反转。
      • IOC 举例
        • 积木生产厂家(程序员)
          • 只负责生产一个个积木,不再负责积木的搭建。
          • 由玩具/用户负责使用生产的这些一个个积木,搭建出各种各样的形状。
          • 原来的话可能是直接把积木给组装好,如果用户说不想要这个组装好的积木,就需要厂家来改(控制);但现在不一样了,因为生产的只是一个个的积木(可以理解为类),至于怎么去组装它,则是玩家和用户来构建了(用哪些类交给产品经理或其他人去决定)。
由浅入深理解 IOC 和 DI义乌跨境出口电商发展论坛-wish专场海淘贝feedly亚马逊与Worldpay合作,推出新支付功能!亚马逊review频繁被删?你需要掌握安全可靠的留评方式22城市将新设跨境电商综合试验区,跨境卖家春天来临?赢在价格:4招教你亚马逊定价技巧怎么做!亚马逊站内广告如何实现良性循环?这几个因素必不可少!

3天销量飙涨587%!好到“不想分享给同行”的亚马逊项目,嘘,别声张!

3天销量飙涨587%!好到"不想分享给同行"的亚马逊项目,嘘,别声张!

日本作为全球第三大经济体,互联网覆盖率93.3%[1]。然而日本亚马逊站点对中国卖家来说是一个又爱又恨的地方。地理位置近、物流方便,但消费文化又独具特色、语言有一定壁垒、消费者要求高。

11.jpg

山西新和是一家在运动器械品类拥有20多年国际品牌代工制造经验的传统外贸企业,不过他们也很早就看到了传统B2B过度依赖大客户订单的风险,2015年就开始转型上线亚马逊,先后布局了北美、欧洲、日本、澳洲等站点。

运动类产品面临着易复制、同质化严重的市场环境,国际品牌和当地市场品牌的双重夹击令这个品类的竞争异常激烈。2019年,山西新和接触到亚马逊自有品牌项目,率先在欧洲站点加入授权品牌项目。

欧洲站点的成功让山西新和对亚马逊自有品牌项目充满了信心。2020年初亚马逊自有品牌日本站点正式向中国卖家开放,山西新和毫不犹豫地报名参加了。

进入日本站后,山西新和的运营负责人Kate发现了一个有趣的现象。"我们发现日本消费者比欧洲消费者对亚马逊的自有品牌认可度和忠诚度更高," Kate说,"我们团队在后台分析搜索关键词报告的时候,发现很多消费者都喜欢使用'亚马逊+产品关键词'这样的搜索方式,连'漱口水'都要加上'Amazon'来搜索,因此我们觉得,参加亚马逊自有品牌项目是参加对了!"

同样都是亚马逊授权品牌的项目资源,

日本站独有的3天Deal带来587%销量增长

相比欧洲站24小时的Deal,日本站的Deal长达3天,快速带动了瓶颈产品的转化,Kate表示效果非常惊艳:"我们很意想不到很多新产品在项目中也争取到了DOTD的资源,这在我们自己的日本账号是很难发生的。整个三天下来,跟前三天比销量增长了587%,当月销量也推动了200%多的增长。"

SP广告位加速产品曝光,

在同质化红海竞争中开启快速爆品通道

日本站授权品牌提供的首页靠前广告位,解决了产品缺乏曝光的痛点,为新品冷启动和瓶颈产品引流大大铺开了销售道路。针对爆品的经历,Kate表示项目给的亚马逊站内广告是背后的重要流量推手。"某款产品当时刚上架一周多,就排到了类目第二名,现在也稳定在第三名,每天销量在100左右。"

授权品牌项目提供的Listing翻译服务,

消除语言壁垒

日本消费者是出了名的对质量要求高,对细节关注度高,对于Listing (产品详情页)上的文字要求更是吹毛求疵。亚马逊授权品牌提供的官方Listing翻译服务由日本当地团队完成,能翻译得原汁原味。"不仅质量高,时效也快,大大提高了运营效率",Kate说。(注:亚马逊授权品牌在日本和欧洲站点提供英语转日本和小语种的翻译服务。)

对于如何在日本站成功掘金,山西新和认为硬核的产品实力是敲门砖:"日本站一定是考验卖家产品的第一个战场,如果产品能经得起日本市场的考验,其他市场的消费者一定会接受。有好产品的前提下,对于那些想要拓展到日本市场寻求新增长点的卖家来说,亚马逊自有品牌项目作为官方项目,有非常不错的增长机会。"

12.png

作为2014年上线亚马逊的卖家,苏州蒂予斯是一家以深耕品类精品为导向的中小型卖家。2018年,苏州蒂予斯加入亚马逊授权品牌项目(欧洲站点),在优质的产品和项目的优质资源支持下,很快成为品类Top卖家。

"大部分卖家和我之前一样,面临的问题都是品类竞争激烈,新品很难脱颖而出",田总说,"和普通账号相比,参加亚马逊自有品牌项目的新品增长速度更快,更有节奏。免费的Vine能帮助产品快速获取评价,项目大力度的广告投放让我们产品销量能够快速提升,丰富的Deal资源让产品不断超越对手。我不用再在每个成长阶段都花时间去等!"

2020年初,日本站点也开放了亚马逊自有品牌。虽然苏州蒂予斯对日本当地市场并不熟悉,也不懂日语,更从未上过亚马逊日本站,但出于对亚马逊自有品牌项目的信心,田总还是马上报名参加了。

Vine测评完美解决日本消费者低评分,

超越竞品

"日本消费者对产品的质量和细节要求很高,我自己做过调研,在美国市场评分在4.6-4.7的产品,在日本市场却低于4.3分",田总说。但是,亚马逊授权品牌资源支持的免费Vine测评,帮助苏州蒂予斯的新品在早期拿到了4.5的评分,迅速突破销售,上架两周就成为了类目的Best Seller。

丰富的流量资源,

简直就是爆品制造机

"我们在日本上线的很多产品都成了爆品,这个过程中没有发生什么特别的事情,就是一切都比预期的要好,新品增长的速度太令人惊讶!"田总分享道,"项目提供的广告投放是长期影响销量的重要因素,并且我发现日本自有品牌项目刚开始起步,广告投放的力度比欧美站点大很多,是一个不容错过的好时机。"

真正进入日本站点后,田总发现也没有想象中那么难。对于已经上线欧美站点、对日本仍在犹豫和观望的卖家来说,通过选择亚马逊自有品牌项目作为进入日本存量市场的捷径,不失为一个减少新市场开发时间和成本的有效方法。

15.jpg

深圳美加电子商务有限公司是一家年轻的时尚品类亚马逊卖家,2019年底刚刚上线,以欧洲和日本为主要站点布局。但上线5个月后,发现自己进入了瓶颈期。

听说日本站也有亚马逊自有品牌项目后,刘总认为,在资源和预算有限的情况下,通过加入亚马逊加速器项目这样的官方项目,能降低试错成本、提高和竞品竞争的能力。"亚马逊官方推出的项目,我们都愿意尝试,跟着亚马逊走,我们很大信心。"

抓住项目推广和活动资源,

提高广告预算乘势追击

对于缺乏活动资源的服饰品类,项目提供的广告和活动带来了肉眼可见的转化。深圳美加的刘总,不仅抓住每次的活动机会,加大了对新品的广告预算,稳定住新品前期的转化,后期依靠亚马逊自有品牌项目的优势,逐步减少广告预算,但转化和流量依然保持高位。最后凭借优质的产品力和项目支持,一举超越大卖,成为Best Seller。

加速器项目提供品牌保护,

为好产品保驾护航

将产品做到行业内的优秀水平还远远不够,利用好加速器提供的品牌保护资源,为新手卖家的独家品牌建立起防护栏。

深圳美加亲自证明了"早入行吃肉,晚入行喝汤"这条行业规则并不适用所有卖家。早到晚到,都不如刚刚瞄准时机来到,抓住亚马逊自有品牌机遇,新手小白也能逆风翻盘。


(来源:亚马逊全球开店)


文章来源:https://www.ikjzd.com/home/128832

吉祥邮:http://www.ikjzd.com/w/1565

hemingway:http://www.ikjzd.com/w/2344

亚马逊礼品卡:http://www.ikjzd.com/w/1090.html

1号团:http://www.ikjzd.com/w/2263

转运中国:http://www.ikjzd.com/w/1549

3天销量飙涨587%!好到"不想分享给同行"的亚马逊项目,嘘,别声张!

日本作为全球第三大经济体,互联网覆盖率93.3%[1]。然而日本亚马逊站点对中国卖家来说是一个又爱又恨的地方。地理位置近、物流方便,但消费文化又独具特色、语言有一定壁垒、消费者要求高。

亚马逊卖家如何进行数据化选品

在跨境电商的选品方法中,数据化选品可谓是选品的基础方法之一。

所谓"基础性选品方法",是指这种选品的方式也是其他一些选品方法的基础,比如说交叉选品、供应链选品,再比如说差异化选品等等。

无论你使用的是那种选品的方式,最后在验证产品的环节,也会用数据验证的方式再过一遍。

以榜单选品为例,长久以来,大部分卖家都在使用传统的"榜单选品法"。

也就是每天无数次的关注"Bestseller畅销榜"、"Hot New Release新品榜"、"Movers & Shakers飙升榜"这三个榜单。

但是,你可知道这个榜单只能出现前100名的listing,而100名之外的listing你是看不到的。

亚马逊卖家如何进行数据化选品

而且这些top100产品每天都在被全世界的人在盯着,你看到的所谓的爆款,早都有几千上万人在准备售卖。

还有,你借助榜单只能看到产品的sales排行,你却看不到整个类目的竞争情况。

如果万一不小心进入了一个大卖几乎垄断的类目,你的产品也不会有好的结果。

下面Mike就手把手教大家如何利用选品软件进行数据化选品。

一方面,你可以找到sales排行在top100以外,并且大类目在5000名以内的产品,将这些产品进行去粗求精,你就可以避开那些大卖垄断的类目,找到那些你可以闷声发点小财的产品。

另一方面,利用选品软件的"市场分析"功能,我们又可以对这个意向产品所处的小类目有个深刻的了解,利用数据对这个产品是否值得开发,进行深入分析。

可以用来选品的软件有很多,图中的软件都可以为你所用。

亚马逊卖家如何进行数据化选品

今天我们以《卖家精灵》软件为例来进行举例。

1、打开卖家精灵软件并登录。

选择"选品精灵"中的"选产品"功能。

亚马逊卖家如何进行数据化选品

2、选择自己的站点。

这里我们以美国站为例进行讲解,点击下方的"类目选择"进行类目确定。

亚马逊卖家如何进行数据化选品

3、选定大致类目范围

基本上每个卖家在选品前都会根据自己的优势和兴趣,提前想好了选品的大致方向和范围。

当然了,如果你没有想好的话,这里也可以选择不选。

如果不选择具体类目的话,后面的筛选就是以整个美国站所有的listing为范围来进行选品的。

今天我们以"厨房类目Kitchen&Dining"为例子进行讲解。

亚马逊卖家如何进行数据化选品

4、下面我们来设定一下具体选品准则。

我们知道,蓝海小类目产品都有几个特征:

第一、销量不算太大,但是可以排进大类目前5000;

第二,竞争小,类目垄断程度低,top产品review数量基本在200个以下;

第三、价格中等,小卖家可承受的住;

第四,上线时间不会很久,基本在1年以内。

下面我们按照上面的思路来进行数据的录入(如下图所示)。

亚马逊卖家如何进行数据化选品

月销量设定为300个~1200个,也就是每天10个~40个,基本符合小类目蓝海产品的销量水平。

大类目BSR排名设定为100名以外、5000名以内,以避开那些top100的竞争激烈的产品。

评论数量选择99个以下,降低追赶的难度。

价格设定在7美金~30美金之间,价格太低没有利润空间,价格太高超出了小卖的承受范围。

5、然后点击"开始筛选"按钮。

亚马逊卖家如何进行数据化选品

6、之后下方就会出现按照你的设定因素筛选出的产品。

这个类目之内共有363个产品符合你设定的选品范围。

亚马逊卖家如何进行数据化选品

7、但是这样选品就结束了么?

完全没有,更重要的是你要对这个产品进行更进一步的分析,以确保该产品真的属于蓝海小类目。

我们以筛选结果排行第二的这款"滤酒器"(Bar Strainer)为例来进行分析。

这款产品月销量1191个,也就是每天40个,是个不错的产品。

评论数55个,追赶起来不算太难。

毛利44%,也算是理想的数值。

但是,我们如果对这个产品所在的小类目进行深入分析,就不会如此乐观了。

8、打开产品下方红框中的"市场分析"功能。

我们来分析一下这个产品所处的类目大环境。

亚马逊卖家如何进行数据化选品

9、在弹出的页面中,我们先来看这款产品主要搜索词的搜索量和季节性趋势。

亚马逊卖家如何进行数据化选品

主词strainer每月大概15万搜索量,次关键词每月3万左右搜索量,搜索量还可以,说明市场空间符合小类目产品的特征。

且两个词的曲线基本平稳,说明这个产品不是季节性很强的产品。

10、下面我们继续往下看,看一下商品集中度指标。

所谓商品集中度,也就是排名前10的产品占这个小类目前100名销量之和的比例,这个指标可以准确衡量该小类目的商品垄断程度。

亚马逊卖家如何进行数据化选品

我们可以清楚的看到,这个小类目排名前十的产品占据了该类目75%的销量,基本上新进卖家无任何流量可以分配。

11、接下来我们来看品牌集中度。

品牌集中度,也就是小类目前10 的品牌对该类目的垄断有多大。

亚马逊卖家如何进行数据化选品

可以看出,小类目前10的品牌占据了top100全部产品的91.9%的销量,该类目销量几乎被前端品牌所强势垄断。

看到这里,这个产品应该基本上被排除在选品之外了。

12、我们继续往下看卖家集中程度。

卖家集中程度,也就是前10大卖家占该小类目前100名总销量的比例。

亚马逊卖家如何进行数据化选品

这个结果印证的我们的观点,小类目前10名的卖家几乎垄断了88%的销量,新进卖家基本上很快会被大卖家所碾压。

利用上述方法进行数据化的筛选和排除,可以快速排除掉那些竞争激烈的红海产品,尽快找出自己中意的蓝海小类目产品。

产品选出来之后,我们用什么名称去1688上进行供应商开发呢?

这点很简单,点击产品下方的"1688"按钮,就可以直接跳转到1688网站的供应商页面。

亚马逊卖家如何进行数据化选品

该搜索结果会将1688网站上所有的该产品的供应商"一网打尽",对于卖家朋友寻找供应商可以说是非常的方便和快捷。

(来源:跨境老鸟Mike)

以上内容属作者个人观点,不代表立场!本文经原作者授权转载,转载需经原作者授权同意。

亚马逊卖家如何进行数据化选品Lazada双12选品交流会跨境电商培训课程weeblyJumia 2019年春节假期账户发货调整公告!想做好Wish,这些运营思路很重要卖家秀堪比"侏罗纪公园",老外速卖通上买恐龙重磅!习近平G20大阪峰会宣布五项重大举措亚马逊全球配送服务GSS

要闻:9 月 1 日起,跟卖将无所遁形?亚马逊新一轮打假又来了!

要闻:9 月 1 日起,跟卖将无所遁形?亚马逊新一轮打假又来了!

明天起,跟卖将无所遁形?

2020 年 9 月 1 日起,Amazon.com 的"卖家资料"页面显示卖家的公司名称和地址,将与亚马逊欧洲、日本和墨西哥店铺中的"卖家资料"页面保持一致。

图片1.png

对消费者来说,"卖家页面"显示这些资料有助于购物者详细了解卖家的公司及所售商品,确保卖家信息有统一的基准,以帮助买家做出明智的购物决策。

另一方面,卖家也可以根据卖家页面资料查找公司名称和地址,从而打击跟卖?

对此说法,部分卖家认为,公司名称和地址信息公开之后,跟卖或许有所顾忌,从而阻碍部分跟卖者。但也有卖家表示,实际作用不大。毕竟现在很多跟卖的店铺可以通过购买获得,或者挂靠,找不到真实卖家。即便是真的,现在有很多赶跟卖的有效方法,并不需要如此大费周章去找,意义不大。

但无论如何,这些规定的出台也预示着亚马逊正在往合规化方向上更进一步。

新一轮打假来临,你的货检查了吗?

近日,亚马逊发布了有关"确保产品质量和真实性的最佳做法"的公告

在新公告中,明确提出了几个卖家需要注意的问题:

1. 确保了解从中购买商品的制造商、代理商和供应商,减少被投诉的风险;

2. 保留采购单和发票,确保从可靠的供应商处购买商品;

3. 将品牌产品列在相应的ASIN下;

4. 明确说明产品是全新的、二手的还是翻新的状态;

5. 以合适的方式存储产品并避免产品或包装被损坏。

今年6月,亚马逊还成立了专门的全球打假团队。这些行为均表示亚马逊在加大力度严查产品质量,严打假冒伪劣产品。亚马逊卖家们更加需要关注产品的质量了。

亚马逊与梅赛德斯合作,将向欧洲送货车队增加1800辆电动汽车

亚马逊宣布,他们将在欧洲的送货车队中增加1800辆梅赛德斯·奔驰货车的电动汽车。此举是在梅赛德斯-奔驰加入"气候承诺"之际,并显示了两家公司对减少交通运输部门排放的承诺。

图片2.png

"我们欢迎梅赛德斯-奔驰通过签署《气候承诺》并致力于采取雄心勃勃的行动应对气候变化而表现出的大胆领导。我们需要梅赛德斯-奔驰等汽车制造商的持续创新和合作伙伴关系,以使运输部门脱碳并应对气候危机。"

–亚马逊创始人兼首席执行官Jeff Bezos

亚马逊的交付服务合作伙伴今年将可以使用新的EV交付团队,从而有助于节省数千公吨的碳。这也是EV梅赛德斯·奔驰拥有的最大订单,其中1200辆将是较大的eSprinter,这是梅赛德斯·奔驰提供的最新电动商用货车。eSprinter具有最新的安全功能,将与600辆较小的eVito车辆一起交付,以在需要时提供更小的零排放交付车辆。

"亚马逊的投资是其对欧盟优先承诺和承诺的有力而具体的标志。亚马逊继续为实现欧盟绿色协议目标做出贡献,促进技术创新,并在欧洲创造有韧性和可持续的就业机会。我希望其他公司在不久的将来能效仿亚马逊。"

–欧洲议会副主席Fabio Massimo Castaldo

尽管采用了COVID-19,但亚马逊仍将可持续发展作为其首要任务之一,并通过"气候承诺"取得了重大进展,这要归功于关键举措以及亚马逊各个团队数千名员工的奉献精神。在当前大流行的所有剧情之中,重要的是公司必须继续关注可持续性运动,在许多方面,当前的事件已向正确的方向提供了推动力,并将继续促进技术的快速发展,这将有助于它。


(原创/跨境知道 晓阳)


文章来源:https://www.ikjzd.com/home/128817

noon:http://www.ikjzd.com/w/259

黄远:http://www.ikjzd.com/w/1785

巨鲸:http://www.ikjzd.com/w/1986

stadium:http://www.ikjzd.com/w/2729

跨境通电子商务平台:http://www.ikjzd.com/w/1329.html

要闻:9 月 1 日起,跟卖将无所遁形?亚马逊新一轮打假又来了!

明天起,跟卖将无所遁形?2020 年 9 月 1 日起,Amazon.com 的"卖家资料"页面显示卖家的公司名称和地址,将与亚马逊欧洲、日本和墨西哥店铺中的"卖家资料"页面保持一致。

速卖通引流之商品转化率提升

速卖通引流之商品转化率提升

1.曝光点击率

2.访客数 

3.人均浏览量 

4.转化率

今天我们就讲第四段转化率

一句话介绍,引流转化能力成长阶段四哥数据之间的逻辑,怎么样让顾客找到我们产品,产生兴趣,买我们东西。

(一)成长阶段的转化率

.销售额=访客浏览*转化率*客单价

.访客流量=各个流量入口访客数的总和

.转化率=店铺各个细节转化订单的能力

.客单价=大时间段店铺产品销售的评价价格

1.决定客单价的因素

.产品本身的品质

.搭配销售模型

.物流运费成本

.店铺营销力度 1 折扣 2 优惠劵 3满立减

.客服引导技巧

2.搜索的主要打法

类目 关键词 价格区间 包邮 产品评价 一件起售 海外仓退货 手机活动 自匹配 订单数 上新 卖家等级 价格排序 速卖通90%的站内打法都在这里

3 . 了解自身要售卖的类目情况

.数据纵横或第三方软件看类目大数据普调

.平行,亚马逊,wish,ebay ,垂直网站看同类目销售情况

.线下实体及产业带走访

4 . 制定运营目标并拆分计划

.了解自身类目TOP卖家和自身的体量差

.按照总销售目标成立对应数量项目组

.按照项目组数分配单位时间销售额

5. 按照销售额公式去优化店铺

.了解自身类目成单和流量之间的比例

.了解类目各种转化率之间的比例

.了解类目常规产品的客单价和售卖方

总结:成长阶段的---转化率

转化率是店铺成长的重要指标,虽然我们不能够强制客户产生购买行为,但是我们通过自身的引导,从细节入手,让消费者与我们之间产生信任关系,认可我们的产品,事无巨细,尽善尽美,通过不断进行细节的优化,提高店铺的转化率

1.主要访客流量入口

站内自然排序 搜索排序 类目排序直通车付费推广平台活动站外联盟营销社交媒体sns

1.搜索词的精准,买衣服就是衣服,不是箱包之类的产品

2. 首图新引人(价格合理性价比高,价格便宜,品质很好,价格微贵))

3.好评率高,客户第一时间看的是好评,好评多的商品大家会很快很放心的购买,如果有差评 会影响买家购买

4.详情页描述的逻辑专业

客户想问的想了解的 都表达给买家 ,比如客户走到店铺是否会考虑 产品的重量 价格 细节图 配套销售图 其它客户对产品的反馈 包装 运输等

5.运费模版设置得当,主要市场国家需要包邮,了解自己在哪个国家表现好,一些不好的地方 可以不设置包邮

6.店铺装修的美观(图片和装修设计 能提高二次转化率 顾客看着舒服)

最后:转化率决定要素

二次你转化决定要素快递物流的品质开箱体验产品自身的品质产品专业点的引导


文章来源:https://www.ikjzd.com/home/128799

r标:http://www.ikjzd.com/w/1070

rakuten:http://www.ikjzd.com/w/2718

mymall:http://www.ikjzd.com/w/1050

灯塔计划:http://www.ikjzd.com/w/1281

跨国采购网:http://www.ikjzd.com/w/2270.html

速卖通引流之商品转化率提升

1.曝光点击率2.访客数3.人均浏览量4.转化率今天我们就讲第四段转化率一句话介绍,引流转化能力成长阶段四哥数据之间的逻辑,怎么样让顾客找到我们产品,产生兴趣,买我们东西。(一)成长阶段的转化率.销售额=访客浏览*转化率*客单价.访客流量=各个流量入口访客数的总和.转化率=店铺各个细节转化订单的能力.客单价=大时间段店铺产品销售的评价价格1.决定客单价的因素.产品本身的品质.搭配销售模型.物流运费

荷兰建8000㎡自行车停车场 沉浸式的玻璃墙美翻了

(原标题:荷兰这个8000㎡自行车停车场,一面沉浸式的玻璃墙美翻了,网友:别人家的"自行车棚")

共享单车的使用让人们的出行越来越便捷,但部分单车的停放却成了个不小的问题,想不仅破坏市容环境又能有序停车,最好的办法是建一个专属的停车场。但现在大多的停车场都被深埋地下呈现出单调灰暗的形象,毫无美感可言。

荷兰近期正式启用的一个自行车停车场,就应用了数字化的设计理念,将黑色和白色搭在一起作为主打元素,赋予了停车场魔幻般的意境。

荷兰建8000㎡自行车停车场 沉浸式的玻璃墙美翻了

该自行车停车场由创意代理机构Silo与建筑设计工作室 Studio Marsman 共同打造,位于海牙中央火车站前方 Koningin Julianaplein 区域的地下,面积约为8000㎡,可容纳约8500辆自行车停放,是荷兰第二大的自行车停车场。

荷兰建8000㎡自行车停车场 沉浸式的玻璃墙美翻了

这个自行车停车场与一般停车场给人灯光幽暗的印象截然不同,Silo&Studio Marsman 提出一个充满艺术感的设计方案,他们将墙面艺术装置引入室内,配合灯光照明,创造出展览馆般的视觉体验。

荷兰建8000㎡自行车停车场 沉浸式的玻璃墙美翻了

荷兰建8000㎡自行车停车场 沉浸式的玻璃墙美翻了

车库的墙面将玻璃与黑白色的图案结合,再用灯光照亮整体画面,进入车库的人在行走时,会有种图案在不断变化的感觉。这些图案的设计灵感源自于荷兰错觉艺术大师艾雪「M.C. Escher」的作品。

荷兰建8000㎡自行车停车场 沉浸式的玻璃墙美翻了

荷兰建8000㎡自行车停车场 沉浸式的玻璃墙美翻了

「不断变化」的图案以简单的几何线条为媒介,巧妙的呈现了17座海牙过去、现在和未来的建筑风格,通过这种令人着迷的方式,向人们叙述横跨时空的地标性建筑。

荷兰建8000㎡自行车停车场 沉浸式的玻璃墙美翻了

黑白色调的图案,经典、简洁、利落,是最经典的艺术色彩。

荷兰建8000㎡自行车停车场 沉浸式的玻璃墙美翻了

把平面与立面元素巧妙地交织在一起,形成抽象的城市景观,这种似动非动的沉浸式设计展现出一种奇幻的视觉体验。

荷兰建8000㎡自行车停车场 沉浸式的玻璃墙美翻了

不同大小的黑白色块有序的排列组合成不同的形态,是一个绝妙且极繁的设计手法▽

荷兰建8000㎡自行车停车场 沉浸式的玻璃墙美翻了

当你骑行经过它的时候,会忍不住被整个墙面设计所吸引▽

荷兰建8000㎡自行车停车场 沉浸式的玻璃墙美翻了

荷兰建8000㎡自行车停车场 沉浸式的玻璃墙美翻了

荷兰建8000㎡自行车停车场 沉浸式的玻璃墙美翻了

墙面图案展开图▽

荷兰建8000㎡自行车停车场 沉浸式的玻璃墙美翻了

荷兰建8000㎡自行车停车场 沉浸式的玻璃墙美翻了

骑入车库后映入眼帘的是舒适感,让驰骋穿梭其中的人犹如置身于一个造形别致的雕刻展览馆中▽

荷兰建8000㎡自行车停车场 沉浸式的玻璃墙美翻了

荷兰建8000㎡自行车停车场 沉浸式的玻璃墙美翻了

除了应用墙面打造开阔的空间感外,白色调的天花板与地面加上灯光的渲染,也有效的减缓了地下空间的压迫感,使3.5m 的空间瞬间拔高了不少。

荷兰建8000㎡自行车停车场 沉浸式的玻璃墙美翻了

荷兰建8000㎡自行车停车场 沉浸式的玻璃墙美翻了

敞亮的车行道搭配蓝色的智能指示牌引导,一系列贴心设计,给每个人都带来了舒适又便捷的停车体验。

荷兰建8000㎡自行车停车场 沉浸式的玻璃墙美翻了

荷兰建8000㎡自行车停车场 沉浸式的玻璃墙美翻了

荷兰建8000㎡自行车停车场 沉浸式的玻璃墙美翻了

车库内18排双层车架8500余个车位,保证了室内的停车秩序,看起来整整齐齐。

荷兰建8000㎡自行车停车场 沉浸式的玻璃墙美翻了

使用手机扫瞄寻车导引系统,完全不用担心找不到停车位▽

荷兰建8000㎡自行车停车场 沉浸式的玻璃墙美翻了

除此之外这里还提供600辆共享自行车以及携带儿童座椅的自行车租借,满足了出行的各种使用需求。

荷兰建8000㎡自行车停车场 沉浸式的玻璃墙美翻了

荷兰建8000㎡自行车停车场 沉浸式的玻璃墙美翻了

停车场入口直接连海牙中央车站,有着天然的交通枢纽优势,也解决了当地通勤族停放自行车难的一大重要问题。

荷兰建8000㎡自行车停车场 沉浸式的玻璃墙美翻了

有了这个自行车停车场,不仅为城市带来极大的便利性,也完整了自由骑行的惬意体验。

荷兰建8000㎡自行车停车场 沉浸式的玻璃墙美翻了

轴测图▽

荷兰建8000㎡自行车停车场 沉浸式的玻璃墙美翻了

效果图▽

荷兰建8000㎡自行车停车场 沉浸式的玻璃墙美翻了

荷兰建8000㎡自行车停车场 沉浸式的玻璃墙美翻了

荷兰建8000㎡自行车停车场 沉浸式的玻璃墙美翻了

荷兰建8000㎡自行车停车场 沉浸式的玻璃墙美翻了

(转载来源:一起设计,ID:together-design)

荷兰建8000㎡自行车停车场 沉浸式的玻璃墙美翻了modcloth海带宝平台认知inkFrog亚马逊FBA收费标准与详细费用卖家后台你来分析:亚马逊印度站适不适合自行判断亚马逊新手该怎么上传一个好的listing?嵌入系统squashfs挂载常见问题总结