uz
Feedback
Чашечка Java

Чашечка Java

Kanalga Telegram’da o‘tish

Лучшие материалы по Java на русском и английском Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels

Ko'proq ko'rsatish
8 540
Obunachilar
-324 soatlar
-127 kunlar
-2930 kunlar
Postlar arxiv
Отчеты о покрытии кода JUnit тестами с помощью Maven плагина JaCoCo Это продолжение туториала по JUnit 5. Введение опубликова
Отчеты о покрытии кода JUnit тестами с помощью Maven плагина JaCoCo Это продолжение туториала по JUnit 5. Введение опубликовано здесь. Научитесь создавать отчеты о покрытии кода для тестов JUnit с помощью подключаемого модуля JaCoCo Maven. Читать: https://habr.com/ru/post/591553/?utm_campaign=591553

Автоматизация тестирования «с нуля» (нетехническая сторона вопроса) Есть множество статей про технологии и те или иные подход
Автоматизация тестирования «с нуля» (нетехническая сторона вопроса) Есть множество статей про технологии и те или иные подходы к автоматизации. Но почему-то нет статей про «обратную сторону» автоматизации. Как вообще всё зарождается на проекте? И как это «всё» организовать? Читаю дальше Читать: https://habr.com/ru/post/591449/?utm_campaign=591449

Полное руководство по расширениям JUnit 5 JUnit - одна из самых популярных сред модульного тестирования в экосистеме Java. Версия JUnit 5 (также известная как Jupiter) содержит множество интересных нововведений, включая поддержку новых функций в Java 8 и выше. Однако многие разработчики по-прежнему предпочитают использовать среду JUnit 4, поскольку некоторые функции, такие как параллельное выполнение в JUnit 5 все еще находятся в экспериментальной фазе. За исключением нескольких незначительных вещей, JUnit 5 по-прежнему представляет собой важный шаг вперед в эволюции тестовой среды, поскольку он предоставляет расширенные аннотации, которые позволяют тестировать реактивные приложения. По моему опыту, JUnit 5 - лучшая версия JUnit. Новая структура также включает расширяемую архитектуру и совершенно новую модель расширений, которая упрощает реализацию пользовательских функций. В этом руководстве по JUnit мы подробно рассмотрим расширения JUnit 5 - одну из основных функций платформы JUnit 5. Читать: https://habr.com/ru/post/589135/?utm_campaign=589135

photo content

Top 5 Free Angular Courses for Beginners to Learn Online in 2022 - Best of Lot Google's Angular is one of the most popular Ja
Top 5 Free Angular Courses for Beginners to Learn Online in 2022 - Best of Lot Google's Angular is one of the most popular JavaScript frameworks for creating web apps. It helps you in creating complex web applications in less time. It's maintained by Google, so you can... Read: http://www.java67.com/2018/01/top-5-free-angular-js-online-courses-for-web-developers.html

Top 5 Free Online Courses to learn JavaScript in 2022 - Best of Lot Hello guys, If you want to learn JavaScript in 2022 by yo
Top 5 Free Online Courses to learn JavaScript in 2022 - Best of Lot Hello guys, If you want to learn JavaScript in 2022 by yourself and looking for some free resources like books, sites, and tutorials, then you have come to the right place. Earlier, I have shared the... Read: http://www.java67.com/2018/04/top-5-free-javascript-courses-to-learn.html

10 Best Coursera Courses to Learn Python, Data Science, and Cloud Computing in 2022 [UPDATED] Hello folks, if you are looking
10 Best Coursera Courses to Learn Python, Data Science, and Cloud Computing in 2022 [UPDATED] Hello folks, if you are looking for the best Coursera courses, certifications, and specialization to start your career in IT or make a career switch, then you have come to the right place. Coursera... Read: http://www.java67.com/2020/09/best-coursera-specializations-courses-certifications-projects.html

Top 5 Free Jenkins, Docker, DevOps, Maven, and Kubernetes Courses for Java Programmers in 2022 [UPDATED] Hello guys, you migh
Top 5 Free Jenkins, Docker, DevOps, Maven, and Kubernetes Courses for Java Programmers in 2022 [UPDATED] Hello guys, you might have heard about DevOps and all the attention it is getting now. DevOps is a new phenomenon, and there is a mad race among senior developers to become a DevOps engineer. Well, I... Read: http://www.java67.com/2019/03/5-free-devops-courses-to-learn-jenkins.html

Top 5 Free Google Cloud Developer Certification Exam Courses in 2022 - Best of Lot If you are preparing for Google Cloud Prof
Top 5 Free Google Cloud Developer Certification Exam Courses in 2022 - Best of Lot If you are preparing for Google Cloud Professional Cloud Developer certification and looking for free Google cloud courses to learn online then you have come to the right place. In the past, I have... Read: http://www.java67.com/2020/09/5-free-courses-to-pass-google-cloud-developer-certification.html

Top 5 Free Courses to Learn React Native Courses for Beginners in 2022 - Best of Lot Hello guys, if you are learning React Na
Top 5 Free Courses to Learn React Native Courses for Beginners in 2022 - Best of Lot Hello guys, if you are learning React Native to make cross-platform apps and looking for some free courses to learn React Native then you have come to the right place. In the past, I have shared the... Read: http://www.java67.com/2020/07/5-free-courses-to-learn-react-native-in.html

ormation. Feedback and Suggestions Please don’t hesitate to try our product! Your feedback and suggestions are very important to us and will help shape our product in future. There are several ways to leave us feedback * Leave your comment on this blog post * Open an issue on our GitHub Issues page Resources Here is a list of links that are helpful to learn Java on Visual Studio Code. * Learn more about Java on Visual Studio Code. Read: Java on Visual Studio Code Update – October 2021.

in most cases, it should work well. Version 0.82.0 – Optimize for anonymous constructors. #1836 When we complete for new Runnable, the expected output should be: Runnable() {} It is made up of two parts. * the name Runnable * An empty body () {\n\t\n} During performance profiling, we found CodeFormatUtil.format was costing a lot of time. To have a correct indentation and line delimiters, they are formatted with current preferences. Formatting is expensive, and the same content (empty body) was repeatedly formatted for all items (sometimes up to thousands). To improve it, we format the empty body once and reuse it among all items. Version 1.0.0 – Speed up the search performance of code completion. There are two changes to optimize index search performance. * Make index query jobs more efficient.#1846, #575562 Our performance profiling shows that 97% of the CPU time of the index query jobs is spent on I/O for loading index content from disk. This is because the indexing mechanism we use tends to save memory and uses very little cache in the search engine. Almost every query must reload the index content from the disk. One straightforward optimization is to reduce the frequency of I/O. The Java indexer consists of multiple hashtables, each used to record a certain type of code sections, such as type declarations, method declarations, references, method references, etc. A typical query job reads one or more hashtables from the index and then joins these index entries into the target result. When we complete for the type/constructor name (e.g Str, new Str), the index query job reads two hashtables, one is the typeDecl table to find the matched type names, the other is the documentName table to find the class file path that declares the corresponding types. Since our purpose is just to complete the type name and auto insert its package import, the typeDecl table is sufficient for our requirement, and the class file path is not necessary. Our optimization is to read the typeDecl index table only, and it turns out reading one less index table can save a lot of I/O costs. * Optimize the index reading.#574464 It comes from a community developer’s contribution to the upstream JDT project. The Java index uses UTF-8 to encode the index characters. When loading the indexes, we will decode them back. Since most index characters are just ASCII characters, we optimized the decoding method to make it faster to read ASCII. Future Plans The improvements we listed above have made the auto completion a lot faster, but we are not done. In the future, performance continues to be our top focus and we will continue to optimize the auto-completion performance. Here are some items we have planned in the next few months. * Lazy Resolve TextEdit Since most language clients don’t support lazy resolve text edit for the completion items, the Java language server must calculate the text edits for all completion items in the completion response. This is the cause of most expensive calculations.  We’re collaborating with the client authors to explore the support for lazy resolving text edit. * More Efficient Indexer Current index data is insufficient for some code completion scenarios such as constructor. For example, the constructor completion needs to know whether the class has generic type arguments and decide whether to add a diamond to the constructor reference. The constructor index table hasn’t included such type argument info, we have to resolve them from Java models, which is expensive. We’re considering optimizing the index schema to include more inf[...]

Java on Visual Studio Code Update – October 2021 Hi everyone, welcome to the October edition of the Visual Studio Code Java update! In this post, we are going to take a deep dive of the recent performance improvement on auto-completion. Performance Improvement – Faster Code Completion With the recent 1.0 release of the Java Language Server, we have made substantial improvement on the performance of auto-completion. The chart below compares the code completion response time between recent versions. For common scenarios such as completing types and constructor names, the code completion performance is improved significantly compared to previous versions (v0.80, v0.81 and v.0.82) Overview of Improvements The completion engine consists of three phases: * Phase 1 (P1) – Searching the indexer to find proposals * Phase 2 (P2) – Converting proposals into completion items * Phase 3 (P3) – Calculating code snippet proposals. Based on our analysis, we found that there was room for improvement in all three phases. The following table shows the improvements we have made in the past versions. We will talk more about the details of those changes in the next section. 0.80.0 0.81.0 0.82.0 1.0.0 Reduce I/O on Windows (P2) N/A Optimize for constants / default values (P2) N/A Delay resolving generic snippets (P3) N/A N/A Optimize for anonymous constructors (P2) N/A N/A N/A JDT Search Engine – Optimize unit.complete() (P1) N/A N/A N/A JDT Search Engine – Improve I/O of indexing files (P1) N/A N/A N/A Defer TextEdit calculation (P2) N/A N/A Key Changes in Recent Releases Version 0.81.0 – Reduce I/O on Windows. #1831 In past benchmarks, we found a big proportion of time cost was to calculate URI of files. It also explained our observation that completion performance was relatively worse on the Windows platform because of platform-specific filesystem related implementation in JVM. By removing unnecessary calculation of URIs, we improved the performance especially on the Windows platform. Version 0.81.0 – Optimize for constants/default values. #1835 When we complete a constant field (e.g. Constants.*), the completion popup will show the suggested field names as well as their constant values (e.g. Bit1 : int = 1) in the choice list. Our profiling found this is extremely slow when the class contains a large of constant field members. This is because we calculate the field value from AST Tree, which is expensive when operating on a large file. To optimize it, we decide to defer resolving the constant value. The completion will simplify the suggestion label and only show the field name (e.g. Bit1 : int). And when you hover over this completion item for Javadoc, then display its constant value in the Javadoc section. Here is a benchmark comparison of field completion on a class with 1400+ lines and 150+ constant fields. Version Average response time 0.80.0 1429ms 0.81.0 72ms Version 0.82.0 – Delay resolving generic snippets. #1838 There are two types of Snippets: * Generic snippets (e.g. foreach, fori, ifelse, etc.) * Type definition snippets (e.g. class, interface, etc.) For generic snippets, it evaluates template patterns with given context before constructing the `TextEdit` of a completion item. Evaluation can be expensive. Now we defer the evaluation to the resolving stage. When a completion snippet item is constructed, template patterns are filled in as a placeholder. Actual values are evaluated in the resolving stage which doesn’t block completion items from showing. It’s also an experiment on how far “delay resolving TextEdit” can potentially improve the performance, and [...]

photo content

CodeCademy vs Datacamp vs Udemy? Which one to Join in 2022? Hello guys, if you are looking to upskill yourself and want to jo
CodeCademy vs Datacamp vs Udemy? Which one to Join in 2022? Hello guys, if you are looking to upskill yourself and want to join an online learning platform or are confused between Udemy, Codecademy, and Datacamp then you have come to the right place. In the... Read: http://www.java67.com/2021/11/codecademy-vs-datacamp-vs-udemy-which.html

OCPJP 11 or OCAJP 8? Which Java Certification should You Take in 2022? Java certification is a great way to learn and master
OCPJP 11 or OCAJP 8? Which Java Certification should You Take in 2022? Java certification is a great way to learn and master the Java programming language, do well on the interview and get recognition in the job, but the most common reason for doing Java certification... Read: http://www.java67.com/2021/03/which-java-certification-to-take.html

Разработка TELEGRAM-бота на JAVA для генерации и считывания QR-кодов С недавнего времени QR-коды всерьез, и похоже, надолго вошли в нашу жизнь. QR-код – это простой по своей сути, но при этом чрезвычайно полезный в прикладном плане механизм графического кодирования информации. Мать-прародительница (компания DENSO) внедрила использование QR-кодов с целью оптимизации временных издержек в производственных процессах. К сожалению, на сегодняшний день с введением ограничений со стороны властей на посещение общественных заведений, понятие «QR-код» приобрело негативный окрас, заставляя многих вздрагивать при его упоминании, от чего даже становится немного грустно, ведь не для ограничений были созданы эти черно-белые квадраты. О QR-кодах я не так давно писал в своей первой публикации Почему введение проверки QR-кодов не имеет смысла в общественном транспорте и торговых центрах?, не смотря на сравнительно небольшой объем технических подробностей, данный материал получил множество положительных откликов, что на время позволило мне войти в первую сотню авторов. Не скрою, это было неожиданным и приятным сюрпризом, большое спасибо всем тем, кто плюсовал в карму, конструктивно критиковал и дискутировал в комментариях. Во время подготовки первой статьи я отметил для себя, что инструментария работы с QR-кодами может не быть под рукой, либо его функционал может не покрывать возникающих потребностей. Например, приложение для считывания QR-кодов не установлено в телефоне, либо возникает необходимость отсканировать QR-код с электронного изображения. Ну и самое интересное, если есть возможность считать код, то должен быть инструмент для того, чтобы его сгенерировать. Так возникла идея разработки TELEGRAM-бота, функционал которого позволяет сканировать и генерировать QR-коды. Плюсами использования TELEGRAM-бота в сравнении с традиционными приложениями-сканерами это: отсутствие необходимости ставить дополнительный софт (при наличии телеги, естественно), возможность чтения цифровых изображений без использования камеры (например, из галереи или с web-сайта) и кроссплатформенность. Логика работы бота проста – отправляешь боту QR-код, в ответе получаешь расшифрованную информацию, отправляешь текст – в ответе получаешь QR-код. Просто? Да! Удобно? Несомненно! Читать: https://habr.com/ru/post/591391/?utm_campaign=591391

photo content

Advent of Code с нами уже 7 лет Приближается декабрь, а значит и ежегодный праздник программирования - Advent Of Code. Для те
Advent of Code с нами уже 7 лет Приближается декабрь, а значит и ежегодный праздник программирования - Advent Of Code. Для тех кто устал перекладывать JSON-ы и шлепать формы. Читать: https://habr.com/ru/post/591389/?utm_campaign=591389

Top 5 Free Courses to Learn React in 2022 - Must Join, Best of Lot React.js, React JS, or React is one of the most popular fr
Top 5 Free Courses to Learn React in 2022 - Must Join, Best of Lot React.js, React JS, or React is one of the most popular frameworks or Javascript libraries for building user interfaces. It's backed by Facebook, and it's often viewed as an alternative to... Read: http://www.java67.com/2018/02/5-free-react-courses-for-web-developers.html