2021年2月28日星期日

JUnit5学习之七:参数化测试(Parameterized Tests)进阶

欢迎访问我的GitHub

https://github.com/zq2599/blog_demos

内容:所有原创文章分类汇总及配套源码,涉及Java、Docker、Kubernetes、DevOPS等;

关于《JUnit5学习》系列

《JUnit5学习》系列旨在通过实战提升SpringBoot环境下的单元测试技能,一共八篇文章,链接如下:

  1. 基本操作
  2. Assumptions类
  3. Assertions类
  4. 按条件执行
  5. 标签(Tag)和自定义注解
  6. 参数化测试(Parameterized Tests)基础
  7. 参数化测试(Parameterized Tests)进阶
  8. 综合进阶(终篇)

本篇概览

  • 本文是《JUnit5学习》系列的第七篇,前文咱们对JUnit5的参数化测试(Parameterized Tests)有了基本了解,可以使用各种数据源控制测试方法多次执行,今天要在此基础上更加深入,掌握参数化测试的一些高级功能,解决实际问题;
  • 本文由以下章节组成:
  1. 自定义数据源
  2. 参数转换
  3. 多字段聚合
  4. 多字段转对象
  5. 测试执行名称自定义

源码下载

  1. 如果您不想编码,可以在GitHub下载所有源码,地址和链接信息如下表所示:
名称链接备注
项目主页https://github.com/zq2599/blog_demos该项目在GitHub上的主页
git仓库地址(https)https://github.com/zq2599/blog_demos.git该项目源码的仓库地址,https协议
git仓库地址(ssh)git@github.com:zq2599/blog_demos.git该项目源码的仓库地址,ssh协议
  1. 这个git项目中有多个文件夹,本章的应用在junitpractice文件夹下,如下图红框所示:

在这里插入图片描述

  1. junitpractice是父子结构的工程,本篇的代码在parameterized子工程中,如下图:

在这里插入图片描述

自定义数据源

  1. 前文使用了很多种数据源,如果您对它们的各种限制不满意,想要做更彻底的个性化定制,可以开发ArgumentsProvider接口的实现类,并使用@ArgumentsSource指定;
  2. 举个例子,先开发ArgumentsProvider的实现类MyArgumentsProvider.java:
package com.bolingcavalry.parameterized.service.impl;import org.junit.jupiter.api.extension.ExtensionContext;import org.junit.jupiter.params.provider.Arguments;import org.junit.jupiter.params.provider.ArgumentsProvider;import java.util.stream.Stream;public class MyArgumentsProvider implements ArgumentsProvider { @Override public Stream<? extends Arguments> provideArguments(ExtensionContext context) throws Exception {  return Stream.of("apple4", "banana4").map(Arguments::of); }}
  1. 再给测试方法添加@ArgumentsSource,并指定MyArgumentsProvider:
 @Order(15) @DisplayName("ArgumentsProvider接口的实现类提供的数据作为入参") @ParameterizedTest @ArgumentsSource(MyArgumentsProvider.class) void argumentsSourceTest(String candidate) {  log.info("argumentsSourceTest [{}]", candidate); }
  1. 执行结果如下:

在这里插入图片描述

参数转换

  1. 参数化测试的数据源和测试方法入参的数据类型必须要保持一致吗?其实JUnit5并没有严格要求,而事实上JUnit5是可以做一些自动或手动的类型转换的;
  2. 如下代码,数据源是int型数组,但测试方法的入参却是double:
 @Order(16) @DisplayName("int型自动转为double型入参") @ParameterizedTest @ValueSource(ints = { 1,2,3 }) void argumentConversionTest(double candidate) {  log.info("argumentConversionTest [{}]", candidate); }
  1. 执行结果如下,可见int型被转为double型传给测试方法(Widening Conversion):

在这里插入图片描述

  1. 还可以指定转换器,以转换器的逻辑进行转换,下面这个例子就是将字符串转为LocalDate类型,关键是@JavaTimeConversionPattern:
 @Order(17) @DisplayName("string型,指定转换器,转为LocalDate型入参") @ParameterizedTest @ValueSource(strings = { "01.01.2017", "31.12.2017" }) void argumentConversionWithConverterTest(   @JavaTimeConversionPattern("dd.MM.yyyy") LocalDate candidate) {  log.info("argumentConversionWithConverterTest [{}]", candidate); }
  1. 执行结果如下:

在这里插入图片描述

字段聚合(Argument Aggregation)

  1. 来思考一个问题:如果数据源的每条记录有多个字段,测试方法如何才能使用这些字段呢?
  2. 回顾刚才的@CsvSource示例,如下图,可见测试方法用两个入参对应CSV每条记录的两个字段,如下所示:

在这里插入图片描述
3. 上述方式应对少量字段还可以,但如果CSV每条记录有很多字段,那测试方法岂不是要定义大量入参?这显然不合适,此时可以考虑JUnit5提供的字段聚合功能(Argument Aggregation),也就是将CSV每条记录的所有字段都放入一个ArgumentsAccessor类型的对象中,测试方法只要声明ArgumentsAccessor类型作为入参,就能在方法内部取得CSV记录的所有字段,效果如下图,可见CSV字段实际上是保存在ArgumentsAccessor实例内部的一个Object数组中:

在这里插入图片描述
4. 如下图,为了方便从ArgumentsAccessor实例获取数据,ArgumentsAccessor提供了获取各种类型的方法,您可以按实际情况选用:

在这里插入图片描述

  1. 下面的示例代码中,CSV数据源的每条记录有三个字段,而测试方法只有一个入参,类型是ArgumentsAccessor,在测试方法内部,可以用ArgumentsAccessor的getString、get等方法获取CSV记录的不同字段,例如arguments.getString(0)就是获取第一个字段,得到的结果是字符串类型,而arguments.get(2, Types.class)的意思是获取第二个字段,并且转成了Type.class类型:
 @Order(18) @DisplayName("CsvSource的多个字段聚合到ArgumentsAccessor实例") @ParameterizedTest @CsvSource({   "Jane1, Doe1, BIG",   "John1, Doe1, SMALL" }) void argumentsAccessorTest(ArgumentsAccessor arguments) {  Person person = new Person();  person.setFirstName(arguments.getString(0));  person.setLastName(arguments.getString(1));  person.setType(arguments.get(2, Types.class));  log.info("argumentsAccessorTest [{}]", person); }
  1. 上述代码执行结果如下图,可见通过ArgumentsAccessor能够取得CSV数据的所有字段:

在这里插入图片描述

更优雅的聚合

  1. 前面的聚合解决了获取CSV数据多个字段的问题,但依然有瑕疵:从ArgumentsAccessor获取数据生成Person实例的代码写在了测试方法中,如下图红框所示,测试方法中应该只有单元测试的逻辑,而创建Person实例的代码放在这里显然并不合适:

在这里插入图片描述
2. 针对上面的问题,JUnit5也给出了方案:通过注解的方式,指定一个从ArgumentsAccessor到Person的转换器,示例如下,可见测试方法的入参有个注解@AggregateWith,其值PersonAggregator.class就是从ArgumentsAccessor到Person的转换器,而入参已经从前面的ArgumentsAccessor变成了Person:

 @Order(19) @DisplayName("CsvSource的多个字段,通过指定聚合类转为Person实例") @ParameterizedTest @CsvSource({   "Jane2, Doe2, SMALL",   "John2, Doe2, UNKNOWN" }) void customAggregatorTest(@AggregateWith(PersonAggregator.class) Person person) {  log.info("customAggregatorTest [{}]", person); }
  1. PersonAggregator是转换器类,需要实现ArgumentsAggregator接口,具体的实现代码很简单,也就是从ArgumentsAccessor示例获取字段创建Person对象的操作:
package com.bolingcavalry.parameterized.service.impl;import org.junit.jupiter.api.extension.ParameterContext;import org.junit.jupiter.params.aggregator.ArgumentsAccessor;import org.junit.jupiter.params.aggregator.ArgumentsAggregationException;import org.junit.jupiter.params.aggregator.ArgumentsAggregator;public class PersonAggregator implements ArgumentsAggregator { @Override public Object aggregateArguments(ArgumentsAccessor arguments, ParameterContext context) throws ArgumentsAggregationException {  Person person = new Person();  person.setFirstName(arguments.getString(0));  person.setLastName(arguments.getString(1));  person.setType(arguments.get(2, Types.class));  return person; }}
  1. 上述测试方法的执行结果如下:

在这里插入图片描述

进一步简化

  1. 回顾一下刚才用注解指定转换器的代码,如下图红框所示,您是否回忆起JUnit5支持自定义注解这一茬,咱们来把红框部分的代码再简化一下:

在这里插入图片描述
2. 新建注解类CsvToPerson.java,代码如下,非常简单,就是把上图红框中的@AggregateWith(PersonAggregator.class)搬过来了:

package com.bolingcavalry.parameterized.service.impl;import org.junit.jupiter.params.aggregator.AggregateWith;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.PARAMETER)@AggregateWith(PersonAggregator.class)public @interface CsvToPerson {}
  1. 再来看看上图红框中的代码可以简化成什么样子,直接用@CsvToPerson就可以将ArgumentsAccessor转为Person对象了:
 @Order(20) @DisplayName("CsvSource的多个字段,通过指定聚合类转为Person实例(自定义注解)") @ParameterizedTest @CsvSource({   "Jane3, Doe3, BIG",   "John3, Doe3, UNKNOWN" }) void customAggregatorAnnotationTest(@CsvToPerson Person person) {  log.info("customAggregatorAnnotationTest [{}]", person); }
  1. 执行结果如下,可见和@AggregateWith(PersonAggregator.class)效果一致:

在这里插入图片描述

测试执行名称自定义

  1. 文章最后,咱们来看个轻松的知识点吧,如下图红框所示,每次执行测试方法,IDEA都会展示这次执行的序号和参数值:

在这里插入图片描述

  1. 其实上述红框中的内容格式也可以定制,格式模板就是@ParameterizedTest的name属性,修改后的测试方法完整代码如下,可见这里改成了中文描述信息:
 @Order(21) @DisplayName("CSV格式多条记录入参(自定义展示名称)") @ParameterizedTest(name = "序号 [{index}],fruit参数 [{0}],rank参数 [{1}]") @CsvSource({   "apple3, 31",   "banana3, 32",   "'lemon3, lime3', 0x3A" }) void csvSourceWithCustomDisplayNameTest(String fruit, int rank) {  log.info("csvSourceWithCustomDisplayNameTest, fruit [{}], rank [{}]", fruit, rank); }
  1. 执行结果如下:

在这里插入图片描述

  • 至此,JUnit5的参数化测试(Parameterized)相关的知识点已经学习和实战完成了,掌握了这么强大的参数输入技术,咱们的单元测试的代码覆盖率和场景范围又可以进一步提升了;

你不孤单,欣宸原创一路相伴

  1. Java系列
  2. Spring系列
  3. Docker系列
  4. kubernetes系列
  5. 数据库+中间件系列
  6. DevOps系列

欢迎关注公众号:程序员欣宸

微信搜索「程序员欣宸」,我是欣宸,期待与您一同畅游Java世界...
https://github.com/zq2599/blog_demos









原文转载:http://www.shaoqun.com/a/593576.html

跨境电商:https://www.ikjzd.com/

f2c:https://www.ikjzd.com/w/1242

芒果店长:https://www.ikjzd.com/w/1533


欢迎访问我的GitHubhttps://github.com/zq2599/blog_demos内容:所有原创文章分类汇总及配套源码,涉及Java、Docker、Kubernetes、DevOPS等;关于《JUnit5学习》系列《JUnit5学习》系列旨在通过实战提升SpringBoot环境下的单元测试技能,一共八篇文章,链接如下:基本操作Assumptions类Assertions类按条件执行标
imgur:https://www.ikjzd.com/w/156
002315焦点科技:https://www.ikjzd.com/w/1831
拍拍网:https://www.ikjzd.com/w/2205
公婆蛮不讲理婚姻生活让我焦头烂额_婚姻生活_口述:http://lady.shaoqun.com/m/a/91450.html
Shopify独立站如何收款专题精讲Paypal、2Checkout、Stripe的较量:https://www.ikjzd.com/home/132113
跨境新人怎么开启自建站?资深运营手把手教你Shopify建站!:https://www.ikjzd.com/home/121495

英超-迪亚斯处子球斯通斯破门 曼城2-1豪取20连胜_安东尼奥

原标题:英超-迪亚斯处子球斯通斯破门 曼城2-1豪取20连胜

北京时间2月27日晚20点30分,2020-2021赛季英超联赛第26轮迎来一场焦点战役,曼城坐镇主场对阵西汉姆联。上半场,德布劳内助攻迪亚斯攻入个人曼城生涯首球,随后安东尼奥禁区内射门击中立柱弹出。半场结束前,铁锤帮右路传中,林加德禁区一垫,安东尼奥门前扳平比分。下半场马赫雷斯助攻斯通斯再度帮助曼城取得领先。最终,蓝月亮主场2-1击败西汉姆联,取得各项赛事20连胜。

第12分钟,德布劳内突入禁区横传,托雷斯左脚射门被绍切克挡出。第18分钟,林加德禁区外围晃开角度射门被斯通斯挡出,第二点埃德森出击在和安东尼奥的争抢中没有控制球权,皮球落下后林加德跟上射门再次被斯通斯挡出。

第30分钟,德布劳内右边路左脚精准传中,迪亚斯禁区内高高跃起头球攻门,尽管皮球被门将碰了一下,但是还是未能阻止皮球入网,曼城1-0。

一分钟后,托雷斯对方半场断球后,带至大禁区附近右脚射门被门将扑住。第39分钟,西汉姆联右路传中,安东尼奥停球后转身射门,皮球击中立柱外侧出了底线。

第40分钟,林加德右路带球内切后左脚远射被埃德森没收。第43分钟,西汉姆联右路传中,林加德门前一垫,安东尼奥后点处抢点垫射破门,西汉姆联1-1。

第55分钟,沃克禁区外围一脚低射偏出。第68分钟,马赫雷斯禁区内虚晃后传球,斯通斯右脚劲射得分,曼城2-1。

第78分钟,马赫雷斯大禁区线附近左脚射门被后卫挡出。伤停补时最后一分钟,铁锤帮传中,迪奥普禁区内头球攻门偏出。全场比赛结束,曼城主场2-1击败西汉姆联。

双方出场阵容:

曼城(433):31-埃德森/2-沃克、3-鲁本-迪亚斯、5-斯通斯、11-津琴科/8-京多安(88'16-罗德里)、25-费尔南迪尼奥、17-德布劳内/26-马赫雷斯、10-阿圭罗(60'9-热苏斯)、21-托雷斯(65'47-福登)

西汉姆联(3421):35-兰道夫/23-迪奥普、15-道森、3-克雷斯维尔/5-曹法尔、41-德克兰-赖斯、28-绍切克、31-约翰逊(83'20-鲍恩)/18-福尔纳尔斯、11-林加德/30-安东尼奥(83'9-本拉赫马)

双方技术统计:

返回搜狐,查看更多

责任编辑:

原文转载:http://sport.shaoqun.com/a/455739.html

跨境电商:https://www.ikjzd.com/

cbo:https://www.ikjzd.com/w/2670

shirley:https://www.ikjzd.com/w/1684


原标题:英超-迪亚斯处子球斯通斯破门曼城2-1豪取20连胜北京时间2月27日晚20点30分,2020-2021赛季英超联赛第26轮迎来一场焦点战役,曼城坐镇主场对阵西汉姆联。上半场,德布劳内助攻迪亚斯攻入个人曼城生涯首球,随后安东尼奥禁区内射门击中立柱弹出。半场结束前,铁锤帮右路传中,林加德禁区一垫,安东尼奥门前扳平比分。下半场马赫雷斯助攻斯通斯再度帮助曼城取得领先。最终,蓝月亮主场2-1击败西汉
zen-cart:https://www.ikjzd.com/w/1282
bonanza:https://www.ikjzd.com/w/275.html
环球易购:https://www.ikjzd.com/w/1034
如何抢占旺季流量?这些大卖都喜欢用的爆单方法你都用上了吗?:https://www.ikjzd.com/home/134104
亚马逊Prime Day秒杀费用是平时的5倍,然而美国站却崩溃了!:https://www.ikjzd.com/home/3145
2020疫情|2020疫情新闻资讯及2020疫情报道:http://www.shaoqun.com/m/s/2020%E7%96%AB%E6%83%85.aspx

男人禁欲太久,当心这些危害

核心提示:很多人都知道,纵欲过度对身体而言是具有危害的,纵欲过度除了会损耗身体元气之外,还会令人逐渐颓靡,让人难以集中精神,影响工作与学习。因此,很多人为了不影响身体健康,都会选择"禁欲"。可实际上,禁欲的危害,你可不能小觑哦。

很多人都知道,纵欲过度对身体而言是具有危害的,纵欲过度除了会损耗身体元气之外,还会令人逐渐颓靡,让人难以集中精神,影响工作与学习。因此,很多人为了不影响身体健康,都会选择"禁欲"。可实际上,禁欲的危害,你可不能小觑哦。

禁欲太久,当心这些危害

禁欲太久,当心这些危害

1、禁欲太久,性功能易退化

当男人"精虫"上脑的时候,性欲望会在大脑中盘旋不去,逐渐发酵,这种情感刺激会经过丘脑下部,然后到达下垂体,让人欲火焚身,渴望性爱,此时,男性的阴茎会勃起充血,需要找到宣泄的渠道或方法。

而如果男性长期禁欲,不看美女、不近情色、不想情事,那么阴茎的平滑肌可能会逐渐退化,还会对海绵体的充血功能造成不利影响,甚至会导致身体对性爱元素产生"陌生感",最终使得阴茎失去了"锻炼"的机会,令运动神经变得迟钝,导致性功能逐渐退化,严重的还会引起性冷淡。

2、禁欲太久,危害生殖健康

如果当男人阴茎勃起厉害,胀满感已经"爆棚"的时候,男人却憋住不宣泄,经常如此就很容易造成局部水肿或充血,这不管是对前列腺,还是对精囊而言,都是非常不利的,严重的甚至还会危害生殖健康,诱发疾病。


3、禁欲太久,心理会憋屈

男人禁欲太久,除了会造成生理上的不利影响之外,还容易产生心理问题,会给人的心理带来一定的压力,令人有憋屈感。另外,如果男性的伴侣一直都不愿意"给",那么男性可能会误以为伴侣不爱他,这种误会对感情本身而言是一种无形的伤害。

总而言之,拥有性欲是人类的自然生理现象,作为一个正常的人,不必过于压抑自己的天性。如果有男女朋友,或者是已经结婚的,就可以做爱做的事情,进行正常的感情宣泄;但如果你是单身男女青年,也可以在性欲高涨难耐的时候,通过自慰的方式来宣泄情感。否则,总是藏着憋着的话,就很容易憋出病来。


原文转载:http://health.shaoqun.com/a/187068.html

跨境电商:https://www.ikjzd.com/

商标抢注:https://www.ikjzd.com/w/1053

关键词分析工具:https://www.ikjzd.com/w/1968


核心提示:很多人都知道,纵欲过度对身体而言是具有危害的,纵欲过度除了会损耗身体元气之外,还会令人逐渐颓靡,让人难以集中精神,影响工作与学习。因此,很多人为了不影响身体健康,都会选择"禁欲"。可实际上,禁欲的危害,你可不能小觑哦。 很多人都知道,纵欲过度对身体而言是具有危害的,纵欲过度除了会损耗身体元气之外,还会令人逐渐颓靡,让人难以集中精神,影响工作与学习。因此,很多人为了不影响身体健康,都会选择
isbn:https://www.ikjzd.com/w/174
刘军:https://www.ikjzd.com/w/1835
名人堂是什么:https://www.ikjzd.com/w/1082
能省钱却不给用?亚马逊这个功能即将被限制…:https://www.ikjzd.com/home/15829
发货模式:https://www.kjyunke.com/categories/124/courses
跨境大事件:5.4亿!华贸物流拟收购佳成国际70%股份:https://www.ikjzd.com/home/142295

2021年2月27日星期六

利用这一培养系统研究人员可在3.5cm细胞培养皿中批量生产大量人造胚胎。

来历:科技日报

科技日报北京1月31日电 ,记者从我国农业大学生物学院农业生物技术国家重点实验室得悉,该实验室的韩建永团队,将小鼠在植入子宫前3.5天囊胚在体外培育,得到三种具有无限增殖和多向分解才能的干细胞系,而这三种干细胞可体外重构胚胎并发动着床,一起,三种干细胞可以来自不同个别。日前,该论文宣布在《天然·通讯》上。

由囊胚衍生干细胞自拼装的胚胎样结构可以在体外发作模仿胚胎发作。该团队研发了一种非贴壁悬浮振荡体系,使用小鼠胚胎、滋补细胞和胚胎外内胚层干细胞发作自拼装的胚胎样结构。

“小鼠前期胚胎发育可以分为植入子宫前和植入子宫后两个发育进程。将小鼠在植入子宫前3.5天囊胚在体外培育,咱们得到三种干细胞系,分别是来自于表胚层的胚胎干细胞系,来自于滋补外胚层的滋补层干细胞和来自于原始内胚层的胚外内胚层干细胞。”该论文通讯作者、我国农业大学教授韩建永说。

我国农业大学博士张少鹏和博士陈天直为该论文的一起榜首作者。张少鹏介绍,研讨人员研发了一种简易、快速、高效聚合细胞的水平悬浮震动培育体系,使用这一培育体系研讨人员可在3.5cm细胞培育皿中批量生产很多人工胚胎。

“咱们在体外使用囊胚来历的三种多能性干细胞聚合形成了胚胎样结构安排并模仿了正常胚胎植入子宫后的发育进程。在体内,聚合胚胎移植子宫后可以开始胚胎着床。这关于研讨细胞间彼此辨认,胚胎发作和发育,胚胎着床和安排再生等研讨都供给了一个新的研讨模型体系。”韩建永说。

研讨团队终究证明聚合胚胎可以有效地发动胚胎着床反响,进而为胚胎着床研讨供给了杰出的模型。



原文转载:http://tech.shaoqun.com/a/357779.html

跨境电商:https://www.ikjzd.com/

catch:https://www.ikjzd.com/w/832

巴克莱:https://www.ikjzd.com/w/2775


来历:科技日报科技日报北京1月31日电,记者从我国农业大学生物学院农业生物技术国家重点实验室得悉,该实验室的韩建永团队,将小鼠在植入子宫前3.5天囊胚在体外培育,得到三种具有无限增殖和多向分解才能的干细胞系,而这三种干细胞可体外重构胚胎并发动着床,一起,三种干细胞可以来自不同个别。日前,该论文宣布在《天然&middot;通讯》上。由囊胚衍生干细胞自拼装的胚胎样结构可以在体外发作模仿胚胎发作
孙琦:https://www.ikjzd.com/w/1638
淘粉吧返利:https://www.ikjzd.com/w/1725
zozotown:https://www.ikjzd.com/w/2180
DHL推出Parcel Metro服务,物流配送或将大幅降价!:https://www.ikjzd.com/home/361
皇家物流:https://www.ikjzd.com/w/1806
婆婆怀念前儿媳处处刁难我_婆媳关系_口述:http://lady.shaoqun.com/m/a/71492.html

外星探索网包括哪些没有被普及的外星人信息?

有些能够被验证具备更多目击者或者是证据的外星人世界可能会在新闻当中报道出来,但是还有一些个人传递上来的信息是不能够被报道出来的,但是这些信息在上都有所记载,下面我们就来具体的了解一下,在上究竟有哪一些没有被普及开来的外星人信息。

图片10.png 

例如在2003年有相关人士在上上传上来的一条有关于外星人的信息,这条信息当中所表述的内容就是。曾经有相关的人士看到过奇怪的外星生物,而且这些外星生物频繁的在集市上出现,但是并没有其他的人注意到,只有这个人能够看到这个外星生物,可能是由于这条信息所表述的内容过于的奇幻,所以导致信息不能够在新闻上传播开来,没有任何的证据,只不过是凭借一人之词,是不能够被批量报道的。

 

还有就是在2007年,有相关的人士声称自己曾经与外星人交流过,并且还曾经到外星人的基地参观过。虽然说此次外星人事件流传下来了许多图片和视频,但是。并不能够真正的去确认,这些图片和视频,真是在外星人基地拍摄下来的,所以也没有在新闻当中报道出来,而且知道此事件的人群也并不是特别的多。当然在站上还存在有许多各种各样的,没有被普及开来的有关于外星人的信息,这些信息有的是缺乏证据,有的是过于离奇,所以没有广泛的传播。




原文转载:http://tech.shaoqun.com/a/357775.html

跨境电商:https://www.ikjzd.com/

四海商舟:https://www.ikjzd.com/w/1516

环球华网:https://www.ikjzd.com/w/1063


有些能够被验证具备更多目击者或者是证据的外星人世界可能会在新闻当中报道出来,但是还有一些个人传递上来的信息是不能够被报道出来的,但是这些信息在上都有所记载,下面我们就来具体的了解一下,在上究竟有哪一些没有被普及开来的外星人信息。例如在2003年有相关人士在上上传上来的一条有关于外星人的信息,这条信息当中所表述的内容就是。曾经有相关的人士看到过奇怪的外星生物,而且这些外星生物频繁的在集市上出现,但是
csa:https://www.ikjzd.com/w/904
prime day:https://www.ikjzd.com/w/131
智赢:https://www.ikjzd.com/w/1511
亚马逊创始人将造访印度 CAIT正筹划抗议活动:https://www.ikjzd.com/home/114380
Shopee的SIP调价比例:https://www.ikjzd.com/w/2614
产品视频不会拍?学会这几招转化率蹭蹭上涨!:https://www.ikjzd.com/home/105278

地外相关信息发生在澳大利亚的管状云朵

如果大家对于地外相关信息有一定兴趣,可能就会发现天上的云朵千奇百怪,上一秒可能是一个样子,下一秒或许就会变成另外一个样子,你或许会看到各种不同动物的运动,但是可能从始至终都没有看到过冠状云朵,这是世间极为罕见的,也同样属于大自然的一大奇观。

图片9.png 

    地外相关信息中会有着很多不一样的知识,当大家在经过调查之后,会发现天上的云朵一般都是千奇百怪,人们可能会看到过像猫,像牛或者像人物的云朵,可是却并没有发现过管状云朵,这些云朵非常的罕见,甚至被称之为含有的绝色美景。而这个云朵是发生在澳大利亚,当时每年的秋天都会发现这种云朵长度大约是966公里,移动的时候速度更是超快,这就给飞机造成了一定的麻烦。

 

    当然人们在看到这种地外相关信息之后,也会觉得有一些好奇,所以很想要知道答案,在经过调查之后才知道这是一种管状云朵,基本每年的秋天都会出现。每年的秋天可能是因为海风的吹袭,所以就会形成碰撞,然后产生波状扰乱形成晨暮之光。其实它并不会滚动,但是因为视觉效果的影响,所以不少人都会觉得在眼前的这个云朵好像一直都在不停的滚动着,所以这样的一种现象确实让人觉得有一些壮观,而且更是一种让人觉得匪夷所思的事件。




原文转载:http://tech.shaoqun.com/a/357770.html

跨境电商:https://www.ikjzd.com/

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

epa认证:https://www.ikjzd.com/w/1769


如果大家对于地外相关信息有一定兴趣,可能就会发现天上的云朵千奇百怪,上一秒可能是一个样子,下一秒或许就会变成另外一个样子,你或许会看到各种不同动物的运动,但是可能从始至终都没有看到过冠状云朵,这是世间极为罕见的,也同样属于大自然的一大奇观。地外相关信息中会有着很多不一样的知识,当大家在经过调查之后,会发现天上的云朵一般都是千奇百怪,人们可能会看到过像猫,像牛或者像人物的云朵,可是却并没有发现过管状
二类电商:https://www.ikjzd.com/w/1457
淘粉吧返利:https://www.ikjzd.com/w/1725
r标:https://www.ikjzd.com/w/1070
亚马逊判店铺售假,还有救吗?:https://www.ikjzd.com/home/134114
干货!东南亚Shopee平台基础知识汇总:https://www.ikjzd.com/home/103283
销量飙升6000%!口罩之后,又一产品火遍全球:https://www.ikjzd.com/home/123199

保罗14+6+15拉文24分 公牛不敌太阳结束三连胜_篮板

原标题:保罗14+6+15拉文24分 公牛不敌太阳结束三连胜

北京时间2月27日,NBA常规赛继续进行。芝加哥公牛队坐镇主场迎接来自菲尼克斯太阳队的挑战,全场战罢,公牛以97-106不敌太阳。

数据方面,公牛队:拉文24分1篮板4助攻、科比-怀特19分5篮板4助攻、赛迪斯-杨13分10篮板5助攻、萨托兰斯基12分2篮板1助攻。

太阳队:布克22分2篮板5助攻、保罗14分6篮板15助攻、艾顿22分7篮板1助攻、布里奇斯14分2篮板2助攻、卡明斯基15分2篮板1助攻。

四节具体比分(公牛在前):26-26、32-20、23-28、16-32。

本赛季的太阳以异军突起之势成为联盟最大的一匹黑马,保罗的加盟激发出了奇妙的化学反应,使得太阳成为一支西部上半区球队。而公牛方面,球队最显著的提升来源于拉文的成长,场均28.8分的他已经成为联盟第6号得分手,整个公牛也愈加成熟,近期的三连胜就是最好的证明。

比赛开始后,太阳在保罗的指挥下表现出了非常强的整体性,他们并没有直接将球交给布克或保罗单打,球的运作非常快,也获得了许多空切的机会。而公牛这边开局手感并不好,连续三分出手不中,太阳打出12-4开局。但随后公牛迅速找回三分手感,坦普尔、拉文、萨托兰斯基皆有三分进账,而太阳的替补阵容得分效率明显下滑,随着拉文强杀篮下打成2+1,双第一节战成26平。

次节比赛双方展开对攻,比分交替领先互不相让,保罗抢断反击中投依旧无比丝滑,空接喂饼更是拿手好戏。反观公牛方面,并没有被保罗的表现乱了阵脚,替补球员稳扎稳打,也能将比分维持。第二节末端,公牛开始发力,拉文里突外投连拿5分,随后科比-怀特也命中三分,最后时刻,拉文单打后撤步三分再中,一举将分差拉大,半场以58-46领先。

易边再战,双方首发继续着高效的表现,但作为一支比较依仗三分球的队伍,太阳的三分手感非常糟糕,这也是他们落后的主要原因。随着艾顿在内线的连续得分,太阳一度将分差缩小至5分,但随着公牛连中三记三分,分差又来到了两位数。第三节最后两分钟。太阳开始在防守端发力,连续限制对手得分的同时投进了2记三分,打出了一波11-0的小高潮。但最后时刻,瓦伦丁命中超远压哨三分,帮助公牛将三节比分定格在81-74。

第四节一上来,卡明斯基连得6分,帮助太阳将分差缩小至1分。但随后公牛继续用三分稳定局势,而太阳则是依靠更多的空切和2+1来上分。关键时刻,保罗急停中距离命中扳平比分,双方来到同一起跑线,随后双方交替领先,互不相让。

关键时刻,布里奇斯命中关键三分,太阳拿到4分领先优势。在比赛的决胜时刻,公牛队关键球处理能力弱的问题完全暴露,拉文面对包夹时的出球以及其他队友的支配球能力都有着明显的短板,连续的失误让他们错失了很多机会。随着保罗转换进攻找到卡梅伦-约翰逊命中三分,分差来到9分,公牛也始终没能找到机会将比分扳回。最终,公牛以97-106不敌太阳,结束三连胜。

公牛首发:扎克-拉文、科比-怀特、温德尔-卡特、帕特里克-威廉姆斯、加莱特-坦普尔。

太阳首发:克里斯-保罗、德文-布克、德安德烈-艾顿、米卡尔-布里奇斯、杰-克劳德。返回搜狐,查看更多

责任编辑:

原文转载:http://sport.shaoqun.com/a/453745.html

跨境电商:https://www.ikjzd.com/

飞书互动:https://www.ikjzd.com/w/1319

中国邮政邮乐网:https://www.ikjzd.com/w/1776


原标题:保罗14+6+15拉文24分公牛不敌太阳结束三连胜北京时间2月27日,NBA常规赛继续进行。芝加哥公牛队坐镇主场迎接来自菲尼克斯太阳队的挑战,全场战罢,公牛以97-106不敌太阳。数据方面,公牛队:拉文24分1篮板4助攻、科比-怀特19分5篮板4助攻、赛迪斯-杨13分10篮板5助攻、萨托兰斯基12分2篮板1助攻。太阳队:布克22分2篮板5助攻、保罗14分6篮板15助攻、艾顿22分7篮板1助
塔图:https://www.ikjzd.com/w/2274
立刻网:https://www.ikjzd.com/w/2323
斑马物联网:https://www.ikjzd.com/w/1316
美国电商大咖的选品心法:获得选品灵感的10种方法(下):https://www.ikjzd.com/home/21419
2020跨境电商卖家须知的8个亚马逊重要销售节点!:https://www.ikjzd.com/home/129032
美国大选闹不停,订单下滑、物流增长,今年旺季没戏了?:https://www.ikjzd.com/home/133340

小卡30分瓦兰空砍22+11 快船7人上双复仇灰熊_助攻

原标题:小卡30分瓦兰空砍22+11 快船7人上双复仇灰熊

北京时间2月27日,2020-21赛季NBA常规赛继续进行,洛杉矶快船客场再战孟菲斯灰熊。全场打完,快船119-99轻取灰熊,成功复仇。

本场之星:科怀-伦纳德

此役,小卡独揽30分,还贡献9篮板7助攻,为快船赢球立下头功。

全场数据:

具体比分:32-30、31-17、27-25、29-27(灰熊在后)。

快船这边,除了小卡,保罗-乔治入账13分4篮板8助攻。另外,伊巴卡得到12分4篮板3助攻,贝弗利11分2篮板3助攻,巴图姆13分6篮板3助攻,路威17分2篮板4助攻,祖巴茨3分8篮板2助攻,曼恩13分6篮板2助攻。

灰熊这边,莫兰特得到20分4篮板5助攻,狄龙-布鲁克斯11分2篮板2助攻,瓦兰丘纳斯22分11篮板3助攻,凯尔-安德森12分9篮板4助攻5抢断,梅尔顿16分3篮板2助攻,克拉克3分,泰鲁斯-琼斯6分3助攻。

比赛回顾:

首节上来,贝弗利三分入网,乔治、伊巴卡的突破也先后命中。灰熊这边,则是由"大锤"凯尔-安德森射中三分球。此后,双方展开激烈拉锯战,瓦兰丘纳斯展现内线统治力,他造犯规罚球,翻身勾射、跳投,变换着方式得分。莫兰特上篮、罚球连中,三分球也入网,灰熊暂时领先。但此后,快船掀起小高潮,小卡一次空接上篮得手,一次三分命中,路威三分、上篮也都命中,单节打完,快船32-30暂时领先。

次节,乔治一上来又突破、跳投连中两球,但很快,梅尔顿三分球入网,安德森上篮也中,灰熊将比分咬住。此后,路威找到手感连续上分,乔治突破也轻松得手,二人得分都突破两位数。接下来,快船始终保持住优势,无论在进攻端,还是防守中,他们再也没有像上场球那样断电。乔治、贝弗利、小卡连中三个三分球,路威喂饼伊巴卡上篮也中,半场打完,快船63-47暂时领先。

易边再战,瓦兰一次抛射得手,莫兰特的三分也能够投进。但快船坚决贯彻收缩的战术,逼着灰熊只能更多在外线出手。本节中段,巴图姆三分入网,小卡的招牌跳投也能命中,分差来到15分。而灰熊这边,投射火力不足的短板却完全暴露。来到三节后段,分差还在继续拉大,特伦斯-曼恩两次攻筐得手,路威的三分球也能命中,分差一度来到了20分。莫兰特上篮也中,三节打完,灰熊72-90继续落后。

末节,灰熊还在顽强抵抗,瓦兰成为球队进攻端最值得依仗的球星,他继续在内线强攻,延续着追赶希望。但快船着实稳定,替补曼恩和路威还在上分,尤其小将曼恩,在一投一扣过后,得分已经上双。接下来,双方换回首发展开大决战,巴图姆三分入网,快船在进入最后两分钟时依然领先14分。最终,全场打完,快船119-99轻取灰熊,成功复仇。

双方首发阵容:

快船:科怀-伦纳德、尼古拉斯-巴图姆、塞尔吉-伊巴卡、保罗-乔治、帕特里克-贝弗利

灰熊:狄龙-布鲁克斯、凯尔-安德森、瓦兰丘纳斯、格雷森-阿伦、贾-莫兰特

(波洛)返回搜狐,查看更多

责任编辑:

原文转载:http://sport.shaoqun.com/a/453744.html

跨境电商:https://www.ikjzd.com/

急速:https://www.ikjzd.com/w/1861

extra:https://www.ikjzd.com/w/1736


原标题:小卡30分瓦兰空砍22+11快船7人上双复仇灰熊北京时间2月27日,2020-21赛季NBA常规赛继续进行,洛杉矶快船客场再战孟菲斯灰熊。全场打完,快船119-99轻取灰熊,成功复仇。本场之星:科怀-伦纳德此役,小卡独揽30分,还贡献9篮板7助攻,为快船赢球立下头功。全场数据:具体比分:32-30、31-17、27-25、29-27(灰熊在后)。快船这边,除了小卡,保罗-乔治入账13分4篮
lithium:https://www.ikjzd.com/w/2505
promotion:https://www.ikjzd.com/w/127
1淘网:https://www.ikjzd.com/w/1698
日本全国进入紧急状态!巨头企业大规模停工,7.6万名员工放长假:https://www.ikjzd.com/home/120235
优秀卖家都具备这几个运营思维:https://www.ikjzd.com/home/59958
分析|Facebook、Google红利期过去后,怎么让品牌在海外"出圈"?:https://www.ikjzd.com/home/115287

林书豪:赛场上被叫&quot;新冠病毒&quot; 已厌倦保持沉默_亚裔

原标题:林书豪:赛场上被叫"新冠病毒" 已厌倦保持沉默

北京时间2月27日消息,金州勇士队的发展联盟球队圣克鲁斯勇士后卫林书豪公开反对针对亚裔的种族歧视行为,暗示他在赛场上被称为"新冠病毒"。

根据著名记者Shams Charania最新报道,消息人士透露,NBA发展联盟官方将对林书豪被人称为"新冠病毒"一事展开调查。另外,勇士主帅史蒂夫-科尔在接受采访时也表示,他支持联盟对此事展开调查。

"这一代亚裔美国人的某些东西已经发生了变化,我们厌倦了被告知我们没有经历过种族歧视,我们厌倦了被告知要保持低调,不要制造麻烦,我们厌倦了亚裔的孩子在成长过程中总是被你问来自哪里,厌倦了我们的眼睛被嘲笑,厌烦了说我们亚裔天生缺乏吸引力,厌烦了好莱坞的刻板印象影响我们的心态,限制了我们的潜力。"林书豪在个人社交媒体Instagram账户上写道。

据埃里克-韦斯特维尔特(Eric Westervelt)报道,最近针对亚裔美国人的攻击将目标对准了老年人。"我希望我的长辈们能过得更好,他们为了在这里生活付出了那么多努力和牺牲。我希望后辈们以及下一代的亚裔运动员能获得更好的待遇。"林书豪表示。

"作为一个亚裔美国人,并不意味着我们没有经历过贫穷和种族歧视。作为一名有9年NBA经验的老将,并不能阻止我在球场上被叫'新冠病毒'。成为一名有信仰的人,并不代表我不会为了正义而战。"林书豪写道。

现年32岁的林书豪在其NBA职业生涯充满了传奇色彩,2011-12赛季,在效力纽约尼克斯队期间,对阵科比-布莱恩特领衔的洛杉矶湖人队时砍下了38分。这位游历甚广的老将最后一次出现在NBA赛场还是2019年。今年1月,林书豪加盟勇士队的发展联盟球队圣克鲁斯勇士队,在那里他场均拿到19.6分和7.2次助攻。

(晨晨)返回搜狐,查看更多

责任编辑:

原文转载:http://sport.shaoqun.com/a/453743.html

跨境电商:https://www.ikjzd.com/

tinypic:https://www.ikjzd.com/w/114

扬帆计划:https://www.ikjzd.com/w/1581


原标题:林书豪:赛场上被叫"新冠病毒"已厌倦保持沉默北京时间2月27日消息,金州勇士队的发展联盟球队圣克鲁斯勇士后卫林书豪公开反对针对亚裔的种族歧视行为,暗示他在赛场上被称为"新冠病毒"。根据著名记者ShamsCharania最新报道,消息人士透露,NBA发展联盟官方将对林书豪被人称为"新冠病毒"一事展开调查。另外,勇士主帅史蒂夫-科尔在接受采访时也表示,他支持联盟对此事展开调
贸发局:https://www.ikjzd.com/w/1621
adore:https://www.ikjzd.com/w/2202
agora:https://www.ikjzd.com/w/2176
亚马逊Listing推广步骤及优化策略:https://www.ikjzd.com/home/133415
欧代是什么?Amazon亚马逊卖家欧代注册流程,费用和时效详细解。:https://www.ikjzd.com/home/132135
都9102年了,你还不知道C2C平台?:https://www.ikjzd.com/home/96022

塔图姆递补KD成全明星首发 生涯首次+创绿军队史_凯文-杜兰特

原标题:塔图姆递补KD成全明星首发 生涯首次+创绿军队史

北京时间2月27日消息,NBA官方宣布,凯尔特人队球星贾森-塔图姆将递补受困腿筋伤势的凯文-杜兰特,成为东部全明星首发。

今天早些时候,篮网队官方宣布KD因伤将缺席全明星正赛,步行者队的多纳塔斯-萨博尼斯将顶替KD的位置。据悉,小萨博尼斯将成为替补。

谁顶替KD的首发位置呢?联盟官方在声明中写道,"根据NBA规则,当入选全明星的球员无法参赛时,他的席位将由剩余球员中同分区、同位置、得票最高的球员递补。"

就这样,塔图姆以22岁361天成为凯尔特人队史上最年轻的全明星首发!

这是塔图姆职业生涯第2次入选全明星,也是首次成为全明星首发。2020年,塔图姆曾入选全明星替补阵容。

在塔图姆顶替杜兰特后,今年东部全明星的首发名单是凯里-欧文、杰伦-布朗、扬尼斯-阿德托昆博、塔图姆和乔尔-恩比德。

本赛季至今,塔图姆为绿军打了27场球,场均出场35.4分钟,交出25.6分6.9篮板4.5助攻1.3抢断的数据。返回搜狐,查看更多

责任编辑:

原文转载:http://sport.shaoqun.com/a/453742.html

跨境电商:https://www.ikjzd.com/

敦煌网:https://www.ikjzd.com/w/189

中国邮政邮乐网:https://www.ikjzd.com/w/1776


原标题:塔图姆递补KD成全明星首发生涯首次+创绿军队史北京时间2月27日消息,NBA官方宣布,凯尔特人队球星贾森-塔图姆将递补受困腿筋伤势的凯文-杜兰特,成为东部全明星首发。今天早些时候,篮网队官方宣布KD因伤将缺席全明星正赛,步行者队的多纳塔斯-萨博尼斯将顶替KD的位置。据悉,小萨博尼斯将成为替补。谁顶替KD的首发位置呢?联盟官方在声明中写道,"根据NBA规则,当入选全明星的球员无法参赛时,他的
sgshop:https://www.ikjzd.com/w/1982
敦煌网:https://www.ikjzd.com/w/189
tm商标:https://www.ikjzd.com/w/1069
共同战"疫" | 运输抗疫物资 这个公司每天派出一架跨国包机:https://www.ikjzd.com/home/115891
东南亚跨境电商shopee选品指南---新手必读!:https://www.ikjzd.com/home/109299
亚马逊测试App弹窗功能,在对手产品页面推销自有品牌:https://www.ikjzd.com/home/19192

官方MVP榜:恩比德升榜首压詹皇 库里仅列第四位_约基奇

原标题:官方MVP榜:恩比德升榜首压詹皇 库里仅列第四位

北京时间2月27日消息,NBA官方公布了最新一期MVP榜。本期榜单,恩比德超过詹姆斯升至榜首,约基奇来到NO.3。

1、乔尔-恩比德(76人队,上周第2位)

赛季场均数据:29.6分11.2篮板3.1助攻1.3盖帽1.3抢断

恩比德已连续9场至少10次站上罚球线,这是联盟近10年第二长纪录。2019年,詹姆斯-哈登曾连续21场10+罚球。最近3场,"大帝"手感一般,场均只得到22分。

2、勒布朗-詹姆斯(湖人队,上周第1位)

赛季场均数据:25.6分8.1篮板8助攻1抢断

湖人队遭遇4连败。安东尼-戴维斯仍没有回归的具体时间表,所以詹姆斯仍需要扛着这支湖人队前行。好消息是,今天对阵开拓者队,丹尼斯-施罗德应该能够首发出场。

3、尼古拉-约基奇(掘金队,上周第5位)

赛季场均数据:26.9分10.9篮板8.4助攻1.7抢断

掘金队最近6场输了4场,但约基奇表现不错。2月至今打了12场,约基奇场均得到27.3分,投篮命中率53.9%,三分球命中率高达47.1%。对约基奇来说,他是这支掘金队的绝对核心。

4、斯蒂芬-库里(勇士队,上周第4位)

赛季场均数据:30.0分5.5篮板6.3助攻1.2抢断

库里连续13场至少得到25分,创职业生涯新高。但之后对阵步行者队,库里外线11投仅1中。2月至今,库里场均得到33.8分,投篮命中率50.2%,同时场均失误2.6次。

5、达米安-利拉德(开拓者队,上周第3位)

赛季场均数据:29.6分4.4篮板8助攻1抢断

本赛季利拉德得分低于30分,开拓者队的战绩仅为3胜9负;当他得到30+,开拓者队14胜4负。今天对阵湖人队,利拉德期待率队赢球。

排在榜单第6-15位的球员分别是:科怀-伦纳德(快船队)、卢卡-东契奇(独行侠队)、扬尼斯-阿德托昆博(雄鹿队)、多诺万-米切尔(爵士队)、詹姆斯-哈登(篮网队)、凯文-杜兰特(篮网队)、鲁迪-戈贝尔(爵士队)、德文-布克(太阳队)、保罗-乔治(快船队),以及扎克-拉文(公牛队)。返回搜狐,查看更多

责任编辑:

原文转载:http://sport.shaoqun.com/a/453740.html

跨境电商:https://www.ikjzd.com/

壹米滴答:https://www.ikjzd.com/w/2314

parenthood:https://www.ikjzd.com/w/2497


原标题:官方MVP榜:恩比德升榜首压詹皇库里仅列第四位北京时间2月27日消息,NBA官方公布了最新一期MVP榜。本期榜单,恩比德超过詹姆斯升至榜首,约基奇来到NO.3。1、乔尔-恩比德(76人队,上周第2位)赛季场均数据:29.6分11.2篮板3.1助攻1.3盖帽1.3抢断恩比德已连续9场至少10次站上罚球线,这是联盟近10年第二长纪录。2019年,詹姆斯-哈登曾连续21场10+罚球。最近3场,"
黄劲:https://www.ikjzd.com/w/2426
东杰智能:https://www.ikjzd.com/w/1967
costco:https://www.ikjzd.com/w/1680
全球危机!欧洲告急!意大利进入"战时"状态:https://www.ikjzd.com/home/118122
易周资讯|日本封国:28日起暂停所有新入境;SHEIN 旗下彩妆品牌 SHEGLAM 上线独立站:https://www.ikjzd.com/home/138781
为什么产品是Amazon's Choice ,销量还是没变化?:https://www.ikjzd.com/home/656

一白遮百丑,一斑毁所有,有了黄褐斑,应该怎么治疗

核心提示:人常说一白遮百丑,一斑毁所有,尤其是黄褐斑。女性一般到了30岁以上,由于各种原因,基本上都会出现黄褐斑。

人常说一白遮百丑,一斑毁所有,尤其是黄褐斑。女性一般到了30岁以上,由于各种原因,基本上都会出现黄褐斑。


而一旦出现黄褐斑,祛斑历程艰难,很多女性因此失去美丽和魅力,变得缺乏自信,抑郁自卑,久而久之压抑的情绪导致内分泌进一步失调,催生更多的黑色素堆积在面部,造成了黄褐斑的加重。


什么是黄褐斑?

黄褐斑,俗称"蝴蝶斑"、"肝斑"或者"妊娠斑",主要发生在面部,以颧部、颊部、鼻、前额、颏部为主。黄褐斑是一种获得性色素沉着性皮肤病,对称性分布,呈蝶翅状,为黄褐色点、片状散布于两侧颧部,深浅和形状不定,无任何自觉症状。色斑深浅可随季节、日晒、精神状况而变化。本病多发于中青年女性,少数男性也患此病。

一旦确诊黄褐斑,应该尽早到医院进行治疗,这样才能尽早避免黄褐斑的进一步发展和加重,并且检查其他系统疾病,避免内在原因诱发加重的黄褐斑。日常生活中通过物理遮盖加上防晒霜涂抹,两者结合的防晒模式,能真正预防光曝露对于黄褐斑的影响。


原文转载:http://lady.shaoqun.com/a/267417.html

跨境电商:https://www.ikjzd.com/

c79:https://www.ikjzd.com/w/1016

ryder:https://www.ikjzd.com/w/1264.html


核心提示:人常说一白遮百丑,一斑毁所有,尤其是黄褐斑。女性一般到了30岁以上,由于各种原因,基本上都会出现黄褐斑。 人常说一白遮百丑,一斑毁所有,尤其是黄褐斑。女性一般到了30岁以上,由于各种原因,基本上都会出现黄褐斑。而一旦出现黄褐斑,祛斑历程艰难,很多女性因此失去美丽和魅力,变得缺乏自信,抑郁自卑,久而久之压抑的情绪导致内分泌进一步失调,催生更多的黑色素堆积在面部,造成了黄褐斑的加重。什么是黄
俄罗斯灰色清关:https://www.ikjzd.com/w/1409
史泰博办公用品:https://www.ikjzd.com/w/2112
拍拍:https://www.ikjzd.com/w/2205
速卖通怎么入驻中国好卖家?速卖通金银牌资源对接详解:https://www.ikjzd.com/home/113879
亚马逊运营套路:关联营销和激活老产品推广策略!:https://www.ikjzd.com/home/20470
2021年即将到来,亚马逊最全的账号注册流程:https://www.ikjzd.com/home/134150

脚底起茧,又厚又难看,怎么去除?

核心提示:不少人脚底有茧,甚至在走路时有刺痛感。一些中老年人喜欢用指甲剪或剪刀去除脚茧,有人则喜欢用浮石或锉刀清理,这些方法可行吗?去脚茧时有哪些注意事项呢?

不少人脚底有茧,甚至在走路时有刺痛感。一些中老年人喜欢用指甲剪或剪刀去除脚茧,有人则喜欢用浮石或锉刀清理,这些方法可行吗?去脚茧时有哪些注意事项呢?


脚茧的产生,通常跟穿高跟鞋、运动方式不当有关,如果不影响美观,走路时也没有疼痛感,一般不需要特殊处理。反之,应采取正确的方式去除。

去除脚茧的方法比较多,不建议粗暴地用手撕扯,也不要用指甲剪或剪刀去除。因为这样做容易造成修剪处的皮肤受伤,脚茧会因此变得更厚、更硬。

较薄的新生脚茧,可以在用温水泡脚后,用手轻搓几下,不用刻意用工具去除。


有的人偏好用浮石或者锉刀清理,就要注意控制力度,避免造成出血和感染。另外,频繁地去除脚茧,容易导致皮肤角质化,加快脚底长茧的速度,建议不要频繁的去除脚茧。

而较厚的脚茧,可去医院求助于皮肤科医生。也可以到正规的专业修脚店,让工作人员用消过毒的专业工具,将过厚的脚茧清除。

平时要注意穿合适的鞋子,女性应注意避免长时间穿高跟鞋,足部的护理也很重要,脚底是一个有着多穴位的地方,经常按摩脚底不仅可以避免脚底生老茧,还可以起到促进健康的作用。


原文转载:http://lady.shaoqun.com/a/267414.html

跨境电商:https://www.ikjzd.com/

燕文物流:https://www.ikjzd.com/w/2229

epa认证:https://www.ikjzd.com/w/1769


核心提示:不少人脚底有茧,甚至在走路时有刺痛感。一些中老年人喜欢用指甲剪或剪刀去除脚茧,有人则喜欢用浮石或锉刀清理,这些方法可行吗?去脚茧时有哪些注意事项呢? 不少人脚底有茧,甚至在走路时有刺痛感。一些中老年人喜欢用指甲剪或剪刀去除脚茧,有人则喜欢用浮石或锉刀清理,这些方法可行吗?去脚茧时有哪些注意事项呢?脚茧的产生,通常跟穿高跟鞋、运动方式不当有关,如果不影响美观,走路时也没有疼痛感,一般不需要
catch:https://www.ikjzd.com/w/832
google趋势:https://www.ikjzd.com/w/397
photobucket:https://www.ikjzd.com/w/132
口述:初恋时我没有被嘴唇烫过(2/2):http://lady.shaoqun.com/m/a/44503.html
亚马逊广告怎么优化,这8条准则要牢记!:https://www.ikjzd.com/home/129500
同为大卖,有人营收56.78亿,有人净利润却下滑近一半!:https://www.ikjzd.com/home/132512

2021年2月26日星期五

约尼奇正式加盟上海申花 带刀后卫出场率近乎100%_克罗地亚

原标题:约尼奇正式加盟上海申花 带刀后卫出场率近乎100%

2月26日,上海申花官方宣布,正式签约约尼奇。

申花公告如下:

经与日本大阪樱花足球俱乐部及球员本人友好协商并达成一致,克罗地亚球员马泰·约尼奇(Matej Jonjic)正式加盟上海申花足球俱乐部。

约尼奇1991年1月29日出生于克罗地亚,身高187cm,场上司职后卫。约尼奇职业生涯起步于克罗地亚甲级联赛哈伊杜克队,随后辗转效力于扎达尔队与奥西耶克队,期间在克罗地亚甲级联赛共计出场90次,打入8球。2015年2月,约尼奇转会加盟韩国K联赛球队仁川联,两年时间为球队出场77次。2017年,约尼奇加盟日本J联赛球队大阪樱花,各项赛事共计出场156次,贡献13粒进球。值得一提的是,作为中卫的约尼奇常年保持着极高的出场率,在效力大阪樱花的四个赛季中,约尼奇在136场J1联赛中首发登场135次,仅在2018赛季缺席过一场比赛,是球队当仁不让的后防中坚。他也以稳定而出色的表现帮助大阪樱花赢得2017日本联赛杯、2017日本天皇杯和2018日本超级杯的冠军。

相信约尼奇的加盟将会有效提升申花后场的整体实力,增强球队防守端的硬度与稳定性。期待他在新赛季与队友紧密合作,用稳定的表现帮助申花构筑坚固防线,取得佳绩。返回搜狐,查看更多

责任编辑:

原文转载:http://sport.shaoqun.com/a/452742.html

跨境电商:https://www.ikjzd.com/

ensogo:https://www.ikjzd.com/w/1485

五洲会海购:https://www.ikjzd.com/w/1068


原标题:约尼奇正式加盟上海申花带刀后卫出场率近乎100%2月26日,上海申花官方宣布,正式签约约尼奇。申花公告如下:经与日本大阪樱花足球俱乐部及球员本人友好协商并达成一致,克罗地亚球员马泰·约尼奇(MatejJonjic)正式加盟上海申花足球俱乐部。约尼奇1991年1月29日出生于克罗地亚,身高187cm,场上司职后卫。约尼奇职业生涯起步于克罗地亚甲级联赛哈伊杜克队,随后辗转效力于扎达尔
活动树:https://www.ikjzd.com/w/1518
扬帆计划:https://www.ikjzd.com/w/1581
crowd:https://www.ikjzd.com/w/880
亚马逊卖家必看!亚马逊物流又有新动作!:https://www.ikjzd.com/home/21637
亚马逊竞争对手分析该怎么做_如何分析亚马逊竞争对手:https://www.ikjzd.com/home/121138
eBay在美国启动全新的支付管理方案!:https://www.ikjzd.com/home/7622

Virtual DOM 简直就是挥霍

彻底澄清"Virtual DOM 飞快"的神话。

彻底澄清"Virtual DOM 飞快"的神话。

注意:原文发表于2018-12-27,随着框架不断演进,部分内容可能已不适用。

近年来,如果你有使用过 JavaScript 框架,那么你可能听说过"Virtual DOM 飞快",甚至认为比真实的 DOM 还要快。

令人震惊的是,这种说法竟然深入人心。

有人曾问我 Svelte 不使用 Virtual DOM,它为何更快?看来现在是时候仔细探讨一下。

什么是 Virtual DOM?

在众多框架中,你通常是使用 render() 函数来构建应用程序UI的,就像下方这个简单的 React 组件:

function HelloMessage(props) { return ( <div className="greeting">  Hello {props.name} </div> );}

不用 JSX,你一样可以做同样的事情……

function HelloMessage(props) { return React.createElement( 'div', { className: 'greeting' }, 'Hello ', props.name );}

……后者正是前者的宗本道源,其结果自然一致:代表的是页面渲染的对象。

这个对象就是 Virtual DOM。

一旦程序更新了状态(例如 name 属性被修改),便会创建新的对象。

框架要做的工作是对比新旧对象之间的差异,找出需要进行重新渲染的部分,并将其应用到真实的 DOM 中。

这种观念是如何开始的?

关于 Virtual DOM 性能的误解,可以追溯到 React 正式发布那会。

在2013年,React 前团队核心成员 Pete Hunt 在《重新思考最佳实践》的演讲中提到:

这确实是快如闪电,主要是因为大多数 DOM 操作慢如蜗牛, DOM 有很多性能上的开销,大多数 DOM 操作往往会掉链子。

截图来自 JSConf EU 2013 《重新思考最佳实践》

截图来自 JSConf EU 2013 《重新思考最佳实践》

但是 —— 慢着!

Virtual DOM 只是真实 DOM 操作锦上添花的补充而已。

它之所以快,是因为拿性能更差的框架做对比(在2013年,可以欺负的选择有很多!),另一种选择是做一些他人不屑去做的事情:

onEveryStateChange(() => { document.body.innerHTML = renderMyApp();});

Pete 很快就澄清……

React 不是魔法。
就像你可以使用C进入汇编程序并击溃C编译器一样,你可以进入原生 DOM 操作和 DOM API 调用,并在时机来临时击溃 React。
然而,使用 C、Java 或者 JavaScript,可以将性能提升一个数量级,你不必担心……平台的细节。
使用 React,你可以构建应用程序时无需顾及性能问题,它本身就很快。

…… 但这还是没有挠到痒处。

那么……Virtual DOM 慢吗?

并不尽然。

如果能够防患于未然,那确实"Virtual DOM 飞快"。

React 最初的承诺是,你可以在每次状态改变时,自动重新渲染你的整个应用,且不用担心性能。

不敢苟同。

果真如此,那就不需要像 shouldComponentUpdate 这样的优化了(这是一个用于告诉 React 何时可以安全地跳过一个组件的方法)。

就算用了 shouldComponentUpdate,一次性更新整个应用的 Virtual DOM 也大费周折。

前不久 React 团队引入一种叫 React Fiber 的东西,它可以将更新划分成较小的块。

这意味着(除了其他事项外)更新不会长时间阻塞主线程,尽管它不会减少工作总量或总体耗时。

开销从何而来?

显而易见,DOM差异比较(diffing)并非毫无代价。

这必须先将新的 Virtual DOM 与旧的差异(快照)进行比较,然后才能对真实 DOM 应用更改。

就拿前面的 HelloMessage 为例,假设 name 属性从"world"更改为"everybody":

  1. 两个快照都包含一个元素,在这种情况下,它都是 <div>,这意味着我们可以保持相同的 DOM 节点。

  2. 我们枚举 <div> 旧的和新的所有属性,以查看是否需要更改、添加或者删除任何属性。在这两种情况下,我们都有一个特性,就是它的值为"greeting"的类名

  3. 扫描元素内部,我们看到文本已经更改了,因此我们需要更新实际的 DOM。

在上述三步里,只有第3步在该示例中有价值,因为程序的基本结构是没有改变的,这其实在绝大多数的更新中都是如此。

如果我们直接跳到第3步,效率就高得多了:

if (changed.name) { text.data = name;}

(这几乎就是 Svelte 生成的更新代码了。与传统的 UI 框架有所不同,Svelte 是一个编译器,它可以在构建时便知悉程序中可能发生的变化,而非运行时。)

不止差异比较一个方面

React 和其他 Virtual DOM 框架使用的 diffing 算法速度都很快。

换而言之,组件本身的开销更大。

例如你不太可能会写出这样的代码……

function StrawManComponent(props) { const value = expensivelyCalculateValue(props.foo); return ( <p>the value is {value}</p> );}

如果这么干,无论 props.foo 是否已经更改,你可能会粗心地在每次更新时不小心重新计算了 value

不过,对于进行不必要的计算和分配,更普遍的是下面这种方式:

function MoreRealisticComponent(props) { const [selected, setSelected] = useState(null); return ( <div>  <p>Selected {selected ? selected.name : 'nothing'}</p>  <ul>  {props.items.map(item =>   <li>   <button onClick={() => setSelected(item)}>    {item.name}   </button>   </li>  )}  </ul> </div> );}

在这里,我们每次状态更改时,都要生成一个新的虚拟的 <li> 元素数组,每个元素都有自己内联的事件处理程序,而不论 props.items 是否发生了变化。

除非你对性能有所不满,否则就不会对其进行优化。这么干毫无意义,它足够快了。

但是你想知道怎样会更快吗?那是在浪费时间。

其实,默认就做一些不必要的计算(即使是微不足道的),其危险之处在于你的应用最终会温水煮青蛙般死掉,因为没有明显的瓶颈值得去优化。

React Hooks 会使情况变本加厉,结果可想而知。

Svelte 专门设计用来防止你陷入这种困境。

那些框架为何还要用 Virtual DOM?

关键是要理解:Virtual DOM 不是一种特性,而是一种手段。

它要达到的目的是支持声明式的、状态驱动的 UI 开发。

Virtual DOM 很有价值,因为它允许你在构建应用程序时无需考虑状态转换,而且性能通常_已经足够好了_。

这意味着更少的错误代码,更多的时间花在创造性的任务上,而不是在单调乏味的地方折腾。

但事实证明,我们可以在不使用 Virtual DOM 的情况下实现类似的编程模型 —— 这正是 Svelte 的用武之地。

< The End >









原文转载:http://www.shaoqun.com/a/590572.html

跨境电商:https://www.ikjzd.com/

易麦:https://www.ikjzd.com/w/2048

飞书互动:https://www.ikjzd.com/w/1319


彻底澄清"VirtualDOM飞快"的神话。彻底澄清"VirtualDOM飞快"的神话。注意:原文发表于2018-12-27,随着框架不断演进,部分内容可能已不适用。近年来,如果你有使用过JavaScript框架,那么你可能听说过"VirtualDOM飞快",甚至认为比真实的DOM还要快。令人震惊的是,这种说法竟然深入人心。有人曾问我Svelte不使用VirtualDOM,它为何更快?看来现在是时
mail.ru:https://www.ikjzd.com/w/2232
燕文物流:https://www.ikjzd.com/w/2229
eprice:https://www.ikjzd.com/w/1325
【卖家故事会】我谨小慎微地运营,只是想能生存下去:https://www.ikjzd.com/home/19018
英国脱欧!VAT由各平台代扣代缴,千万卖家如何应对?:https://www.ikjzd.com/home/140261
除了亚马逊ebay,这些今年新崛起的高潜力跨境电商平台更值得关注:https://www.ikjzd.com/home/23237

LinkedIn-DataHub专题: 初识DataHub

本文仅从普及角度让大家对元数据中心系统及其DataHub有个初步了解。DataHub部署、实战、更深入的技术剖析会单独给出

介绍

DataHub是由LinkedIn的数据团队开源的一款提供元数据搜索与发现的工具,在数据资产越来越重视的当下,探索数据治理解决方案,以满足不断增长的大数据复杂生态系统需求。
在这之前我们有必要先了解下整个大环境及其发展历程。

为什么需要元数据管理系统

随着企业的发展,不同的业务场景产生了不同形式的海量技术、业务数据。如何提取出有用的数据来帮助解决特定场景、发现潜在价值成为数据科学家的核心难题之一。业界通过元数据来提高数据科学家的生产力,一种描述数据的数据。(元数据概念请自行了解)不同的用例通常都会有自己特殊的元数据定义及其关系,最常见的如用户元数据、报表元数据、关系元数据。我们需要一套完备的系统帮助专业人员收集、组织、访问和丰富元数据,以支持数据发现和管理(俗称:数据治理,在数据资产化下数据治理尤为重要)。而如何设计一套行之有效的系统,更方便、快速的丰富、查询、使用元数据成为各大企业探索的目标。(国外更多的称呼该系统为 元数据中心\元数据目录)


简单点说,你想要一份数据,如果通过一个人就能拿到,那可能就不需要该系统;但往往在大公司里,这些数据散落在不同系统、存储、地域,你甚至不知道有什么数据,找谁拿,而元数据中心系统就可以帮助你快速准确定位到想要的数据,同时还能知道谁在使用、谁创建的、数据依赖,什么时候数据从A变成B等等。

元数据中心系统发展历程

本文档编写时,元数据中心系统架构经历了三代演变。在该领域内Lyft's Amundsen、DataHub处于领先者,Amundsen是社区最活跃的,DataHub也越来越被关注。

更详细的架构演进请跳转此文:LinkedIn-DataHub专题: 元数据中心系统架构演进

image.png

第三代架构确保我们能够以最具伸缩性和灵活性的方式集成、存储和处理元数据。本文的主角DataHub就是基于三代架构进行构建,市面上具有三代架构特性的还有Apache Atlas,Egeria,Uber Databook(非开源)。Atlas与Hadoop生态系统紧密耦合,最活跃的Amundsen现已可以与Atlas做整合;Egeria支持事件,但功能还不完整;Databook与DataHub较接近,但不开源。DataHub经历了WhereHows(第二代)的过渡,也存在内部版本(开源版版本与内部版本区别看这),在LinkedIn内部被广泛使用,每天处理超过千万实体和关系的变更事件,总计索引超过500万个实体和关系,毫秒级查询,用户体验也获得了极大的改进。不难看出LinkedIn的野心:推进DataHub成为数据资产的基础设施进程。

初探DataHub

DataHub功能清单(20210219)

最新功能清单以官方在线版为准: https://github.com/linkedin/datahub/blob/master/docs/features.md

开源版的数据结构仅支持Datasets、People;数据集支持:Hive、Kafka、RDBMS(如果需要额外的数据集,需编程式定义);存储源支持Oracle、Postgres、MySQL、H2等主流RDBMS 、Elasticsearch和Neo4j。除了以下列的这些,还有部分功能也在规划中,比如仪表盘、指标信息、元数据结构变更记录、数据抓取任务执行记录等等。

数据集集合

  • [x] 搜索:全文高级搜索,搜索排名
  • [x] 浏览可配置的浏览层次结构
  • [x] Schema:表格和JSON格式的表文档结构
  • [x] 粗粒度血缘:支持数据集级别的上下游血缘图形可视化
  • [x] Ownership:呈现数据集的所有者,查看您拥有的数据集
  • [x] 数据集生命周期管理
  • [x] 数据共享:支持向任何数据集添加自由格式文档
  • [ ] 细粒度血缘:支持字段级别
  • [ ] 喜欢、关注、书签
  • [ ] Compliance management:field level tag based compliance editing
  • [ ] Top 榜:数据集使用频次、或用户使用频次榜单

用户

  • [x] 搜索:全文高级搜索,搜索排名
  • [x] 个人资料编辑:如摘要、技能
  • [ ] 浏览:browsing through a configurable hierarchy

DataHub (& GMA)架构

DatahHub采用前后端分离+微服务/容器架构,但其完整的技术栈给我们带来了一定的挑战。(头大,会的越多越不会了)

  • 前端:Ember + TypeScript + ES9 + ES.Next + Yarn + ESLint
  • 服务端:Play Framework(web框架) + Spring + Rest.li(restful框架)+ Pegasus(数据建模语言) + Apache Samza (流处理框架)
  • 基础设施:elastic search(5.6) + Mysql + neo4j + kafka
  • 构建工具:Gradlew + Docker + Docker compose

image.png
DataHub 组成

  • datahub-gms (Generalized Metadata Store) : 元数据存储服务
  • datahub-gma (Generalized Metadata Architecture) : 通用元数据体系结构

GMA是datahub的基础设施,提供标准化的元数据模型和访问层

  • datahub-frontend : 应用前端
  • datahub-mxe 元数据事件
    • datahub-mce-consumer (MetadataChangeEvent):元数据变更事件,由平台或爬虫程序发起,写入到GMS
    • datahub-mae-consumer (MetadataAuditEvent): 元数据审计事件,只有被成功处理的MCE才会产生相应的MAE,由GMS发起 ,写入到es&Neo4j

一个完整DataHub应用所需部署的组件清单
image.png

DataHub web应用截图

前端提供三种类型的交互:(1)搜索,(2)浏览,(3)查看/编辑元数据。
以下是一些实际应用的截图。
v2-139d4719c96146cfb3c56cef5ac3d1ec_r.jpg

元数据建模

DataHub选择了Pegasus对元数据建模。由于Pegasus没有提供模型关系或关联的明确方法,因此引入了一些自定义扩展来支持这些用例。
image.png
以上图实体关系团来说,包含了三种类型实体:用户、组、数据集;同时也包含了三种关系:OwnedBy,HasMember和HasAdmin。与传统的ERD不同,我们将实体和关系的属性分别直接放在圆圈内和关系名称下面,以便将新类型的组件(称为"元数据方面")附加到实体。不同的团队可以拥有和发展同一实体元数据的不同方面,而不会相互干扰,从而实现分布式元数据建模要求。三种类型的元数据方面:所有权,配置文件和成员资格在上面的示例中呈现为绿色矩形。虚线表示元数据方面与实体的关联。例如,配置文件可以与用户相关联,且所有权可以与数据集等相关联。
每个实体,关系和"元数据方面"都是单独的Pegasus文件(PDSC/PDL),User(PDL文件)实体和OwnedBy(PDL文件)关系分别如下(DataHub内部维护了两种文件类型 pdl和avsc (json格式),看官方说明,内部建模都会改成pdl,而网络传输(MCE)则用avsc格式):

关于PDSC/PDL, AVSC相关的请看该文档:https://linkedin.github.io/rest.li/pdl_schema

image.png
image.png
以OwnerBy为例,编译完会生成以下两个文件OwnerBy.avsc、OwnerBy.java:

{ "type" : "record", "name" : "OwnedBy", "namespace" : "com.linkedin.metadata.relationship", "doc" : "A generic model for the Owned-By relationship", "fields" : [ { "name" : "source", "type" : "string", "doc" : "Urn for the source of the relationship", "java" : {  "class" : "com.linkedin.common.urn.Urn" } }, { "name" : "destination", "type" : "string", "doc" : "Urn for the destination of the relationship", "java" : {  "class" : "com.linkedin.common.urn.Urn" } }, { "name" : "type", "type" : {  "type" : "enum",  "name" : "OwnershipType",  "namespace" : "com.linkedin.common",  "doc" : "Owner category or owner role",  "symbols" : [ "DEVELOPER", "DATAOWNER", "DELEGATE", "PRODUCER", "CONSUMER", "STAKEHOLDER" ],  "symbolDocs" : {  "CONSUMER" : "A person, group, or service that consumes the data",  "DATAOWNER" : "A person or group that is owning the data",  "DELEGATE" : "A person or a group that overseas the operation, e.g. a DBA or SRE.",  "DEVELOPER" : "A person or group that is in charge of developing the code",  "PRODUCER" : "A person, group, or service that produces/generates the data",  "STAKEHOLDER" : "A person or a group that has direct business interest"  } }, "doc" : "The type of the ownership" } ], "pairings" : [ { "destination" : "com.linkedin.common.urn.CorpuserUrn", "source" : "com.linkedin.common.urn.DatasetUrn" }, { "destination" : "com.linkedin.common.urn.CorpuserUrn", "source" : "com.linkedin.common.urn.DataProcessUrn" } ]}
package com.linkedin.metadata.relationship;/** * A generic model for the Owned-By relationship * */@Generated(value = "com.linkedin.pegasus.generator.JavaCodeUtil", comments = "Rest.li Data Template. Generated from metadata-models/src/main/pegasus/com/linkedin/metadata/relationship/OwnedBy.pdl.")public class OwnedBy extends RecordTemplate{ private final static OwnedBy.Fields _fields = new OwnedBy.Fields(); private final static RecordDataSchema SCHEMA = ((RecordDataSchema) DataTemplateUtil.parseSchema("namespace com.linkedin.metadata.relationship/**A generic model for the Owned-By relationship*/@pairings=[{\"destination\":\"com.linkedin.common.urn.CorpuserUrn\",\"source\":\"com.linkedin.common.urn.DatasetUrn\"},{\"destination\":\"com.linkedin.common.urn.CorpuserUrn\",\"source\":\"com.linkedin.common.urn.DataProcessUrn\"}]record OwnedBy includes/**Common fields that apply to all relationships*/record BaseRelationship{/**Urn for the source of the relationship*/source:{namespace com.linkedin.common@java.class=\"com.linkedin.common.urn.Urn\"typeref Urn=string}/**Urn for the destination of the relationship*/destination:com.linkedin.common.Urn}{/**The type of the ownership*/type:{namespace com.linkedin.common/**Owner category or owner role*/enum OwnershipType{/**A person or group that is in charge of developing the code*/DEVELOPER/**A person or group that is owning the data*/DATAOWNER/**A person or a group that overseas the operation, e.g. a DBA or SRE.*/DELEGATE/**A person, group, or service that produces/generates the data*/PRODUCER/**A person, group, or service that consumes the data*/CONSUMER/**A person or a group that has direct business interest*/STAKEHOLDER}}}", SchemaFormatType.PDL)); private final static RecordDataSchema.Field FIELD_Source = SCHEMA.getField("source"); private final static RecordDataSchema.Field FIELD_Destination = SCHEMA.getField("destination"); private final static RecordDataSchema.Field FIELD_Type = SCHEMA.getField("type"); static {  Custom.initializeCustomClass(com.linkedin.common.urn.Urn.class); } public OwnedBy() {  super(new DataMap(4, 0.75F), SCHEMA); } public OwnedBy(DataMap data) {  super(data, SCHEMA); } public static OwnedBy.Fields fields() {  return _fields; } /**  * Existence checker for source  *  * @see OwnedBy.Fields#source  */ public boolean hasSource() {  return contains(FIELD_Source); } /**  * Remover for source  *  * @see OwnedBy.Fields#source  */ public void removeSource() {  remove(FIELD_Source); } /**  * Getter for source  *  * @see OwnedBy.Fields#source  */ public com.linkedin.common.urn.Urn getSource(GetMode mode) {  return obtainCustomType(FIELD_Source, com.linkedin.common.urn.Urn.class, mode); } /**  * Getter for source  *  * @return  *  Required field. Could be null for partial record.  * @see OwnedBy.Fields#source  */ @Nonnull public com.linkedin.common.urn.Urn getSource() {  return obtainCustomType(FIELD_Source, com.linkedin.common.urn.Urn.class, GetMode.STRICT); } /**  * Setter for source  *  * @see OwnedBy.Fields#source  */ public OwnedBy setSource(com.linkedin.common.urn.Urn value, SetMode mode) {  putCustomType(FIELD_Source, com.linkedin.common.urn.Urn.class, String.class, value, mode);  return this; } /**  * Setter for source  *  * @param value  *  Must not be null. For more control, use setters with mode instead.  * @see OwnedBy.Fields#source  */ public OwnedBy setSource(  @Nonnull  com.linkedin.common.urn.Urn value) {  putCustomType(FIELD_Source, com.linkedin.common.urn.Urn.class, String.class, value, SetMode.DISALLOW_NULL);  return this; } /**  * Existence checker for destination  *  * @see OwnedBy.Fields#destination  */ public boolean hasDestination() {  return contains(FIELD_Destination); } /**  * Remover for destination  *  * @see OwnedBy.Fields#destination  */ public void removeDestination() {  remove(FIELD_Destination); } /**  * Getter for destination  *  * @see OwnedBy.Fields#destination  */ public com.linkedin.common.urn.Urn getDestination(GetMode mode) {  return obtainCustomType(FIELD_Destination, com.linkedin.common.urn.Urn.class, mode); } /**  * Getter for destination  *  * @return  *  Required field. Could be null for partial record.  * @see OwnedBy.Fields#destination  */ @Nonnull public com.linkedin.common.urn.Urn getDestination() {  return obtainCustomType(FIELD_Destination, com.linkedin.common.urn.Urn.class, GetMode.STRICT); } /**  * Setter for destination  *  * @see OwnedBy.Fields#destination  */ public OwnedBy setDestination(com.linkedin.common.urn.Urn value, SetMode mode) {  putCustomType(FIELD_Destination, com.linkedin.common.urn.Urn.class, String.class, value, mode);  return this; } /**  * Setter for destination  *  * @param value  *  Must not be null. For more control, use setters with mode instead.  * @see OwnedBy.Fields#destination  */ public OwnedBy setDestination(  @Nonnull  com.linkedin.common.urn.Urn value) {  putCustomType(FIELD_Destination, com.linkedin.common.urn.Urn.class, String.class, value, SetMode.DISALLOW_NULL);  return this; } /**  * Existence checker for type  *  * @see OwnedBy.Fields#type  */ public boolean hasType() {  return contains(FIELD_Type); } /**  * Remover for type  *  * @see OwnedBy.Fields#type  */ public void removeType() {  remove(FIELD_Type); } /**  * Getter for type  *  * @see OwnedBy.Fields#type  */ public OwnershipType getType(GetMode mode) {  return obtainDirect(FIELD_Type, OwnershipType.class, mode); } /**  * Getter for type  *  * @return  *  Required field. Could be null for partial record.  * @see OwnedBy.Fields#type  */ @Nonnull public OwnershipType getType() {  return obtainDirect(FIELD_Type, OwnershipType.class, GetMode.STRICT); } /**  * Setter for type  *  * @see OwnedBy.Fields#type  */ public OwnedBy setType(OwnershipType value, SetMode mode) {  putDirect(FIELD_Type, OwnershipType.class, String.class, value, mode);  return this; } /**  * Setter for type  *  * @param value  *  Must not be null. For more control, use setters with mode instead.  * @see OwnedBy.Fields#type  */ public OwnedBy setType(  @Nonnull  OwnershipType value) {  putDirect(FIELD_Type, OwnershipType.class, String.class, value, SetMode.DISALLOW_NULL);  return this; } @Override public OwnedBy clone()  throws CloneNotSupportedException {  return ((OwnedBy) super.clone()); } @Override public OwnedBy copy()  throws CloneNotSupportedException {  return ((OwnedBy) super.copy()); } public static class Fields  extends PathSpec {  public Fields(List<String> path, String name) {   super(path, name);  }  public Fields() {   super();  }  /**   * Urn for the source of the relationship   *   */  public PathSpec source() {   return new PathSpec(getPathComponents(), "source");  }  /**   * Urn for the destination of the relationship   *   */  public PathSpec destination() {   return new PathSpec(getPathComponents(), "destination");  }  /**   * The type of the ownership   *   */  public PathSpec type() {   return new PathSpec(getPathComponents(), "type");  } }}

可以看下如果要新增一个元模型/实体要怎么操作。特别提下,URN类似于唯一标识/类型,数据建模相关后面会单开一篇来讲,暂不展开。
image.png

数据接入

DataHub提供两种数据接入方式:API调用或Kafka流。
DataHub的API基于Rest.li,Rest.li使用的是Pegasus作为接口定义,因此可以复用元数据模型。Kafka方式接收MCE,传输的格式为Avro(json格式),由Pegasus自动生成。由Apache Samza作为流处理框架,将Avro数据格式转换回Pegasus,并调用相应API。
image.png

数据服务&索引

DataHub支持四中常见查询:1、面向文档的查询;2、面向图形的查询;3、支持连接的复杂查询;4、全文检索
DataHub底层采用多级存储,以适配以上检索场景。并抽象出DAO层,以满足上层无感知调用。

image.png

结论

可以看出DataHub在元数据中心领域所做的努力,不但其架构的迭代、扩展性,以及未来将引入的新功能。希望将LinkedIn内部在元数据中心建设的经验分享并输出成业界通用的解决方案,借助LinkedIn内部和社区的发展,在未来还真有望成为下一代数据资产的基础设施。只是对国内来说,小众化的技术组件和不多的实践文档让企业决策者和开发者望而却步。但其先进的理念和架构,还是值得大家研究借鉴。

参考文献

[1] Open sourcing DataHub: LinkedIn's metadata search and discovery platform
[2] DataHub: Popular metadata architectures explained
[3] A Dive Into Metadata Hubs
[4] 数据治理篇-元数据: datahub概述
[5] DataPipeline丨LinkedIn元数据之旅的最新进展—Data Hub 【译】









原文转载:http://www.shaoqun.com/a/589599.html

跨境电商:https://www.ikjzd.com/

菜鸟网:https://www.ikjzd.com/w/1547

一淘比价网:https://www.ikjzd.com/w/1698


本文仅从普及角度让大家对元数据中心系统及其DataHub有个初步了解。DataHub部署、实战、更深入的技术剖析会单独给出介绍DataHub是由LinkedIn的数据团队开源的一款提供元数据搜索与发现的工具,在数据资产越来越重视的当下,探索数据治理解决方案,以满足不断增长的大数据复杂生态系统需求。在这之前我们有必要先了解下整个大环境及其发展历程。为什么需要元数据管理系统随着企业的发展,不同的业务场
reddit:https://www.ikjzd.com/w/180
epc:https://www.ikjzd.com/w/488
网上1号店:https://www.ikjzd.com/w/2263
德国海关应对英国脱欧的安排!:https://www.ikjzd.com/home/20602
不让你坐在奔驰机盖上哭,2019最火热的亚马逊无货源店群模式介绍:https://www.ikjzd.com/home/22914
亚马逊小白开店快速进阶5大步骤:https://www.ikjzd.com/home/90810

Kakao和MBK Partners有望成为eBay韩国的收购者

自从eBay的美国电子商务运营商在上个月宣布它将出售其eBay韩国之后,eBay韩国的最终归属便一直成为众多韩国卖家关注的重要信息。

 

而近日《经济时报》报道称,Kakao Corp和MBK Partners有意收购eBay韩国,这家电子商务公司很可能最终被出售给这两家中的其中一家

 20210225c8c9b7ffac0d6fcd3_th_1024x0.jpg


据韩国投资银行业的内部人士透露,eBay的财务顾问高盛(Goldman Sachs)和摩根士丹利(Morgan Stanley)一直在向潜在买家发出预告信,目前该公司已经买家候选人。eBay韩国将很快与他们会面,以签署保密协议,并向他们提供有关公司的详细信息。

 

作为旗下拥有GmarketG9和Auction的企业,即使eBay韩国早已不复当年辉煌,但其却依旧是韩国电商市场上不可忽视的重要力量!

 

《韩国时报》报道,截至目前,该公司的价值尚未为公众所知,但业内一直流传着5万亿韩元(合45亿美元)的收购价

 

Kakao和MBK Partners能得到什么好处

 

作为最有可能收购电子商务业务韩国分部的主要候选人收购eBay韩国对Kakao Corp和MBK Partners这两家来说有什么好处?

 

先来说Kakao Corp如果Kakao拥有eBay韩国,则可以将其电子商务子公司Kakao Commerce进行管理。作为一家的电商公司,目前Kakao Commerce的体量还很小。

 unnamed.jpg


一旦吸收了eBay韩国将大大张其产品线增加平台上出售物品的数量。而且由于eBay还是电商市场上第二大玩家,因此Kakao会立即跃居韩国电商市场上的重要玩家。

 

对于MBK Partners亚洲私募股权投资公司来说如果收购eBay韩国,则很可能自己旗下的Homeplus公司建立联系

 

Homeplus作为韩国领先的折扣店零售连锁店,如果MBK成功收购eBay韩国,那么在如今买家都在进行网上购物的时代,Homeplus将会迅速通过eBay韩国旗下的三家电子商务平台成功市场建立在线业务涉足电商市场

 

从总体来看,无最终收购eBay韩国哪个投资者都将能够从中受益5万亿韩元在Coupang赴美上市的刺激下,似乎也并不是不能接受的价位!




原文转载:http://www.shaoqun.com/a/589594.html

跨境电商:https://www.ikjzd.com/

派代:https://www.ikjzd.com/w/2197

bsci 认证:https://www.ikjzd.com/w/2339


自从eBay的美国电子商务运营商在上个月宣布它将出售其eBay韩国之后,eBay韩国的最终归属便一直成为众多韩国卖家关注的重要信息。而近日《经济时报》报道称,KakaoCorp和MBKPartners有意收购eBay韩国,这家电子商务公司很可能最终被出售给这两家中的其中一家。据韩国投资银行业的内部人士透露,eBay的财务顾问高盛(GoldmanSachs)和摩根士丹利(MorganStanley)
香港会计师事务所:https://www.ikjzd.com/w/2434
亿恩网:https://www.ikjzd.com/w/1461
雨果:https://www.ikjzd.com/w/1307
一淘网:https://www.ikjzd.com/w/1698
【Verna说】申明!Slantyboy不是我!他把信息全部改成我的信息,请大众认清!:https://www.ikjzd.com/home/104632
口述:婆婆以老公体弱为由让我少爱爱:http://lady.shaoqun.com/m/a/17287.html

美客多下架反犹太物品,这些产品平台禁售!

拉美电商领导者美客多于1999年成立于阿根廷,服务范围覆盖了拉丁美洲的18个国家,构建了包括平台、商店管理、物流仓储、支付、金融科创、广告推广6项综合服务的"生态系统"。其前三大市场巴西、阿根廷和墨西哥贡献了该公司90%以上的电商销售额。

 

jewishexponent网站报道,美客多目前正在下架平台上的反犹太物品,包括纳粹硬币、海报、纪念品以及诸如《Mein Kampf》(我的奋斗)和《The Protocols of the Elders of Zion》(锡安长老的礼仪)之类的书籍。

 

今年2月11日,美客多公布了其与世界犹太人大会区域分会签署的一项协议,决定与该协会共同打击反犹太主义。作为该"联合战略"的一部分,美客多和世界犹太人大会将努力在该平台上找出更多涉嫌煽动种族仇恨的产品。

 

77.jpg


美客多的法律和政府高级副总裁Jacobo Cohen Imach表示,美客多已经在拉美地区的18个国家中扮演了重要的社会角色,相信下架反犹太产品的举动可以让美客多朝着消除种族仇恨和反犹主义更进一步。

 

拉丁美洲的犹太人大会项目主任和负责人Ariel Seidler也指出:"为不同民族间的和平共处以及反对仇恨言论做出努力是整个社会的责任,在这方面公民社会组织和科技公司的这种联盟具有极高的价值。"

 

近年来涉及种族歧视和反犹主义的商品在各大电商平台不时出现,包括亚马逊和eBay等都对此进行了较大力度的整治工作。各大平台已经禁售的产品有:

 

印有"6MWE"(600万不够)字样的黑黄相间的T恤、连帽上衣和杯子,据悉这些产品上还印有二战意大利法西斯的标志——一只展翅的鹰;

 

印有Jewish people should have been killed during the Holocaust的产品;

 

拉比(犹太学者)服饰,配图为贪婪数钱的拉比;

 

刻有"Jude"的黄色大卫之星补丁,这个星星曾经是德国纳粹在迫害犹太人时用来标记德国和欧洲犹太人的标志;

 

带血的以色列国旗;

 

以及《The Jews as World Parasite》(犹太人就像世界上的寄生虫)、《Judas The World Enemy》(犹太人是全世界的敌人)、《600万犹太人真的死了吗》等书籍。

 

所有涉嫌反犹太的商品都严重损害了犹太人民的民族感情,同时还有可能制造影响更为恶劣的霸凌流血事件,卖家也要注意自查商品,遵守平台规范,不要贪心赚取"不义之财"。





原文转载:http://www.shaoqun.com/a/589581.html

跨境电商:https://www.ikjzd.com/

netporter:https://www.ikjzd.com/w/2132

敦煌网站:https://www.ikjzd.com/w/189


拉美电商领导者美客多于1999年成立于阿根廷,服务范围覆盖了拉丁美洲的18个国家,构建了包括平台、商店管理、物流仓储、支付、金融科创、广告推广6项综合服务的"生态系统"。其前三大市场巴西、阿根廷和墨西哥贡献了该公司90%以上的电商销售额。据jewishexponent网站报道,美客多目前正在下架平台上的反犹太物品,包括纳粹硬币、海报、纪念品以及诸如《MeinKampf》(我的奋斗)和《ThePro
3suisses:https://www.ikjzd.com/w/412
bsci:https://www.ikjzd.com/w/2339
一淘网比价平台:https://www.ikjzd.com/w/1698
B2B受阻B2C订单井喷!电动摩托出口或迎黄金十年:https://www.ikjzd.com/home/131339
来自一位老卖家的心声:运营技巧千千万,不如踏踏实实干!:https://www.ikjzd.com/home/103118
亚马逊展现位置调整!自营业务又惹争议:https://www.ikjzd.com/home/126668

每月50万化妆品小样“走私”,售价不足正装1/10,百亿代购市场将惨遭屠戮?

化妆品小样可以单独售卖吗?

"你拿的是普通小棕瓶,这堆是高能小棕瓶,一直用小棕瓶的话可以试试这个。"在一个顾客爆满的美妆集合店里,店员小姐姐手里举起来的,其实是一个只有7毫升的非卖品小样。

"可以放心,这些小样是我们进正装时候配(赠)的。那边架子上的正装在打折,所以这边的小样就也拿来卖了。"上述店员补充道,"你可以对比一下,价格要比正装划算好多。"

这样的场景,正在HARMAY话梅、THE COLORIST调色师、WOW COLOUR色界这些年轻人聚合的美妆店中涌现。少则两个合并起来的货架,多则一整块独立的售卖区,甚至在整个楼层,都在做着"小样生意"。

以备受追捧的兰蔻粉水为例,该款产品目前官网正装标价为435元,而集合店内50毫升的小样售价为49.9元,折算正装同量的400毫升价格约为400元。虽然折算起来优惠有限,但也足以吸引那些想要试用或者需要旅行装的消费者。

然而,不论是小样上明确贴着的"非卖品"标签,还是配赠小样可以足量供应的现象,似乎都在提示我们,这份看似长期的福利恐怕只是"短期蜜糖"。非卖品能卖吗?它们是从哪来的?这份新兴的生意真的能长久吗?

一、卖小样违不违法?

派发小样,是化妆品巨头雅诗兰黛在70年前发明的"路转粉"技巧。雅诗兰黛从来不让她的顾客空手离开,只要光顾门店,就送点小样带回家,哪个女人"顶得住"?

但创办人雅诗兰黛夫人恐怕预测不到,在中国市场,这已经变成了一个百亿规模以上的大生意。

从小样试用装存在的初衷来看,并非用于销售,这也是为什么其瓶身上会被贴上"非卖品"标签。

那么,"非卖品"究竟允许被销售吗?

相关律师告诉亿邦动力,"非卖品"是厂家为了区分商品商业用途(批发和洽谈配赠等)而对相关产品的官方标注。由于标签本身并不具有法律效力,所以相关法律也并未禁止非卖品的销售。只要符合一般商品销售的要求,包括商品质量、包装、安全性等,具备全套的销售要求即是合规行为。

上述律师强调,对于新兴渠道销售化妆品小样,问题可能存在于是否已经取得销售某品牌的权利,即品牌授权。如果没有获得品牌授权,严格追究其实可以判定为不合规操作。

但亿邦动力观察到,化妆品小样的生意其实长期存在。

目前,各类渠道中常见的化妆品小样分为两种。一种是在美妆集合店出售的带有品牌包装的小样产品,另一种则是大牌化妆品的分装产品。后者主要由网店卖家将大牌化妆品分装在小的消毒包装中,或者组合成新的彩妆组合盘进行销售。

此前,《广东省化妆品安全条例》曾明确禁止销售化妆品经营者擅自分装、配制的产品。用于经营性服务或者作为促销赠品、有奖销售活动奖品的也同样视同经营行为。

但上述规定并未完全将分装小样生意封杀,卖家仍会通过改变销售地或转移到线上的形式去规避监管。

而对于更为主流的"标品"小样产品,在买卖过程中也存在乱象。

以开篇提到的兰蔻粉水50毫升小样为例,在亿邦动力走访的几家美妆集合店中,出现了49.9元、55元、46元三种不同的价格。化妆品小样虽然有商品码,但并没有没有明确的定价,让销售的环节更像是心知肚明的"暗箱操作"。而商品的实际价值只能根据换算到正装量比价来计算。

另一方面,网上部分美妆博主推荐靠谱代购渠道时候的考量标准,也间接反映出了小样市场的另一个"乱象"。

"根据经验,时常缺货的小样代购店才比较靠谱。"几乎所有美妆博主的推荐视频里都会第一时间提到这个判断标准,其理由是:大牌小样是品牌的配货赠品,并不会足量供应。

那么,可以将小样摆满货架,并声称"不限量"的美妆集合店,他们的大牌小样又是从哪里来的?

二、代购怕不怕?

"小样不会直接用于渠道进货的,我们自己的小样都非常紧张。"亿邦动力询问了某国际大牌化妆品高管,品牌方面并不会直接为渠道提供小样的进货渠道。

另有国际品牌化妆品的代运营表示,公司并没有给部分美妆集合店授权,对于门店可以长期、大量供应对应品牌小样的情况,自己并不知情。

专做大牌化妆品小样销售的李想告诉亿邦动力,市面上用于销售的化妆品小样主要来源有两个,一个是品牌专柜"倒货",一个是正装代购的"分销"。

"品牌的小样都是用作赠送的,老客试用、新人礼、达额礼等,但并不影响这些小样有机会流入市场。"李想透露,很多代购在国外或免税店购买正品后,会获得大量的小样赠品,于是就会有小样被转卖给销售小样的商家,这在小样圈内已经形成了一套流程。

"大牌小样都是根据门店的销售业绩有配额的,根据专柜的业绩目标就能大致算出专柜配额的小样有多少。"曾是柜姐,如今成为小样代购的思思算了一笔账:假设一个柜台每月销售目标150万,按照1280元可获赠小样套装,专柜起码会配1000套赠品。按照惯例,每个专柜大概可以完成约60%的销售目标,在全都实现达额赠送的情况下,每月仍会有约价值50万元配额小样流入市场。

"专柜为了完成销售目标,会自己花钱购买正装,同时带着小样,之后再拆分将正装和小样分别卖给下游,用小样的销售额填补正装折扣的费用。"思思坦言,加上销售中未达到满赠或者未做赠送的情况,小样流入市场的数量可能会更大。

在淘宝键入关键词"化妆品小样",粉丝在数十万量级、有多个商品月销数千、三皇冠(交易量达5万-10万笔)的小样代购店数不胜数。在上述搜索的综合排名店铺前50中,超过10年的老店数量过半,且大部分均为5年以上的老店,甚至有超过16年的小样代购店铺。这意味着淘宝中小样代购生意几乎和淘宝的年岁相仿,可见大牌小样代购市场的繁荣和长久。

据品观报道,淘宝店在售的欧莱雅紫熨斗、兰蔻小黑瓶、雅诗兰黛智妍精华霜、科颜氏高保湿面霜等明星产品,按单位容量换算,价格为正装原价的25%或50%。

而类似Whoo后、雪花秀等韩国高端品牌的水乳、精华等产品小样,售价叹为观止。以Whoo后的拱辰享乳液为例,110ML正装的原价为530元,而在某淘宝店中30个5ML的小样仅为59元,还不到正装原价的十分之一。

咨询公司NPD Group数据显示,美国护肤品市场的化妆品小样已发展成一个庞大的市场,2018年曾创下销售额12亿美元(约合人民币80亿元)的纪录。而作为紧随美国的第二大化妆品消费市场,加上始终领先的市场增速,中国化妆品小样的市场空间也可以想象。

如今内容平台也给小样代购加了把劲儿。在小红书等内容平台,搜索"小样店铺"后,会出现大量讲解如何找到靠谱小样淘宝店的内容,播放、点赞量可达数十万,更有达人直接拍摄视频小样套装拆包,证明自己销售的是正品小样。

然而,这条被小样代购群体趟出来的大路,如今却被美妆集合店截了胡。

代购们也坦言,卖小样原本就是在渠道指缝中找到的生意空间,如今货源要被美妆集合店分流,年轻群体也在被美妆集合店收割。即便小样代购如今尚可凭借积累的信任和超低价维系生意,但当美妆集合店们真的实现了目标的百家千家门店,只怕代购的生存空间也将不复存在。

"为什么会有'代购'?因为个人不容易买到。如果大牌小样随处可见了,哪里还需要代购。"一位化妆品行业人士如是说。

三、小样生意可不可持续?

"和美妆集合店在今年突然迎来爆发有相通之处,消费者愿意在集合店里买大牌化妆品,一定程度是因为疫情把自己出国买,代购出国买的路都被封死了。"有化妆品行业连续创业者表示,美妆集合店销售小样的形式会带来短期的聚集效应,是早期吸引年轻消费者的有效手段,但长期稳定的供应存在问题。

"正品小样确实是会以各种形式流入市场的,我们也相信它存在一套合理的销售流程。但对于一些直接把大量小样作为主要生意的集合店,还是需要抱有怀疑态度,这么大的量从哪来?小样生意真的可持续吗?"另有跨境电商从业者也抛出了类似的观点。做进口品牌的公司最大的核心商业能力就是供应链,但作为多年的从业者,看到集合店里能长期存在那么多小样,还是会惊讶,因为那几乎是不可能的。

HARMAY话梅合伙人此前曾向媒体表示,小样一方面增加了客单价,另一方面降低了新顾客的门槛。对店铺来说,是通过高低毛利产品的组合来拉高整体毛利率的方式。

一位接近美妆集合店的业内人士透露,目前行业内小样售卖的毛利基本在45%以上。

但相对于大量销售小样的HARMAY话梅,更多新派美妆集合店把卖小样当成了一种引流手段,可随着大量门店的拓展,这种违背品牌"调性"的买卖恐怕影响的也不止是代购人群。

"零售端的影响是小的,最终其实品牌也会受到影响。"有护肤品品牌创始人表示,比如大牌直播间从不降价只做小样赠品,说明大牌需要小样来作为价格战的"遮羞布",背后透视到的则是品牌对于福利和促销之间的界限感。美妆集合店销售小样或许不足以影响大牌的销量,但恐怕很难让年轻消费者对品牌建立忠诚度,这对品牌是一种无形的伤害。

"和有格调的门店装修,引入更多网红品牌,商品免费试用一样,销售大牌小样不过就是美妆集合店精准迎合年轻用户的手段之一,可以理解也无可厚非。"一位美妆品牌创始人在肯定美妆集合店尝试新生意的同时,也提出了疑惑:除了吸引年轻消费群体,它们是否还能找到更有生命力、有价值的生意模型?

上述人士补充道,美妆集合店想要切中的绝不应该是消费者的单一需求,不应该长期停留在把老生意搬到线下的漩涡里。作为新兴业态应该尽早强化自己的核心竞争力,成为新业态该有的样子。

(注:文中李想、思思均为化名。)

来源:亿邦动力

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

跨境电商:https://www.ikjzd.com/

声网agora:https://www.ikjzd.com/w/2176

败欧洲网站:https://www.ikjzd.com/w/1555

acca:https://www.ikjzd.com/w/1370

每月50万化妆品小样"走私",售价不足正装1/10,百亿代购市场将惨遭屠戮?

不论是小样上明确贴着的"非卖品"标签,还是配赠小样可以足量供应的现象,似乎都在提示我们,这份看似长期的福利恐怕只是"短期蜜糖"。非卖品能卖吗?它们是从哪来的?这份新兴的生意真的能长久吗?