Ipad商标纠纷

香港普通话心理咨询


最近苹果公司的Ipad因为商标侵权,和深圳唯冠打得难解难分,深圳唯冠在2001年在中国大陆注册了Ipad的商标权。后来因为债务危机将此商标卖给苹果在英国注册的公司。唯冠指出在购买该商标的时候苹果涉嫌欺诈,苹果通过在英国设立一家名为IP的小公司来与台北唯冠洽谈收购,最后以3.5万英镑达成收购协议。第二唯冠并未出售Ipad在中国大陆的商标权。

苹果“iPad”商标权纠纷案终审将于本月29日在广东高院开庭。这是2010年4月苹果一审败诉后的上诉。当时业界预计苹果会与唯冠庭外和解,以一定费用购买“iPad”。但是今年,深证唯冠直接向北京市工商局要求对苹果的“iPad”侵权进行罚款,罚款金额最高可达数百亿人民币。并在2月6日向上海浦东新区法院提出申请,要求苹果停止对于“iPad”商标的继续使用、禁止销售“iPad”。目前全国已经有部分城市开始勒令下架。

中国市场销售收入占到苹果总销售收入的16%左右,两年前仅为2%。苹果势必不会更换Ipad的商标,如果败诉将只有花钱购买了,苹果以前曾经也因为此类事情而出资购买。

唯冠现在处在破产危机中,我们不论起诉冬季如何,至少在法律Ipad商标纠纷层面上似乎苹果做得不够谨慎。

分类:新闻资讯

标签:apple, ipad, 互联网, 商标, 苹果

Matt的25岁生日感言

心理咨询

到今天(2009年1月11日)我就已经度过四分之一个世纪了。说实话,我从没意识到自己已经这么老了,这个数字不是我能想象的,但日子转瞬即逝,25年已从我生命中流逝,租车时我终于不用付年龄罚金了。

下面列出我的生日愿望:

  • 学习一门语言,一门WP有很大受众的国家的语言(可能是西班牙语)
  • 拍更多的视频,每月发布2个
  • 在2009年发布一万张照片
  • 每月在日志中分享一本我喜欢的书
  • 不要每件事都亲自做
  • 重新设计我的博客模板(并且提高我的博客在matt这个关键字的排名)
  • 写更多的个人事务
  • 花更多的时间指导与协助年轻的企业家和刚启动的项目
  • 向5个我每天都会接触的开源项目捐款
  • 启动!启动!启动!
  • 让人们记得大写WordPress开头的W,停止使用错误的W。(这里是一些正确的方法)
  • 每月给我欣赏的人画一幅画,装在画框里寄给ta
  • 恢复“WordPress星期三”,让它易于用WP做成图片博客。

这是7年来我博客上记录的生日: 19, 20, 21, 22,  23, 和 24。如果你问我7年前是否想到了今天的成就,答案是否定的,当时我无法想象今日发生的所有神奇事物,与难以置信的人相遇,以及成为社区的一部分。谢谢你们。

原文链接:http://ma.tt/2009/01/twenty-five/

分类:新闻资讯

标签:25, Matt, 互联网

Multiple Post Thumbnails:可以定义多个日志缩略图的 WordPress 插件

香港普通话心理咨询

在使用 WordPress 个客户开发项目的时候,经常会碰到需要设置多个日志缩略图的需求,当然我们可以通过自定义字段实现,但是这样使用起来不是非常方便,没有默认的设置特色图片那么好用,这时候,我一般使用 Multiple Post Thumbnails 这个 WordPress 插件来解决。

 

Multiple Post Thumbnails 介绍

 

Multiple Post Thumbnails 是一个面向 WordPress 开发者的一个插件,它定义了一套在后台增加多个缩略图的机制,以及在前端调用新增缩略图的方法,并且它定义的后台空间支持最新的 WordPress 3.5 图片上传方式,使用起来和默认的特色图片基本一致。

Multiple Post Thumbnails:可以定义多个日志缩略图的 WordPress 插件

 

Multiple Post Thumbnails 使用方法

 

前面说过 Multiple Post Thumbnails 是一个面向开发者的插件,所以需要你对主题进行一定的修改才能使用,下面简单介绍下使用方法:

1. 上传插件并激活。 

2. 如果你想给当前日志添加第二章缩略图,在当前主题的 functions.php 中添加如下代码:

if (class_exists('MultiPostThumbnails')) {

    new MultiPostThumbnails(

        array(

            'label' => 'Secondary Image',

            'id' => 'secondary-image',

            'post_type' => 'post'

        )

    );

}

当然你可以通过将 post_type 设置为 page,给静态页面设置第二章缩略图,也给自定义日志类型设置。 

 

3. 最后通过下面代码显示定义的缩略图:

<?php if (class_exists('MultiPostThumbnails')) : MultiPostThumbnails::the_post_thumbnail(get_post_type(), 'secondary-image'); endif; ?>

 

来源:我爱水煮鱼

分类:新闻资讯

标签:WordPress 插件, 插件与修改, 日志缩略图

Excel表格技巧:如何将表格指定列作为批注插入?

本教程适用版本:WPS 365 点击免费使用

使用WPS Office打开表格,选择需要插入批注的列。

依次点击“特色功能”—>“智能工具箱”—>“单元格处理”—>“插入指定批注”。

在弹出框选择一列,作为批注内容,点击“确定”即可。

 

Keyword: wps官网

The Hair Is Yellow, What Reason Be

Under normal circumstances, the hair yellow reasons, there are the following points:

 

※Genetic factors;

 

※Severe iron deficiency anemia and the beginning of serious illness, leading to the body melanin reduction, so that the lack of basic black hair, black hair gradually become yellowish brown or light yellow;

 

※High levels of malnutrition;

 

※Wash your hair with lye or washing powder.

 

※Hypothyroidism

When inside period of time, appear suddenly the phenomenon of hair withered and yellow, how should treat?

1.Hypotrophic yellow hair

 

Nutritional not benign yellow hair, mainly caused by high malnutrition, should pay attention to the allocation of food, improve the nutritional state of the body.

 

A few nutrition material in the life can absorb more, wait like egg, lean meat, soybean, peanut, black sesame, contain a lot of animal protein and plant protein outside, still contain the cysteine that makes a hair main component and cysteine, it is the optimal food that protects a hair.

2.Acid constitution yellow hair

The yellow hair of acidic constitution, increase in acidity toxin with blood, also concern with excessive fatigue and excessive edible sweet, adipose.

In life, eat some kelp, fish, fresh milk, beans, etc.

In addition, eat more vegetables, fruits, such as celery, rape, spinach, citrus and so on to neutralize acid toxins in the body, improve yellow hair.

3.Lack of copper yellow hair

In hair generation melanin process, lack a kind of important contain copper “tyrosinase”.

A lack of copper in the body can affect the activity of this enzyme, causing hair to turn yellow.  Contain copper element rich food to have animal viscera commonly, tomato etc.

4.Radiation yellow hair

 

Be affected by radiative radiation for a long time, if be engaged in the job such as computer, radar and X ray, the hair that appears is yellow.

 

Life should pay attention to supplement food rich in vitamin A, such as pig liver, egg yolk, milk, etc.  Eat more food that can resist radiation, such as laver, high protein food and so on.

 

Drinking more green tea is also beneficial

5.Functional yellow hair

 

The occurrence of functional yellow hair, with mental trauma, overworked, seasonal endocrine maladjusted, medicaments and chemical article stimulate to bring about melanin inside airframe and melanin cell generation obstacle concerned

 

This yellow hair to eat more Marine fish, black sesame, alfalfa vegetables.  Nicotinic acid in Marine fish can dilate capillaries, enhance microcirculation, make qi and blood smooth, eliminate melanin generation obstacles, make hair remove yellow bodybuilding.

6.Etiologic yellow hair

 

As a result of certain diseases, such as iron deficiency anemia or the beginning of serious illness, can make hair from black to yellow.

 

In this case, you can eat more black beans, walnuts, cumin, etc.

 

If it is a simple hair problem, such as perm dyeing too many times caused by hair yellow.  At this point, we should pay more attention to the use of hair conditioner or plant essential oil containing high vitamin E daub hair tips.

 

In serious cases, you may as well walk into professional hair care stores and enjoy professional hair care services.

Amber Bubble Tumbler Jar

The Amber Bubble Tumbler Jar is inspired by ancient amber with pockets of air trapped in golden resin. These captivating containers are made from artisanal blown glass, and unite Old World Italian style with a timeless warmth. The handcrafted “bullicante” technique creates an abundance of bubbles, resulting in a uniquely luxurious jar for your candles. Also available in Smoked Olive, Yellow, and Pink. 

Looking for lids? We recommend pairing with:

  • 3.25″ Bamboo Lids
  • 3.25″ Pine Wooden Lids in brown, black, or natural
  • Metal Flat Lids in rose gold, silver, bronze, gold, matte black, and black 
  • Glass Tumbler Lids in black, amber, or white

Candle Maker’s Note
These unique candle containers have been thermal shock tested to ensure they meet our rigorous safety standards.

How much wax will it hold? 
See this information in the Properties section of this page. Learn more about container wax weight and volume.

Looking for a wick suggestion?
Check out our wick guide to see recommendations! Our recommendations are estimates and should be used as a starting point for your own burn testing.

Looking for labels?
Put the finishing touch on your candles with the perfect product label from Avery WePrint. Browse designs, create your own, and take 10% off all label orders!

  • Already have an idea of what you’d like to do? Head to avery.com to get started.
  • Not sure what label size or shape to use? Check out Avery’s Label Sizes Chart.
  • Looking for labeling tips or want to see the latest in design trends? Explore Avery’s Candle Label Inspiration & Ideas for your candle line.

Need packaging for this jar? We have options!

  • Try our Kraft or White Straight Sided Tumbler Boxes! We recommend using either a lid, OR a tumbler box, not both.
  • For an upscale, tactile experience, try our Luxe Soft Touch Tumbler Boxes in GrayWhite, or Black.
  • Want a sophisticated and recyclable option? Try our BlackWhite, or Kraft Paper Candle Tubes with or without lids under 3.2″ in diameter.

Wholesale Ordering
View our wholesale page for more information on ordering in bulk.

Imported

Container Properties

Material GlassFinish Painted, GlossTransparency TranslucentWax Weight (to Fill Line) 9.00 oz (255.15 g)Volume (to Overflow) 12.70 fl oz (360.85 mL)Height 3.63" (9.22 cm)Top Inside Diameter 3.00" (7.62 cm)Top Outside Diameter 3.25" (8.26 cm)Label Format RectangularLabel Placement SideLabel Width 10.06" (25.55 cm)Label Height 2.88" (7.32 cm)Prop 65 Warning No

Keyword: candle container

Detailed Guidelines on How to Refactor Code of Your Website

Have you ever shaken your head in disapproval while reading code when you were working on a project? Have you at least once thought to yourself: “This isn’t optimal code – it’s possible to write it better and more efficiently”? Does adding or changing a theoretically small functionality on your page cause countless problems and require introducing changes to many other areas? If the answer to at least one of these questions is “yes”, it may be the time to plan code refactoring.

What does it mean to refactor code?

Code refactoring means fighting technical debt. It’s a process of transforming chaotic code that’s non-compliant with standards and good practices into clean code, the structure of which is simple, understandable, and extensible.

What’s clean code?

Code is considered clean if everyone on the team is able to understand it easily. The functionality provided by clean code may be easily extended by all developers on the team, not just the code’s developer.

Clean code is characterized by:

  • simplicity,
  • being understandable for other programers,
  • lack of duplicates,
  • minimalism,
  • being fully tested,
  • easy and cheap maintenance.

Step 1: Learning about an application or website

At the beginning of a code refactoring process, you should carry out an in-depth analysis of the application and highlight the elements that are difficult to develop and maintain. A helpful method during this stage (and at the same time – one of the refactoring methods) is Exploratory Refactoring. What is it about? Set a timer for 25-30 minutes and refactor the functionality you want to understand during that time. At this point, it doesn’t matter that the changes you introduce aren’t optimal or that the code stops working as it should. The purpose of introducing changes at this point is to thoroughly comprehend the functionality and understand the legacy code that you’re coming to refactor. This approach reduces the time required for analysis – static code reading will almost never give you a complete picture of the situation.

Step 2: Writing down the things that may be a problem

Hey, I choose to work on the “AplicationManager” class. It hasn’t been tested at all. It has many responsibilities. It’s also very fragile and has a typo in the name. This 250-line method, which has seven parameters and two flags, maybe broken down not into a few methods but into three classes. I came to these conclusions during an Exploratory Refactoring, and also found out that we should…

This is one example of the result of using the Exploratory Refactoring method. During the analysis, write down the problems you’ve encountered and the possible solutions to these problems. This list will be necessary for the correct and optimal process of designing the refreshed application. Don’t focus on details at this stage, don’t try to define exact solutions – there’ll be time for that.

What things may pose a problem? In many cases, we may feel that there’s something wrong with the code. It affects so many people that such a hunch even got its own name – code smells. The code smells may be grouped and used for iterative refactoring.

Code bloat

I know that this class already has 648 lines and many dependencies and responsibilities, but I quickly added one method because I needed it for my task. This class seemed appropriate to me. What? Why have I already done this six times in six different, unrelated tasks? As I’m telling you – it’s just a quick fix.

Code is bloated when it’s so large that it takes a long time to understand, maintain, modify, or extend it. This type of code is expensive and difficult to test. It’s characterized by:

  • long methods,
  • long classes,
  • long list of parameters,
  • duplication of variables in multiple classes,
  • using primitive fields instead of simple classes.

Partial or inappropriate use of object-oriented programing

The code collects all the abuses and incorrect use of object-oriented programming – it breaks the rules, loses its readability. Changes, maintenance and testing, become more expensive.

The code smells list in this case includes:

  • duplication of functionalities,
  • comprehensive switches that may be eliminated using polymorphism,
  • temporary variables in the method.

Change blockers

Changing the class causes the need to overwrite theoretically unrelated methods. This extends the time it takes to make improvements or extensions to the code.

Redundant elements of code

– During Code Review, I came across the $fooMaganer variable, which you commented as “Foo Manager variable, used to manage the Foo”. Do you think this is a proper comment?

– I don’t know, but our standards state that each variable has to be commented on, not that the comment is supposed to contribute something. So how will it be? Will you approve?

Redundant elements include anything that adds nothing to the code or isn’t used. Among them are:

  • code excessively filled with unnecessary comments,
  • code duplicates,
  • unused code,
  • unused classes,
  • unused methods.

Connectors

Hi, Adam, Anna needs a list of the first ten numbers in the Fibonacci sequence. Please, give it to me, and I’ll pass it on your behalf. Thanks!

h3=””>

Connectors are redundant elements of an application, the task of which is only to call a functionality implemented in other classes and pass the results to the calling class.

Connectors include:

  • methods that mainly refer to another object,
  • classes drawing from internal fields and methods of a given class,
  • call chains,
  • classes whose sole responsibility is to call a method in another class.

You might also like: Software Development Tools that Boost our Productivity

Step 3: Designing the refreshed application

After identifying and describing the problematic areas, it’s time to plan the main process. Refactoring may be carried out in an iterative or holistic manner. It all depends on the amount of time you can spend on the process. The holistic approach obviously takes more time, but the benefits of using this approach are greater than with the iterative approach. The latter is a method of refactoring changes, consisting of improving selected elements of an application. The iterative approach may be divided into correcting a specific code smell list and full refactoring, but only of particular functionality.

How to refactor code? Summary

Refactoring is a process that reduces the cost of introducing changes and new functionalities to an application. It benefits everyone, from the project owner, through the development team and testers, to end users. Clean code is easier to test. As a result, the process of implementing changes to the production becomes less stressful. If introducing changes to your website is time-consuming and the code is fragile, it’s time to consider refactoring. Starting this process will bring you long-term benefits.

If you have a website or application on Drupal and you don’t know how to refactor your code properly, our Drupal support team will help you with that.

Amber Pharmacist Glass Jar with Silver Lid 200ml

This is a very strong, thick glass jar and complies with ASTM 2179 AND 2147 testing methods. (Ensures glass is able to withstand heat and has no cracks or fractures)

Measurements: Height 9.5cm, Diameter 7cm.

Approximate Volume: 200ml

Make sure you check out my wee video, to see the quality and the sparkle for yourself 🙂

Keyword: Candle holder

Drupal Layout Builder – a great tool for creating layouts

Layout Builder is a tool for building Drupal 8 entity layouts. It gained popularity a couple of years ago, but Drupal developers are still using it more and more. If you haven’t done it yet, or want to refresh your knowledge, we’ll explain how to install, launch, manage, and use this module.

What is Drupal Layout Builder?

The Layout Builder module has been included in Drupal Core starting with version 8.5, and it still undergoes significant changes and metamorphoses. However, its basic functionality remains unchanged. It helps developers to easily and conveniently build page layouts using a UI, and it enables embedding and linking any elements in a layout, like fields, views, menus, and forms.

Installing and setting up the Layout Builder module

As we mentioned earlier, the Layout Builder module has been available in Drupal Core since version 8.5, which means that all you have to do is install it.

You don’t have to do any additional configuration of the module, and you can start using it immediately, which you will see in the next step.

As of September 2021, the latest stable branch of Drupal is 9.2.6, and this is the version we are going to use for all our examples.

Launching Drupal Layout Builder

Given the fact that Layout Builder can be used only in entities, immediately after installation, you can find an option to use this module in place of the default display manager in the Manage display tab in all types of entities.

Using Drupal Layout Builder, you can create layouts for a given type of entity, so each entity of a given type will have the same layout. However, you can also use an additional option:

It allows individual entities to overwrite the default layout for that entity type. This, in turn, offers pretty much unlimited possibilities, enabling you to change the appearance of only one entity of a given type while keeping the layout of all the other entities.

After applying the selected options, the display management form changes its appearance. You can also find an additional button labeled as Manage layout.

Please note, that since version 8.6 the module allows you to enable/disable Layout Builder for a given view mode. This means that the Teaser mode remains untouched and uses the standard Drupal engine.

Layout management

What does this mysterious Manage layout button do? It takes you to the layout editing page, which uses the default page layout.

In this mode, you can manage sections and blocks in a section. You can also easily change the section order, as well as move blocks inside and between sections by dragging and dropping.

It’s important to confirm all operations by clicking the Save Layout button.

To add a new section, click Add Section. Then the available layouts will appear on the right-hand side

After you select one of them, a section will be added using the selected layout. You can then fill the section with blocks. To do this, click Add Block.

You can select from many available options. Apart from fields, you can also easily embed a form, view, menu, or blocks in an entity

If you need something even more powerful, combine Layout Builder with Entity Blocks module (entity_block), which enables you to embed any entity in a selected view mode as a section block. By doing so, you can easily reuse previously created elements and place them anywhere in the layout.

Single entity layout

So far, we have been working on a layout for the entity type. But let’s assume that you want a single entity to display a bit differently than the rest, for example with your own block.

Layout Builder expands entity routing with an additional page with /layout argument, which means that you can find an additional Layout tab when editing a block or node.

When viewing a node, you can also find a quick shortcut to layout editing available in the tabs:

All you have to do now is to modify the existing default layout according to your needs and apply all changes. If you ever find yourself having to restore a default layout, you also have the option to “Revert to defaults”.

Important: If you’ve used the option of changing the layout for a single entity, the possibility of disabling the Layout Builder will be blocked.

Only restoring all changed layouts to their default values will enable you to change the layout options again.

Layout Builder under the hood

Drupal Layout Builder is definitely impressive when it comes to GUI management. However, the programming tasks that you will encounter while working with the tool on a daily basis might be a bit more complex. You might then ask how to work with Layout Builder with code.

It turns out that enabling and unlocking templates for a single entity is relatively easy.

Simply load the display:

$entityViewDisplay = Drupal::entityTypeManager->getStorage('entity_view_display')->load('ENTITY_TYPE.ENTITY_BUNDLE.VIEW_MODE');

It will return a LayoutBuilderEntityViewDisplay type object, which you then have to modify like so:

$entityViewDisplay->enableLayoutBuilder();

to enable the Layout Builder for a given view mode, or additionally set the flag:

$entityViewDisplay->setOverridable(TRUE);

to enable creating individual layouts for a single entity.

Then, you need to save everything.

$entityViewDisplay->save();

What actually happens under the hood is that the Layout Builder module adds the layout_builder key to the third_party_settings of a given entity type, containing values for the parameters shown above (enabled, allow_custom) and stores the default layout for this type of entity under sections.

If the setOverridable flag is set to TRUE, it creates a new entity field called layout_builder__layout, which stores the modified layout for this particular entity.

On the other hand, creating a section with code and filling it with appropriate content is a bit more complicated.

Let’s start with creating a new section. To do this, we need to create a new instance of the Drupallayout_builderSection class, including the layout_id parameter, which serves as a layout identifier. 

Pro tip: Layouts are defined in *.layouts.yml files and the default templates can be found in the layout_discovery module.

Then the simplest way is simply to add another element to the section, in which case you are going to use the appendComponent method, which takes on an instance of the Drupallayout_builderSectionComponent class as an argument. However, first, you will need to prepare a couple of things before you can create such a section component. First of all, you will need:

  • the uuid of the embedded element,
  • the name of the region in the section,
  • plugin configuration.

In this example, we are going to use the plugin provided by Entity Blocks to embed a sample node in a single-column section:

$section = new Section('layout_onecol');

$uuid = $node->uuid();
$region = ‘content’;
$pluginConfiguration = [
  'id' => 'entity_block:node',
  'provider' => 'entity_block',
  'label_display' => FALSE,
  'view_mode' => 'default',
  'entity' => $node->id(),
];
$component = new SectionComponent($uuid, $region, $pluginConfiguration);
$section->appendComponent($component);

You always have to keep in mind that layouts are stored in third-party settings or in a field, so to save the section you will have to save it in one of these places.
In our example we are using a field, so:

$entity->layout_builder__layout->setValue($section);
$entity->save();

By doing all of these steps, you now added a single column section to an entity and displayed a sample node in it.

You may also be interested in: Custom Entity Forms on the Example of User Editing and Registration

Pros and cons of the Layout Builder module 

Below, we prepared a short list of some pros and cons that we discovered while working with Layout Builder:

Pros:

  • Ease of deployment – the module is already in the core, there is no need to implement new entity types.
  • Convenient interface with drag&drop functionality.
  • Customization options for individual entities.
  • An easy way to combine fields with other entities, without having to create additional reference fields.
  • A convenient way of embedding existing entities using Entity Blocks.

Cons:

  • As the website grows (new entity types and embeddable elements), the loading time of all available elements increases drastically.
  • Given that the module is UI-focused, adding new layouts could be more intuitive. Currently, we need to create .yml files and templates using code.
  • With a large number of elements in the layout, dragging elements between sections becomes a bit difficult.
  • Difficult access to sections in Twig, names are suffixed with uuid, which makes it difficult to render a selected section.

Drupal Layout Builder – summary

Drupal Layout Builder brings many interesting possibilities in terms of layout management, using both user interface and code. Is it going to replace all existing solutions?

In my opinion, it is a perfect tool that solves the problem of layouts on a macro scale. Creating closed components using popular modules such as Paragraphs, Field Group, and then building ready-made layouts made up of these components using Layout Builder seems like a perfect solution.

Like each and any Drupal module, Layout Builder has its own specific use – so, as always, it’s going to do better in solving some problems, and in case of other challenges it’s going to fare much worse. Just see it for yourself!

 

GQZ Unveiled 6 Boutique Bearings for High-end Market in February 2022

cnc machining shop

A big surprise!

 

In order to better serve the high-end global market, GQZ launched six boutique bearings with fabulous high performance in February 2022.

They include:

1. Double row self-aligning ball bearing – 2205TVN

2. Single row cylindrical roller bearing – NU210EM

3. 7200 series angular contact ball bearing – 7209AC

4. The deep groove ball bearing with dust cover on both sides belongs to 6200 size series — 6205-2Z

5. Blower bearing –  Spherical Roller Bearing 23084CAK/w33P64

6. Double row tapered roller bearing – HM129848-90366

 

 

 

 

 

 

 

In 2021,GQZ have achieved good growth and won the praise of many overseas customers to our bearings. We hope that this batch of boutique bearings will better meet the needs of high-end customers.

 

Why GQZ Bearings

Founded in 1999, Wuxi Guangqiang Bearing Trade Co.,LTD, deals with precision bearings and bearing related products across a large spectrum of customers. Since the founding the company, we keep standing by the principle of “Quality First, Credit First, Independent Innovation” and our company has won a great reputation from home and abroad.

Working with You

Beitang District, Wuxi, China.

Tel: +86-510-82601571

Fax: +86-510-82615331

E-mail: [email protected]

Website:www.bearing-asia.com