суббота, 20 октября 2018 г.
пятница, 5 октября 2018 г.
среда, 3 октября 2018 г.
четверг, 27 сентября 2018 г.
среда, 26 сентября 2018 г.
пятница, 21 сентября 2018 г.
MongoDB: Index Usage and MongoDB explain() (Part 1)
https://dzone.com/articles/mongodb-index-usage-and-mongodb-explain-part-1
In this two-part series, I'm going to explain explain. No, the repetition is not a pun or a typo. I'm talking about explain(), the most useful MongoDB feature to investigate a query. Here, I'll introduce the index types available in MongoDB, their properties, and how to create and use them. In the next article, we'll see explain() in action on some real examples.
Using explain(), questions like these will find a proper answer:
- Is the query using an index?
- How is it using the index?
- How many documents are scanned?
- How many documents are returned?
- For how many milliseconds does the query run?
And many others. The explain() command provides a lot of information.
If you are familiar with MySQL, then you probably know about the command EXPLAIN. In MongoDB, we have a similar feature, and the goal of using it is exactly the same: find out how we can improve a query in order to reduce the execution time as far as possible. Based on the information provided, we can decide to create a new index or to rewrite the query to take advantage of indexes that already exist. The same as you do when using MySQL.
MongoDB: Investigate Queries With explain() and Index Usage (Part 2)
https://dzone.com/articles/mongodb-investigate-queries-with-explain-and-index?edition=399207&utm_source=Zone%20Newsletter&utm_medium=email&utm_campaign=database%202018-09-21
This is the second part of a two-part series. In MongoDB: Index Usage and MongoDB explain(), we introduced the main index types supported by MongoDB and how to create and use them. In this second article, we are going to see some examples of how to use the explain() method to investigate queries. Do you need to optimize MongoDB queries? You'll see how to use explain() to find out how your query uses indexes. Or, perhaps, that it doesn't use indexes!
What Is explain()?
explain() is a method that you can apply to simple queries or to cursors to investigate the query execution plan. The execution plan is how MongoDB resolves a query. Looking at all the information returned by explain(), we can see find out stuff like:
- how many documents were scanned
- how many documents were returned
- which index was used
- how long the query took to be executed
- which alternative execution plans were evaluated
...and other useful information.
The aim of using explain() is to find out how to improve the query, for example, by creating missing indexes or by rewriting it in order to use existing indexes more correctly. If you are familiar with the EXPLAIN command in MySQL, the goals of MongoDB's explain() method are exactly the same.
Query Databases Using Java Streams
https://dzone.com/articles/query-databases-using-java-streams?edition=399207&utm_source=Zone%20Newsletter&utm_medium=email&utm_campaign=database%202018-09-21
Query Databases Using Java Streams
In this article, you will learn how you can write pure Java applications that are able to work with data from an existing database without writing a single line of SQL (or similar languages like HQL) and without spending hours putting everything together. After your application is ready, you will learn how to accelerate latency performance with a factor of more than 1,000 using in-JVM-acceleration by adding just two lines of code.
Throughout this article, we will use Speedment, which is a Java stream ORM that can generate code directly from a database schema and that can automatically render Java Streams directly to SQL, allowing you to write code in pure Java.
You will also discover that data access performance can increase significantly by means of an in-JVM-memory technology where Streams are run directly from RAM.
суббота, 4 августа 2018 г.
пятница, 3 августа 2018 г.
can! → Parameterized JUnit4 Unit Tests in Kotlin
http://rossharper.net/2016/02/parameterized-junit4-unit-tests-in-kotlin/
This weekend I’ve been learning a little Kotlin — the (relatively) new JVM language from JetBrains. Once I’d worked my through the “Koans”, I decided to try a simple Code Kata. I chose the Roman Numerals Kata for this exercise. Whilst doing this, I wanted to use a parameterised unit test, and had to figure out how to do that in Kotlin… I wont go into the details of the Kata (read the link if you are interested), but in a nutshell, the goal is to write a program that will convert the Arabic numerals we are accustomed to in the modern world to the representation used by the ancient Romans. For example, you may have noticed Roman Numerals used to denote the year a movie was released: 1977 becomes “MCMLXXVII”.
среда, 1 августа 2018 г.
пятница, 20 июля 2018 г.
пятница, 29 июня 2018 г.
четверг, 28 июня 2018 г.
пятница, 22 июня 2018 г.
вторник, 19 июня 2018 г.
понедельник, 18 июня 2018 г.
воскресенье, 17 июня 2018 г.
суббота, 19 мая 2018 г.
вторник, 8 мая 2018 г.
2 Русский Ангел фильм первый серия 2(Engel Russian Vyacheslav)
2 Русский Ангел фильм первый серия 2(Engel Russian Vyacheslav)
понедельник, 7 мая 2018 г.
четверг, 3 мая 2018 г.
среда, 18 апреля 2018 г.
понедельник, 16 апреля 2018 г.
пятница, 13 апреля 2018 г.
среда, 11 апреля 2018 г.
вторник, 10 апреля 2018 г.
воскресенье, 8 апреля 2018 г.
In Java, what exactly will the JVM interpreter and the JIT compiler do with the bytecode?
https://www.quora.com/In-Java-what-exactly-will-the-JVM-interpreter-and-the-JIT-compiler-do-with-the-bytecode
The Just-In-Time (JIT) compiler is a component of the Java™ Runtime Environment that improves the performance of Java applications at run time.
Java programs consists of classes, which contain platform-neutral bytecodes that can be interpreted by a JVM on many different computer architectures. At run time, the JVM loads the class files, determines the semantics of each individual bytecode, and performs the appropriate computation. The additional processor and memory usage during interpretation means that a Java application performs more slowly than a native application. The JIT compiler helps improve the performance of Java programs by compiling bytecodes into native machine code at run time.
The JIT compiler is enabled by default, and is activated when a Java method is called. The JIT compiler compiles the bytecodes of that method into native machine code, compiling it "just in time" to run. When a method has been compiled, the JVM calls the compiled code of that method directly instead of interpreting it. Theoretically, if compilation did not require processor time and memory usage, compiling every method could allow the speed of the Java program to approach that of a native application.
The Just-In-Time (JIT) compiler is a component of the Java™ Runtime Environment that improves the performance of Java applications at run time.
Java programs consists of classes, which contain platform-neutral bytecodes that can be interpreted by a JVM on many different computer architectures. At run time, the JVM loads the class files, determines the semantics of each individual bytecode, and performs the appropriate computation. The additional processor and memory usage during interpretation means that a Java application performs more slowly than a native application. The JIT compiler helps improve the performance of Java programs by compiling bytecodes into native machine code at run time.
The JIT compiler is enabled by default, and is activated when a Java method is called. The JIT compiler compiles the bytecodes of that method into native machine code, compiling it "just in time" to run. When a method has been compiled, the JVM calls the compiled code of that method directly instead of interpreting it. Theoretically, if compilation did not require processor time and memory usage, compiling every method could allow the speed of the Java program to approach that of a native application.
Understanding Dynamic Proxy : Spring AOP Basics
http://www.javaroots.com/2013/03/understanding-dynamic-proxy-spring-aop.html
Why AOP :
To Understand AOP(Aspect Oriented Programming), we need to understand Cross Cutting Concerns in software development . In every project , there is some amount of code which gets repeated in multiple classes , across several modules.For example logging which needs to be done for almost all classes and for all module.This kind of code reduces code's re usability , maintainability and scalability.For example , if you want to take the class and reuse it somewhere else , where logging is not needed , you have to change this class . Similarly, if validation or logging is changed , we have to change almost each and every class wherever this is used .
A class should focus on it's core functionality , things like logging ,validation , transaction etc are not part of class functionality .
Aspect Oriented Programming is the paradigm to help us removing these cross cutting concerns. It provides us the tools and methodology to separate our cross cutting code from classes .
Proxy Pattern:
We can create a proxy of the object , which will take care of the cross cutting concern code.There are two kind of proxy patterns :Static Proxy :
Where we create a proxy object for every class. This is not feasible and practicalDynamic Proxy :
In this , proxies are created dynamically through reflection . This functionality is added from JDK 1.3 . dynamic Proxy form the basic building block of Spring AOP
package com.somaniab.blog.ex; public class Example1 implements Basicfunc{ @Override public void method1() { System.out.println("executing method 1"); } }
суббота, 7 апреля 2018 г.
вторник, 3 апреля 2018 г.
пятница, 30 марта 2018 г.
четверг, 29 марта 2018 г.
вторник, 27 марта 2018 г.
пятница, 2 марта 2018 г.
суббота, 24 февраля 2018 г.
пятница, 23 февраля 2018 г.
среда, 21 февраля 2018 г.
datadog/squid
https://hub.docker.com/r/datadog/squid/
Introduction
Squid is a caching proxy for the Web supporting HTTP, HTTPS, FTP, and more. It reduces bandwidth and improves response times by caching and reusing frequently-requested web pages. Squid has extensive access controls and makes a great server accelerator.
$This container is based off Sameer Naik's existing squid container. Big thanks to him for his many great docker containers.
Contributing
If you find this image useful here's how you can help:
- Send a pull request with your awesome features and bug fixes
- Help users resolve their issues.
5 Hidden Secrets in Java
Do you want to be a Java master? Uncover the
ancient secrets of Java. We'll focus on extending annotations,
initialization, comments, and enum interfaces.
As programming languages grow, it is inevitable that hidden features begin to appear and constructs that were never intended by the founders begin to creep into common usage. Some of these features rear their head as idioms and become accepted parlance in the language, while others become anti-patterns and are relegated to the dark corners of the language community. In this article, we will take a look at five Java secrets that are often overlooked by the large population of Java developers (some for good reason). With each description, we will look at the use cases and rationale that brought each feature into the existence and look at some examples when it may be appropriate to use these features.
The reader should note that not all these features are not truly hidden in the language, but are often unused in daily programming. While some may be very useful at appropriate times, others are almost always a poor idea and are shown in this article to peek the interest of the reader (and possibly give him or her a good laugh). The reader should use his or her judgment when deciding when to use the features described in this article: Just because it can be done does not mean it should.
1. Annotation Implementation
Since Java Development Kit (JDK) 5, annotations have an integral part of many Java applications and frameworks. In a vast majority of cases, annotations are applied to language constructs, such as classes, fields, methods, etc., but there is another case in which annotations can be applied: As implementable interfaces. For example, suppose we have the following annotation definition:@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface Test {
String name();
}
Normally, we would apply this annotation to a method, as in the following:
public class MyTestFixure {
@Test
public void givenFooWhenBarThenBaz() {
// ...
}
}
воскресенье, 18 февраля 2018 г.
среда, 14 февраля 2018 г.
четверг, 8 февраля 2018 г.
воскресенье, 4 февраля 2018 г.
четверг, 25 января 2018 г.
среда, 24 января 2018 г.
пятница, 19 января 2018 г.
суббота, 13 января 2018 г.
Весь твой / All Yours (2016)
Мило
http://baskino.co/films/komedii/16612-ves-tvoy.html
Касс — вдова, которая вынуждена в одиночку воспитывать двух детей. Она является довольно успешным адвокатом, а поэтому ей просто не хватает ни сил, ни времени на семью. Долгое время она пыталась найти подходящую няню, но так и не добилась положительного результата. Никто не отвечал ее жестким требованиям, пока она не встретила давнего друга семьи Мэтью, который с радостью согласился помочь ей с детками. Оказалось, что мужчина имеет более непринужденный стиль воспитания, поэтому он с первых дней начинает менять жизнь не только детей, но и Касс. Через некоторое время между взрослыми возникают более теплые отношения, но никто не знает, чем все это закончится...
Королева Катве / Queen of Katwe (2016)
Супер фильм
http://baskino.co/films/biograficheskie/14933-koroleva-katve.html
Фиона Мутези — десятилетняя девочка, проживающая вместе с матерью в трущобах Катве. Они всегда были очень бедны, и женщина работает не покладая рук, чтобы обеспечить семью. Однажды Фиона знакомится с бывшим футболистом Робертом Катенде, который решил стать миссионером и занялся обучением местных детишек игре в шахматы. Он сразу же замечает огромный потенциал в девочке, которая отличается сообразительностью и умом. Однако мать не хочет поддерживать дочь в ее начинаниях, поскольку очень боится, что она разочаруется, не сумев достичь желаемого результата. Через некоторое время женщина понимает, что ее ребенок имеет прекрасный шанс отличиться, и объединяется с Фионой, помогая ей осуществить свою мечту...
http://baskino.co/films/biograficheskie/14933-koroleva-katve.html
Фиона Мутези — десятилетняя девочка, проживающая вместе с матерью в трущобах Катве. Они всегда были очень бедны, и женщина работает не покладая рук, чтобы обеспечить семью. Однажды Фиона знакомится с бывшим футболистом Робертом Катенде, который решил стать миссионером и занялся обучением местных детишек игре в шахматы. Он сразу же замечает огромный потенциал в девочке, которая отличается сообразительностью и умом. Однако мать не хочет поддерживать дочь в ее начинаниях, поскольку очень боится, что она разочаруется, не сумев достичь желаемого результата. Через некоторое время женщина понимает, что ее ребенок имеет прекрасный шанс отличиться, и объединяется с Фионой, помогая ей осуществить свою мечту...
Table for programmers
Standing up to 3 hours a day burns the same amount of calories as running around 10 marathons a year
https://stiystil.com.ua/en
Потеря души в шаманизме
Статья, с интересной (и во многом верной) точкой зрения на суть шаманского понятия "потеря души"
Очень полезно к прочтению всем, кто хочет иметь целостную энергетику, душу и силу
***
Похищение (потеря) души
***
Похищение души в сибирском шаманизме одна из самых спорных концепций с точки зрения современного образованного человека. Если же говорить о христианах, то они увидят в этом нечто дьявольское. Как кто-то, а тем более что-то может похитить душу?
***
Очень полезно к прочтению всем, кто хочет иметь целостную энергетику, душу и силу
***
Похищение (потеря) души
***
Похищение души в сибирском шаманизме одна из самых спорных концепций с точки зрения современного образованного человека. Если же говорить о христианах, то они увидят в этом нечто дьявольское. Как кто-то, а тем более что-то может похитить душу?
***
ДОСТУП К СИЛЕ МОМЕНТА СЕЙЧАС, ИЛИ ОТБИРАЯ ЭНЕРГИЮ У УМА
Сломай свой старый стереотип отрицания настоящего момента, также
как и стереотип сопротивления настоящему моменту. Всегда, когда в этом
нет надобности, выдергивай свое внимание из прошлого и будущего, и
сделай это практикой своей жизни. Настолько далеко шагни за предел
мерности времени своей повседневной жизни, насколько это возможно.
Если тебе трудно прямо войти в момент Сейчас, то начни с наблюдения
привычного стремления своего ума к желанию выскользнуть из настоящего
момента. Ты будешь наблюдать и обнаруживать, что будущее как правило
представляется либо лучше, либо хуже настоящего. Если воображаемое
будущее лучше, то оно рождает надежду или приятное ожидание или подъем.
Если оно хуже, то создает тревогу и беспокойство. И то и другое –
иллюзорно.
10 сайтов для решения задач по программированию
https://academy.beetroot.se/7977/
1. CodeCombat — платформа для новичков, которая представлена в виде игры из нескольких частей, возрастающих по уровню сложности. Если ты подумываешь заняться программированием с нуля, этот сайт для тебя.
среда, 10 января 2018 г.
воскресенье, 7 января 2018 г.
Подписаться на:
Сообщения (Atom)