نکات کاربردی

طبقه بندی موضوعی

آخرین مطالب

آیا تا به حال سعی کرده‌اید در یک صفحه وب بنویسید C#‎ و یا C++‎ ؟ حتماً متوجه شده‌اید که این‌طور نوشته می‌شود: C++ و C# و یا Network+

اما این مشکل را می‌توانید با دو کاراکتر مخفی که خاصیت فارسی و انگلیسی دارند، رفع کنید!

برای درج کاراکتر مخفی با خاصیت انگلیسی، ابتدا در حالت تایپ فارسی قرار بگیرید و سپس کلیدهای

 Ctrl+Shift+3 

را بزنید با اینکار کارکتر علامت چپ به راست (LEFT-TO-RIGHT MARK) درج می شود.

برای درج کاراکتر مخفی با خاصیت فارسی، ابتدا در حالت تایپ فارسی قرار بگیرید و سپس کلیدهای

 Ctrl+Shift+4 

را بزنید.با اینکار کارکتر علامت راست به چپ (RIGHT-TO-LEFT MARK) درج می شود.


 بعنوان نمونه : برای اینکه نقطه انتهای جمله را در فست ریپورت درست نمایش دهدبایستی از روش فوق استفاده شود.

شرح بیشتر...

behrad nasehi
۱۹ خرداد ۹۵ ، ۱۵:۰۶ موافقین ۱ مخالفین ۰ ۱ نظر
collection.find(eq("item", null));

دستور فوق  در mongodb دو عملیات پوشش میده:

۱- فیلد "item" وجود داشته باشه و مقدارش null باشه.

۲- فیلد "item" وجود نداشته باشه


Query for Null or Missing Fields

behrad nasehi
۱۹ ارديبهشت ۰۱ ، ۱۲:۳۴ موافقین ۰ مخالفین ۰ ۰ نظر

It is not a good approach to use double for precise values, such as currency.

BigDecimal for the Rescue

BigDecimal represents a signed decimal number of arbitrary precision with an associated scale. BigDecimal provides full control over the precision and rounding of the number value. Virtually, it's possible to calculate the value of pi to 2 billion decimal places using BigDecimal, with available physical memory being the only limit.

That’s the reason why we should always prefer BigDecimal or BigInteger for financial calculations.

 

Special Notes

Primitive type: int and long are also useful for monetary calculations if the decimal precision is not required.

We should really avoid using the BigDecimal (double value) constructor, and instead, we should really prefer using the BigDecimal(String), because BigDecimal (0.1) results in (0.1000000000000000055511151231257827021181583404541015625) being stored in the BigDecimal instance. In contrast, BigDecimal ("0.1") stores exactly 0.1.


What Every Computer Scientist Should Know About Floating-Point Arithmetic

behrad nasehi
۱۴ تیر ۰۰ ، ۱۴:۱۰ موافقین ۰ مخالفین ۰ ۰ نظر

 

 

Collections in MongoDB is equivalent to the tables in RDBMS.
Documents in MongoDB is equivalent to the rows in RDBMS.
Fields in MongoDB is equivalent to the columns in RDBMS.

 

 

Table vs Collection

Mapping Relational Databases to MongoDB

 

behrad nasehi
۰۶ تیر ۰۰ ، ۰۹:۰۲ موافقین ۰ مخالفین ۰ ۰ نظر
behrad nasehi
۲۷ ارديبهشت ۰۰ ، ۱۳:۱۳ موافقین ۰ مخالفین ۰ ۰ نظر

میخواهیم نوع ستون second را از string به float برای تمام داکیومنت ها (رکوردها) تغییر دهیم مراحل زیر را طی میکنیم:

1-

PUT  _ingest/pipeline/convert-call-seconds-to-float
{
  "description": "converts the content of the second field to an float",
  "processors" : [
    {
      "convert" : {
        "field" : "second",
        "type": "float",
        "ignore_missing": true
      }
    }
  ]
}

2-

POST /db_name/_update_by_query?pipeline=convert-call-seconds-to-float

مرجع:

Update By Query API

behrad nasehi
۰۲ تیر ۹۸ ، ۱۱:۰۴ موافقین ۰ مخالفین ۰ ۰ نظر

Case Styles: Camel, Pascal, Snake, and Kebab Case

TLDR;
  • camelCase
  • PascalCase
  • snake_case
  • kebab-case

Removing spaces between words

In programming, we often remove the spaces between words because programs of different sorts reserve the space (‘ ’) character for special purposes. Because the space character is reserved, we cannot use it to represent a concept that we express in our human language with multiple words. As an example, the concept of “user login count” is not referenced in our code as “user login count” often. We do not do the following:

user login count = 5;

A typical language parse would treat each word as a separate concept. “User,” “login,” and “count” would each be treated as separate things. So, we do something like the following:

userLoginCount = 5;

Now, the parser will see one concept — “userLoginCount” — and us programmers can easily see the representation.

The best way to combine words

There is no best way to combine words. In the above example, we removed spaces and capitalized the each word following the first word. There are, however, a great number of algorithms for combining words, and a few very common ones.

The commonly used strategies for combining words are: camel case, pascal case, snake case, and kebab case. We’ll go over those here.

Camel Case (camelCase)

“three camels standing on street” by Lombe Kabaso on Unsplash

Camel case combines words by capitalizing all words following the first word and removing the space, as follows:

Raw: “user login count”
Camel Case: “userLoginCount”

This is a very popular way to combine words to form a single concept and is often used as a convention in variable declaration in many languages.

Pascal Case (PascalCase)

Pascal case combines words by capitalizing all words (even the first word) and removing the space, as follows:

Raw: “user login count”
Pascal Case: “UserLoginCount”

This is also very popular way to combine words to form a single concept and is often used as a convention in declaring classes in many languages.

Snake Case (snake_case)

“brown snake” by David Clode on Unsplash

Snake case combines words by replacing each space with an underscore (‘_’) and, in the “all caps” version, all letters are capitalized, as follows:

Raw: “user login count”
Snake Case: “user_login_count”
Snake Case (All Caps): ”USER_LOGIN_COUNT”

This style when capitalized often used as a convention in declaring constants on in many languages. When lower cased, it used conventionally in declaring database field names.

Kebab Case (kebab-case)

“barbecue on brown board” by pan xiaozhen on Unsplash

Kebab case combines words by replacing each space with a dash (‘-’), as follows:

Raw: “user login count”
Kebab Case: “user-login-count”

This style is often used in URLs, for example, “www.blog.com/cool-article-1”. It is a nice, clean, human readable way to combine the words.

Which is best?

There is no best method of combining words. The main thing is to be consistent with the convention used, and, if you’re in a team, to come to an agreement on the convention together.

thanksForReading!

ThanksForReading!

THANKS_FOR_READING_!

thanks-for-reading-!

Cheers!

behrad nasehi
۳۱ ارديبهشت ۹۸ ، ۱۱:۳۰ موافقین ۰ مخالفین ۰ ۰ نظر

دو کد زیر را درنظر بگیرید:

حالت الف : بدون استفاده ازuses

@Mapper(componentModel = "spring")
public interface SchoolMapper extends EntityMapper<SchoolDTO, SchoolEntity> {
@Mapping(source = "personId", target = "person.id") School toEntity(SchoolDTO schoolDTO);
}

حالت ب: با استفاده ازuses

@Mapper(componentModel = "spring", uses = { PersonMapper.class }) 
 public interface SchoolMapper extends EntityMapper<SchoolDTO,SchoolEntity>{ 

  @Mapping(source = "personId", target = "person") 
  School toEntity(SchoolDTO schoolDTO); 
 } 

حالت ب باعث میشود کد تمیزتر و خواناتری تولید شود

behrad nasehi
۰۹ بهمن ۹۷ ، ۱۲:۴۶ موافقین ۰ مخالفین ۰ ۰ نظر
  • ساده ترین راه برای نمایش کوئری ها در کنسول(standard out) این است که خط زیر را در فایل application.properties اضافه شود:

spring.jpa.show-sql=true

  • برای زیباسازی و یا چاپ زیبا SQL، می توان خط زیر را اضافه کرد:

spring.jpa.properties.hibernate.format_sql=true
  • برای نمایش مقادیر ، میتوان خط زیر اضافه کرد:
logging.level.org.hibernate.type=TRACE

  • می توان خطوط فوق را با فرمت YAML بشکل زیر در فایل application.properties افزود:

spring:
  jpa:
    properties:
      hibernate:
        show_sql: true
        format_sql: true
logging:
  level:
    org:
      hibernate:
        type: trace

behrad nasehi
۲۵ آذر ۹۷ ، ۱۷:۵۳ موافقین ۰ مخالفین ۰ ۰ نظر

File templates

  • خصوصیاتی از محتویات پیش فرضی هستند که هنگام ایجاد یک فایل جدید تولید می شود.
  • بسته به نوع فایل شما ایجاد می شود، قالب ها کد اولیه و قالب بندی را ارائه می دهد که انتظار می رود در تمام فایل های این نوع باشد.


File and Code Templates


behrad nasehi
۲۵ آذر ۹۷ ، ۱۴:۲۴ موافقین ۰ مخالفین ۰ ۰ نظر

Cookies و local storage خدمات متفاوتی را ارایه میکنند.

Cookies : عمدتا برای خواندن server-side هستند.

local storage : فقط توسط client-side قابل خواندن است.

  • اگر اطلاعات در سمت کلاینت مورد نیاز باشد، استفاده از کوکی موجب هدر رفتن پهنای باند می شود.
  • اگر اطلاعات در سمت سرور مورد نیاز باشد، استفاده از local storage مفید نیست.

Web Storages بهتر از Cookies

behrad nasehi
۲۰ آذر ۹۷ ، ۱۵:۰۸ موافقین ۰ مخالفین ۰ ۰ نظر