Micronaut фреймворк на JVM, который вы определённо полюбите


Оглавление (нажмите, чтобы открыть):

5 наиболее популярных Java-фреймворков для веба

Перед вами результаты исследования за 2020 год, которые красноречиво показывают распределение Java-аудитории по фреймворкам для веб-разработки:

Далее кратко поговорим о тех, чье имя не осталось закрыто бездушным вариантом «Other».

Spring MVC

Абсолютный лидер рейтинга. Знание Spring является одним из наиболее часто встречаемых требований на должность Java-разработчика. Причин тому масса, главное из них — универсальность. По сути, это целый контейнер фреймворков, позволяющих вам выполнять задачи любой сложности — от работы с БД до процедур тестирования.

Особняком среди них стоит MVC, который, как вы видите, в одиночку выиграл соревнование фреймворков. Взаимодействие, указанное в названии (model-view-controller), доведено здесь, если не до совершенства, то до очень хорошего уровня, что позволяет без глубоких знаний процессов создавать хороший и чистый front-end код.

С точки зрения необходимости изучения данного фреймворка новичком есть определенные разногласия. С одной стороны, это давно и хорошо зарекомендовавшая себя платформа, знание которой будет большим плюсом к резюме. С другой — на сегодняшний день Spring по функционалу не является такой доминирующей платформой по возможностям, как это было лет 7-10 назад. При этом новичку освоить MVC с ходу достаточно сложно.

Еще один фреймворк для разработки веб-приложений, но в отличие от предыдущего пункта, ставка здесь делается не на обработку запросов, а на взаимодействие с компонентами. Большим плюсом является поддержка Oracle, множество дополнительных инструментов, прекрасная документация и дружелюбное сообщество. В общем, если вам надо быстро что-то разработать на Java, JSF — прекрасный вариант.

Но есть и обратная сторона. Несмотря на то, что такой подход новичку покажется проще и понятнее, для работы на хоть сколько-то профессиональном уровне потребуется и отличное знание Java, и понимание веб-технологий, и вообще опыт работы в вебе без всяких фреймворков.

Vaadin

Одним из главных преимуществ использования фреймворка Vaadin является возможность использовать только Java, избегая прикруток языков веба (HTML, JS, XML). Да, это не единственный фреймворк, обладающий такой возможностью, но это пожалуй наименее проблемный из всех.
Кроме того, здесь прекрасно реализованы модели MVC и MVP, что в конечном счете отражается на качестве вашей работы. Но есть и обратная сторона. Во-первых, Vaadin — это надстройка на GWT, что в конечном счете обяжет вас изучить и этот фреймворк. Во-вторых, как следует из всего описанного выше, он медлителен. Пользователь по сути работает лишь с представлениями, поэтому время выполнения любого действия можно смело умножать на 3 от номинального.

GWT (Google Web Toolkit)

Vaadin и GWT чрезвычайно похожи и всячески связаны, но последнего есть одно важное отличие — он компилируется в JavaScript, с которым сервер и работает. Писать вам здесь тоже придется на чистом и немного ограниченном Java, но в отличие от Vaadin здесь больше самостоятельности в обработке запросов. С одной стороны, это позволяет увеличить быстродействие, наладить работу с памятью, с другой — потребует от вас больше знаний и навыков в разработке.

В остальном одни плюсы: множество API, виджетов, первоклассная поддержка, отсутствие необходимости безупречно знать Java — вполне достаточно, чтобы заинтересоваться данным фреймворком.

Grails

Как вы возможно знаете, Grails это фреймворк для языка Groovy, который в свою очередь основан на Java. Таким образом, фактически получается упрощение для упрощения. То есть на выходе вы и без того бы получали бы удобный продукт с низким порогом входа, а тут еще и разработчики постарались: мало того, что в комплекте идет более 900 плагинов, так еще и совместимость со Spring и Hibernate (о нем чуть позже). Когда станет скучно работать с готовым и захочется заняться кастомизацией, Grails подарит вам такую возможность с помощью гибкой системы настроек библиотек (в т.ч. Grails-Ajax).

В общем, хотите быстро и качественно создать приложение, не имея большого опыта за плечами — это к Grails. Но учтите требуемый объем ПО и невысокие показатели быстродействия.

Обратите внимание

Существует ещё несколько фреймворков, незаслуженно обделенных вниманием рейтинга, но заслуживающих вашего внимания.

Struts 2 — прекрасный фреймворк с более, чем 17-летней историей (конкретно Struts 2 в феврале исполнилось 10 лет). Упрощает реализацию MVC, имеет много достойных плагинов, но все же достаточно сложен для начинающей аудитории.

Hibernate — когда вам необходимо прикрутить низкоуровневый код для взаимодействия с БД и обработкой запросов, этот фреймворк вам здорово поможет.

Wicket — схожий с Vaadin фреймворк, требующий работы одновременно сразу по двум направлениям: с Java и с HTML. От этого не самая высокая популярность.

Stripes — малоизвестный фреймворк, являющийся по сути легковесной версией Struts. Минимум настроек, максимально упрощённые соглашения и достаточно низкий порог входа.

А какие фреймворки используете вы? Почему?

Java является одним из наиболее популярных языков программирования, возможности которого не ограничиваются практически ничем. Однако использование одного лишь голого языка для решения сложных задач — это развлечение для новичков и олдскульных программистов. Кстати, если вы новичок, рекомендуем пройти интенсив по основам java-программирования. Для всех остальных существуют фреймворки, которые помогают решать повседневные задачи и позволяют стирать границы между «могу» и «хочу».

Перед вами результаты исследования за 2020 год, которые красноречиво показывают распределение Java-аудитории по фреймворкам для веб-разработки:

Далее кратко поговорим о тех, чье имя не осталось закрыто бездушным вариантом «Other».

Spring MVC

Абсолютный лидер рейтинга. Знание Spring является одним из наиболее часто встречаемых требований на должность Java-разработчика. Причин тому масса, главное из них — универсальность. По сути, это целый контейнер фреймворков, позволяющих вам выполнять задачи любой сложности — от работы с БД до процедур тестирования.

Особняком среди них стоит MVC, который, как вы видите, в одиночку выиграл соревнование фреймворков. Взаимодействие, указанное в названии (model-view-controller), доведено здесь, если не до совершенства, то до очень хорошего уровня, что позволяет без глубоких знаний процессов создавать хороший и чистый front-end код.

С точки зрения необходимости изучения данного фреймворка новичком есть определенные разногласия. С одной стороны, это давно и хорошо зарекомендовавшая себя платформа, знание которой будет большим плюсом к резюме. С другой — на сегодняшний день Spring по функционалу не является такой доминирующей платформой по возможностям, как это было лет 7-10 назад. При этом новичку освоить MVC с ходу достаточно сложно.

Еще один фреймворк для разработки веб-приложений, но в отличие от предыдущего пункта, ставка здесь делается не на обработку запросов, а на взаимодействие с компонентами. Большим плюсом является поддержка Oracle, множество дополнительных инструментов, прекрасная документация и дружелюбное сообщество. В общем, если вам надо быстро что-то разработать на Java, JSF — прекрасный вариант.

Но есть и обратная сторона. Несмотря на то, что такой подход новичку покажется проще и понятнее, для работы на хоть сколько-то профессиональном уровне потребуется и отличное знание Java, и понимание веб-технологий, и вообще опыт работы в вебе без всяких фреймворков.

Vaadin

Одним из главных преимуществ использования фреймворка Vaadin является возможность использовать только Java, избегая прикруток языков веба (HTML, JS, XML). Да, это не единственный фреймворк, обладающий такой возможностью, но это пожалуй наименее проблемный из всех.
Кроме того, здесь прекрасно реализованы модели MVC и MVP, что в конечном счете отражается на качестве вашей работы. Но есть и обратная сторона. Во-первых, Vaadin — это надстройка на GWT, что в конечном счете обяжет вас изучить и этот фреймворк. Во-вторых, как следует из всего описанного выше, он медлителен. Пользователь по сути работает лишь с представлениями, поэтому время выполнения любого действия можно смело умножать на 3 от номинального.

GWT (Google Web Toolkit)

Vaadin и GWT чрезвычайно похожи и всячески связаны, но последнего есть одно важное отличие — он компилируется в JavaScript, с которым сервер и работает. Писать вам здесь тоже придется на чистом и немного ограниченном Java, но в отличие от Vaadin здесь больше самостоятельности в обработке запросов. С одной стороны, это позволяет увеличить быстродействие, наладить работу с памятью, с другой — потребует от вас больше знаний и навыков в разработке.

В остальном одни плюсы: множество API, виджетов, первоклассная поддержка, отсутствие необходимости безупречно знать Java — вполне достаточно, чтобы заинтересоваться данным фреймворком.

Grails

Как вы возможно знаете, Grails это фреймворк для языка Groovy, который в свою очередь основан на Java. Таким образом, фактически получается упрощение для упрощения. То есть на выходе вы и без того бы получали бы удобный продукт с низким порогом входа, а тут еще и разработчики постарались: мало того, что в комплекте идет более 900 плагинов, так еще и совместимость со Spring и Hibernate (о нем чуть позже). Когда станет скучно работать с готовым и захочется заняться кастомизацией, Grails подарит вам такую возможность с помощью гибкой системы настроек библиотек (в т.ч. Grails-Ajax).

В общем, хотите быстро и качественно создать приложение, не имея большого опыта за плечами — это к Grails. Но учтите требуемый объем ПО и невысокие показатели быстродействия.

Обратите внимание

Существует ещё несколько фреймворков, незаслуженно обделенных вниманием рейтинга, но заслуживающих вашего внимания.

Struts 2 — прекрасный фреймворк с более, чем 17-летней историей (конкретно Struts 2 в феврале исполнилось 10 лет). Упрощает реализацию MVC, имеет много достойных плагинов, но все же достаточно сложен для начинающей аудитории.

Hibernate — когда вам необходимо прикрутить низкоуровневый код для взаимодействия с БД и обработкой запросов, этот фреймворк вам здорово поможет.

Wicket — схожий с Vaadin фреймворк, требующий работы одновременно сразу по двум направлениям: с Java и с HTML. От этого не самая высокая популярность.

Stripes — малоизвестный фреймворк, являющийся по сути легковесной версией Struts. Минимум настроек, максимально упрощённые соглашения и достаточно низкий порог входа.

Micronaut: фреймворк на JVM, который вы определённо полюбите

Reflection-based IoC frameworks load and cache reflection data for every single field, method, and constructor in your code, whereas with Micronaut, your application startup time and memory consumption are not bound to the size of your codebase.

Micronaut for GraalVM

Micronaut apps startup in tens of milliseconds with GraalVM!

Micronaut features a Dependency Injection and Aspect-Oriented Programming runtime that uses no reflection. This makes it easier for Micronaut applications to run on GraalVM.

GraalVM is a new universal virtual machine from Oracle that supports a polyglot runtime environment and the ability to compile Java applications down to native machine code.

Non-blocking HTTP server built on Netty

With a smooth learning curve, Micronaut’s HTTP server makes it as easy as possible to expose APIs that can be consumed by HTTP clients.

Declarative, Reactive, Compile-Time HTTP Client

Declaratively build reactive HTTP clients, which are implemented at compile-time, reducing memory consumption.

Fast and Easy Testing

Easily spin up servers and clients in your unit tests, and run them instantaneously.

Build Fully Reactive and Non-Blocking Apps

Micronaut supports any framework that implements Reactive Streams, including RxJava, and Reactor.

Efficient Compile-Time Dependency Injection and AOP

Micronaut provides a simple compile-time aspect-oriented programming API that does not use reflection.

Natively Cloud Native

Micronaut ‘s Cloud support is built right in, including support for common discovery services, distributed tracing tools, and cloud runtimes.

Designed for Building Resilient Microservices

Distributed environments require planning for failure. Micronaut’s built-in support for retry, circuit breaker, and fallbacks help you plan.

Ready to develop serverless applications

Micronaut’s low overhead compile-time DI and AOP make it perfect for writing functions for serverless environments like AWS Lambda.

Fast Data-Access Configuration

Micronaut provides sensible defaults that automatically configure your favourite data access toolkit and APIs to make it easy to write your own integrations.

© 2020, Object Computing, Inc. (OCI). All rights reserved

Introduction to Micronaut Framework

Last modified: August 21, 2020

I just announced the new Learn Spring course, focused on the fundamentals of Spring 5 and Spring Boot 2:

1. What is Micronaut

Micronaut is a JVM-based framework for building lightweight, modular applications. Developed by OCI, the same company that created Grails, Micronaut is the latest framework designed to make creating microservices quick and easy.

While Micronaut contains some features that are similar to existing frameworks like Spring, it also has some new features that set it apart. And with support for Java, Groovy, and Kotlin, it offers a variety of ways to create applications.

2. Main Features

One of the most exciting features of Micronaut is its compile time dependency injection mechanism. Most frameworks use reflection and proxies to perform dependency injection at runtime. Micronaut, however, builds its dependency injection data at compile time. The result is faster application startup and smaller memory footprints.

Another feature is its first class support for reactive programming, for both clients and servers. The choice of a specific reactive implementation is left to the developer as both RxJava and Project Reactor are supported.

Micronaut also has several features that make it an excellent framework for developing cloud-native applications. It supports multiple service discovery tools such as Eureka and Consul, and also works with different distributed tracing systems such as Zipkin and Jaeger.

It also provides support for creating AWS lambda functions, making it easy to create serverless applications.

3. Getting Started

The easiest way to get started is using SDKMAN:

This installs all the binary files we’ll need to build, test, and deploy Micronaut applications. It also provides the Micronaut CLI tool, which lets us easily start new projects.

The binary artifacts are also available on Sonatype and GitHub.

In the following sections we’ll look at some features of the framework.

4. Dependency Injection

As mentioned earlier, Micronaut handles dependency injection at compile time, which is different than most IoC containers.

However, it still fully supports JSR-330 annotations so working with beans is similar to other IoC frameworks.

To autowire a bean into our code, we use @Inject:


The @Inject annotation works just like @Autowired and can be used on fields, methods, constructors, and parameters.

By default, all beans are scoped as a prototype. We can quickly create singleton beans using @Singleton. If multiple classes implement the same bean interface, @Primary can be used to deconflict them:

The @Requires annotation can be used when beans are optional, or to only perform autowiring when certain conditions are met.

In this regard, it behaves much like the Spring Boot @Conditional annotations:

5. Building an HTTP Server

Now let’s look at creating a simple HTTP server application. To start, we’ll use SDKMAN to create a project:

This will create a new Java project using Maven in a directory named hello-world-server. Inside this directory, we’ll find our main application source code, Maven POM file, and other support files for the project.

The default application that is very simple:

5.1. Blocking HTTP

On its own, this application won’t do much. Let’s add a controller that has two endpoints. Both will return a greeting, but one will use the GET HTTP verb, and the other will use POST:

5.2. Reactive IO

By default, Micronaut will implement these endpoints using traditional blocking I/O. However, we can quickly implement non-blocking endpoints by merely changing the return type to any reactive non-blocking type.

For example, with RxJava we can use Observable. Likewise, when using Reactor, we can return Mono or Flux data types:

For both blocking and non-blocking endpoints, Netty is the underlying server used to handle HTTP requests.

Normally, the requests are handled on the main I/O thread pool that is created at startup, making them block.

However, when a non-blocking data type is returned from a controller endpoint, Micronaut uses the Netty event loop thread, making the whole request non-blocking.

6. Building an HTTP Client

Now let’s build a client to consume the endpoints we just created. Micronaut provides two ways of creating HTTP clients:

  • A declarative HTTP Client
  • A programmatic HTTP Client

6.1 Declarative HTTP Client

The first and quickest way to create is using a declarative approach:

Notice how we don’t implement any code to call our service. Instead, Micronaut understands how to call the service from the method signature and annotations we have provided.

To test this client, we can create a JUnit test that uses the embedded server API to run an embedded instance of our server:

6.2. Programmatic HTTP Client

We also have the option of writing a more traditional client if we need more control over its behavior and implementation:

The default HTTP client uses RxJava, so can easily work with blocking or non-blocking calls.

7. Micronaut CLI

We’ve already seen the Micronaut CLI tool in action above when we used it to create our sample project.

In our case, we created a standalone application, but it has several other capabilities as well.

7.1. Federation Projects

In Micronaut, a federation is just a group of standalone applications that live under the same directory. By using federations, we can easily manage them together and ensure they get the same defaults and settings.

When we use the CLI tool to generate a federation, it takes all the same arguments as the create-app command. It will create a top-level project structure, and each standalone app will be created in its sub-directory from there.

7.2. Features

When creating a standalone application or federation, we can decide which features our app needs. This helps ensure the minimal set of dependencies is included in the project.

We specify features using the -features argument and supplying a comma-separated list of feature names.

We can find a list of available features by running the following command:

7.3. Existing Projects

We can also use the CLI tool to modify existing projects. Enabling us to create beans, clients, controllers, and more. When we run the mn command from inside an existing project, we’ll have a new set of commands available:

8. Conclusion

In this brief introduction to Micronaut, we’ve seen how easy it is to build both blocking and non-blocking HTTP servers and clients. Also, we explored some features of its CLI.

But this is just a small taste of the features it offers. There is also full support for serverless functions, service discovery, distributed tracing, monitoring and metrics, a distributed configuration, and much more.

And while many of its features are derived from existing frameworks such as Grails and Spring, it also has plenty of unique features that help it stand out on its own.

As always, we can find the samples code above in our GitHub repo.

Micronaut: A lightweight framework that supports Java, Groovy and Kotlin

Looking for a new full-stack framework? Micronaut is a project brought to us by the Grails team focusing on modularity, minimal memory footprint, and a rocket-fast startup speed. Learn more about this exciting project in development today!

Did you miss Greach 2020? No worries – we have the scoop on the latest news from the newest Grails project, Micronaut. This full-stack framework is lightweight and a modern, JVM-based architecture for building modular, easily testable microservice applications.

Micronaut is specially built to run on AWS Lambda with its minimal memory footprint and speedy startup time. With Micronaut, your application startup time and memory consumption is not tied to the size of your codebase.

Designed from the group up with microservices and the cloud in mind, Micronaut is a powerful yet lightweight framework for developing microservices.

SEE MORE: Grails 3.0 built upon Spring Boot and Gradle

Like Spring, but faster

Micronaut’s main advantage is its speed. A server written in Java requires less than one second to start, with a minimal JAR size of 8 MB. That’s fairly impressive.

How small is Micronaut? This small:

  • JAR files
    • 8MB in Java
    • 12 MB in Groovy
    • Spring and Groovy – 36MB
    • Grails – 27 MB
  • Heap size
    • 7MB in Java
    • 19 MB in Groovy
    • Spring and Groovy – 33 MB
    • Grails – 49 MB
  • Startup time
    • Java

      1 second
      Spring / Grails

      Micronaut handles all of the information at compile time using the Groovy AST transformation or the AST processors for Java and Kotlin. This foundational support for Java, Groovy, and Kotlin allows developers more options to build the perfect microservice applications. Annotation metadata is created at compile time, not before. It’s reflection free, with absolutely zero reflection data caching. All of this put together means one speedy framework.

      Additionally, there are no runtime penalties for holding metadata for configuration or dependency injection. Basically, it’s like Spring, but without any runtime reflection. The code looks fairly similar to Spring Boot with Spring Cloud enabled. It also uses an internal dependency injection inspired by Spring.

      Unsurprisingly, Micronaut does share some heavy similarity to the Grails project. For instance, you can run GORM from within your Micronaut microservice.

      Micronaut also offers a number of features as a HTTP client and server. Seamless load balancing is available for both. Micornaut is reactive and service discovery aware as well as fault tolerant for HTTP clients. As a HTTP server, it offers out of box support for Hystrix, trace logging, caching, and circuit breaker patterns.

      SEE MORE: Spring Boot 2.0 is out: What’s new and noteworthy

      How to get Micronaut

      Sadly, Micronaut is currently not available for a wider release. However, companies interested in beta access should contact the OCI for an early test drive of this interesting new framework. In the meantime, Micronaut is due to be released at the end of May as part of Gr8Conf EU. We’ll keep you posted for any updates!

      More information about Micronaut can be found here, or from this excellent presentation by Alvaro Sanchez-Mariscal.

      Micronaut: A Java Framework for the Future, Now

      Micronaut™: A Java Framework for the Future, Now

      By Zachary Klein, OCI Software Engineer

      Introduction

      In May of this year, a team of developers at OCI released the first milestone of a new open source framework: Micronaut.

      Micronaut is an application framework for the JVM with a particular emphasis towards microservices and cloud-native applications.

      Understandably, in an industry seemingly inundated with framework options, developers generally want to know up front what a new framework brings to the table and what unique features or capability it provides. The goal of this article is to:

      • Introduce some of the rationale behind Micronaut
      • Highlight some key advantages to using the framework
      • Walk you through a simple application to give an overall feel of the framework’s constructs and programming style

      TL;DR

      Micronaut is a JVM framework for building scalable, performant applications using Java, Groovy or Kotlin.

      It provides (among many other things) all of the following:

      • An efficient compile-time dependency-injection container
      • A reactive HTTP server & client based on Netty
      • A suite of cloud-native features to boost developer productivity when building microservice systems.

      The framework takes inspiration from Spring and Grails, offering a familiar development workflow, but with minimal startup time and memory usage. As a result, Micronaut can be used in scenarios that would not be feasible with traditional MVC frameworks, including Android applications, serverless functions, IOT deployments, and CLI applications.

      Rise of the Monolith

      Most JVM web applications being developed today are based on frameworks that promote the MVC (Model/View/Controller) pattern and provide dependency-injection, AOP (Aspect-Oriented Programming) support, and ease of configuration.

      Frameworks such as Spring Boot and Grails rely on the Spring IoC (Inversion of Control) container, which uses reflection to analyze application classes at runtime and then wire them together to build the dependency graph for the application. Reflection metadata is also used to generate proxies for features such as transaction management.

      These frameworks bring numerous benefits to developers, including enhanced productivity, reduced boilerplate, and more expressive application code.

      Many of these frameworks were designed around (what is now referred to as) a monolith application – a standalone program that manages the full stack of the application, from the database to the UI. These applications are then packaged as binary files and deployed to a server, typically a servlet container (Tomcat, Glassfish, etc). For a more complete workflow, an embedded container can be included by the framework, making the application more portable.

      Cloudy with a Chance of Microservices

      Today, these traditional application architectures are being supplanted by new patterns and technologies.

      Many organizations are breaking up so-called monolithic applications into smaller, service-oriented applications that work together in a distributed system.

      New architectural patterns call for business requirements to be met by the interactions of numerous scope-limited, independent applications: microservices.

      Communication across services boundaries – most often via RESTful HTTP calls – is key to this design shift.

      However, modern frameworks need to ease not just development, but also operations.

      Modern applications are becoming more reliant than ever on cloud computing technologies.

      Rather than managing the health of servers and datacenters, organizations are increasingly deploying their applications to platforms where the details of servers are abstracted away, and services can be scaled, redeployed, and monitored using sophisticated tooling and automation.

      Upon Further Reflection

      Traditional frameworks, of course, have been largely keeping up with the change in the industry, and many developers have successfully built microservices and deployed them to cloud providers using them.

      However, the demands of both the new architectures and the cloud environment have revealed some potential pain points when using these tools. Reliance on runtime reflection (for DI and proxy-generation) brings with it several performance issues, both in the time needed to start, analyze, and wire together the application, and in the memory needed to load and cache this metadata.

      Unfortunately, these are not fixed metrics in a given application; as a codebase grows in size, so do the resource requirements.

      Time and memory are both resources that carry real cost in a cloud platform. Services need to be recycled and brought back online with minimal delay. And the number of services grows (perhaps into the hundreds on large-scale systems). With multiple instances of each service, it quickly becomes apparent that there are real-world costs to be paid for the convenience of these frameworks.

      Additionally, many cloud providers are offering serverless platforms, such as AWS Lambda, where applications are reduced to single-purpose functions that can be composed and orchestrated to perform complex business logic.

      Serverless computing adds additional incentive for applications to be lightweight and responsive and consume minimal memory – aggravating the issues with traditional, reflection-based frameworks.

      A Better Way

      Micronaut was designed with microservices and the cloud in mind, while preserving the MVC programming model and other features of traditional frameworks. This is achieved primarily through a brand new DI/AOP container, which performs dependency injection at compile-time rather than runtime.

      By annotating classes and class members in your code, you can express the dependencies and AOP behavior of your application using very similar conventions to Spring; however, the analysis of this metadata is done when the application is compiled. At that point, Micronaut will generate additional classes alongside your own code, creating bean definitions, interceptors, and other artifacts that will enable the DI/AOP behavior when the application is run.

      TIP: As a technical aside, this compile-time processing is made possible through the use of Java annotation processors, which Micronaut uses to analyze your classes and create associated bean definition classes. For Groovy support, the framework makes use of AST Transforms to perform the same sort of processing.

      Micronaut implements the JSR 330 specification for Java dependency injection, which provides a set of semantic annotations under the javax.inject package (such as @Inject and @Singleton ) to express relationships between classes within the DI container.

      A simple example of Micronaut’s DI is shown in the listing below.


      When the application is run, a new Vehicle instance will be provided with an instance of the Engine interface – in this case, V8Engine .

      By moving the work of the DI container to the compilation phase, there is no longer a link between the size of the codebase and the time needed to start the application – or the memory required to store reflection metadata.

      As a result, Micronaut applications written in Java typically start within a second.

      Applications written in Groovy and Kotlin may take a second or so due to the overhead of those languages, and use of third-party libraries (such as Hibernate) will also add their own startup and memory requirements. However, the size of the codebase is no longer a significant factor in either startup time or memory usage; the compiled bytecode already includes everything needed to run and manage the DI-aware classes in the application.

      The HTTP Layer

      The DI core of Micronaut is an essential part of the framework, but exposing services over HTTP (and consuming other services) is another integral part of a microservice architecture.

      Micronaut’s HTTP functionality is built on Netty, an asynchronous networking framework that offers high performance, a reactive event-driven programming model, and support for building server and client applications.

      In a microservice system, many of your applications will play both of these roles; a server exposing data over the network, and a client making requests against other services in the system.

      Like traditional frameworks, Micronaut includes the notion of a controller for serving requests. A simple Micronaut controller is shown below.

      This is a trivial example, but it demonstrates the familiar programming model used by many Java MVC frameworks. Controllers are simply classes with methods, each with meaningful annotations that Micronaut uses to create the necessary HTTP handling code at compile-time.

      Equally important in a microservice environment is interacting with other services as a client.

      Micronaut has gone the extra mile to make its HTTP client functionality equivalent to that of a server, meaning that the code to consume a service looks uncannily like that needed to create a service.

      Here is a simple Micronaut client that will consume the controller endpoint expressed above.

      HelloClient can now be used to interact with a service running at the /hello URI. All the code needed to create the client bean in the DI container, perform the HTTP request, bind arguments, and even parse the response is generated at compile-time.

      This client can be used within the sample application, a separate service (assuming the URL is set correctly or service-discovery is enabled), or from within a test class, as shown below.

      Because both the client and server methods share the same signature, it is easy to enforce the protocol between both ends of the request by implementing a shared interface, which might be stored in a shared library used across a microservice system.

      In our example, both HelloController and HelloClient might implement/extend a shared HelloOperations interface.

      Reactive by Nature

      Reactive-programming is a first-class citizen in both Netty and Micronaut.

      The controller and client above can easily be rewritten using any Reactive Streams implementation, such as RxJava 2.0. This allows you to write all of your HTTP logic in an entirely non-blocking manner, using reactive constructs such as Observable , Subscriber , and Single .

      Natively Cloud-Native

      Cloud-native applications are designed specifically to operate in a cloud-computing environment, interacting with other services in the system and gracefully degrading when other services become unavailable or unresponsive.

      Micronaut includes a suite of features that makes building these sorts of applications quite delightful.

      Rather than relying on third-party tooling or services, Micronaut provides native solutions for many of the most common requirements.

      Let’s look at just a few of them.

      1. Service Discovery

      Service discovery means that applications are able to find each other (and make themselves findable) on a central registry, getting rid of the need to look up URLs or hardcode server addresses in configuration.

      Micronaut builds service-discovery support directly into the @Client annotation, meaning that performing service discovery is as simple as supplying the correct configuration and then using the «service ID» of the desired service.

      For example, the following configuration will register the Micronaut application with a Consul instance, using a service ID of hello-world .

      Once the application is started up and registered with Consul, clients can look up the service by simply specifying the service ID in the @Client annotation.

      Currently available service-discovery providers include Consul and Kubernetes, with support for additional providers planned.

      2. Load Balancing

      When multiple instances of the same service are registered, Micronaut provides a form of «round-robin» load-balancing, cycling requests through the available instances to ensure that no one instance is overwhelmed or underutilized.

      This is a form of client-side load-balancing, where each instance either accepts a request or passes it along to the next instance of the service, spreading the load across available instances automatically.

      This load-balancing happens essentially for «free.» However, it is possible to provide an alternate implementation. For example, Netflix’s Ribbon library can be installed and configured to support alternate load-balancing strategies.

      3. Retryable and Circuit Breakers

      When interacting with other services in a distributed system, it’s inevitable that at some point, things won’t work out as planned; perhaps a service goes down temporarily or simply drops a request. Micronaut offers a number of tools to gracefully handle these mishaps.

      For example, any method in Micronaut can be annotated with @Retryable to apply a customizable retry policy to the method. When the annotation is applied to a @Client interface, the retry policy is applied to each request method in the client.

      By default, @Retryable will attempt to call the method three times, with a one-second delay between each attempt.

      Of course these values can be overridden, for example:

      And if hard-coding values leaves a bad taste in your mouth, you can inject the values from configuration, optionally providing defaults if no configuration is provided.

      A more sophisticated form of @Retryable is the @CircuitBreaker annotation. It behaves slightly differently in that it will allow a specified number of attempts to fail before «opening» the circuit for a given reset period (30 seconds by default), causing the method to fail immediately without executing the code.

      This can help prevent struggling services or other downstream resources from being overwhelmed by requests, giving them a chance to recover.

      Building a Micronaut App

      The best way to really learn a framework is to begin playing with it yourself, so we will conclude our overview of Micronaut with a step-by-step guide to building your first application.

      As a bonus, we will also go one step further and actually deploy our «microservice» as a container to a cloud provider – in this case, Google Compute Engine.

      Step 1: Installing Micronaut

      Micronaut can be built from the source on Github or downloaded as a binary and installed on your shell path. However, the recommended way to install Micronaut is via sdkman.

      If you do not have sdkman installed already, you can do so in any Unix-based shell with the following commands:

      You can now install Micronaut itself with the following sdkman command.

      (Use sdk list micronaut to view available versions. Currently the latest is 1.0.0.M2 .)

      Confirm that you have installed Micronaut by running mn -v .

      Step 2: Create the Project

      The mn command serves as Micronaut’s CLI. You can use this command to create your new Micronaut project.

      For this exercise, we will create a stock Java application, but you can also choose Groovy or Kotlin as your preferred language by supplying the -lang flag ( -lang groovy or -lang kotlin ).

      The mn command accepts a features flag, where you can specify features that add support for various libraries and configurations in your project. You can view available features by running mn profile-info services .

      We’re going to use the spock feature to add support for the Spock testing framework to our Java project. Run the following command:

      Note that we can supply a default package prefix ( example ) to the project name ( greetings ).

      If we did not do so, the project name would be used as a default package. This package will contain the Application class and any classes generated using the CLI commands (as we will do shortly).

      By default the create-app command will generate a Gradle build. If you prefer Maven as your build tool, you can do so using the -build flag

      At this point, you can run the application using the Gradle run task.

      Notice that the server port is randomly selected each time the application is run. This makes sense when using a service discovery solution to locate instances, but for our exercise it would be convenient to set the port number to a known value, like 8080. We’ll do that in the following step.

      TIP: If you would like to run your Micronaut project using an IDE, be sure that your IDE supports Java annotation processors and that this support is enabled for your project. In IntelliJ IDEA, the relevant setting can be found under Preferences → Build, Execution, Deployment → Compiler → Annotation Processors → Enabled .

      Step 3: Configuration

      The default configuration format in Micronaut is YAML, although other formats, including Java properties files, Groovy config, and JSON, are supported.

      The default configuration file is located at src/main/resources/application.yml . Let’s edit that file to set our server port number.

      If you restart the application, you’ll see it run on http://localhost:8080.

      Step 4: Writing the Code

      Within your project directory, run the mn command by itself to start the Micronaut CLI in interactive mode.

      Run the following two commands to generate a controller, a client, and a service bean.

      Edit the generated files as shown in the next three listings.

      With our controller, client, and service classes written, if we run the application again, we should be able to make a request, such as the CURL command shown below.

      Let’s edit the generated GreetingControllerSpec to make use of our client interface.

      Run ./gradlew test to execute the test (or execute them within your IDE, if you have annotation processing enabled).

      Step 5: Into the Cloud

      In order to deploy our application we’ll need to generate a runnable build artifact. Run the shadowJar Gradle task to create an executable «fat» JAR file.

      Test that your JAR file runs as expected using the java -jar command.

      The next few steps have been taken from documentation on Google Cloud’s website. In order to follow these steps you will need a Google Cloud account with billing enabled.

      Google Cloud Setup

      Create a project from the Google Cloud Console.

      Ensure that Compute Engine and Cloud Storage APIs are enabled in your API Library.

      Install the Google Cloud SDK. Run gcloud init to initialize the SDK and choose your new project created in Step 1.

      Upload JAR

      Create a new Google Storage bucket to store the JAR file. Keep a note of the bucket name: greetings in this example.

      1. Upload the greetings-all.jar file to the new bucket.

      Create Instance Startup Script

      Google Compute allows you to provision a new instance using a Bash script. Create a new file within the project directory named instance-startup.sh . Add the following content:

      Configure Compute Engine

      Run the following command to create the Compute instance, using the instance-startup.sh script and the bucket name you used in the previous steps.


      1. The instance will be initialized and begin to start up immediately. This may take a few minutes.
      2. Run the following command periodically to view the instance logs during the startup process. If all goes well, you should see a «Finished running startup scripts» message once this process completes.
      1. Run the following command to open up HTTP traffic to port 8080.
      1. Get the external IP of your Compute instance with the following command:

      You should now be able to access your application using the EXTERNAL_IP .

      Onwards and Upwards

      At the time of writing, Micronaut is still in early stages of development, and there is still plenty of work to be done. However an incredible amount of functionality is already available in the current milestone releases.

      In addition to the features discussed in this article, there is support for the following:

      • Security (using either JWT, sessions, or basic auth)
      • Management endpoints
      • Auto-configurations for data access using Hibernate, JPA, and GORM
      • Support for batch jobs using @Scheduled
      • Configuration sharing
      • And much more

      The definitive reference for developing with Micronaut is the user guide at http://docs.micronaut.io.

      A small but growing selection of step-by-step tutorials are available at http://guides.micronaut.io as well, including guides for all three of Micronaut’s supported languages: Java, Groovy, and Kotlin.

      The Micronaut community channel on Gitter is an excellent place to meet other developers who are already building applications with the framework, as well as interacting with the core development team.

      Time will tell what impact Micronaut will have on microservice development and the industry as a whole, but it seems clear that the framework has already contributed a major advance to how applications will be built in the future.

      Cloud-native development is certainly here to stay, and Micronaut is the latest example of a tool that was built with this landscape in mind. Like the architecture that motivated its creation, Micronaut’s flexibility and modularity will allow developers to create systems that even its designers could not have foreseen.

      The future of development on the JVM is bright, if a bit cloudy, and Micronaut is sure to play an important part. Start the countdown!

      [Перевод] Введение в Micronaut Framework

      1. Что такое Micronaut Micronaut — это фреймворк на JVM для построения легковесных модульных приложений. Он разработан компанией OCI, той же компанией, что подарила нам Grails. Micronaut это современный фреймворк, призванный сделать создание микросервисных приложений быстр.

      Подробности на сайте: habr.com

      [Перевод] Плюсы и минусы Django Прим. перев.: Эта статья рассчитана в основном на тех кто только выбирает фреймворк для веб-разработки. Опытные разработчики на Django вряд ли узнают что-то новое. Django описывают как «веб-фреймворк для перфекционистов с дедлайнами». Его создали, чтобы переходить от протот.

      [Из песочницы] Full-stack TypeScript Apps Привет, Хабр! Представляю вашему вниманию перевод статьи «Full-Stack TypeScript Apps — Part 1: Developing Backend APIs with Nest.js» автора Ana Ribeiro. Часть 1: Разработка серверного API с помощью Nest.JS TL;DR: это серия статей о том, как создать веб-приложение TypeScript .

      Quarkus — сверхзвуковая субатомная Java. Краткий обзор фреймворка Введение Седьмого марта компания RedHat (вскоре — IBM) представила новый фреймворк — Quarkus. По словам разработчиков, этот фреймворк базируется на GraalVM и OpenJDK HotSpot и предназначен для Kubernetes. Стек Quarkus включает в себя: JPA/Hibernate, JAX-RS/RESTEasy, Eclipse.

      [Перевод] Вышел Orleans 3.0 Это гостевой пост от команды Orleans. Orleans — это кроссплатформенный фреймворк для создания распределенных приложений с использованием .NET. Для получения дополнительной информации см. https://github.com/dotnet/orleans. Мы рады объявить о выпуске Orleans 3.0. По сравнению.

      [Перевод] Руководство по разработке, основанной на компонентах Модульность является одним из ключевых принципов разработки программного обеспечения с 1960-х годов. Применение этого принципа приносит в программирование много полезного. Модульность способствует эффективному использованию принципа разделения ответственностей, что ведёт к у.

      [Из песочницы] SpaceVIL — кроссплатфоремнный GUI фреймворк для разработки на .Net Core, .Net Standard и JVM В данной статье я постараюсь рассказать о фреймворке SpaceVIL (Space of Visual Items Layout), который служит для построения пользовательских графических интерфейсов на платформах .Net / .Net Core и JVM. SpaceVIL является кроссплатформенным и мультиязычным фреймворком, в его .

      [Перевод] Быстрое введение в Svelte с точки зрения разработчика на Angular Svelte — сравнительно новый UI фреймворк, разработанный Ричем Харрисом, который также является автором сборщика Rollup. Скорее всего Svelte покажется совершенно не похожим на то, с чем вы имели дело до этого, но, пожалуй, это даже хорошо. Две самые впечатляющие особенности э.

      Делаем современное веб-приложение с нуля Итак, вы решили сделать новый проект. И проект этот — веб-приложение. Сколько времени уйдёт на создание базового прототипа? Насколько это сложно? Что должен уже со старта уметь современный веб-сайт? В этой статье мы попробуем набросать boilerplate простейшего веб-приложения.

      [Из песочницы] Обзор нового javascript фреймворка Htmlix В данной статье постараюсь описать все основные возможности нового javascript фреймворка Htmlix, а также рассмотреть принцип его работы на примере создания небольшого приложения. Данное приложение — это страница простого фильтра товаров по категориям, с различными частями ш.

      [Из песочницы] Знакомимся с микросервисным фреймворком Moleculer Привет, %habrauser%! Сегодня я хочу рассказать тебе об одном отличном, на мой взгляд, микросервисном фреймворке Moleculer. Изначально этот фреймворк был написан на Node.js, но в последствии у него появились порты и на других языках таких как Java, Go, Python и .NET и, ск.

      Построение микросервисной архитектуры на Golang и gRPC, часть 2 (docker) Пришло время заняться контейнерами Прежде всего, мы используем новейший образ Linux Alpine. Linux Alpine — это легкий дистрибутив Linux, разработанный и оптимизированный для запуска веб-приложений в Docker. Другими словами, Linux Alpine обладает достаточным количеством зави.

      Все, что вы хотели знать о SwiftUI, но боялись спросить Привет! Меня зовут Ренат, я разрабатываю сервис по аналитике подписок в iOS – Apphud. Как вы знаете, Apple на WWDC 2020 представила свой новый фреймворк SwiftUI, который призван в будущем заменить (или нет?) привычный нам UIKit. SwiftUI позволяет описывать интерфейс приложе.

      Виртуальная симуляция в проекте беспилотного автомобиля StarLine При создании умного беспилотного автомобиля StarLine важным этапом является не только разработка основного программного обеспечения (ПО), работающего на нем, но и создание инфраструктурных элементов, призванных упростить тестирование разработанной системы. Одним из ключевых .

      Книга «Микросервисы. Паттерны разработки и рефакторинга» Привет, Хаброжители! Если вам давно кажется, что вся разработка и развертывание в вашей компании донельзя замедлились — переходите на микросервисную архитектуру. Она обеспечивает непрерывную разработку, доставку и развертывание приложений любой сложности. Книга, предназнач.

      Aimybox в поиске: фреймворку для создания голосовых ассистентов нужен мастер iOS Все вокруг говорят про голосовых помощников, Алису, Google Assistant, что они умеют, чего не умеют… А мы взяли и написали фреймворк для создания мобильных голосовых ассистентов. Да еще и с открытым исходным кодом! Пока мы это сделали только для Android, и теперь ищем крутого.

      [Перевод] 19 концепций, которые нужно изучить для того, чтобы стать эффективным Angular-разработчиком TODO-приложение во фронтенд-разработке — это то же самое, что «Hello world» в обычном программировании. При создании TODO-приложений можно изучить выполнение CRUD-операций средствами того или иного фреймворка. Но часто подобные проекты лишь весьма поверхностно касаются того.

      [Перевод] Автоматизация Android. Супер простое руководство по созданию первого Espresso-теста Здравствуйте, друзья. В преддверии старта курса «Mobile QA Engineer», хотим поделиться с вами переводом интересного материала. Что такое Espresso? Нет, это не напиток, который вы пьете каждый день, чтобы взбодриться. Espresso — это тестовый фреймворк с открытым исходным к.

      Моноблочные против модульных ИБП Краткий ликбез для новичков о том, почему модульные ИБП круче и как так вышло. Источники бесперебойного питания для центров обработки данных по архитектуре построения делятся на две большие группы: моноблочные и модульные. Первые относятся к традиционному типу ИБП, вторые я.

      Высокоуровневая репликация в СУБД Tarantool Привет, я занимаюсь созданием приложений для СУБД Tarantool — это разработанная в Mail.ru Group платформа, совмещающая в себе высокопроизводительную СУБД и сервер приложений на языке Lua. Высокая скорость работы решений, основанных на Tarantool, достигается в частности за сч.

      [Перевод] Введение в сетевые политики Kubernetes для специалистов по безопасности Прим. перев.: Автор статьи — Reuven Harrison — имеет более 20 лет опыта в разработке программного обеспечения, а на сегодняшний день является техническим директором и соучредителем компании Tufin, создающей решения для управления политиками безопасности. Рассматривая сетев.

      [Перевод] Sketch + Node.js: генерируем иконки для множества платформ и брендов. Часть 2 Это вторая часть статьи о создании инструмента, способного экспортировать все помещённые в Sketch-файл иконки: в разных форматах, для разных платформ, с возможностью A/B-тестирования каждой из иконок. Первую часть вы можете прочесть по ссылке. В прошлый раз мы подготов.

      Протокол SPBm как основа Extreme Automated Campus Решения компании Extreme Networks «Extreme Automated Campus» обеспечивают возможность одновременного использования множества путей передачи и быстрого восстановления в случае аварии. Сеть, состоящая из множества физических коммутаторов, представляет собой один распределённый.

      Когда стандарта HTTP мало. Коммитим в Micronaut Всем привет, меня зовут Дмитрий, и сегодня я расскажу о том, как производственная необходимость заставила меня стать контрибутором для фреймворка Micronaut. Наверняка многие о нём слышали. Если вкратце, то это легковесная альтернатива Spring Boot, где основной упор сделан не.

      [Перевод] Миграция с Nginx на Envoy Proxy Привет, Хабр! Предлагаю вашему вниманию перевод поста: Миграция с Nginx на Envoy Proxy. Envoy — это высокопроизводительный распределенный прокси-сервер (написанный на C++), предназначенный для отдельных сервисов и приложений, также это коммуникационная шина и «universal data.

      [Перевод] Разработка простых современных JavaScript-приложений с использованием Webpack и прогрессивных веб-технологий Думали ли вы о том, чтобы воспользоваться при разработке своего очередного веб-проекта простейшим из существующих набором технологий? Если это так — значит материал, перевод которого мы публикуем сегодня, написан специально для вас. JavaScript-фреймворки существуют для того.

      Как меняется специфика работы с серверами приложений на примере OpenLiberty Привет, Хабр! Выступление Себастьяна Дашнера на java meetup в московском офисе IBM (нашел запись похожего выступления) подтолкнуло меня начать свое знакомство с легковесными серверами приложений, в частности, с OpenLiberty. И тогда я задумался: Какие преимущества дают .

      [Из песочницы] Создаем свой компонент с микро-шаблонами Всем привет. Все кто так или иначе писал на фреймворке Angular сталкивался или работал с библиотекой Angular Material. Это очень хорошо написанная библиотека компонентов способная к гибкой стилизации, которая реализована через возможность создания различных тем вашего прилож.

      [Перевод] Обзор новых функций NestJS 6 Мы в TestMace активно используем NestJS для разработки наших сервисов. Сегодня вашему вниманию представляется перевод статьи, посвященной обзору фич новой мажорной версии NestJS. Сегодня я рад представить официальный релиз Nest 6 — прогрессивного Node.js фреймворка для со.

      Что мы знаем о микросервисах Привет! Меня зовут Вадим Мадисон, я руковожу разработкой System Platform Авито. О том, как мы в компании переходим с монолитной архитектуры на микросервисную, было сказано не раз. Пора поделиться тем, как мы преобразовали свою инфраструктуру, чтобы извлечь из микросервисов м.

      Netramesh – легковесное service mesh решение В процессе перехода от монолитного приложения к микросервисной архитектуре мы сталкиваемся с новыми проблемами. В монолитном приложении обычно достаточно просто определить, в какой части системы произошла ошибка. Скорее всего, проблема в коде самого монолита, либо в базе дан.

      [Из песочницы] Neutralinojs — альтернатива Electron, потребляющая меньше памяти Neutralinojs — фреймворк с открытым исходным кодом для создания кроссплатформенных приложений на HTML/CSS/JS. Отличие от Electron в том, что для запуска приложения на Neutralinojs не нужно устанавливать nodejs и сотни зависимостей, тянущихся из package.json. Давайте сравним .

      [Перевод] Courier: мигрирование Dropbox на gRPC Примечание переводчика Большинство современных программных продуктов не являются монолитными, а состоят из множества частей, которые взаимодействуют друг с другом. При таком положении дел необходимо, чтобы общение взаимодействующих частей системы происходило на одном языке.

      Аналитики призвали центробанк Швейцарии создать государственную криптовалюту Аналитический центр Avenir Suisse выпустил доклад «Блокчейн после хайпа», в котором призвал Национальный банк Швейцарии заняться созданием государственной криптовалюты. В частности, аналитики предлагают разработать экономическую модель, которая будет основана на бл.

      [Из песочницы] Rekko Challenge — как занять 2-е место в конкурсе по созданию рекомендательных систем Всем привет. Моя команда в Тинькофф занимается построением рекомендательных систем. Если вы довольны вашим ежемесячным кэшбэком, то это наших рук дело. Также мы построили рекомендательную систему спецпредложений от партнеров и занимается индивидуальными подборками Stories в .

      Управление M5Stack через BLE Интро Уже сравнительно давно микроконтроллер ESP32 стал неким стандартом для множества DIY проектов. И действительно, возможность работы с Wi-Fi, Bluetooth, встроенная энергонезависимая память, а так же большое число выводов позволяют сделать массу интересных проектов. В эт.

      [Перевод] Blazor перешел из стадии эксперимента в Preview С этим новым релизом мы рады сообщить, что Blazor теперь в стадии превью! Blazor больше не является экспериментальным, и мы обязуемся предоставлять его в качестве поддерживаемого фреймворка веб-интерфейса, включая поддержку запуска на стороне клиента в браузере на WebAssembl.

      Сервисы, микросервисы и пакетно-ориентированное программирование Многие программисты слышали о том, что иногда код следует выделять в отдельные библиотеки для дальнейшего повторного использования. Однако, вопрос, какой же все-таки код следует выделять в отдельную сущность, ставит многих разработчиков в тупик. При прочтении статей/разговор.

      Книга «Spring. Все паттерны проектирования» Привет, Хаброжители! Мы издали книгу в которой дается обзор фреймворка Spring 5 и паттернов проектирования для него. Объясняется принцип внедрения зависимостей (dependency injection), играющий ключевую роль при создании слабосвязанного кода во фреймворке Spring. Затем рассм.

      Книга «Безопасный DevOps. Эффективная эксплуатация систем» Привет, Хаброжители! Приложение, запущенное в облаке, обладает множеством преимуществ, но в то же время подвержено особенным угрозам. Задача DevOps-команд — оценивать эти риски и усиливать защиту системы от них. Книга основана на уникальном опыте автора и предлагает важнейш.

      Интервью с Александром Макаровым, Yii core team Один из ключевых разработчиков Yii, Александр Макаров(SamDark), выступит на DevConf с докладом про пакетные метрики и я воспользовался возможностью задать несколько интересующих меня вопросов про новую версию Yii, новую ORM, сбор денег на OpenCollective, фулл-тайм open sour.

      [Перевод] Пишем клон движка Doom: чтение информации карт Введение Цель этого проекта — создание клона движка DOOM, использующего ресурсы, выпущенные вместе с Ultimate DOOM (версия со Steam). Он будет представлен в виде туториала — я не хочу добиваться в коде максимальной производительности, а просто создам работающую версию, и п.

      Как прошел фестиваль Wargaming Fest 2020 в Минске Уже несколько лет компания Wargaming проводит тематический фестиваль. В последние годы базовой площадкой для него стал Минск, он же родина разработчика, подарившего геймерам популярную игру World of Tanks… Сейчас в активе разработчика, который давно стал крупным издателем, м.

      Эволюция создания веб-приложений на Java История развития построения веб-приложений на языке программирования Java с примерами их использования на временном промежутке от появления спецификации сервлетов до сегодняшнего дня. Читать дальше →

      [Перевод] Руководство по React Native для начинающих Android-разработчиков (с примером приложения) Представляем вам перевод статьи Nikhil Sachdeva, опубликованной на hackernoon.com. Автор делится опытом разработки мобильных приложений с помощью React Native и предлагает создать свое приложение, используя этот фреймворк. Я был Android-разработчиком и довольно длительное.

      Apple обдумывает рассказать про новый модульный Mac Pro на WWDC в июне Согласно новой информации от Bloomberg, Apple рассматривает возможность предварительного просмотра своего нового Mac Pro на Всемирной конференции разработчиков в июне этого года. Модульная концепция Mac Pro от Curved.de Apple заявила, что работает над высокопроизводительным.

      Просто и на C++. Основы Userver — фреймворка для написания асинхронных микросервисов В Яндекс.Такси придерживаются микросервисной архитектуры. С ростом количества микросервисов мы заметили, что разработчики много времени тратят на boilerplate и типичные проблемы, при этом решения не всегда получаются оптимальные. Мы решили сделать свой фреймворк, с C++17 и .

      [Перевод] Руководство по развертыванию моделей машинного обучения в рабочей среде в качестве API с помощью Flask Друзья, в конце марта мы запускаем новый поток по курсу «Data Scientist». И прямо сейчас начинаем делиться с вами полезным материалом по курсу. Введение Вспоминая ранний опыт своего увлечения машинным обучением (ML) могу сказать, что много усилий уходило на построение дейс.

      Kонсенсус в Exonum: как он работает ExonumTM — это наш открытый фреймворк для создания приватных блокчейнов. Сегодня мы расскажем, как работает его алгоритм консенсуса. Читать дальше →

      [Из песочницы] Пишите меньше кода Хайп по Svelte после недавнего релиза 3 версии фреймворка всё-таки имеет место быть, чему свидетельствуют сильно возросшее комьюнити и огромное количество вопросов как в официальном чате, так и в нашем рускоязычном telegram-канале. Всё больше разработчиков украдкой или всерь.

      Создание бэкенд приложения для онлайн чата Apollo, Node.js Некоторое время назад я работал над мобильным приложением, функционал которого включал в себя удобный онлайн-чат. И теперь я решил написать статью с краткой инструкцией, как создать чат, используя apollo server и node.js на бэкенде, а так же react native и apollo client на к.

      Состоялся релиз Kali Linux 2020.1 Состоялся rolling-release Kali Linux 2020.1, который содержит множество обновлений: обновленные пакеты, обновленное ядро 4.19.13, обновленные инструменты, а также 5 версию знаменитого фреймворка Metasploit. Kali Linux представляет из себя дистрибутив, содержащий множество.

      [Перевод] Анонс веб-интерфейса Kubernetes Web View (и краткий обзор других web UI для Kubernetes) Прим. перев.: Автор оригинального материала — Henning Jacobs из компании Zalando. Он создал новый веб-интерфейс для работы с Kubernetes, который позиционируется как «kubectl для веба». Почему новый Open Source-проект появился и каким критериям не удовлетворили уже существующ.

      [Из песочницы] BotMan знакомство Хочу рассказать о PHP фреймворке для создания ботов BotMan (Сайт). Botman можно использовать и как библиотеку, и как расширение Laravel (BotMan Studio). Читать дальше →

      [Перевод] Процедурное создание лун Не так давно мы изготовили систему создания лун. Наша цель заключалась в создании лун, похожих по размеру и составу на существующие в нашей Солнечной системе. Основной сложностью оказалось получение обширных поверхностей таких лун и их внутренностей, чтобы при этом они оста.

      Книга «Kafka Streams в действии. Приложения и микросервисы для работы в реальном времени» Привет, Хаброжители! Эта книга подойдет для любого разработчика, который хочет разобраться в потоковой обработке. Понимание распределенного программирования поможет лучше изучить Kafka и Kafka Streams. Было бы неплохо знать и сам фреймворк Kafka, но это не обязательно: я ра.

      [Перевод] Использование UIViewPropertyAnimator для создание пользовательских анимаций Создание анимаций это здорово. Они являются важной частью iOS Human Interface Guidelines. Анимации помогают привлечь внимание пользователя к важным вещам или попросту делают приложение не таким скучным. Существует несколько способов реализовать анимацию в iOS. Вероятно, са.

      Apache Kafka + Spring Boot: Hello, microservices Привет, Хабр! В этом посте мы напишем приложение на Spring Boot 2 с использованием Apache Kafka под Linux, от установки JRE до работающего микросервисного приложения. Коллеги из отдела фронтэнд-разработки, увидевшие статью, сетуют на то, что я не объясняю, что такое Apache .

      [Перевод] Использование Golang для создания микросервисов в The Economist: ретроспектива Всем привет! Уже 28 мая мы запускаем первую группу по крусу «Разработчик Golang». И сегодня делимся с вами первой публикацией приуроченной к запуску этого курсу. Поехали. Ключевые выдержки The Economist требовалось больше гибкости для распространения контента на все бол.

      Использование API HTMS для работы с реляционно-сетевой базой данных Введение В статье «Реляционно-сетевая модель данных» была предложена новая концепция моделирования данных HTMS, являющаяся развитием канонической реляционной модели. В настоящем материале будет показано на примерах, как ее можно практически использовать с применением API лог.

      Слёрм DevOps: почему мы не будем обсуждать философию DevOps и что будет вместо нее Сегодня в Southbridge на планерке обсуждали бирюзовый менеджмент. Были те, кто предлагал двигаться сверху вниз, от идеи к практике. Мол, давайте внедрим философию бирюзового менеджмента: найдем эталон, примем решение о том, как должны делиться роли, как должна строиться комм.

      Cruise открывает исходный код Worldview В Cruise Automation сотни инженеров и тестировщиков работают с данными, собранными на дорогах и через симулятор. Также специальная внутренняя команда AV Tools создает приложения для визуализации, поиска и анализа этих данных. Ведь пользователи и разработчики должны понимать .

      Представлена мышка Razer Viper Ultimate Razer объявляет о выходе Razer Viper Ultimate – самой быстрой игровой мыши, разработанной для профессионального киберспорта. Viper Ultimate задает новые стандарты скорости и точности благодаря комбинации беспроводной технологии Razer HyperSpeed и патентованного интеллектуаль.

      Генерация приложения на React с бэкэндом на GraphQL за считанные минуты Мы добавили новую экспериментальную возможность в 8base CLI (Command Line Interface), которая генерирует готовое приложение на React из вашей модели данных. Это очень удобно для начала работы с GraphQL и React, а также для быстрого создания пользовательского интерфейса прило.

      ИИ научился создавать видео с одного кадра. Старые картины теперь можно сделать живыми Технология из Гарри Поттера дошла до наших дней. Теперь для создания полноценного видео человека достаточно одной его картинки или фотографии. Исследователи машинного обучения из «Сколково» и центра Samsung AI из Москвы опубликовали свою работу о создании такой системы, вм.

      Опыт построения инфраструктуры на микросервисной архитектуре За последний год публикаций о микросервисах стало так много, что рассказывать что это и зачем нужно было бы пустой тратой времени, так что дальнейшее изложение будет сконцентрировано на вопросе — каким способом бы реализовали эту архитектуру и почему именно так и с какими п.

      Новые возможности С# 8: switch expressions В конце января группа разработчиков .NET Core выпустила новую версию фреймворка .NET Core 3 preview 2. В нем были реализованы некоторые новые возможности языка С#. Что мне кажется довольно интересным, это switch expressions. Хотя это добавление кажется простым, я думаю, что .

      [Из песочницы] Захват сигнала мышечной активности в систему машинного обучения Около года назад ко мне пришла идея создания открытого фреймворка для нейроинтерфейсов. Читать дальше →


      [Перевод] Квантовые вычисления могут изменить все, и IBM соревнуется с Microsoft, Intel и Google, с целью овладеть ими Джим Кларк, директор по квантовому оборудованию Intel, с одним из квантовых процессоров компании. Фото; Intel Квантовые компьютеры — чрезвычайно захватывающая технология, подающая надежды на создание мощных вычислительных возможностей для решение ранее неразрешимых пробле.

      [Из песочницы] Подводные камни разработки Google Play Instant Привет, Хабр! Меня зовут Камо Сперцян, я занимаюсь Android-разработкой в PROFI.RU. Недавно я написал приложение с мгновенным запуском для наших клиентов. Если вы ещё не знакомы с технологией, приглашаю вас сначала посетить Android Developers. С презентации Instant Apps (G.

      FSP представляет компактные модульные блоки питания FlexGuru Компания FSP объявила о выходе новой серии FlexGuru. Компактные блоки питания являются полностью модульными и специально предназначены для использования в IPC, HtPC, Edge Computing и NAS-серверах. Серия FlexGuru содержит модели 250 Вт и 300 Вт, их размер составляет всего 15.

      Анонсирован Microsoft Web Template Studio Компания Microsoft объявила о выпуске ранней версии кросс-платформенного расширения для Visual Studio Core под названием Microsoft Web Template Studio, которое призвано упростить и ускорить процесс создания полнофункциональных веб-приложений. Web Template Studio использует .

      [Перевод] Назад к микросервисам вместе с Istio. Часть 1 Прим. перев.: Service mesh’и определённо стали актуальным решением в современной инфраструктуре для приложений, следующих микросервисной архитектуре. Хотя Istio может быть на слуху у многих DevOps-инженеров, это довольно новый продукт, который, будучи комплексным в смысле .

      [Перевод] Игра на Rust за 24 часа: личный опыт разработки В этой статье я расскажу о личном опыте разработки небольшой игры на Rust. На создание рабочей версии ушло около 24 часов (преимущественно я работала по вечерам или на выходных). Игра еще далека от завершения, но я думаю, что опыт будет полезным. Я расскажу, чему научилась.

      WISE-PaaS — облачная платформа для промышленного интернета вещей WISE-PaaS — (Platform as a Service) облачная платформа Advantech для промышленного интернета вещей, объединяющая в себе различные инструменты для сбора, обработки, и визуализации данных, автоматизации, управления устройствами и системами искусственного интеллекта и машинно.

      Открытый Future London Academy Meetup Приглашаем вас на Future London Academy Meetup, который пройдет 10 октября в офисе Райффайзенбанка в Нагатино. Узнаем последние новости из Лондона про DesignOps, UX стратегию, дизайн-культуру, фреймворки создания инновационных продуктов и многое другое. Читать дальше →

      Физики опубликовали пошаговую инструкцию по созданию червоточины Астрофизик из Университета штата Огайо, Пол Саттер, опубликовал толкование метода организаций быстрых путешествий через Вселенную с помощью червоточин. Команда его коллег разработала теоретический способ создания этого феномена в космосе и прокладки пути через пространство-в.

      [Перевод] Создание игры Tower Defense в Unity, часть 1 Поле Создание тайлового поля. Поиск путей с помощью поиска в ширину. Реализация поддержки пустых и конечных тайлов, а также тайлов стен. Редактирование контента в режиме игры. Опциональное отображение сетки поля и путей. Это первая часть серии туториалов, посвящённых созда.

      88% банков нацелены на создание партнерских экосистем и маркетплейсов, по данным исследования Accenture Финансовым учреждениям необходимо выстраивать новую модель отношений с конечными клиентами для построения доверительных отношений, на базе которых возможен постоянный рост бизнеса. Оптимальный путь достижения этих целей состоит в создании .

      Сколько стоит клонирование кошки или собаки? Только вдумайтесь — со дня рождения клонированной овечки Долли в 1996 году прошло более двадцати лет! Создание клонов животных уже давно превратилось из фантастики в реальность и в мире уже существует множество биотехнологических компаний, предоставляющих такую необычную ус.

      Практическое применение трансформации AST-деревьев на примере Putout Введение Каждый день при работе над кодом, на пути к реализации полезного для пользователя функционала, становятся вынужденные (неизбежные, либо же просто желательные) изменения кода. Это может быть рефакторинг, обновление библиотеки или фреймворка до новой мажорной версии, .

      Стартовали испытания боевого робота «Маркер» Как сообщает РИА Новости со ссылкой на Фонд перспективных исследований, на основе «Маркера» уже разрабатываются различные технологии, а также модификации роботов и беспилотников, которые будут способны взаимодействовать с подразделениями специального назначения. По сути, экс.

      [Из песочницы] Создание приложения Sticky Notes с использованием 8base, GraphQL и React Посмотреть демо версию программы здесь. Во все времена тайм менеджмент был связан для меня с огромной борьбой, запланированные задачи забыты, заметки потеряны, потому что они распределены по нескольким приложениям, сохраняющим заметки. Решение заключается вовсе не в прило.

      Что нужно знать о Red Hat OpenShift Service Mesh Переход на Kubernetes и Linux-инфраструктуры при цифровой трансформации организаций приводит к тому, что приложения все чаще начинают строиться на основе микросервисной архитектуры и, как следствие, очень часто обрастают сложными схемами маршрутизации запросов между сервисам.

      [Из песочницы] Пишем блог на микросервисах – часть 1 «Общее описание» В этой статье хочу поделится нашими c SergeyMaslov наработками решения типовых задач с использованием микросервисной архитектуры на примере задачи «создание блога» (в надежде, что читатель представляет как устроен блог и это не должно вызывать вопросов по функциональности:) .

      Делаем свой почти Extended Floating Action Button Всем привет. Не прошло и полгода как работает мое приложение, в котором Floating Action Button меню было реализовано сторонней библиотекой. В какой-то момент захотелось сделать его более приятным и удобным. Было Стало В процессе изменения дизайна я наткнулся на избыт.

      [Перевод] Quasar 1.0: новый полезный инструмент для Vue-разработчиков и не только для них Автор материала, перевод которого мы публикуем сегодня, занимается работой над фреймворком Quasar. Это — полнофункциональный расширяемый опенсорсный инструмент для разработки современных приложений различного назначения. Он построен на базе популярного фронтенд-фреймворка Vu.

      [Перевод] Использование JavaScript-модулей в продакшне: современное состояние дел. Часть 1 Два года назад я писал о методике, которую сейчас обычно называют паттерном module/nomodule. Её применение позволяет писать JavaScript-код, используя возможности ES2015+, а потом применять бандлеры и транспиляторы для создания двух версий кодовой базы. Одна из них содержит с.

      [Перевод] Введение в Spring Boot Actuator Салют, хабровчане! Уже через неделю стартуют занятия в новой группе курса «Разработчик на Spring Framework». В связи с этим делимся с вами полезным материалом в котором рассказано о том, что такое Spring Actuator и чем он может быть полезен. Что такое Spring Actuator? К.

      [Из песочницы] Опыт создания сборок Linux под одноплатники с поддержкой обновлений Введение На данный момент, на рынке представлен большой ассортимент одноплатников на любой вкус по приемлемой цене. Как правило, различные сборки от производителей, предназначены для оценки платформы и являются отправной точкой нового проекта, поэтому не всегда подходят .

      Новые голосовые приложения на C# в 3CX v16 3CX v16 уже на подходе, и у нас есть отличные новости о нашем приложении для разработчиков Call Flow Designer. В новом релизе CFD использует новый скриптовый «движок», интегрированный в ядро сервера 3CX. Благодаря выполнению скриптов в ядре АТС, производительность голосовых .

      Qualcomm внедрила 5G-модем Snapdragon X55 в домашние роутеры В то время как некоторые компаний работают над внедрением подключения 5G в смартфоны, Qualcomm разработала уникальное решение, которое добавит возможность использования высокоскоростной связи 5G для множества других устройств, включая телевизоры и ПК. Так, компания Qualcomm .

      [Перевод] Создание калькулятора чаевых на Kotlin: как это работает? Рассказываем, как создать простое приложение для расчета чаевых на языке Kotlin. Если точнее, то Kotlin 1.3.21, Android 4, Android Studio 3. Статья будет интересной, в первую очередь, для тех, кто начинает свой путь в разработке Android-приложений. Она позволяет понять, ч.

      [recovery mode] Что такое Cordentity? [Перевод статьи] Cordentity — это приложение Corda (CorDapp) позволяющее использовать возможности технологии Self Sovereign >

      «ВКонтакте» запустит аналог сервиса TikTok Разработчики «ВКонтакте» в настоящее время занимаются созданием нового сервиса, который по своим функциональным возможностям будет сопоставим с приложением TikTok, разработанным в Китае, и пользующимся достаточно большой популярностью.

      Airtest IDE — новый путь в автоматизации тестирования мобильных игр? Сегодня я хочу вам рассказать о достаточно новом open-source инструменте для автоматизированного тестирования под названием Airtest. В дальнейшем я сделаю ещё несколько статей с подробным рассказом об отдельных элементах данного инструментария и как с ними работать, а сейчас.

      Luxor Сегодня мы рассмотрим графический пакет для языка Julia, который называется Luxor. Это один из тех инструментов, которые превращают процесс создания векторных изображений в решение логических задачек с сопутствующей бурей эмоций. Осторожно! Под катом 8.5 Мб легковесных карт.

      [Из песочницы] Создание минимального Docker-контейнера для Go-приложений Привет, Хабр! Предлагаю вашему вниманию перевод статьи основателя сервиса Meetspaceapp Nick Gauthier «Building Minimal Docker Containers for Go Applications». Время чтения: 6 минут Существует множество, как официальных, так и поддерживаемых сообществом контейнеров для разл.

      [Перевод] Паттерны дизайна уровней для 2D-игр Введение Дизайнеры многих игр при разработке геймплея полагаются на вариативность контента. Повторяющиеся препятствия приводят к тому, что игроку становится скучно, поэтому дизайнеры обычно стремятся создавать постоянно увлекающий игровой процесс. Чаще всего игры состоят из.

      [Перевод] Порождение событий, CQRS и Laravel Перевод статьи подготовлен для студентов профессионального курса «Framework Laravel» ________________________ Введение Эта статья посвящена основам создания событийных CQRS-систем на языке PHP и в фреймворке Laravel. Предполагается, что вы знакомы со схемой разработки с .

      [Перевод] Современное окружение для React Native приложений В этой статье мы рассмотрим настройку React Native окружения с использованием expo-cli, Typescript, и Jest. Typescript поможет нам избежать ошибок при разработке и написать более эффективное мобильное приложение. Современные разработки позволяют интегрировать Typescript в .

      Как оживить документацию? Наверное, каждой команде знакома эта боль — неактуальная документация. Как бы команда ни старалась, в современных проектах мы релизимся так часто, что описывать все изменения практически нереально. Наша команда тестирования совместно с системными аналитиками решили попробова.

      Что нового в Android 10 Q Компания Google объявила о начале предварительного тестирования новой операционной системы Android Q. С сегодняшнего дня разработчикам доступна для установки первая бета-версия, и уже в ней представлено большое количество новых функций. Примечательно, что в программу бета-те.

      [Перевод] Руководство по аннотациям TestNG для Selenium WebDriver Мир, труд, май, хабровчане! Для тех, кто также как и мы ворвался в межпраздничную рабочую неделю, мы подготовили перевод, который хотим приурочить к старту набора на курс «Java QA Engineer», запуск которого запланирован на 28 мая. TestNG — это тестовый фреймворк, созданн.

      Топ-3 мессенджера для современного человека Мессенджеры облегчают общение, позволяют удобно обмениваться файлами, помогают эффективно работать и быть всегда на связи. Рассмотрим плюсы и минусы 3 мессенджеров для смартфонов, без которых современный человек лишится массы возможностей — CorpChat, Telegram и WhatsAp.

      [Перевод] Создание динамических PDF-файлов с использованием React и Node.js Материал, перевод которого мы сегодня публикуем, посвящён созданию динамических PDF-файлов с использованием HTML-кода в качестве шаблона. А именно, речь пойдёт о том, как сформировать простой счёт на оплату неких товаров или услуг, динамические данные, включённые в который, .

      Yealink Meeting Server 2.0 — новые возможности видеоконференцсвязи В прошлой статье: Yealink Meeting Server — комплексное решение для видеоконференцсвязи мы описали функционал первой версии Yealink Meeting Server (далее YMS), её возможности и структуру. В результате, мы получили от Вас множество запросов на тестирование этого продукта, част.

      [Из песочницы] Создание адаптивного сайта из того что есть и неинвазивные стили Есть сайт у которого нет мобильной версии и нужно с минимальными затратами времени сделать мобильным пользователям этот сайт приятнее в использовании. Я расскажу о том как ускорить внесение изменений на сайт и рассмотрю инструменты для быстрой верстки на живом сайте не име.

      [Из песочницы] OBD2 reader — диагностика автомобиля При создании приложения мы столкнулись с множеством выборов, проблем и так далее, с которыми попробуем ознакомить вас в этой статье. Как оказалось с автомобилем можно вести диалог, причем довольно таки продуктивный. Естественно для того чтобы организовать общение с автомобил.

      [Из песочницы] Путь школьника к разработке мобильных приложений Здравствуйте, хочу рассказать о том, как я пришёл к созданию своей первой относительно серьезной игры для IOS и Android. Предыстория Ещё в средней школе, мы с другом хорошо относились к урокам информатики, мне нравилось кодить и решать различные проблемы при помощи програм.

      Робот-тележка на ROS. Часть 4. Создаем симуляцию робота в rviz и gazebo Продолжение цикла статей о создании небольшого робота. В этот раз речь пойдет о создании копии робота в симуляции, которую предлагают визуальные ROS-среды rviz и gazebo (далее «редакторы»). Работа в редакторах будет вестись на виртуальной машине, образ которой был ранее пред.

      [Перевод] Создание игры «Крестики-нолики» при помощи TypeScript, React и Mocha Представляем вам перевод статьи Josh Kuttler, опубликованной на blog.bitsrc.io. Узнайте, как создать приложение «Крестики-нолики», используя React и TypeScript. Простая игра в крестики-нолики создана по модульному принципу и загружена на сайт Bit. Вы можете изменять компо.

      Транспилятор PAS2JS из Паскаля в JavaScript: несовместимости с Delphi и пути обхода В наше время в кармане обычного человека лежит мощный персональный компьютер, о котором 10-20 лет назад можно было только мечтать. И если у вас километры отлаженного Windows-кода и отлично работающие приложения и утилиты, написанные на Delphi, вы наверняка хотели бы задейств.

      [Перевод] Что лучше выбрать в 2020 году — React или Vue? JavaScript-фреймворки стали неотъемлемой частью каждого современного веб-проекта. Существует множество подобных фреймворков, в результате разработчикам постоянно приходится задаваться вопросом о том, что выбрать. Искать ответ на этот вопрос придётся и в 2020 году. Если вы .

      В России освоили модульную сборку беспилотников Новая концепция подразумевает создание линии производства беспилотников, которая будет включать в себя все этапы сборки аппаратов, включая финальные испытания готовых изделий. «Модульный метод позволяет осуществлять быструю транспортировку производства в любую точку мира и .

      Гайд для разработчиков по созданию ИИ-приложений Создайте вашего первого умного бота с Microsoft AI Искусственный интеллект ускоряет цифровую трансформацию в каждой отрасли, включая производство, розничную торговлю, финансы, здравоохранение и многие другие. При таком уровне каждая отрасль сможет использовать ИИ для улучшен.

      [Перевод] Забудьте про Walkman: всё дело в наушниках Сорок лет назад в августе в Японии был запущен новый продукт, влияние которого на рынок потребительской электроники оказалось настолько серьёзным, что мы и по сей день используем его потомков. Говорят, что один из основателей Sony любил слушать музыку в деловых поездках, и.

      Разработка сайта на WebAssembly с помощью NetCore 3 и Blazor Мое мнение, что WebAssembly будущее интернета. Данная технология на текущий момент уже интегрирована в большинство современных браузерах (а точнее в их движках) на ПК и мобильных устройствах. В таких браузерах как Chrome, Edge, Firefox, и WebKit. В данной статье я опишу как .

      Ускорение рутинных HR-процессов с помощью RPA и BluePrism В IT-компаниях и банках множество разных процессов. И если разработку софта и создание дизайна еще можно успешно оптимизировать с помощью гибких методологий (если их правильно внедрить и использовать), то некоторые вещи Agile так же быстро ускорить не может. Например, HR-про.

      Microsoft выпустила новую ОС, которая в два раза быстрее Windows 10 Американская корпорация Microsoft занимается созданием новых операционных систем уже более 20 лет, за которые она успела многому научиться. В настоящее время ее самой новой и современной платформой для компьютеров и планшетов является Windows 10, но Сообщение Microsoft выпу.

      [Из песочницы] 9 Принципов для создания качественных iOS приложений Принципы основаны на известной методологии от heroku, адаптированы под реалии айос разработки (Отсутствие контейнеров, ревью которые занимают несколько дней и тормозят развертывания, работа Xcode только на маке). Эта статья является коротким введением, полную серию можете на.

      Книга «Agile для всех» Agile дает реальные и действенные ответы на вопрос, который не дает спокойно спать руководителям: «Как оставаться успешным в быстро меняющемся и непредсказуемом мире?» Эта методология уже завоевала рынок, доказав, что является одним из лучших подходов для создания и доставк.

      [Перевод] 10 лучших JavaScript библиотек для визуализации данных на графиках и диаграммах Есть в графиках что-то магическое. Изгиб кривой мгновенно раскрывает всю ситуацию — историю развития эпидемии, паники или периода процветания. Эта линия просвещает, пробуждает воображение, убеждает. ― Генри. Д. ХаббардОбъемы данных, с которыми нужно работать, постоянно увели.

      Фишинг и никакой химии В силу своей работы я часто сталкиваюсь с различными проявлениями сетевых мошенничеств и, конечно же, с фишинговыми ресурсами. Когда речь заходит о фишинговых сайтах, первым делом в голову приходят различные схемы, предназначенные для кражи паролей и прочей информации, пр.

      Intel сворачивает проект по созданию мини-компьютеров Compute Card Корпорация Intel, по сообщению ресурса Tom’s Hardware, приняла решение прекратить дальнейшую разработку модулей Compute Card — небольших компьютеров с габаритами, сопоставимыми с размерами банковской карты. Изделия Intel Compute Card были представлены на выставке потреб.

      [Перевод] Генерацируем тайловые уровни и прячем квадраты от игрока Генерация уровней в Unexplored 2 Мы очень гордимся генератором уровней игры Unexplored 2, это программа, отвечающая всем современным требованиям. В посте я расскажу о том, как создаются уровни игры. Нам не пришлось заново изобретать велосипед. В Unexplored 1 мы уже создали.

      Facebook продвигается по пути создания собственной цифровой валюты Компания Facebook ведет переговоры с американскими властями (в частности, с Commodity Futures Trading Commission), касательно введения собственной цифровой валюты. Проект постепенно оформляется.

      [Перевод] Создание игры Tower Defense в Unity: баллистика [Первая, вторая и третья части туториала] Поддержка разных типов башен. Создание башни-мортиры. Вычисление параболических траекторий. Запуск взрывающихся снарядов. Это четвёртая часть туториала, посвящённого созданию простой игры в жанре tower defense. В ней мы добавим ба.

      FortiConverter или беспроблемный переезд В настоящее время запускается множество проектов, целью которых является замена существующих средств защиты информации. И это неудивительно — атаки становятся все изощреннее, многие средства защиты уже не могут обеспечить должный уровень безопасности. По ходу таких проекто.

      [Перевод] PHP дженерики уже сегодня (ну, почти) Если спросить PHP-разработчиков, какую возможность они хотят увидеть в PHP, большинство назовет дженерики. Поддержка дженериков на уровне языка была бы наилучшим решением. Но, реализовать их сложно. Мы надеемся, что однажды нативная поддержка станет частью языка, но, вероятн.

      [Перевод] Реализуем UI в iOS: улучшаем, ускоряем, масштабируем Привет! Меня зовут Азат Зулькарняев, я занимаюсь разработкой iOS-приложений в компании Badoo. При создании мобильных приложений большая часть времени уходит на разработку UI, и оптимизация этого процесса всегда является актуальной темой в среде разработчиков. Мой коллега А.

      [Из песочницы] Openshift — красношляпые поделки OpenShift Развертка Openshift. Конфигурация после установки. Создание и подключение PV. Создание и разворачивание проекта Red Hat Decision Manager (enterprise аналог kie-workbench). Создание и разворачивание проектов AMQ (red hat active mq) и postgressql c использованием п.

      Adobe может заняться разработкой процессоров На внутренней конференции Adobe по инновациям технический директор компании Абхай Параснис (Abhay Parasnis) обратил внимание своих коллег на необходимость адаптации к реалиям сегодняшнего дня, когда компании, разрабатывающие программное и аппаратное обеспечение, уже не .

      СПДС GraphiCS — фасадная и кровельная система Предлагаем вашему вниманию статью «СПДС GraphiCS — фасадная и кровельная система», написанную руководителем проектной группы ООО «Фронтсайд» Воробьевой Ириной Александровной. «СПДС GraphiCS — фасадная и кровельная система» — специализированное программное обеспечение, авт.

      Facebook представила полностью новое приложение Messenger, которое станет быстрее и удобнее Приложение Facebook Messenger всегда отличалось повышенным «аппетитом», так что разработчики постоянно пытаются его улучшить и ускорить. Сегодня компания Facebook представила очередное крупное обновление, которое призвано сделать мессенджер более удобным и б.

      Adobe может заняться разработкой процессоров На внутренней конференции Adobe по инновациям технический директор компании Абхай Параснис (Abhay Parasnis) обратил внимание своих коллег на необходимость адаптации к реалиям сегодняшнего дня, когда компании, разрабатывающие программное и аппаратное обеспечение, уже не .

      Модульная разработка или путь туда, а не обратно Как мы пришли к новому подходу работы с модулями в iOS приложении RaiffeisenBank. Проблема В приложениях Райффайзенбанка каждый экран состоит из нескольких, максимально независимых друг от друга модулей. «Модулем» мы называем визуальный компонент, имеющий своё представлени.

      Проект модульных смарт-часов Blocks закрыт Участники проекта Blocks по созданию «умных» наручных часов с модульной конструкцией объявили о его сворачивании. Инициатива Blocks была представлена ещё в 2014 году. Концепция предполагала размещение основных электронных узлов в модуле с дисплеем и выпуск самых разнообразны.

      Эффективное управление подключениями SignalR Здравствуй, Хабрахабр. В настоящий момент я работаю над созданием движка чата в основе которого лежит библиотека SignalR. Помимо увлекательного процесса погружения в мир real-time приложений пришлось столкнуться и с рядом вызовов технического характера. Об одном из них я и х.

      [Перевод] Готовимся к Combine Полтора года назад я пел дифирамбы RxSwift. У меня ушло какое-то время, чтобы разобраться в нем, но когда это случилось, пути назад больше не было. Теперь у меня был самый лучший молоток в мире, и будь я проклят, если всё вокруг не казалось мне гвоздём. На летней конферен.

      [Из песочницы] Краткий разбор статьи «DeViSE: A Deep Visual-Semantic Embedding Model» Рассматриваемая статья. Введение Современные распознавательные системы лимитированы классифицировать на относительно не большое количество семантически не связанных между собой классов. Привлечение текстовой информации, даже несвязанной с картинками, позволяет обогатить моде.

      Введение в программирование: простой 3Д шутер с нуля за выходные, часть 2 Продолжаем разговор про 3Д шутер за выходные. Если что, то напоминаю, что это вторая половина: Часть первая: отрисовка стен Часть вторая: населяем наш мир + оконный интерфейс Как я и говорил, я всеми силами поддерживаю желание в студентах делать что-то своими руками. В ча.

      Apple показала macOS Catalina с новым iTunes и iPad в качестве второго экрана Вместе с iOS 13, watchOS 6, iPadOS и tvOS 13 Apple показала macOS 10.15 Catalina. Новая версия операционной системы для компьютеров Mac содержит множество нововведений, которые в основном касаются производительности, но в то же время отличается серьезными нововведениями &#8.

      Пермский программист арестован за созданное им мобильное приложение, через которое действовал педофил Помните, как в том году был арестован оператор tor exit-node в России? Похожая ситуация возникла с Фёдором Власовым, который разработал вместе с другом Дмитрием Моисеевым приложение Kate Mobile (альтернативный клиент для «ВКонтакте»). Его обвиняют в совершении преступления с.

      Adobe прекращает поддержку Shockwave Технология Shockwave была разработана в 1995 году компанией Macromedia и более двух десятилетий служила для создания и воспроизведения интерактивного контента. В 2005 году Macromedia была приобретена корпорацией Adobe. Как известно, ранее Adobe уже объявила о том, что к конц.

      [Из песочницы] Сохранения данных пользователя после перезагрузки страницы Представим себе, что вы пишите таск-менеджер. Приложение должно работать как нативное: работать в офлайне также как в онлайне. Основная концепция Наш главный инструмент в построении такого приложения – localstorage. С другими способами реализовать это я не знаком. Способ о к.

      Компания Sony и Light объединились для создания мультилинзового смартфона Стартап камер Light, наиболее известный своими многообъективными камерами, объявил сегодня о том, что он сотрудничает с компанией Sony. Партнерство будет направлено на разработку новых версий сенсоров Light для нескольких изображений с использованием линз Sony. Компании .

      GraphQL Voyager как инструмент для поиска уязвимостей В настоящее время все больше компаний начинают использовать GraphQL. Это относительно новая технология (если быть более точным, то это язык запросов), которая призвана решить существующие проблемы REST. Если вы еще не знакомы с GraphQL, то рекомендую начать с ресурсов: .

      DynamicData: Изменяющиеся коллекции, шаблон проектирования MVVM и реактивные расширения В феврале 2020 года состоялся релиз ReactiveUI 9 — кроссплатформенного фреймворка для построения приложений с графическим пользовательским интерфейсом на платформе Microsoft .NET. ReactiveUI — это инструмент для тесной интеграции реактивных расширений с шаблоном проектиро.

      Apple планирует выпустить 31,6-дюймовый 6K дисплей в ​​2020 году Apple выпустит 31,6-дюймовый 6K дисплей с мини-светодиодной подсветкой в ​​2020 году, в соответствии с новыми данными от аналитика Apple Минг-Чи Куо, который подробно изложил свои ожидания относительно дорожной карты Apple на 2020 год. Apple покинула рынок дисплеев в 2020 г.

      [Перевод] RxVMS — практичная архитектура для Flutter-приложений Это первый пост из серии публикаций, в которых объясняется мое понимание архитектуры приложений для Flutter. Предупреждаю — это будет весьма самоуверенным. Пока запланированы: Введение (этот пост) Основы Dart Streams RxDart: магические трансформации потоков Основы RxVMS: Rx.

      Supermicro анонсировала решения на базе платформы Red Hat Enterprise Linux 8 Компания Super Micro Computer, Inc. (SMCI), мировой лидер в сфере корпоративных решений для вычислений, хранения данных, сетевого взаимодействия и экологически безопасной обработки данных, представила решения для открытого частного облака на базе ведущей мировой к.

      Эволюция кластерного взаимодействия. Как мы внедряли ActiveMQ и Hazelcast В течение последних 7 лет я вместе с командой занимаюсь поддержкой и развитием ядра продукта RealtimeBoard: клиент-серверным и кластерным взаимодействием, работой с базой данных. У нас Java с разными библиотеками на борту. Запускается всё вне контейнера, через Maven-плагин.

      [Перевод] Как CSS Grid меняет представление о структурировании контента Каждый, кто хотя бы немного занимался созданием веб-сайтов, знает, что теги

      Руководство для начинающих по машинному обучению и структуре Data Science Для всех, кому интересна тематика работы с данными, машинного обучения и искусственного интеллекта и для тех, кто только начинает свой путь в изучении — этот пост для вас. Все библиотеки ниже бесплатны, и большинство из них с открытым исходным кодом и выложены на GitHub. Исп.

      Microsoft анонсировала Windows 10X: система для гибких ПК появится в следующем году Компания Microsoft в среду представила новую редакцию операционной системы Windows 10. Когда была создана с нуля с применением Windows Core Technologies. Эта новая редакция основана на Windows Core OS, модульной версии Windows 10. Она призвана разбить систему на компоненты д.

      [Перевод] 4 шага для создания профиля кандидата Всем привет. В этом месяце в Отус стартует новый поток курса «IT-Recruiter.» К этому запуску мы приурочили новый полезный перевод, которым делимся с вами. Создание профиля кандидата Ваш профиль кандидата – это внутренний документ, который, по сути, представляет собой спис.

      Подборка новостей игровой индустрии с 8 марта по воскресенье Глава FromSoftware Хидетака Миядзаки заявил о возможности создания своего батл-рояля. Игры этого жанра, безусловно, хороши, и мы заинтересованы в том, как они устроены. Но если мы и возьмёмся за создание «королевской битвы», то сделаем это по-своему.Эти товарищи зарекомендов.

      Создание таблиц в дизайн системе Figma и реализация в Storybook (React) В предыдущей статье на тему дизайна таблиц в Фигме мы выяснили, что базовый элемент создания любого data grid — это компонент ячейки, внутри которого спрятано все необходимое для того, чтобы оставаться в одном экземпляре и строить таблицы ячейка-за-ячейкой. Теперь поговори.

      Windows 10X: Launcher, новая Панель задач и Центр уведомлений На первый взгляд, Windows 10X (новая версия Windows) выглядела как платформа, специально созданная для устройств с двумя экранами и складывающихся устройств. Однако Microsoft также готовит Windows 10X для обычных ноутбуков, поэтому есть вероятность, что в следующем году мы у.


      Microsoft представит Windows 10X в конце 2020 года На мероприятии, посвященному Surface, 2 октября Microsoft поделилась более подробной информацией о Windows 10X, которая является частью семейства Windows Core OS / Windows Lite. Это следующая версия Windows, разработанная с нуля для устройств с двумя экранами и других форм-ф.

      DJI выпустила своего первого наземного робота Прославленный китайский производитель мультикоптеров решил спуститься на землю и выпустил первую модель робота на колесах. Он называется «RoboMaster S1», что является отсылкой к ежегодному конкурсу робототехников RoboMaster. А S1 – это «первый шаг», движение по пути к создан.

      Win32-приложения будут работать на Windows 10X 2 октября Microsoft представила Windows 10X (новую версию Windows 10) вместе с Surface Neo и Surface Duo. По словам руководителей Microsoft, ОС специально создана для устройств с двумя экранами, но ожидается, что Windows 10X будет доступна и в конце 2020 года для ноутбуков. .

      Лучшее из опыта создания чистых и быстрых Angular приложений На написание этой статьи сподвигли поиски JavaScript front-end разработчиков в свою компанию в Ставрополе. Т.к. длительное время не удавалось найти толкового программиста и тогда мы решили запустить программу стажировки с большим количеством обучающего материала по Angular &.

      [Из песочницы] Duality — легкий и быстрый движок для игростроя под Windows (Доп.) Приветствую, читатель. В данной публикации речь пойдет о перспективном и достаточно молодом игровом движке, который незаслуженно остался в тени таких гигантов, как Unity или Unreal Engine. Разработчиками является объединение энтузиастов под руководством Adam’s Lair. Как.

      [Перевод] Новая технология может десятикратно улучшить разрешение изображений биологических тканей Разработанный в MIT подход преодолевает давнишнюю проблему рассеяния света в биологических тканях и других сложных материалах Проблема получения снимков глубоких слоёв биологических тканей давно оставалась сложной. Свет обычно рассеивается в таком сложном материале, как би.

      Новая ОС работает быстрее Windows 10 в разы Американская корпорация Microsoft занимается созданием операционных систем для компьютеров, ноутбуков, моноблоков и планшетов уже более чем 25 лет, и за такой период времени ей удалось выпустить множество различных продуктов, самым известным, современным и распространенным .

      [Перевод] Анонсирован ML.NET 1.0 Недавно мы анонсировали выпуск ML.NET 1.0. ML.NET — это бесплатный, кроссплатформенный и открытый фреймворк машинного обучения, предназначенный для использования возможностей машинного обучения (ML) в приложениях .NET. github.com/dotnet/machinelearning Начать: dot.net/ml.

      Angular: создание и публикация библиотеки Начнем с начала Если мне не изменяет память, то с версии 6 в angular появилась возможность создавать в одном workspace проекты разных типов: application и library. До этого момента люди, которые хотели создать библиотеку компонент, скорее всего, пользовались отличным и поле.

      На пути к ядру Питона Привет, Хабр! Представляю вашему вниманию перевод статьи Toward a “Kernel Python” автора Glyph Lefkowitz (создателя фреймворка Twisted). Подробнее — под катом. Читать дальше →

      [Перевод] Почему у CockroachDB меняют Open Source-лицензию Прим. перев.: Гибкость и свободы, предлагаемые Open Source-лицензиями, позволили современным поставщикам крупных SaaS-решений поставить под большой вопрос успешность бизнеса у небольших компаний, стоящих за разработкой востребованных Open Source-проектов. В этой заметке от а.

      Adobe видит в ARM архитектуру «всевластия» и даже мечтает о собственном процессоре Некоторое время назад Adobe провела домашнюю конференцию, на которой главный технолог компании Абхай Параснис (Abhay Parasnis) где намёками, а где открыто обрисовал пути для дальнейшего развития компании. Начнём с конца. По твёрдому убеждению Абхая, когда-нибудь мы войдём в .

      [Перевод] Создание игры Tower Defense в Unity: сценарии и волны врагов [Первая, вторая, третья и четвёртая части туториала] Поддержка врагов малого, среднего и крупного размеров. Создание игровых сценариев со множественными волнами врагов. Разделение конфигурации ассетов и геймплейного состояния. Запуск, пауза, победа, поражение и ускорение и.

      Мобильное приложение для отелей Отели и гостиничные комплексы современного типа должны предлагать своим клиентам комфортные и удобные условия для отдыха и проживания, и касаются они не только благоустройства гостиничных номеров, но и предоставления возможности в режиме онлайн получать данные услуги и оформ.

      [Перевод] Назад к микросервисам вместе с Istio. Часть 3 Прим. перев.: Первая часть этого цикла была посвящена знакомству с возможностями Istio и их демонстрации в действии, вторая — тонко настраиваемой маршрутизации и управлению сетевым трафиком. Теперь же речь пойдёт про безопасность: для демонстрации связанных с ней базовых ф.

      [Из песочницы] Пишем первый микросервис на Node.js с общением через RabbitMQ Со временем, каждый проект растет и реализовывать новый функционал в существующий монолит становится все сложнее, дольше и дороже для бизнеса. Один из вариантов решения данной проблемы — использование микросервисной архитектуры. Для новичков или для тех, кто впервые сталкива.

      «Матрице» 20 лет: как Вачовски сделали киберпанк, определивший повестку для целого поколения На днях фильму «Матрица» исполнилось 20 лет. Офигеть, не правда ли? По этому случаю WIRED сделал лонгрид на основе книги о сестрах (тогда еще братьях) Вачовски, из которого можно узанть много нового о карьере режиссеров-сценаристов до и во время создания культового фильма.

      YIMP — Панель управления для Yii 2 на Bootstrap 4 Уверен, что у многих разработчиков, предпочитающих фреймворки готовым CMS, есть в запасе решение на Bootstrap или его аналогах, которое используется в для создания интерфейсов админок и прочих бэк-офисов. И у меня такое есть. Успешно работает много лет, но безнадежно устарел.

      Лучшее программное обеспечение для фото и видео работ Современный вид веб дизайна и полиграфии постоянно развивается и обретает всё новые возможности благодаря инновационным разработкам и появлениям новых уникальных программ позволяющих более качественно и оригинально выполнять свою работу. Компания «AMS» является разработчиком.

      Почему мы выбрали Lexus RX450h Создание беспилотного автомобиля крайне увлекательное занятие, наполненное множеством инженерных вызовов. Один из них — выбор правильной базы (автомобиля) для будущей беспилотной системы. Как вы уже могли заметить из предыдущих постов, в OSCAR используется Lexus RX450h, и мы.

      SwiftUI и авто-возобновляемые подписки Привет! На связи Денис из Apphud – сервиса по аналитике возобновляемых подписок для iOS-приложений. Как вы знаете, на WWDC 2020 Apple анонсировали свой новый декларативный фреймворк SwiftUI. В этой статье я попробую рассказать как с помощью SwiftUI сделать экраны оплаты и р.

      [Из песочницы] PHP: Как разобрать сложный XML-файл и не утонуть в собственном коде Доброе время суток! Сфера применения XML-формата достаточно обширна. Наряду с CSV, JSON и другими, XML — один из самых распространенных способов представить данные для обмена между различными сервисами, программами и сайтами. В качестве примера можно привести формат Commerc.

      В Java может появиться новая сериализация На сайте OpenJDK появился новый исследовательский документ, в котором описывается идея введения в язык новой улучшенной сериализации взамен старой. Сериализация в Java существует с версии 1.1, то есть практически с момента её рождения. С одной стороны, сериализация является.

      [Из песочницы] Ардуино и клавиатуры (полный гайд) Привет, жители Хабра! Сегодня я решил сделать полный гайд по клавиатурам для Arduino. Внимание! Статья ориентирована преимущественно на новичков! Во многих проектах появляется необходимость создания возможности ввода данных пользователем. Если вам нужно реализовать большое .

      Как оседлать радугу: история создания тёмной темы В сентябре мы выпустили тёмную тему официального приложения ВКонтакте для iOS, а неделю назад релиз состоялся и на Android. За этим запуском стоит большой совместный труд разработчиков и дизайнеров. Вместе мы не просто перевели VK на тёмную сторону, но и серьёзно изменили п.

      [Перевод] Встречайте Big Data Tools: поддержка Spark и Zeppelin-ноутбуков в IntelliJ IDEA У нас отличные новости. Мы рады объявить о выходе Big Data Tools — нового плагина для IntelliJ IDEA, который обеспечивает интеграцию со Spark и поддерживает редактирование и запуск Zeppelin-ноутбуков. Теперь вы можете создавать, редактировать и запускать Zeppelin notebooks п.

      Windows 10X может прийти на традиционные ноутбуки 2 октября 2020 года Microsoft анонсировала «Windows 10X», новую версию Windows 10, разработанную специально для складных устройств, таких как Surface Neo на базе Intel и Lenovo ThinkFold X1.Ожидается, что Windows 10X будет выпущена для двухэкранных и складных устройств осень.

      Звуковое зрение vOICe vision. Взгляд из тьмы Когда-то исследователю и технологическому энтузиасту Игорю Трапезникову говорили, что слепота не лечится и потерявший зрение обречён жить во тьме. А спустя 10 лет Игорь представил устройство, в буквальном смысле подарившее незрячим людям возможность вновь видеть окружающий м.

      Интуитивный RL (Reinforcement Learning): введение в Advantage-Actor-Critic (A2C) Это вольный перевод статьи Rudy Gilman и Katherine Wang Intuitive RL: Intro to Advantage-Actor-Critic (A2C).Специалисты по усиленному обучению (RL) подготовили множество отличных учебных пособий. Большинство, однако, описывают RL в терминах математических уравнений и абстрак.

      CUBA 7: что нового? Три года назад мы объявили о выходе CUBA 6. Та версия стала революционной: вместо закрытой проприетарной лицензии мы стали распространять фреймворк свободно, по лицензии Apache 2.0. В то время мы не могли даже и близко представить, насколько это отразится на развитии фреймв.

      [Перевод] Бессерверная архитектура и микросервисы: идеальная пара? Перевод статьи подготовлен для студентов курса «DevOps практики и инструменты» в образовательном проекте OTUS. Когда в 2015 году начали появляться первые туториалы с использованием AWS Lambda и API Gateway, было неудивительно, что они в основном были сосредоточены на копир.

      Законопроект о создании единой базы с данными граждан приняли в ГосДуме в первом чтении Собственно, суть новости в заголовке, а подробности описаны тут и тут. А от себя хочу прокомментировать эту новость. Думаю, многие мечтали избавиться от поиска миллиона справок и доказательств, что у тебя и правда есть (или нет) недвижимость, машина и работа. Цифровая тран.

      [Из песочницы] От идеи мобильного приложения до MVP, в который вложатся инвесторы Введение Как создать MVP приложения, в который вложатся инвесторы Шаг 1. Составить требования Шаг 2. Выбрать компанию-разработчика Шаг 3. Создать ТЗ и собрать прототип для фокус-групп Шаг 4. Разработать и протестировать приложение Шаг 5. Опубликовать приложение Как найти.

      Построение металлокаркаса здания с помощью программы СПДС Металлоконструкции Одной из основных задач современного проектирования является поиск новых планировочных решений зданий с максимальным внутренним простором. Не сложно догадаться, что именно проектирование здания из металлического каркаса дает возможность для реализации этой идеи. Поэтому, мет.

      ControlValueAccessor и contenteditable в Angular Вы когда-нибудь задумывались, как работает связка форм Angular и HTML элементов, через которые пользователь заносит данные? С самого начала для этого использовали ControlValueAccessor — специальный интерфейс, состоящий всего из 4 методов: interface ControlValueAccessor < w.

      [Перевод] Создание ритм-игры в Unity Введение Итак, вы хотите или пытались создать ритм-игру, но игровые элементы и музыка быстро рассинхронизировались, и теперь вы не знаете, что делать. Эта статья вам в этом поможет. Я играл в ритм-игры со старшей школы и часто зависал на DDR в местном зале аркадных автомато.

      [Перевод] Дизайн декбилдинга в видеоиграх Карточные игры и элементы декбилдинга (построения колоды) используются в видеоиграх уже давно, иногда смешиваясь с известными жанрами для создания нового, но в то же время знакомого игрового процесса. Разработчики разными способами экспериментируют с этим поджанром, то созд.

      Apple призывает делать отдельные приложения для Apple Watch Apple Watch Series 4 с WatchOS 6 Apple начала рассылать разработчикам письма с предложением начать разрабатывать и публиковать приложения не в App Store, а отдельно в Apple Watch App Store. Таким образом компания стимулирует создателей программ разрабатывать приложения не то.

      PHP Xdebug proxy: когда стандартных возможностей Xdebug не хватает Для отладки PHP-программ часто используют Xdebug. Однако стандартных возможностей IDE и Xdebug не всегда достаточно. Часть проблем можно решить с помощью Xdebug proxy — pydbgpproxy, но всё же не все. Поэтому я реализовал PHP Xdebug proxy на базе асинхронного фреймворка amph.

      Партнерство Microsoft и OpenAI будет направлено на создание технологии Azure AI Microsoft Corp. и OpenAI, две компании, углубленно изучающие роль ИИ в мире и ищущие путей для создания безопасных, надежных и этичных технологий искусственного интеллекта на благо общества, объединяют свои усилия для дальнейшего расширения возможностей Microsoft Azure в сос.

      Партнерство Microsoft и OpenAI будет направлено на создание технологии Azure AI Microsoft Corp. и OpenAI, две компании, углубленно изучающие роль ИИ в мире и ищущие путей для создания безопасных, надежных и этичных технологий искусственного интеллекта на благо общества, объединяют свои усилия для дальнейшего расширения возможностей Microsoft Azure в сос.

      Партнерство Microsoft и OpenAI будет направлено на создание технологии Azure AI Microsoft Corp. и OpenAI, две компании, углубленно изучающие роль ИИ в мире и ищущие путей для создания безопасных, надежных и этичных технологий искусственного интеллекта на благо общества, объединяют свои усилия для дальнейшего расширения возможностей Microsoft Azure в сос.

      Релиз приложения для удаленного управления: Aspia 1.1.0 После нескольких месяцев разработки, готов представить новую версию приложения для удаленного управления – Aspia. Предыдущая статья на Хабре вызвала большой интерес у многих читателей к разработке и я постарался сделать релиз новой версии максимально интересным. Была продел.

      OpenSceneGraph: Уровни детализации (LOD) и фоновая загрузка объектов Введение Одной из интереснейших задач, решаемых посредством трехмерной графики является создание «больших миров» — протяженных сцен, содержащих большое число объектов с возможностью неограниченного перемещения по сцене. Решение этой задачи упирается в понятные ограничения, .

      Buildroot — часть 2. Создание конфигурации своей платы; применение external tree, rootfs-overlay, post-build скриптов В данном разделе я рассматриваю часть возможностей по кастомизации, которые потребовались мне. Это не полный список того, что предлагает buildroot, но они вполне рабочие и не требуют вмешательства в файлы самого buildroot. Читать дальше →

      Топ-3 мессенджера для современного человека Мессенджеры облегчают общение, позволяют удобно обмениваться файлами, помогают эффективно работать и быть всегда на связи. Рассмотрим плюсы и минусы 3 мессенджеров для смартфонов, без которых современный человек лишится массы возможностей – CorpChat, Telegram и WhatsAp.

      Топ-3 мессенджера для современного человека Мессенджеры облегчают общение, позволяют удобно обмениваться файлами, помогают эффективно работать и быть всегда на связи. Рассмотрим плюсы и минусы 3 мессенджеров для смартфонов, без которых современный человек лишится массы возможностей — CorpChat, Telegram и WhatsAp.

      Новое слово в реинжиниринге: создание челюстного имплантата с применением конвергентного моделирования Статья Максима Нехорошева, специалиста IDEAL PLM по конструкторской подготовке, описывает методику создания медицинского имплантата человеческой челюсти — от проектирования до генерации траектории для 3D-печати. На примере проектирования имплантата показаны отличительные осо.

      Десять полезных приложений для смартфона с Android У вас появился новый смартфон или планшет? Возможно, кто-то подарил (или вы подарили его себе сами). Значит, пришло время найти те приложения …

      Mockdown: самый быстрый способ создания вайрфреймов При создании технического задания клиенты часто отправляют много ссылок на сайты для понимании бизнес задач. Например: хочу регистрация и авторизацию как у twitter, список с новостными блоками как в Яндекс Дзен и т.д. Очень сложно такие части проекта задокументировать, хочет.

      [Перевод] Всемирной паутине исполнилось тридцать лет – что с ним будет дальше? В 30-й день рождения всемирной паутины WWW основатель World Wide Web Foundation [международной некоммерческой организации, занимающейся вопросами развития и доступности Всемирной паутины / прим. перев.] Тим Бернерс-Ли вспоминает, как веб изменял наш мир, и рассуждает о том.

      [Из песочницы] Создание Redux-подобного глобального хранилища, используя React Hooks Привет, Хабр! Представляю вашему вниманию перевод статьи «Build a Redux-like Global Store Using React Hooks» автора Ramsay. Давайте представим, что я написал интересное предисловие к этой статье и теперь мы сразу можем перейти к по-настоящему интересным вещам. Если.

      Роутинг в кроссплатформенном .NET приложении с сохранением состояния на диск на примере .NET Core, ReactiveUI и Avalonia Пользовательские интерфейсы современных прикладных приложений, как правило, сложны — зачастую необходимо реализовывать поддержку постраничной навигации, обрабатывать разного рода поля ввода, на основе выбранных пользователем параметров отображать или скрывать информацию. П.

      Кибернетически улучшенные Web-приложения Современный фронтенд шагнул далеко вперед со времен jQuery и обычных HTML страничек. У нас появились сборщики, менеджеры пакетов, компонентный подход, SPA, SSR и много еще чего. Кажется, что у нас есть все, что нужно для счастья. Но индустрия двигается вперед. Я хочу вам ра.

      Стартовал ЗБТ Otherworld Heroes — MMORPG с элементами дополненной реальности Otherworld Heroes — MMO с элементами геопозицоинирования от студии Bublar добралась до стадии закрытого бета-теста. Вас ждет спроектированный с нуля фэнтезийный мир, который согласно местным верованиям является магической областью, существующей параллельно с нашим реальным .

      [Из песочницы] Как я занимался созданием шкатулки LED HEART Приветствую, Habr! Хочу поведать историю о создании музыкальной шкатулки с элементами световой иллюминации – красивого подарка с возможностью индивидуального подбора световых эффектов и музыкального сопровождения. Шкатулку обозвал незамысловато — LED HEART. Какая-никакая ра.

      Apple выпустила полностью обновленную веб-версию Apple Music Apple сегодня сделала большое обновление, выпустив в публичную “Бету” свое веб-приложение потоковой музыки Apple Music. Благодаря браузерному интерфейсу подписчики Apple Music могут пользоваться сервисом из любого места без привязки к операционной системе или устройству. App.

      [Из песочницы] Как мы создали рекомендательный сервис по подбору одежды на нейронных сетях В этой статье я хочу рассказать о том, как мы создали систему поиска похожей одежды (точнее одежды, обуви и сумок) по фотографии. То есть, выражаясь бизнес-терминами, рекомендательный сервис на основе нейронных сетей. Как и большинство современных IT-решений, можно сравни.

      Почему вам не придется обновлять свой MacBook ради USB 4 На днях группа компаний по развитию USB, куда входят Apple, HP, Intel, Microsoft и другие корпорации, анонсировала новый стандарт USB 4, который в скором времени должен заменить существующую спецификацию. Вот только по сути это уже существующий стандарт Thunderbolt 3, прост.

      [Из песочницы] Размещай правильно: 7 идеальных мест для размещения видео-контента Итак, вы готовы сделать видео полноценной частью маркетинговых процессов вашей организации. Самое время. Существует множество исследований, в которых говорится, что в 2020 году порядка 80% контента, потребляемого нами в интернете, будет составлять видео (ссылка на исследова.

      Создание металлической фермы в СПДС Металлоконструкции Приглашаем вас принять участие в бесплатном вебинаре «Создание металлической фермы в СПДС Металлоконструкции». ЗАРЕГИСТРИРОВАТЬСЯ Вебинар состоится 23 апреля в 11:00 по Москве. Программа вебинара включает в себя демонстрацию новых возможностей программного продукта СПДС .

      Каркас API на Golang В процессе знакомства с Golang я решил сделать каркас приложения, с которым мне в дальнейшем будет удобно работать. В результате получилась на мой взгляд хорошая заготовка, которой я решил поделиться, и заодно обсудить моменты, которые возникли по ходу создания каркаса. В п.

      OData сервис без написания кода Одним из наиболее важных аспектов разработки программного обеспечения является быстрое создание прототипов. Для большинства служб необходимы по крайней мере некоторые операции CRUD, и большинство приложений можно описать как приложения, управляемые данными. API, которые я п.

      В macOS 10.15 более не поддерживаются 32-битные приложения. Что вы можете сделать? 7 октября 2020 года Apple выпустила в свет новую версию своей операционной системы для Mac, macOS Catalina. Версия 10.15 содержит множество изменений и улучшений. Одно из значимых – полный отказ от 32-битных приложений. Будучи разработчиком таких приложений для macOS, что в.

      [Перевод] Сценарии использования и производительность Blazor Server в .NET Core 3.0 С момента релиза Blazor Server с .NET Core 3.0 в прошлом месяце многие люди поделились с нами своим восторгом от возможности создания клиентского веб-интерфейса используя только с .NET и C#. В то же время мы также слышали много вопросов о том, что такое Blazor Server, как он.

      Computools надежный партнер Все знают, что внедрение IT систем в бизнес позволяют повысить его доходы и поднять в целом рейтинг. Качественное программное обеспечение для своего ресурса можно получить here Computools company. Официальный сайт компании позволяет ознакомиться со всем перечнем предлагаемых.

      Apple CarPlay обзаведётся новыми опциями Система Apple CarPlay была представлена ещё в далёком 2013 году. С тех пор эта платформа почти не обновлялась — как в дизайне, так и с функциональной точки зрения. Изменения конечно были, но их сложно назвать глобальными или масштабными. Впрочем, в iOS 13 Apple всё-та.

      [Из песочницы] Open Session In View в Spring Boot: Скрытая угроза Все здесь правы, каждый по-своему, и, следовательно, все здесь не правы. «Сказка о Тройке» (А. и Б. Стругацкие)Если вы используете Spring Data JPA, то после обновления на Spring Boot 2 при старте приложения можете заметить в логе новое предупреждение: spring.jpa.op.

      Новые карты CUBA Работа с геопространственными данными и отображение карт являются неотъемлемыми составляющими множества бизнес-приложений. Это могут быть городские и региональные информационные системы, приложения для нефтегазовой отрасли, системы управления транспортной инфраструктурой, а.

      [Перевод] Циклическая генерация подземелий на примере Unexplored Хватит создавать ветвящиеся пути, начинайте использовать циклическую генерацию подземелий. Ваши уровни станут гораздо более похожими на созданные вручную. Чаще всего для генерации подземелий в играх жанра roguelike на карту добавляются сгенерированные или заранее созданные.

      [Из песочницы] Friendly Open Space JS: Рендеринг на стороне клиента и создание враппера «Friendly Open Space» — очень молодой фреймворк, но бегать уже умеет 🙂 В данной статье по освоению «Friendly Open Space», мы освоим рендеринг шаблона в браузере и запуск приложения на локальной файловой БД. Ядро фреймворка поддерживает два типа сборки шаблона на клиенте: .

      Apple представляет iPadOS, разработанный специально для более крупного дисплея iPad Вчера Apple представила iPadOS — новую версию iOS, разработанную Apple специально для больших экранов семейства iPad. Apple заявила, что переименовала ОС, чтобы признать «отличительный опыт» iPad. Для начала, главный экран был переработан с новым макетом, который пока.

      Tic Tac Toe, часть 1 В статье «Сравнение: Svelte и React» я попробовал повторить разработку игры Tic Tac Toe. Там я выполнил только первую часть исходного туториала для React’а без поддержки истории ходов. В этой статье мы начнем разработку этой игры с применением фреймворка Svelte с поддержкой .

      KOST: что входит в новый стек технологий для разработки облачных приложений Рассказываем о его компонентах и перспективах. / фото Gozha Net Unsplash Почему появился новый стек Существует множество стеков для разработки программного обеспечения. Один из наиболее известных — LAMP (Linux, Apache HTTP server, MySQL, PHP). На нем построен сайт «Википед.

      Yii 2.0.16 Команда PHP-фреймворка Yii выпустила версию 2.0.16, содержащую более сотни исправлений и немного улучшений. Исправлены несколько проблем с безопасностью. Ветка Yii 2.0 достигла заморозки более чем год назад, что означает что в неё принимаются главным образом исправления. Сд.

      Новый фонд для DevOps-проектов от Linux Foundation начался с Jenkins и Spinnaker На прошлой неделе организация The Linux Foundation во время своего мероприятия Open Source Leadership Summit объявила о создании нового фонда для Open Source-проектов. Очередной независимый институт по развитию открытых [и востребованных в индустрии] технологий призван объ.

      Google решила сделать Android внешне похожей на iOS Одна из основных претензий к Android со стороны пользователей состоит во внешней несогласованности интерфейса ОС. Речь, конечно, идет о разношерстности иконок игр и приложений, загружаемых из Google Play. Из-за отсутствия четко сформулированных правил разработчики под Andro.

      Google может продолжить эксперимент с модульным . Когда-то в 2012 году Google загорелась идеей создать модульный смартфон. Сама компания назвала свою разработку Project Ara и приступила к созданию мобильника, состоящего из сменных компонентов. По задумке на свет должна была родиться мечта гика — устройство, которому м.

      Microsoft рассказала о будущем OneNote В начале этой недели на конференции Ignite 2020 Microsoft сообщила о возобновлении работы над настольным приложением OneNote 2020, а теперь поделилась планами по развитию как настольных приложений, так и сервиса в целом. Согласно информации, озвученной на Ignite 2020, разра.

      [Перевод] Лучшие продукты отталкиваются от настоящих проблем: Intercom про Jobs-to-be-Done. Часть 1 Jobs-to-be-Done — это подход к созданию продукта на основе анализа работы, которую стремится выполнить клиент с помощью продукта. Появился в 90-х годах и был адаптирован Intercom для IT-продуктов. Подход состоит из теории, почему «вечные» работы, для выполнения которых «на.

      Моя жизнь с Boost Graph Library Статья, первая часть которой здесь представлена, содержит различные соображения автора, накопившиеся в ходе длительной разработки специализированной системы поиска социальных связей, базирующейся на библиотеке Boost Graph Library (BGL). В этом (техническом) разделе суммируют.

      Архитектура Digital Workspace на платформе Citrix Cloud Введение Статья описывает возможности и архитектурные особенности облачной платформы Citrix Cloud и набора сервисов Citrix Workspace. Данные решения являются центральным элементом и основой для реализации концепции цифровых рабочих мест (digital workspaсe) от компании Citr.

      Теория и практика стандартизации Docker-сервисов Информации на тему микросервисной архитектуры приложений, успевшей уже набить оскомину, сегодня вполне достаточно для того, чтобы определиться, подходит она вашему продукту или нет. И совершенно не секрет, что компаниям, решившим выбрать этот путь, предстоит принять множеств.

      Применение наследования при генерации WEB-страниц на чистом JavaScript Привет, Хабр! Я не являюсь фронтенд-разработчиком, но иногда возникают задачи быстрого прототипирования WEB-интерфейса применительно к бизнес-приложениям. Специфика отрасли — множество похожих друг на друга сущностей (а значит и интерактивных форм), где применение ООП, а ко.

      Теперь даже ребенок может печатать игрушки с Toybox! Toybox – 3D-принтер, который позволяет взрослым и даже детям печатать игрушки. Это простой в использовании принтер с удобным интерфейсом. Toybox был разработан Беном Балтесом и Дженн Чин из Окленда (штат Калифорния). Оба основателя собрали на Indiegogo более 155 тысяч доллар.

      Компилятор Huawei Ark Compiler для HarmonyOS сравнили с пачкой лапши быстрого приготовления Как известно, представленные на днях смартфоны Huawei Mate 30 и Mate 30 Pro не имеют магазина приложений Google Play и сервисов Google. Пользователи смогут сами установить это ПО, так как загрузчик в новых аппаратах будет разблокированным (или его можно будет разблокиро.

      Топ-3 мессенджера для современного человека Мессенджеры облегчают общение, позволяют удобно обмениваться файлами, помогают эффективно работать и быть всегда на связи. Рассмотрим плюсы и минусы 3 мессенджеров для смартфонов, без которых современный человек лишится массы возможностей — CorpChat, Telegram и WhatsAp.

      [Перевод] Создание дизайн-документа миссии повествовательной игры на примере Last of Us Я всегда начинаю с того, что задаю много вопросов и провожу активные исследования. За свою карьеру я успел поработать над множеством сиквелов уже существовавших франшиз. Лучшее, что ты можешь сделать в этом случае — полностью освоить жанр игры и изучить мир. Среди прочих пр.

      Как быстро сделать длинный скриншот на iOS В iOS 13 разработчики Apple добавили массу полезных нововведений, которые хоть и незаметны на первый взгляд, по большому счету и отвечают за положительный опыт использования. Я говорю о таких фишках, как коррекция взгляда в FaceTime, удобная настройка приложений рабочего ст.

      Что нужно знать перед разработкой мобильного приложения Количество разрабатываемых мобильных приложений увеличивается с каждым днем. Сегодня существует много приложений на наиболее популярные темы – социальные сети, музыка, здоровье, спорт. Если вы сделаете приложение для одной из перечисленных тем, то существует большая вероятно.

      [Перевод] Создание карточек как Tinder на Swift Tinder — мы все знаем, что это приложение для знакомств, где вы можете просто отклонить или принять кого-то свайпом вправо или влево. Эта идея считывания карт теперь используется в тоннах приложений. Этот способ отображения данных для вас, если вы устали от использования т.


      Kaspresso: фреймворк для автотестирования, который вы ждали Все, кто занимался или занимается автотестами под Android, знают, какая это боль. От объема задач и проблем устаешь так, что даже отпуск не помогает. Люди даже увольняются из-за автотестов. Боль, страдания и мучения неизбежно приводят к появлению чего-то нового и прекрасног.

      Сотни новых возможностей для поклонников онлайн игр Ученые до сих пор спорят о возрасте человеческой цивилизации. Чуть ли не каждый месяц появляются данные, которые отодвигают рождение цивилизации на более ранние периоды. Эти сведения интересны только узкому кругу специалистов, но то что предки издавна использовали процесс иг.

      Как мы спроектировали и реализовали новую сеть на Huawei в московском офисе, часть 1 Сегодня расскажу о том, как появилась и реализовалась идея создания новой внутренней сети для нашей компании. Позиция руководства — для себя нужно сделать такой же полноценный проект, как для клиента. Если сделаем хорошо для себя — сможем пригласить заказчика и показать, н.

      Microsoft работает над современным Проводником в Windows 10X В последние несколько лет Microsoft уделяла немного больше внимания обновлению существующего опыта традиционного Проводника файлов. Например, Windows 10 November 2020 Update значительно улучшит встроенную функцию поиска в Проводнике.Аналогично, прошлогоднее обновление для Wi.

      Выпущена 3CX v16 Beta 1 с поддержкой Raspberry Pi Мы с удовольствием представляем очередную версию нашей системы 3CX v16 Beta 1. Финальный релиз не за горами! стали еще ближе к выпуску финального релиза. А сейчас позвольте представить новые возможности, улучшения и поддержку новой платформы, появившиеся в Beta 1. Работа на.

      [Из песочницы] Как в yEd Graph Editor построить красивую схему базы данных Хочу показать вам как с помощью нынче популярного приложения yEd, которое предназначено для построения различных диаграмм и схем, можно сделать полноценную(со всеми обозначениями) схему базы данных. Читать дальше →

      Профилирование со сверхсветовой скоростью: теория и практика. Часть 1 Привет! Из заголовка вы уже поняли, о чём я собираюсь рассказать. Тут будет много хардкора: мы обсудим Java, С, С++, ассемблер, немного Linux, немного ядра операционной системы. А ещё разберём практический кейс, поэтому статья будет в трёх больших частях (достаточно объёмных.

      Строительные блоки распределенных приложений. Второе приближение Анонс Коллеги, в середине лета я планирую выпустить еще один цикл статей по проектированию систем массового обслуживания: “Эксперимент VTrade” — попытка написать фреймворк для торговых систем. В цикле будет разобрана теория и практика построения биржи, аукциона и магазина. В.

      Клиенты Cloudflare получили доступ к HTTP/3 Облачный провайдер Cloudflare, который обеспечивает работу около 10% существующих интернет-ресурсов, открыл для своих клиентов возможность использовать протокол HTTP/3. Владельцы доменов, размещенных на инфраструктуре Cloudflare могут включить соответствующую опцию в панели .

      Приглашаем на DINS IT EVENING в июле: QA и JS В июле нас ждут две встречи. Будем рады видеть всех неравнодушных к автоматизированному тестированию и JavaScript. 24 июля – QA EVENING: говорим о построении CI/CD, знакомимся с API для создания IDEA плагинов. 31 июля – JS EVENING: знакомимся со статической типизацией, Type.

      [Из песочницы] Использование примесей во Flutter приложениях Я работаю в компании, занимающейся разработкой игр, но как домашнее хобби мне последнее время стала интересна разработка мобильных приложений. Поэтому, когда друг пригласил меня съездить на митап, посвященный разработке мобильных приложений с помощью фреймворка Flutter, я .

      MIT и Ford создали роботов-доставщиков, которые ориентируются без использования GPS Дроны, которым не нужен GPS — это что-то новое В последнее время все больше компаний делают ставку на использование роботов-курьеров. Для того, чтобы они смогли доставить посылку адресату, им, понятное дело, нужно как-то ориентироваться. Выход прост — использоват.

      Outlook для Mac получил новый дизайн и стал более производительным Участники бета-тестирования Outlook для Mac на канале «Ранний доступ» на этой неделе смогут получить доступ к новой версии приложения с обновлённым дизайном и значительными улучшениями производительности. Microsoft внедряет технологию синхронизации, которая уже используется.

      Создан первый опытный образец «молекулярного жесткого диска», способного хранить большие объемы информации В настоящее время ученые из различных групп и организаций прикладывают большие усилия, направленные на создание устройств хранения информации, способных кодировать эту информацию в структуре молекул органических соединений. Наиболее перспективным видом молекул считаются моле.

      Пишем Android приложение для киноманов — Часть 1 (Прототипирование) Доброго времени суток, Хабр! Не секрет, что недавно компания Google утвердила в качестве приоритетного языка программирования ОС Android — Kotlin. В этой и последующих статьях будет рассказываться о создании приложения на этом языке. Читать дальше →

      [Из песочницы] Применение Go в производственных системах. Валидаторы Добрый день, Хабр! Я довольно часто начинаю утро с просмотра хабра и наконец решил внести свой вклад в данный процесс изучения интересного. Если всё сложится, то это первая моя статься из цикла применения языка GO на производственных системах. Я хочу рассказать некоторые т.

      Как создавать фото с размытым фоном на Android Фотографии, которые мы загружаем в социальные сети, для многих пользователей сегодня крайне важны. Фото должны быть красивыми, приятно выглядящими и оформленными должным образом. Уже недостаточно просто сделать селфи для того, чтобы собрать лайки. Нужно накладывать различны.

      [recovery mode] IT в Армении: стратегические секторы и технологические сферы страны Быстрое питание, быстрые результаты, быстрый рост, быстрый интернет, быстрое обучение… Скорость стала неотъемлемой частью нашей повседневной жизни. Мы хотим, чтобы все было проще, быстрее и лучше. Постоянная потребность в большем количестве времени, скорости и производител.

      Социальная инженерия с помощью программ Universal Windows Platform (APPX) TL;DR: В APPX-файл Universal Windows Platform можно упаковать обычный exe-файл, который будет запускаться в Windows 10 (сборка 1607 и новее) примерно так же, как обычные exe-файлы. Это можно использовать для атак социальной инженерии, с помощью рассылки через email — почто.

      [Перевод] Создание вашего первого ARCore-приложения В предыдущей статье я уже объяснил, что такое ARCore и как он помогает разработчикам создавать удивительные приложения дополненной реальности без необходимости понимания математики и OpenGL. Если вы ещё не читали её, я настоятельно рекомендую это сделать, прежде чем перейти.

      Функции Бесселя в программе символьной математики SymPy Введение: Большое число самых разнообразных задач, относящихся практически ко всем важнейшим разделам математической физики и призванных ответить на актуальные технические вопросы, связано с применением функций Бесселя. Функции Бесселя широко используются при решении задач.

      [Перевод] История интернета: распад, часть 2 Одобрив использование частных микроволновых сетей в «решении свыше 890», федеральная комиссия по связи США (FCC), возможно, надеялась, что сможет загнать все эти частные сети в свой тихий уголок рынка, и забыть о них. Однако быстро стало ясно, что это невозможно. Появлялис.

      [Перевод] Самодельный сборщик мусора для OpenJDK Это перевод статьи Алексея Шипилёва «Do It Yourself (OpenJDK) Garbage Collector», публикуется с согласия автора. О любых опечатках и других багах сообщайте в личку — мы их поправим.Процесс создания чего-нибудь в рантайме языка — весёлое упражнение. По крайней мере, создание .

      Опасность использования multi-character-констант Во время анализа кода, PVS-Studio выполняет анализ потока данных и оперирует значениями переменных. Значения берутся из констант или выводятся из условных выражений. Мы называем их виртуальными значениями. Недавно мы улучшали их для работы с multi-character-константами и эт.

      Создание системы отчетности для 1С:ERP на базе OLAP и Excel Как программистам так и пользователям известно, как долго и сложно создаются отчеты в 1C. Однако, мы можем предложить на рассмотрение не стандартное решение — это загрузка данных в OLAP. OLAP — онлайн аналитическая отчетность для предприятий с возможностью построения таблиц .

      Книга «Unity в действии. Мультиплатформенная разработка на C#. 2-е межд. издание» Привет, Хаброжители! Второе издание «Unity в действии» было полностью переработано, чтобы познакомить вас с новыми подходами и идеями, позволяющими максимально эффективно использовать Unity для разработки игр. Больше внимания уделено проектированию двумерных игр, фундамента.

      Microsoft выпустила PWABuilder 2.0 с набором дополнительных функций Компания Microsoft объявила о релизе PWABuilder 2.0. Этот инструмент позволяет легко превратить любое веб-приложение в Progressive Web App (PWA). Прежде всего, новая версия включает в себя обновлённый дизайн, который призван облегчить использование инструмента. Появилась ха.

      Некоторые возможности Galaxy Note10 станут доступны на Galaxy S10 С 1 октября этого года Galaxy S10, S10+, S10e будут обладать возможностями серии Galaxy Note, среди которых есть создание материалов с элементами дополненной реальности AR Doodle, новый видеоредактор, ночной режим и стабилизацию видео Super Steady. Также в новом обновлении .

      [Перевод] Гайд: обновление интерфейсов с помощью дефолтных членов в C# 8.0 Начав работу с C# 8.0 на .NET Core 3.0, при создании члена интерфейса вы можете определить его реализацию. Наиболее распространенным сценарием является безопасное добавление членов к интерфейсу, уже выпущенному и используемому бесчисленным количеством клиентов. В этом гайде.

      [Перевод] Создание собственных синтаксических конструкций для JavaScript с использованием Babel. Часть 1 Сегодня мы публикуем первую часть перевода материала, который посвящён созданию собственных синтаксических конструкций для JavaScript с использованием Babel. Читать дальше →

      CardInfo — API для определения логотипа, цветов банка и прочего по номеру карты Тут и демо, и документация: cardinfo.online Это API. Вы ему 6 первых цифр банковской карты, оно вам ссылку на логотип банка, его фирменные цвета, бренд (Visa, MasterCard, и т.д.) и прочее в формате JSON. CardInfo нужен тем, кто создаёт форму для приёма банковских карт у се.

      Не очередной язык программирования В последнее время на рынке появилось огромное количество новых языков программирования: Go, Swift, Rust, Dart, Julia, Kotlin, Hack, Bosque – и это только из числа тех, которые на слуху. Ценность того, что эти языки привносят в мир программирования, тяжело переоценить, но.

      Twitter для iOS получает режим более темный «Dark Mode» с новой опцией ‘Lights Out’ Сегодня Twitter объявил, что приложение Twitter для устройств iOS было обновлено новой функцией «Lights Out», которая делает существующую опцию Dark Mode еще темнее. Новый переключатель Lights Out доступен в разделе «Настройки» приложения Twitter и может использоваться вмест.

      Проверка FreeRDP с помощью анализатора PVS-Studio FreeRDP – свободная реализация клиента Remote Desktop Protocol (RDP), протокола, реализующего удаленное управление компьютером, разработанного компанией Microsoft. Проект поддерживает множество платформ, среди которых Windows, Linux, macOS и даже iOS с Android. Этот проект .

      [Из песочницы] Опенсорсное приложение учета связи в регионе Недавно мы опубликовали приложение для учета связи в регионе под свободной лицензией Apache 2.0. реализованной на IONDV. Framework – опенсорсном решении на основе node.js для быстрой разработки веб-приложений. Связь в регионах это важное условие развития территории и комфорт.

      [Из песочницы] Кухонный робототехник Здравствуйте, уважаемые участники и гости сайта. Постараюсь быть краток насколько это возможно в данной теме. Бум робототехники последних лет, большое внимание к этой теме не могли оставить меня равнодушным. Преследуя детскую мечту сделать робота, я попал на форум cyber-pla.

      [Перевод] Не покупайте смартфоны 5G – хотя бы в ближайшее время Разбор множества способов, которыми первое поколение оборудования с поддержкой 5G (временно?) уничтожит существующие наработки в дизайне телефонов «5G уже здесь» 5G уже здесь, но это не значит, что вам обязательно его покупать 2020 год станет годом 5G – по крайней мере, та.

      [Из песочницы] Получаем Spring Bean из сторонних Application Context правильно Добрый день, хабровчане! В данной статье предлагаю обсудить одну из проблем, с которой нередко сталкиваются в проектах, использующих фреймворк Spring ввиду неверно составленных spring-конфигураций. Не нужно стараться, чтобы такую ошибку допустить, и поэтому данная ошибка яв.

      Google рассказала о неприятном ограничении чистого Android Возможность создания скриншотов является одной из самых используемых функций современных смартфонов. Они позволяют быстро поделиться происходящим на экране с друзьями или коллегами, указать расположение того или иного параметра или даже переслать длинный диалог в чате. Спец.

      Компания Apple представила новые средства разработки приложений Компания Apple только что представила несколько новых инструментов, призванных помочь разработчикам создавать новые приложения быстрее и с меньшими усилиями. В частности, представлена уникальная среда для разработки SwiftUI, которая максимально упрощает создание удобны.

      Все свое: туториал по созданию новых действий для UiPath RPA Данная статья – обучающий материал, который позволяет по шагам пройтись по процессу создания и публикации нового компонента для платформы UiPath RPA. Это удобно в разных случаях, например, для простой интеграции с системами компании или в ситуациях, когда компания хочет помо.

      Дизайнеры vs разработчики: об истории создания приложения «Мой умный город» Представьте себе банковское приложение. Что вы видите? Наверняка это несколько строчек с количеством денег на ваших счетах и куча невзрачных менюшек, где перечислены способы как-нибудь эти деньги потратить. Невзрачная картина. А банковское приложение, как центр платежной акт.

      Магазин приложений с хакерскими утилитами от Offensive Security на Android 16 июля компания Offensive Security сообщила о создании Kali Net Hunter App Store с бесплатными приложениями, связанными с информационной безопасностью. Читать дальше →

      Cockpit – упрощение типичных административных задач в ОС Linux через удобный веб-интерфейс В этой статье я расскажу про возможности инструмента Cockpit. Cockpit создан с целью облегчения администрирования ОС Linux. Если говорить кратко, то он позволяет выполнять наиболее типичные задачи администратора Linux через приятный веб-интерфейс. Возможности Cockpit: устано.

      Всё, что нужно знать о Windows 10X Компания Microsoft представила новую версию Windows 10, которая была перестроена с нуля с использованием Windows 10 Core Technologies. Фактически это новая редакция Windows 10, основанная на Windows Core OS, модульной версии Windows 10, позволяющей создавать операционные си.

      Создание мозаичной картинки Наверняка вы неоднократно видели в интернете такие картинки: Я решил написать универсальный скрипт для создания подобных изображений. Читать дальше →

      BenQ устанавливает новый стандарт яркости в доступных проекторах для конференц-залов и переговорных Новейшие проекторы BenQ SW752+, SH753+, SU754+, SU765, относящиеся к S7 серии, разработаны инженерами компании BenQ для использования в бизнес сферах, где предъявляются повышенные требования к яркости и качеству изображения Отличительной особенностью проекторо.

      Практика использования библиотеки lottie в мобильном приложении банка Привет, Хабр! В свое время Product Owner попросил подумать нас о создании эффективного процесса по внедрению анимации в наше приложение на android/ios. В то время мы делали задачу по предзаполнению заявки личными данными на кредитный продукт, и на ответ от сервера требовало.

      [Из песочницы] F-strings или как сделать код чуть более быстрым и читаемым В Python есть 3 способа форматировать строки, и один из них лучше других. Но не будем забегать наперед — о каком именно форматировании вообще речь? Каждый раз когда мы хотим поприветствовать пользователя по имени нам нужно вставить строку с именем в строку-шаблон. Большинс.

      Время высокой точности: как работать с долями секунды в MySQL и PHP Однажды я поймал себя на мысли, что при работе со временем в базах данных почти всегда использую время с точностью до секунды просто потому, что я к этому привык и что именно такой вариант описан в документации и огромном количестве примеров. Однако сейчас такой точности до.

      Видеостена «EliteBoard» в ГБПОУ КДПИ им. К. Фаберже Компания Айтек реализовала проект по созданию современной системы видеоконференцсвязи (ВКС) в ГБПОУ КДПИ им. К. Фаберже.

      Видеостена «EliteBoard» в ГБПОУ КДПИ им. К. Фаберже Компания Айтек, партнер Elittech, реализовала проект по созданию современной системы видеоконференцсвязи (ВКС) в ГБПОУ КДПИ им. К. Фаберже.

      Чат-бот на RASA: опыт Parallels В настоящее время бурно развивается индустрия чат-ботов. Сначала они были достаточно глупыми и могли вести диалог с пользователем, являясь ведущими и предлагая возможные ответы. Потом боты слегка поумнели и начали требовать от пользователя текстового ввода, чтобы из ответо.

      Наша служба и опасна, и трудна, или Zyxel ATP500 Введение Мы писали, мы писали, наши пальчики устали. Почему мы вдруг решили начать с этого детского двустишия? Всё очень просто. В данной статье мы хотели познакомить читателей с возможностями нашего самого современного решения по обеспечению сетевой безопасности – линейкой .

      Apple может отказаться от iTunes С выходом операционной системы macOS 10.15, компания Apple может выпустить отдельные приложения для музыки и подкастов для Mac. Об этом сообщил известный разработчик Стив Троутон-Смит (Steve Troughton-Smith), сославшись на «улики», которые он не хочет делать.

      Архитектурный шаблон “Macro Shared Transactions for Microservices” Автор: Денис Цыплаков, Solution Architect, DataArt Постановка задачи Одной из проблем при построении микросервисных архитектур и особенно при миграции монолитной архитектуры на микросервисы часто становятся транзакции. Каждый микросервис отвечает за собственную группу фун.

      Компилятор Huawei Ark Compiler для HarmonyOS сравнили с пачкой лапши быстрого приготовления Как известно, представленные на днях смартфоны Huawei Mate 30 и Mate 30 Pro не имеют магазина приложений Google Play и сервисов Google. Пользователи смогут сами установить это ПО, так как загрузчик в новых аппаратах будет разблокированным (или его можно будет разблокиро.

      Борьба за качество решений на Erlang/Elixir @jcutrer Сегодня мы будем говорить про журналы событий, количественные метрики и наблюдение за всем этим с целью увеличения скорости реакции команды на инциденты и уменьшения времени простоя целевой системы. Erlang/OTP как фреймворк и идеология построения распределенных сис.

      Обзор новых возможностей nanoCAD СПДС Металлоконструкции версии 1.2 Прошлой осенью компания АО «Нанософт» представила новейшую версию вертикального приложения nanoCAD СПДС Металлоконструкции 1.2, созданную для разработки двухмерных чертежей металлических конструкций марки «КМ». Подробно познакомиться с функционалом можно в описании продукта .

      Делаем облачное видеонаблюдение своими руками: новые возможности Web SDK Ivideon У нас есть несколько интеграционных компонентов, позволяющих любому партнеру создавать собственные продукты: Open API для разработки любой альтернативы личного кабинета пользователя Ivideon, Mobile SDK, с помощью которого можно разработать полноценное решение, эквивалентно.

      Совет федерации дошел до положения виз. Электронные разрешения на въезд в Россию могут сделать платными Расширение практики применения электронных виз, в поддержку которого в среду высказался президент Владимир Путин, может потребовать введения за них консульского сбора. Это рекомендация Совета федерации (СФ), где считают, что существующий сейчас бесплатный механизм выдачи так.

      Allure-Android. Информативные отчеты для мобильной автоматизации Автоматизация мобильных приложений довольно молодая сфера: фреймворков много и многие проекты сталкиваются с проблемой выбора самого «быстрого, стабильного, простого в использовании». Также и мы около двух лет назад стояли перед выбором нового инструмента автоматизации тести.

      Укрощение Горыныча, или Декомпиляция eBPF в Ghidra Автор статьи Nalen98 Добрый день! Тема моего исследования в рамках летней стажировки «Summer of Hack 2020» в компании Digital Security была «Декомпиляция eBPF в Ghidra». Нужно было разработать на языке Sleigh систему трансляции байткода eBPF в PCode Ghidra для возможност.

      Синхронизация клиентских запросов в Spring Сегодня предлагаю Вам разобрать одну практическую задачу о гонке клиентских запросов, с которой я столкнулся в МаксимаТелеком при разработке back-end для нашего мобильного приложения MT_FREE. При старте клиентское приложение асинхронно отправляет «пачку» запросов к API. При.

      [Перевод] Kubernetes-приключение Dailymotion: создание инфраструктуры в облаках + on-premises Прим. перев.: Dailymotion — один из крупнейших в мире сервисов хостинга видео и потому заметный пользователь Kubernetes. В этом материале системный архитектор David Donchez делится итогами создания production-платформы компании на базе K8s, которая начиналась с облачной ин.

      Apple и Valve объединились для создания очков AR Компания Apple начала сотрудничество с Valve для разработки собственной AR-гарнитуры. В настоящее время Valve Index является одной из популярных на рынке VR-гарнитур, а платформа Steam предлагает широкий ассортимент VR-игр. Это подстегивает слухи о том, что Apple может.

      5 лучших дистрибутивов Kubernetes Kubernetes (K8s) — это мощная платформа, которая за последние пять лет кардинально изменила методы работы с программным обеспечением. Она пользуется активным спросом, и поэтому некоторые компании стали предлагать Kubernetes-as-a-service. Cloud4Y предлагает познакомиться с .

      В магазине децентрализованных приложений Samsung реализована поддержка криптовалюты TRON Южнокорейский технологический конгломерат Samsung интегрировал поддержку TRON (TRX) на платформе децентрализованных приложений Blockchain Keystore. Согласно опубликованному новому релизу набора инструментов разработчика Samsung Blockchain SDK, версия 1.2.0 содержит API-интер.

      [Из песочницы] Разработка Chrome Extension вместе с Angular CLI Разработкой расширений к Chrome я занимаюсь давно и за это время я прошел целый путь от Greasemonkey юзер-скриптов до полноценного Angular-приложения в оболочке chrome-extension. Моя задача в том, что я патчу некоторые уже работающие сайты, чтобы изменить их функционал и авт.

      Как превратить индикатор батареи в кольцо вокруг фронтальной камеры Galaxy S10 Вырез прямо в экране новых Galaxy S10, который Samsung сделала для того, чтобы поместить в него фронтальную камеру, а рамки вокруг экрана сделать максимально тонкими, некоторых пользователей сильно расстроил. Но длилось это расстройство всего пару минут, так как творческие .

      «КОРУС Консалтинг» займётся созданием и поддержкой инфраструктуры в компании ООО «ЗН Восток» ГК «КОРУС Консалтинг» начала работы по построению ИТ-инфраструктуры и обеспечению бесперебойного функционирования технических сервисов в компании ООО …

      КриптоАРМ на базе контейнера PKCS#12. Создание электронной подписи CadES-X Long Type 1. Часть 3 Прошло время и утилита, начатая как просмотрщик сертификатов, дополненная функциями работы с криптографическими токенами PKCS#11 и создания запросов (PKCS#10) на квалифицированный сертификат, пополнилась, как и было заявлено, функциями работы с контейнерами PKCS#12. Итак.

      Концепция персистентной ткани для контроля IT-инфраструктуры Всем привет. Расскажу вам про микросервисы, но немного с другой точки зрения, чем Вадим Мадисон в посте «Что мы знаем о микросервисах». Вообще я считаю себя разработчиком баз данных. При чем же тут микросервисы? В Авито используются: Vertica, PostgreSQL, Redis, MongoDB, Tara.

      [Перевод] Руководство для начинающих по SELinux Перевод статьи подготовлен для студентов курса «Безопасность Linux» SELinux или Security Enhanced Linux — это улучшенный механизм управления доступом, разработанный Агентством национальной безопасности США (АНБ США) для предотвращения злонамеренных вторжений. Он реализует .

      Tarantool запускает новый продукт – Tarantool Data Grid Новый продукт адресован компаниям, которые нуждаются в решении бизнес-задач, связанных с потоками данных. Он предоставляет инструменты для написания распределенного горизонтально масштабируемого приложения со встроенной производительной СУБД и средствами доступа к данным. Da.

      MMRU (Multi Material Russian Upgrade) (Часть 6: Анонс новой механики) Итак у меня была возможность попробовать реализовать все на базе MMU2 (1ч, 2ч, 3ч, 4ч, 5ч,). У меня почти получилось!Я даже уверен, что я близок к успешному запуску и отделяет меня от него кусок PTFE диаметром 1.9мм. Но я вижу что тут на портале очень сильный спрос на иннова.

      Проект æternity заплатит разработчикам за окончание обучающего онлайн-курса Проект æternity, разрабатывающий блокчейн-протокол для создания децентрализованных приложений и масштабируемых смарт-контрактов, запустил образовательную программу на ресурсе Dacade, по завершению которой разработчики получат эквивалент €100 в AE токенах. На создание подобно.

      WWDC: Двенадцать анонсов, важных для корпоративных клиентов На протяжении многих лет являющееся главным для разработчиков мероприятие Apple в этот раз содержало немало новостей, начиная от нового оборудования и заканчивая новой операционной системой для iPad и модернизированной iOS 13. В ходе презентации, продолжавшейся на конфере.

      Модульный смартфон Fairphone 3 представлен официально Компания Fairphone представила третье поколения своего модульного смартфона, который появится в продаже 3 сентября по цене в 450 долларов. Новинка оснащается 5,7-дюймовым дисплеем с разрешением 2160:1080 пикселей и защитным стеклом Gorilla Glass 5, чипсетом Qualcomm Snapdrag.

      [Из песочницы] Как просто юридически организовать свой стартап в форме простого товарищества Имея за плечами более двенадцати лет юридической практики, в том числе в разных юрисдикциях, и в том числе в IT сфере, я хочу поделиться советами, подкрепленными реальным опытом. Итак, это статья для предприимчивых людей, которые хотят сделать возможно свой первый самостоят.

      Backend United 3: Холодец Привет! Мы продолжаем Backend United, серию митапов для разработчиков серверной части. Третья встреча называется «Холодец», и посвящена она будет микросервисной архитектуре. Вместе с коллегами из Booking.com, Dodo Pizza и Авито поговорим о монолитах, распилах и обратной стор.

      Apple полностью переработает 4 приложения под macOS к релизу Catalina Проект Catalyst, предполагающий унификацию приложений для Mac и iPad, должен существенно облегчить жизнь как разработчикам, так и рядовым пользователям. Однако, прежде чем это станет реальностью, Apple предстояло проделать большую работу по созданию специального инструмента.

      В Viber теперь тоже можно создавать собственные стикеры Мобильная версия мессенджера Viber получила обновление, которое содержит новую функцию под названием Create a Sticker. Собственно, из названия понятно, что именно это за функция: она позволяет создавать собственные стикеры. При этом ими сразу можно делиться посредством .

      Лучшие приложения для дизайна и благоустройства дома на Андроид Благоустройство и дизайн дома – задача серьёзная, которая может потребовать от вас немало времени и средств. Ваш смартфон не может сделать всю работу за вас, но может помочь, облегчив процесс. Лучшие приложения для дизайна и благоустройства дома для Android-смартфонов: Buil.

      Мост между Android и HarmonyOS. Компилятор Huawei Ark с открытым исходным кодом доступен для загрузки Компания Huawei представила официальный сайт компилятора Ark, который был запущен для популяризации операционной системы собственной разработки HarmonyOS. Huawei изначально заявила о своем жалении делитьcя и развивать компилятор вместе с разработчиками. Это, по мнению к.

      Google сделала сайт для создания игр под Android Игры составляют значительную часть магазина приложений Google Play, а также библиотеки приложений многих пользователей устройств на ОС Android. Игры всегда были трендом, и сейчас, когда играть можно где-угодно и когда угодно, достав лишь смартфон из кармана, игровая индустр.

      Интересные материалы: 17.04 Весь день мы собираем лучшие материалы о разработке и маркетинге технологий, стартапов, мобильных приложений и игр для iOS и Android из самых разных источников: Модульная разработка или путь туда, а не обратно AppCode 2020.1: Swift 5, улучшенная работа подсветки, навигации и.

      Ssh-chat, часть 2 Привет, Хабр. Это 2 статья из цикла ssh-chat. Что мы сделаем: Добавим возможность создания своих функций оформления Добавим поддержку markdown Добавим поддержку ботов Увеличим безопасность паролей(хеш и соль) Читать дальше →

      Apple может отказаться от iTunes В обозримом будущем, Apple может окончательно отказаться от своего приложения iTunes. Такое предположение высказал разработчик Стив Троутон-Смит, который нередко делится с нами достоверной информацией. По его словам, в корпорации сейчас работают над тремя новыми приложениям.

      LG представила новые смартфоны на выставке MWC 2020 LG Electronics (LG) представила на выставке MWC 2020 смартфоны сразу двух серий — модель LG V50ThinQ и новый LG G8ThinQ. LG V50ThinQ 5G предлагает пользователям опровобовать новые возможности сетей 5G. Аудио возможности смартфона обновлены, чтобы обеспечить прево.

      В США создадут современную систему платежей и расчетов Система под названием FedNow позволит круглосуточно совершать переводы и расчеты в режиме реального времени.Как напоминает «КоммерсантЪ», в 2020 году ФРС начала собирать пожелания общественности о том, что необходимо сделать для создания современной платежной сист.


      В watchOS 6 можно будет удалять встроенные приложения Оригинальные Apple Watch были представлены в 2015 году. Всё это время смарт-часы позиционировались скорее как дополнение ко iPhone, чем как отдельный продукт. Но в Купертино намерены переломить ход событий, сделав смарт-часы самостоятельным устройством. И watchOS 6 — .

      ObjectRepository — .NET in-memory repository pattern для ваших домашних проектов Зачем хранить все данные в памяти? Для хранения данных сайта или бекэнда первым желанием большинства здравомыслящих людей выберет SQL базу данных. Но иногда в голову приходит мысль что модель данных не подходит для SQL: например, при построении поиска или социального графа .

      HPE покупает Cray и предлагает HPC в качестве сервиса Высокопроизводительные вычисления HPE, дополненные мощью Cray, открывают новые горизонты для искусственного интеллекта, машинного обучения, высокоскоростных финансовых операций. Компания HPE согласилась купить производителя суперкомпьютеров Cray за 1,3 млрд долл. Эта сдел.

      Делаем ретро-игру из 80-х или как готовить макеты для лазерной резки Хабр, привет! Так получилось, что меня давно просили сделать старую настольную игру из СССР — «Сражение». Вот пришло время выполнять обещание, заодно решила показать как создавать макеты для лазерной резки и что получается в итоге. Большой сложности в этом нет, но есть неко.

      [Из песочницы] Тяжела и неказиста жизнь простого программиста Признаюсь сразу — заголовок статьи именно такой только во имя рифмы, на самом деле, речь пойдет о современных пионерах в ИТ — начинающих разработчиках, аналитиках, тестировщиках, всех тех кого называют Junior. Предлагаю порассуждать о том, как в наше время лучше всего начин.

      Облачно, вероятна неотключаемая реклама на звездном небе Сложный путь должен быть пройден от идеи создания до реального сотворения рукотворных звезд и картин в ночном небе. Читать дальше →

      Эволюция архитектуры торгово-клиринговой системы Московской биржи. Часть 2 Это продолжение длинного рассказа о нашем тернистом пути к созданию мощной, высоконагруженной системы, обеспечивающей работу Биржи. Первая часть тут. Читать дальше →

      Функциональные интерфейсы… в VBA «…те, кто не прочь поглазеть на любителя прилюдно свалять дурака, пусть понаблюдают, как я доказываю, что Java и Visual Basic – близнецы, разлученные при рождении, а С++ им даже не дальний родственник.» Брюс Мак-Кинни “Крепкий орешек Visual Basic” Введение Постоянный инте.

      Установка и настройка Sonata Admin на Symfony 4 Приветствую всех. В данной статье поговорим об Symfony 4 и Sonata Admin. В процессе установки я столкнулся с массой неточностей в документации и сама документация была раскидана по нескольким местам. Здесь я рассмотрю весь процесс, начиная от создания проекта и заканчивая а.

      Построение металлической площадки на свайном фундаменте в СПДС Металлоконструкции Приглашаем вас принять участие в бесплатном вебинаре «Построение металлической площадки на свайном фундаменте в СПДС Металлоконструкции». ЗАРЕГИСТРИРОВАТЬСЯ 25 мая состоится вебинар «Построение металлической площадки на свайном фундаменте в СПДС Металлоконструкции». Прог.

      [Из песочницы] Система контроля библиотеки на Flask-Potion, Часть 0: готовим всё, что понадобится Введение В своей работе я уже некоторое время использую Flask-Potion — фреймворк, основными достоинствами которого являются: весьма удобная интеграция с SQLAlchemy моделями, автогенерация crud-эндпоинтов, наличие клиента potion-client (весьма удобного, если пишешь API сервис.

      [Перевод] Apollo Client. Теперь — с хуками React Автор материала, перевод которого мы публикуем сегодня, говорит, что миссия разработчиков Apollo Client заключается в том, чтобы сделать этот инструмент самым современным и удобным решением для управления состоянием React-приложений. Сообщество React развивается и осваивает .

      [Из песочницы] Простой способ добавить несколько языков на сайт Введение В рамках своего проекта я столкнулся с задачей сделать текущий сайт компании мультиязычным. Более точно: создать возможность быстро и просто перевести сайт на английский, польский, итальянский и т.д. Поиск в интернете показал, что существующие варианты создания му.

      [Из песочницы] Торфон – мобильное приложение для анонимной телефонии Сегодня я хотел бы рассказать о результатах моих семилетних исследований в области передачи голоса через сеть Tor. Общепринятым является мнение, что голосовая связь через Tor почти невозможна: существующие транспортные протоколы для телефонии работают поверх UDP, а Tor о.

      5G: мнения Минкомсвязи и ФАС разошлись Мнения Минкомсвязи и ФАС разошлись при выборе плана строительства в России сетей 5G. Минкомсвязи предлагает создать консорциум телеком-операторов, которые будут развивать сети 5G. В ФАС считают, что путь создания единого оператора является наихудшим для будущего развития соб.

      [Из песочницы] Переменные окружения для Python проектов Переменные окружения для Python проектов При разработки web-приложения или бота мы часто имеем дело с какой-либо секретной информацией, различными токенами и паролями (API-ключами, секретами веб-форм). «Хардкодить» эту информацию, а тем более сохранять в публично доступной с.

      Flutter. Плюсы и минусы В первую очередь расскажем немного о том, что же такое Flutter. Это фреймворк для создания мобильных приложений от компании Google. Он является кроссплатформенным и позволяет компилировать созданный проект под 3 операционные системы: Android iOS Fuchsia Причем для послед.

      [Из песочницы] Создание голосового ассистента Доброго времени суток. Недавно я загорелся вопросом создания голосового ассистента. Столкнулся с миллиардом проблем. Но всё же я решил свои вопросы. Для начала скачиваем Visual Studio. Читать дальше →

      [Перевод] Пишем операционную систему на Rust. Реализация страничной памяти (новый вариант) В этой статье разберёмся, как реализовать поддержку страничной памяти в нашем ядре. Сначала изучим различные методы, чтобы фреймы физической таблицы страниц стали доступны ядру, и обсудим их преимущества и недостатки. Затем реализуем функцию преобразования адресов и функцию .

      Huawei представила ИИ процессор Ascend 910 и фреймворк Mindspore Huawei анонсировала два новых продукта для сферы создания ИИ-технологий и машинного обучения.

      Инновационные решения DigiBird: модульные контроллеры и контроллеры для креативных видеостен Модульные контроллеры видеостен DigiBird DB-VWC2 серии M4 (разрешение до Full HD) и серии H4 (разрешение до 4K), построенные на фирменной аппаратной платформе на основе FPGA, — одно из лучших и надежных решений для создания современных .

      [Перевод] 5 отличных способов анимировать React-приложения в 2020 году Анимация в приложениях React — популярная и обсуждаемая тема. Дело в том, что способов ее создания очень много. Некоторые разработчики используют CSS, добавляя теги в HTML-классы. Отличный способ, его стоит применять. Но, если вы хотите работать со сложными видами анимаци.

      VMmanager 6: новый инструмент для создания виртуальных машин от ISPsystem 5 февраля мы открыли бета-тестирование облачной версии VMmanager 6, новой панели виртуализации. Приглашаем сообщество Хабра (всех, кто сталкивается с созданием и управлением виртуальными машинами) посмотреть её и оставить свои отзывы. Читать дальше →

      Профессиональное создание сайтов Ведение бизнеса в сети интернет раскрывает новые возможности и дает все шансы на развитие. Каждая компания или организация, начиная от частного формата и заканчивая государственными структурами, на сегодняшний день предлагают свои услуги через интернет. Это новая плоскость р.

      Учёные разработали инструкцию по созданию вирусных видео Учёные из Университета Южной Калифорнии, Университета Хьюстона и компании Uber определили «рецепт» создания вирусных рекламных роликов. Правила оказались, в общем-то, простыми.

      [Из песочницы] Простая система имитационного моделирования на Go Введение Имитационное моделирование это метод, при котором для проведения экспериментов изучаемая реальная система заменяется моделью. В подобной модели можно проиграть как отдельные ситуации, так и их множество. Собранные статистические данные могут помочь сделать выводы .

      [Перевод] Python и быстрые HTTP-клиенты В наши дни, если вы пишете некое Python-приложение, то вам, скорее всего, придётся оснащать его функционалом HTTP-клиента, который способен общаться с HTTP-серверами. Повсеместное распространение REST API сделало HTTP-инструменты уважаемыми жителями бесчисленного множества п.

      [Из песочницы] Dagger 2 – это элементарно (Часть 1) Содержание Введение Что такое Dependency Injection, Пример зависимости Dagger 2 – введение Первое использование Dagger 2 Введение Статья написана не продвинутым программистом для таких же, обычными и понятными словами В статье используется пример кода на Kotlin. Версия da.

      «ХайТэк» завершил проект по созданию системы электроснабжения первого в России инновационного ЦОД с иммерсионным охлаждением компании DTL Системный интегратор «ХайТэк» завершил проект по разработке и вводу в эксплуатацию системы электроснабжения инновационного дата-центра с иммерсионным охлаждением для компании DIGITAL TECHNOLOGY & LAB – лидера по технологии иммерсионного охлаждения в России. Система эле.

      [Перевод] Погружение в Jetpack Compose Всем привет. Перед уходом на выходные спешим поделиться с вами еще одним переводом, подготовленным специально для студентов курса «Android-разработчик. Продвинутый курс». Пробуем новый UI-фреймворк для Android-приложений В течение последних нескольких лет, участвуя во мн.

      Партнерство Microsoft и OpenAI будет направлено на создание технологии Azure AI Microsoft Corp. и OpenAI, две компании, углубленно изучающие роль ИИ в мире и ищущие путей для создания безопасных, надежных и этичных технологий искусственного интеллекта на благо общества, объединяют свои усилия для дальнейшего расширения возможностей Microsoft Azure в сос.

      Партнерство Microsoft и OpenAI будет направлено на создание технологии Azure AI Microsoft Corp. и OpenAI, две компании, углубленно изучающие роль ИИ в мире и ищущие путей для создания безопасных, надежных и этичных технологий искусственного интеллекта на благо общества, объединяют свои усилия для дальнейшего расширения возможностей Microsoft Azure в сос.

      Партнерство Microsoft и OpenAI будет направлено на создание технологии Azure AI Microsoft Corp. и OpenAI, две компании, углубленно изучающие роль ИИ в мире и ищущие путей для создания безопасных, надежных и этичных технологий искусственного интеллекта на благо общества, объединяют свои усилия для дальнейшего расширения возможностей Microsoft Azure в сос.

      Партнерство Microsoft и OpenAI будет направлено на создание технологии Azure AI Microsoft Corp. и OpenAI, две компании, углубленно изучающие роль ИИ в мире и ищущие путей для создания безопасных, надежных и этичных технологий искусственного интеллекта на благо общества, объединяют свои усилия для дальнейшего расширения возможностей Microsoft Azure в сос.

      Партнерство Microsoft и OpenAI будет направлено на создание технологии Azure AI Microsoft Corp. и OpenAI, две компании, углубленно изучающие роль ИИ в мире и ищущие путей для создания безопасных, надежных и этичных технологий искусственного интеллекта на благо общества, объединяют свои усилия для дальнейшего расширения возможностей Microsoft Azure в сос.

      Партнерство Microsoft и OpenAI будет направлено на создание технологии Azure AI Microsoft Corp. и OpenAI, две компании, углубленно изучающие роль ИИ в мире и ищущие путей для создания безопасных, надежных и этичных технологий искусственного интеллекта на благо общества, объединяют свои усилия для дальнейшего расширения возможностей Microsoft Azure в сос.

      «КОРУС Консалтинг» займётся созданием и поддержкой инфраструктуры в компании ООО «ЗН Восток» ГК «КОРУС Консалтинг» начала работы по построению ИТ-инфраструктуры и обеспечению бесперебойного функционирования технических сервисов в международной нефтегазовой компании ООО «ЗН Восток».

      VPS хостинг для ценителей качества Согласитесь, благодаря невероятно быстрому развитию современных технологий нам открывается огромное количество возможностей. Интернет, как нам кажется, является практически главной площадкой для размещения бизнеса, чтобы начать зарабатывать деньги. Однако, когда речь доходит.

      [Перевод] Параллельные запросы в PostgreSQL В современных ЦП очень много ядер. Годами приложения посылали запросы в базы данных параллельно. Если это отчетный запрос ко множеству строк в таблице, он выполняется быстрее, когда задействует несколько ЦП, и в PostgreSQL это возможно, начиная с версии 9.6. Понадобилось 3 .

      Как изменилось приложение «Файлы» в iPadOS Не так давно Apple явила миру новую ОС для планшетных компьютеров — iPadOS. Этот анонс стал полной неожиданностью для многих — мало кто ожидал, что корпорация решится на такие радикальные перемены, отказавшись от привычного наименования. Во время презентации опе.

      Выгодные цены на полотенце-сушители Такое изделие, как полотенцесушитель является незаменимой вещью ванной комнате. На сегодняшний день это не только необходимый источник тепла, но и важный элемент декора в ванной комнате. Приобрести данный вид изделия можно на сайте компании «Маргроид». Данная компания являет.

      Балансировка записи и чтения в базе данных В предыдущей статье я описал концепцию и реализацию базы данных, построенное на основе функций, а не таблиц и полей как в реляционных базах данных. В ней было приведено множество примеров, показывающих преимущества такого подхода перед классическим. Многие сочли их недоста.

      [Перевод] Dav1d – самый быстрый декодер AV1 теперь в Firefoх по умолчанию Вступление от Voximplant Да, мы не впервые пишем про AV1 – у нас уже был перевод про Chrome 70 с поддержкой кодека, и вот мы снова делимся новостями. В этот раз – слово Nathan Egge, старшему инженеру Mozilla и участнику фонда Xiph.org, который порадовал новостью про дефолтну.

      [Из песочницы] Синтез регулятора методом обратной задачи динамики В задачах управления бывают случаи, когда закон движения управляемого объекта известен и необходимо разработать регулятор с определенными характеристиками. Порой задача осложняется тем, что уравнения, описывающие управляемый объект, оказываются нелинейными, что осложняет пос.

      [Перевод] Анонсирован Dart 2.3: оптимизирован для разработки пользовательских интерфейсов Сегодня (8 мая 2020) мы объявляем о релизе Dart 2.3 SDK с новыми языковыми конструкциями, которые улучшают ваш опыт разработки при создании пользовательских интерфейсов, новой поддержкой инструментов для разработки Flutter UI и двумя новыми веб-сайтами: dart.dev и pub.dev. .

      [Из песочницы] JAMstack: Как создать свой блог используя Gatsby + Contentful + Netlify Вы уже слышали о новом подходе JAMstack? Возможность писать веб-приложения на любимом фреймворке, управлять контентом из админ панели, а на выходе получать полностью валидные HTML-страницы построенные согласно с самыми последними рекомендациями SEO, PWA и a11y. Интересно? То.

      Расширяем функционал штатной аудиосистемы Всем привет. Являюсь обладателем десятилетнего японца, в котором меня все устраивало, за исключением штатной аудиосистемы — в ней отсутствовал Bluetooth. Способов решения этой проблемы целых три: 1. Купить затычку в прикуриватель и не выпендриваться. Минусы: Качество звук.

      Инновации по-русски Я — профессиональный участник инновационный индустрии. Вместе с коллегами последние 10 лет мы участвуем в создании новых технологий. И я должен сказать о причине, по которой не стоит заниматься инновациями в России. Здесь можно порассуждать о плохом инвестиционном климате.

      McDonald’s купила ИИ-компанию и предложит посетителям блюда в зависимости от погоды В McDonald’s пояснили, что разработки Dynamic Yield найдут применение при создании персонализированного меню в «МакАвто», которое будет меняться в зависимости от погодных условий, популярности блюд и ситуации на дорогах. Кроме того, сервис, анализируя заказы.

      Директор ФСБ призвал сделать открытыми для спецслужб сообщения в мобильных приложениях Прочитал. Открыл календарь. Нет, не 1 апреля. Прочитал еще раз. Неисповедимы пути отечественной регуляции.

      HP выпускает ноутбук HP Omen X 2S с двумя дисплеями Многие люди во время игры пользуются различными приложениями, и для этого очень полезным оказывается второй монитор. Компания HP решила упростить построение такой системы и сделать её портативной. Решение было реализовано в новом ноутбуке Omen X 2S.

      Проект модульных смарт-часов Blocks закрыт Участники проекта Blocks по созданию «умных» наручных часов с модульной конструкцией объявили о его сворачивании. Инициатива Blocks была представлена ещё в 2014 году.

      [Из песочницы] Пишем «Hello, world!» приложение для web на Haskell (Spock) Мне стало скучно писать на Python, захотелось чего-нибудь необычного. Решил попробовать Haskell. Языка я не знаю, однако просто писать консольные учебные программы, типа вычисления факториала, не хотелось. После изучения довольно большого числа постов про Haskell и его приме.

      [Перевод] LoRaWAN и NB-IoT: соперники или соратники? Введение Технологии LPWA (Low-Power Wide-Area) обслуживают потребность рынка Интернета Вещей (IoT) дешевыми устройствами, которые долго держат батарею и дешевыми сетями дальнего действия и при этом поддерживать огромное количество соединений. Существует несколько вариантов д.

      Apple собирается объединить приложения для iPhone, iPad и macOS в одну платформу до 2021г Apple продолжает усиленно работать над тем, чтобы максимально облегчить разработчикам программного обеспечения оптимизацию их приложений для iOS и macOS. Идея состоит в том, чтобы создать платформу, которая унифицирует код и позволит программам работать на обеих платформах б.

      [Перевод] Поиск пути среди круглых препятствий Навигация по лесу Алгоритм поиска пути A* — это мощный инструмент для быстрой генерации оптимальных путей. Обычно A* демонстрируют при навигации по картам из сеток, но он может использоваться не только для сеток! Он может работать с любыми графами. Можно использовать A* для .

      [Из песочницы] Batfish. Введение Одной из проблем современных сетей является их хрупкость. Множество правил фильтраций, политик обмена маршрутной информации, протоколов динамического роутинга делают сети запутанными и подверженными влиянию человеческого фактора. Авария на сети может произойти ненамеренно .

      Математическая модель игры Доббль Математическая модель игры Доббль Уровни сложности чтения Я слишком молод, чтобы думать Введение и правила игры Как они это делают? Матрица инцидентности для игры Доббль Каких двух карточек не хватает в комплекте игры? Почему в игре на 2 карточки меньше максимально возможн.

      IBM Cloud Integration Platform: Собиратель данных Мультиоблачная интеграционная платформа поможет заказчикам связать все свои данные независимо от того, где они находятся. Корпорация IBM представила свою новую мультиоблачную интеграционную платформу, которая должна помочь клиентам наладить управление данными, а также обе.

      [Перевод] Интерфейс и выбор (2014) Joe Edelman Аннотация Теории выбора из экономики и философии предлагают информационные требования для правильного выбора (requirements for good choices). Принимая во внимание эти требования, мы можем понять, почему современные меню ведут к прискорбному и изолированному вы.

      Что не так с обучением с подкреплением (Reinforcement Learning)? Еще в начале 2020 года вышла статья Deep Reinforcement Learning Doesn’t Work Yet («Обучение с подкреплением пока не работает»). Основная претензия которой сводилась к тому, что современные алгоритмы обучения с подкреплением требуют для решения задачи примерно столько же вре.

      Сделан серьезный шаг на пути к созданию молекулярного компьютера С момента создания самого первого компьютера технологии стали развиваться так стремительно, как ни развивалась ни одна другая отрасль. Сейчас вычислительные машины в современном понимании уже подошли к пику своего развития и если мы хотим и дальше развивать технологии, нам .

      Лучшее программное обеспечение компьютерной сети Современная компания «Softinventive Lab» предлагает своим клиентам качественное программное обеспечение, которое позволит вести учет и контроль за работой сервера и общей рабочей сети. На сайте этой компании https://www.softinventive.ru/software-asset-management/ можно ознак.

      Система удаленного файлового доступа Cage Назначение системы Поддержка удаленного доступа к файлам на компьютерах в сети. Система «виртуально» поддерживает все основные файловые операции (создание, удаление, чтение, запись и др.) путём обмена транзакциями (сообщениями) по протоколу ТСР. Области применения Функционал.

      Простая реализация небольших CAM на ПЛИС Введение Как-то раз мне потребовалось по работе реализовать небольшой блок ассоциативной памяти. Почитав, как это делается у Xilinx на BlockRAM (BRAM) или на SRL16, я несколько опечалился, так как их реализации занимали довольно много места. Решил попробовать сделать его сам.

      [Из песочницы] Создание консоли c изменяемой высотой для более удобной работы за компьютером Доброго времени суток, сегодня я хочу рассказать об устройстве которое я разработал и собрал. Введение Столы с возможностью изменения высоты находятся на рынке уже давно и существует очень большое разнообразие моделей- фактически на любой вкус, ну и кошелек, хотя как раз .

      CLion 2020.1: ClangFormat, подсветка кода через Clangd, memory view, начальная поддержка микроконтроллеров Привет, Хабр! У команды CLion множество отличных новостей — питерская часть команды вместе с другими коллегами успешно перебралась в новый офис, к нам присоединились новые классные разработчики, а главное, мы буквально на днях выпустили первое большое обновление в этом году.

      Фантастические плагины, vol. 1. Теория Жизнь с многомодульным проектом не так уж проста. Чтобы избежать рутины создания нового модуля мы создали собственный плагин для Android Studio. В процессе реализации мы столкнулись с отсутствием практической документации, перепробовали несколько подходов и откопали множеств.

      Виртуализация наоборот: BCC представляет разработки TidalScale Компания выводит на российский рынок программно-конфигурируемые серверы американского стартапа. Интеграторская компания ВСС (Business Computer Center) объявила о выводе на российский рынок продуктов и технологий компании TidalScale, обеспечивающих построение программно-ко.

      Чудо Materialise Magics: Nissan тратит секунды вместо нескольких месяцев работы Nissan Motor Corporation использует 3D-печать для создания прототипов и проведения экспериментов с новыми формами автомобилей. Раньше эти задачи требовали большого объема ручной работы. Благодаря программному обеспечению Materialise удалось изменить весь процесс и сделать .

      Создание системы расширения на библиотеке Qt — Часть 2 Возвращаясь к первой статье хочется объяснить откуда появилась необходимость разработки механизма расширения с графическим интерфейсом (GUI) и подробней объяснить механизм создания плагинов. Было получено задание на разработку технологического программного обеспечения для .

      [Перевод] Высококачественная, легковесная и адаптируемая технология Text-to-Speech с использованием LPCNet Последние достижения в области глубокого обучения привносят существенные улучшения в развитие систем синтеза речи (далее – TTS). Это происходит благодаря применению более эффективных и быстрых методов изучения голоса и стиля говорящих, а также благодаря синтезу более естест.

      Авиакатастрофа в Шереметьево: исторические аналогии Изобилие камер в современном мире привело к двум следствиям. Во-первых, снятая с множества ракурсов авиакатастрофа в Шереметьево практически никого не оставила равнодушным. Во-вторых, в публичном пространстве оказалось множество инструментальных свидетельств того, что произо.

      ESET обнаружила новые версии трояна DanaBot Быстро развивающийся модульный троян DanaBot подвергся новым изменениям. В версии, выпущенной в конце января 2020 года, реализован совершенно новый коммуникационный протокол, добавляющий несколько уровней шифрования в коммуникацию трояна и его C&C-сервера. Помимо этого, .

      CES 2020: TP-Link представил новую линейку роутеров с поддержкой Wi-Fi 6 и технологию OneMesh Компания анонсировала роутеры нового поколения с поддержкой стандарта 802.11ax и программное решение TP-Link OneMesh для создания Mesh-сети на базе существующего оборудования TP-Link.

      Apple может отказаться от iTunes С выходом операционной системы macOS 10.15, компания Apple может выпустить отдельные приложения для музыки и подкастов для Mac. Об этом сообщил известный разработчик Стив Троутон-Смит (Steve Troughton-Smith), сославшись на «улики», которые он не хочет делать.

      Hexbot Robotics предлагает настольный робот-манипулятор с функцией 3D-принтера Стартап Hexbot Robotics проводит успешную краудфандинговую кампанию в поддержку проекта Hexbot — компактного модульного настольного робота с множеством доступных функций, включая 3D-печать. Подробнее.

      YouTokenToMe: инструмент для быстрой токенизации текста от Команды ВКонтакте Хотим представить наш новый инструмент для токенизации текста — YouTokenToMe. Он работает в 7–10 раз быстрее других популярных версий на языках, похожих по структуре на европейские, и в 40–50 раз — на азиатских языках. Рассказываем о YouTokenToMe и делимся им с вами в open s.

      [Перевод] Встречайте новый терминал Visual Studio Развивая тему недавно анонсированного Developer PowerShell, мы рады представить вам первую preview-версию нового терминала Visual Studio. Данная функция является частью Visual Studio версии 16.3 Preview 3. Терминал Visual Studio не создан с нуля, а разделяет большую част.

      [Перевод] F# 1: Hello World Этот текст является вольным переводом серии статей Sacha Barber из Brighton, UK , которые мне показались достаточно интересным Это первый пост в моей серии по F#. Итак, что мы собираемся охватить? Как хорошо знают многие программисты, принято начинать с примера «Hello World.

      Телефонные опросы и поиск в CRM в 3CX CFD, новый плагин WP-Live Chat Support, обновление приложения для Android За последние пару недель мы представили несколько интересных обновлений и один новый продукт. Все эти новинки и улучшения соответствуют политике 3CX по созданию на базе UC АТС доступного мультиканального колл-центра. Обновление 3CX CFD — компоненты Опрос и Поиск в CRM Све.

      Система управления проектами по модели Open Core в госсекторе Продолжаем рассказывать вам об опенсорсных продуктам реализованных на JS фреймворке — IONDV. Framework. Сегодня поговорим о системе управления проектами, которая была одним из наших первых масштабных проектов и которую изначально мы реализовали для правительства Хабаровского.

      Создание альтернативного дисплея для синтезатора/сэмплера Ensoniq EPS16+ и ASR10 Привет, Хабр! Здесь я расскажу об одном (к сожалению до сих пор неоконченном) проекте по созданию альтернативый стандартному дисплею Ensoniq EPS16+ и ASR10. Читать дальше →

      Сыграй в IT-Alias с инженерами Badoo IT-Alias — уникальный вариант классической настолки, игра на взаимопонимание и проверку технического словарного запаса. Её сделали инженеры Badoo, чтобы играть с участниками конференций и наших митапов. А сегодня мы хотим сыграть в IT-Alias с читателями Хабра — и подарить .

      Тarantool Cartridge: шардирование Lua-бекенда в три строчки У нас в Mail.Ru есть Tarantool — это такой сервер приложений на Lua, который по совместительству ещё и база данных (или наоборот?). Он быстрый и классный, но возможности одного сервера всё равно не безграничны. Вертикальное масштабирование тоже не панацея, поэтому в Tarant.

      gui приложение для задачи о ходе коня Это туториал по созданию интерактивного приложения для решения задачи о ходе коня на языках processing и p5.js Посмотреть саму программу можно здесь. Для управления «конём» используется метод mouseDragged(); пример программы, использующей этот метод здесь. Отмена хода осуще.

      Разработан концепт «квантовой батареи», которая совершенно не теряет заряд Ученые из университетов Альберты и Торонто, Канада, совместными усилиями разработали проект новой квантовой батареи, которая отличается от всего остального подобного тем, что у нее абсолютно нет собственной утечки, другими словами, она не совершенно теряет заряд, который спо.

      Лицемерие google. PageSpeed Insights Google Page Speed Insights — это сервис от гугла, который позволяет определить производительность сайта и дает рекомендации по его оптимизации. Очень важно понимать, что это всего лишь рекомендации! Некоторые воспринимают эти рекомендации настолько серьезно, что готовы реали.

      Custom instruments: когда signpost недостаточно Instruments для Xcode компании Apple — это инструменты для анализа производительности iOS-приложения. Их используют для сбора и отображения данных, которые необходимы в отладке кода. В прошлом году Apple презентовала Custom Instruments. Это возможность расширить стандартный .

      Пишем на Java для Nintendo DS Введение Все началось с того, что я случайно нашел список homebrew программ (программы, разработанные усилиями пользователей для устройств, не предназначенных для запуска пользовательского ПО) для Nintendo DS и в нем увидел одну очень интересную строчку, а именно: «Pstros .

      Автоматизация тестирования платных сервисов на iOS Для тех, кто интересуется темой автоматизации на iOS, у меня две новости — хорошая и плохая. Хорошая: в iOS-приложении для платных сервисов используется только одна точка интеграции — in-app purchases (встроенные в приложение покупки). Плохая: Apple не предоставляет никаких .

      Мультимедиа центр «Kodi» и Yocto Project Введение в Yocto Project Yocto Project — это совместный Open Source проект для упрощения разработки дистрибутивов для встраиваемых систем. Yocto содержит большое количество шаблонов, метаданных и инструментальных средств сборки. В Yocto Project вы можете подключить большо.


      [Из песочницы] Как я создавал «WildMAN» — пародию на множество 8-битных игр и недавно ее портировал на Android Я думаю каждого фаната приставочных игр интересовала тема создания игр и была мечта создать свою игру, в студенческие годы я увлёкся программированием. Читать дальше →

      Kotlin как будущее разработки приложений на Android С момента появления версии 1.0 прошло всего несколько лет, а язык приняли на вооружение многие крупные компании и разработчики. Всё благодаря тому, что создателям языка удалось добиться целей, поставленных в начале пути — разработать инструмент, который был бы удобнее и б.

      Создание продукта, который растет вместе с пользователями Сосредоточьтесь на создании продуктовой патины, вместо редизайна продукта.

      [Из песочницы] Топ 5 ошибок в моих ReactJS приложениях Больше 4х лет назад я влюбился в ReactJS и с тех пор все Fron End приложения разрабатываю при помощи этого замечательного инструмента. За это время я и команды, в которых мне повезло поработать, наделали кучу ошибок, многие из которых были благополучно исправлены. Множество .

      Как сварить кашу из микросервисов Одной из причин популярности микросервисов является возможность автономной и независимой разработки. По сути микросервисная архитектура — это размен возможности автономной разработки на более сложный (по сравнению с монолитом) деплой, тестирование, дебаг и мониторинг. Но нуж.

      В приложении Google Ads теперь можно создавать и редактировать RSA Приложение Google Ads получило два обновления, которые призваны предоставить рекламодателям ещё больше возможностей для управления кампаниями на ходу. Создание и редактирование адаптивных поисковых объявлений Теперь рекламодатели смогут создавать и редактировать адаптивные п.

      Лучшие программы для создания анимированных эффектов на Android Делать фотографии хорошего качества уже можно на практически любой смартфон. Да и обрабатывать снимки сегодня благодаря различным приложениям можно практически в автоматическом режиме, получая на выходе отличные фотографии. Но сегодня удивить друзей уникальным снимком все-т.

      Высокие IT технологии от Stikeroid Одной из самых развивающихся компаний в сфере программирования является Stikeroid. Данная организация была создана в России и за короткий час её технологии стали активно использоваться в работе многих социальных сетей и социальных платформ. В частности, одной из первых воспо.

      Веб-компоненты в реальном мире Photo by NeONBRAND Веб-компоненты – это общее название набора технологий, призванных помочь веб-разработчикам создавать переиспользуемые блоки. Компонентый подход создания интерфейсов хорошо закрепился во фронтенд-фреймворках, и кажется хорошей идеей встроить эту функционал.

      Инновационная беспроводная зарядка Xiaomi Mi Charge Turbo . Сегодня Xiaomi официально объявила о том, что 9 сентября она устроит специальное пресс-мероприятие в Китае, а все ради запуска новых продуктов. Вряд ли среди новинок увидим смартфоны, а само действо, прежде всего, будет посвящено релизу инновационной зарядки Mi Charge Turbo.

      ASUS показала компьютерную материнскую плату будущего Компания ASUS празднует в этом году свой 30-летний юбилей. И поскольку она начинала свой путь в 1989 году как производитель материнских плат, ASUS решила привезти и показать на выставке Computex-2020, которая в настоящий момент проходит в Тайбэе, концепт материнской платы, .

      Новая версия Windows 10 работает в три раза быстрее Компания Microsoft занимается созданием операционных систем уже более чем 25 лет, причем за этот срок ей удалось сделать свое фирменное программное обеспечение настолько популярным и распространенным, что в настоящее время о таком знают буквально все, Сообщение Новая версия.

      Черновики e-mail в приложении Почта на iPhone и iPad: как создавать, открывать и сворачивать Основным инструментом работы с электронными письмами в iOS обычно является приложение «Почта». Иногда так случается, что при создании нового сообщения или подготовке ответа приходит письмо, которое хочется побыстрее прочитать. Бывает, что уже при написании сообщения необходи.

      MWC 2020: технология быстрой зарядки Qualcomm стала беспроводной Вместе с 5G-чипом для ноутбуков компания Qualcomm представила на выставке MWC 2020 в Барселоне новую технологию быстрой зарядки Quick Charge. Но на этот раз она направлена на беспроводное питание. Беспроводные зарядки с поддержкой Quick Charge будут работать с уже существу.

      Нейросеть генерирует лица людей и аниме-девушек Технологии сегодня очень стремительно развиваются. На прошлой неделе появился стартап, который запросто генерирует лица не существующих на самом деле людей, показывая возможности современных нейросетей. Алгоритм thispersondoesntexist.com натренирован на множестве фотографи.

      HP объявляет об улучшении услуги Device as a Service на MWC 2020 Компания HP на международной выставке MWC 2020 объявила об усовершенствовании услуги Device as a Service (DaaS). Она призвана удовлетворить широкий спектр запросов клиентов и партнёров в области современного управления ИТ. Также HP представляет услугу TechPulse по управлению.

      [Из песочницы] Чеклист для создания и публикации веб-приложений Для того, чтобы создать свое веб приложение в наше время недостаточно уметь его разрабатывать. Важным аспектом является настройка инструментов по развертыванию приложения, мониторингу, а также управление и администрирование среды, в которой оно работает. Эра ручного разверты.

      [Перевод] Введение в Kubernetes для пользователей VMware. Часть 2. Практика Это вторая часть введения в Kubernetes для пользователей VMware. Прежде чем перейти к практической части, ознакомьтесь с предыдущей статьей по ссылке. Читать дальше →

      Julia. Веб-сервисы Продолжаем рассматривать технологии Julia. И сегодня речь пойдёт о пакетах, предназначенных для построения веб-сервисов. Не секрет, что основная ниша языка Julia — высокопроизводительные вычисления. Поэтому, довольно логичным шагом является непосредственное создание веб-сер.

      Партнерство Microsoft и OpenAI будет направлено на создание технологии Azure AI Microsoft Corp. и OpenAI, две компании, углубленно изучающие роль ИИ в мире и ищущие путей для создания безопасных, надежных и этичных технологий искусственного интеллекта на благо общества, объединяют свои усилия для дальнейшего расширения возможностей Microsoft Azure в сос.

      Партнерство Microsoft и OpenAI будет направлено на создание технологии Azure AI Microsoft Corp. и OpenAI, две компании, углубленно изучающие роль ИИ в мире и ищущие путей для создания безопасных, надежных и этичных технологий искусственного интеллекта на благо общества, объединяют свои усилия для дальнейшего расширения возможностей Microsoft Azure в сос.

      Конференция по игровой индустрии GAMEDEV.HOUSE 22 сентября 2020 года в Высшей школе бизнес-информатики НИУ ВШЭ состоится конференция от Gamedev.House, посвященная созданию и запуску игровых проектов. Мероприятие пройдет при поддержке образовательных программ по игровой индустрии ВШБИ – «Менеджмент игровых проектов» и «Ос.

      [Перевод] Как сделать код-ревью быстрее и эффективнее Как обычно происходит код-ревью? Вы отправляете пул-реквест, получаете обратную связь, вносите исправления, отправляете фиксы на повторный ревью, затем получаете одобрение, и происходит мерж. Звучит просто, но на деле процесс ревью бывает очень трудоемким. Представьте, чт.

      [Из песочницы] Обзорная статья по A-Frame A-Frame — это веб-фреймворк позволяющий создавать различные приложения, игры, сцены в виртуальной реальности (ВР). Все вышеописанное будет доступно прямо из браузера вашего шлема ВР. Этот инструмент будет полезен как тем кто хочет заниматься разработкой ВР игр в браузере, .

      МикроЦОДы завоевывают российский рынок а последние несколько лет тема edge computing переросла в общемировую тенденцию применения пограничной ИТ-инфраструктуры на базе мини- и ­микроЦОДов. Решение выступало в качестве дополнения, а в некоторых случаях — как альтернати.

      DOU.UA: 80% украинских IT-специалистов против введения пятой группы ФОП, 86% — против создания фонда развития человеческого капитала за счет нового налога Профильный украинский ресурс DOU.UA провел опрос IT-специалистов, в котором выяснил их отношение к последним инициативам правительства, включая внедрение пятой группы ФОП для IT и создание фонда развития человеческого капитала за счет нового налога для «айтишников».

      Решение Veeam PN и его новые возможности в версии 2.0 Что такое Veeam Powered Network Veeam Powered Network (Veeam PN) – это технология, используемая при работе Veeam Recovery to Microsoft Azure (восстановлении виртуальной машины в облако Microsoft Azure). С помощью Veeam PN устанавливается VPN-соединение между on-premises сеть.

      [Перевод] Тестирование производительности Flutter приложений Фреймворк Flutter по умолчанию работает хорошо и быстро, но означает ли это, что вам вообще не нужно думать о производительности? Нет. Абсолютно реально писать приложения Flutter, которые будут медленными. С другой стороны, также можно использовать фреймворк максимально и де.

      [Из песочницы] Использование верилятора как средства быстрого моделирования RTL проектов. Введение в UVM В данной статье будут описаны установка и применение бесплатного ПО для моделирования схем цифровой логики на языке Verilog как альтернативы коммерческих продуктов Incisve от компании Cadense и ModelSim от компании MentorGraphics. Сравнение моделирования в ModelSim и Verilat.

      Qualcomm встроит Snapdragon X55 в домашние роутеры для обеспечения 5G телевизоров и ПК В то время как большинство компаний активно работают над поддержкой 5G-сетей своими смартфонами, Qualcomm разработала уникальное решение, которое расширит использование сетей нового поколения на множество других устройств, включая телевизоры и ПК. В частности, компания сообщ.

      Dell OptiPlex 7070 Ultra: модульный компьютер, который превращает в моноблок любой монитор Привет, Хабр! Недавно у нас появилось совершенно новое устройство, о котором просто нет сил молчать. Вот эта штука на фотографии ниже – полноценный компьютер с современной «начинкой», причём многие комплектующие внутри него можно легко заменить. Он не шумит, не занимает мест.

      Samsung хочет разместить фронтальную камеру под дисплеем, чтобы избежать вырезов и отверстий в экране Используемый компанией Samsung дисплей Infinity-O с отверстием является лишь этапом на пути создания полностью полноэкранных дисплеев, у которых не будет вырезов или отверстий. Но, чтобы сделать такие экраны возможными, все фронтальные сенсоры и камеры нужно разместить под д.

      Инструменты Node.js разработчика. Работа с веб-сокетами по протоколу mqtt Технология веб-сокет позволяет в веб-приложении или в мобильном приложении реализовать отправку сообщений с сервера на клиент, что невозможно сделать средствами REST-API. Для работы с веб-сокетами часто используют библиотеку socket.io, или же разработчики работают с нативным.

      Google представила облегченную версию «Google Фото» с офлайн-режимом Долгое время Android считалась операционной системой, которая хорошо работает только на флагманах. Дело в том, что из-за особенностей её строения она не лагала только на производительном железе, которым обычно оснащаются топовые аппараты. Но в какой-то момент Google поняла.

      Автоматизируй это! Как мы улучшали интеграционное тестирование В давние времена у нас было всего несколько сервисов, и выложить за сутки обновление более чем одного из них на production — было большой удачей работой. Потом мир ускорился, система усложнилась, а мы трансформировались в организацию с микросервисной архитектурой. Теперь у н.

      Дайджест интересных материалов для мобильного разработчика #304 (24 — 30 июня) В нашем новом выпуске создание вездесущих сплэшскринов, уход прекрасного Джони Айва, тщательная проверка приложений в App Store, параноидальные видео, искусственная музыка и много других интересных материалов. Читать дальше →

      Хабрарейтинг: построение облака русскоязычных слов на примере заголовков Хабра Привет Хабр. В последней части Хабрарейтинга был опубликован метод построения облака слов для англоязычных терминов. Разумеется, задача парсинга русских слов является гораздо более сложной, но как подсказали в комментариях, для этого существуют готовые библиотеки. Разбере.

      Приобретение клеток для кроликов Сфера животноводства в России стремительно развивается, но к сожалению, на рынке не достаточно продукции и товаров, которые смогли бы облегчить столь тяжелый труд и позволили ли бы осуществлять свою деятельность на новом, более высоком уровне. Компания «Панкроль Юг» предприн.

      Google разработал новый шрифт для более быстрого чтения документов Google добавил новый шрифт в Документы, Таблицы и Презентации, призванный повысить скорость чтения текста. Он получил название Lexend. Этот шрифт был разработан Томасом Джокином, который также является создателем Quicksand. Облегчение чтения достигается за счёт отсутствия за.

      Видеоурок Теплицы: принципы взаимодействия таблиц в приложении AirTable Мы уже рассказывали про приложение AirTable. Оно изначально позиционируется как приложение для создания таблиц или баз данных. Многие сравнивают его с Excel. Но возможностей у этого приложения гораздо больше, чем просто создание таблиц. Поэтому Вова Ломов решил вернуться к э.

      У Папы Римского появилось свое приложение: кликни и . В рамках своей проповеди в воскресенье Папа Римский Франциск предстал перед верующими с планшетом, а сделал это он для того, чтобы представить мобильное молитвенное приложение Click to Pray (нажми и молись). Это не первый случай, когда Понтифик пытается сделать так, чтобы ре.

      У Папы Римского появилось свое приложение: кликни и . В рамках своей проповеди в воскресенье Папа Римский Франциск предстал перед верующими с планшетом, а сделал это он для того, чтобы представить мобильное молитвенное приложение Click to Pray (нажми и молись). Это не первый случай, когда Понтифик пытается сделать так, чтобы ре.

      Консорциум SCAiLE ставит целью разработку и коммерциализацию «лучшей в своем классе вычислительной платформы ИИ» Компании Crossbar, Gyrfalcon Technology, mtes Neural Networks Corporation (mNN) и Robosensing на этой неделе объявили о создании консорциума под названием SCAiLE (SCalable AI for Learning at the Edge). Объединение ставит целью создание и коммерциализацию «лучшей в.

      Участниками программы ранней профориентации KidSkills стали 20 тысяч человек Депобразования города Москвы принял участие в создании программы ранней профориентации KidSkills. Ее успешно реализовали в Детском городе профессий — игровой площадке Kids City. В рамках программы свыше 20000 детей получили возможность бесплатно изучить основы разных совреме.

      Crytek сообщила о разработке новой ААА-игры Представители компании Crytek, которая подарила миру легендарную серию Crysis и шутер про выживание Hunt: Showdown, сообщили о создании новой ААА-игры. На текущий момент проект находится на самой ранней стадии разработки и, к сожалению, никакой информации о жанре или сеттинг.

      OpenSceneGraph: Основные приемы программирования Введение В этой статье речь пойдет не столько о графике, сколько о том, каким образом должно быть организовано приложение, её использующее, учитывая специфику движка OpenSceneGraph и предоставляемые им программные средства. Не секрет, что залогом успешности любого програм.

      Робот в рюкзаке: когда двух рук слишком мало Лаборатория биороботехники Университета Карнеги-Меллона (CMU) прославилась созданием модульного змееподобного робота. Изначально разработанный для проникновения в труднодоступные места при поисково-спасательных работах и проверок инженерной инфраструктуры, он стал родоначаль.

      OpenSceneGraph: Обработка событий Введение Одной из особенностей языка C++, за которую его часто критикуют — отсутствие в стандарте механизма обработки событий. Между тем данных механизм это один из основных путей взаимодействия одних программных компонентов с другими программными компонентами и аппаратным .

      Facebook придумала, как по-новому следить за пользователями Android Принято считать, что пользователи Android постоянно находятся в опасности. Из-за открытости операционной системы, дарующей возможность свободно устанавливать любое ПО, а также отсутствия эффективных инструментов премодерации приложений, попадающих в Google Play, владельцы у.

      [Перевод] Основы Dart Streams Это вторая часть моей серии по поводу Flutter Architecture: Введение Основы Dart Streams (этот пост) RxDart: магические трансформации потоков Основы RxVMS: RxCommand и GetIt RxVMS: Службы и Менеджеры RxVMS: самодостаточные виджеты Аутентификация пользователя посредством R.

      Как я создавал Recycle! VR В предыдущей статье мы попробовали создать базовую сцену в A-Frame, чтобы опробовать основные концепции фреймворка на практике. В этой статье я хотел бы поделится своим опытом создания игры на A-Frame — Recycle! VR. Репозиторий проекта доступен по следующей ссылке. Перера.

      Курс «Основы эффективной работы с технологиями Wolfram»: более 13 часов видеолекций, теория и задачи Все документы курса можно скачать здесь. Этот курс я прочел пару лет назад для довольно обширной аудитории. Он содержит очень много информации о том, как устроена система Mathematica, Wolfram Cloud и язык Wolfram Language. Однако, конечно, время не стоит на месте и за по.

      Как общаются машины — протокол MQTT В предыдущей статье мы разбирали протокол Modbus, являющийся стандартом де-факто в промышленности для M2M-взаимодействия. Разработанный в далеком 1979 году, он имеет ряд существенных недостатков, которые решает MQTT. Протокол MQTT достаточно молод (стандартизирован только .

      [Перевод] Процедурные паттерны, которые можно использовать с тайловыми картами Процедурная генерация используется для повышения вариабельности игр. Среди известных проектов можно упомянуть Minecraft, Enter the Gungeon и Descenders. В этом посте я объясню некоторые из алгоритмов, которые можно применять при работе с системой Tilemap, появившейся как 2D-.

      [Перевод] Как пространство и время могут быть квантовым кодом исправления ошибок Те же самые коды, требующиеся для предотвращения ошибок в квантовых компьютерах, могут придавать ткани пространства-времени присущую ей прочность В игрушечных «голографических» вселенных (даже если и не в нашей, настоящей) ткань пространства-времени возникает на основе сети.

      Maven-путь построения Go проектов Сначала небольшая предыстория. В начале 2010-х, я сделал небольшую утилиту-конвертер для BIN файлов эмулятора БК-0010 в WAV файлы. Утилита была написана на Python с целью максимальной переносимости, работала без проблем и я на какое то время забыл о ней. Но в 2020м появился .

      9 шагов к созданию аддитивного центра на предприятии В 2020 году на территории предприятия ОДК ‒ Московского машиностроительного предприятия им. В.В. Чернышева началось создание высокотехнологичного Центра аддитивных технологий / Фото: rostec.ru Ваше производственное предприятие, лаборатория, конструкторское бюро или НИИ уже .

      Отключаем локальную консоль при использовании x11vnc Всем привет, на просторах интернетов много статей на тему как настроить удаленное подключение к существующей сессии Xorg через x11vnc, но я нигде не нашел, как при этом придавить локальный монитор и ввод, чтобы любой, кто сидит рядом с удаленным компом, не смотрел что вы де.

      Не заставляйте слушателей рефлексировать Введение В процессе разработки очень часто возникает необходимость создать экземпляр класса, имя которого хранится в конфигурационном XML файле, или вызвать метод, название которого написано в виде строки как значение атрибута аннотации. В таких случаях ответ один: “Использ.

      Консорциум SCAiLE ставит целью разработку и коммерциализацию «лучшей в своем классе вычислительной платформы ИИ» Компании Crossbar, Gyrfalcon Technology, mtes Neural Networks Corporation (mNN) и Robosensing на этой неделе объявили о создании консорциума под названием SCAiLE (SCalable AI for Learning at the Edge). Объединение ставит целью создание и коммерциализацию «лучшей в.

      NEO и Ontology анонсировали создание совместной платформы для интернета следующего поколения Две крупные китайские блокчейн-платформы NEO и Ontology заключили партнерство, в рамках которого займутся созданием открытой кроссчейновой платформы, призванной стать основой для интернета следующего поколения. We are excited to announce that Ontology and @NEO_Blockchain are.

      [Перевод] Пишем свой сетевой слой на Swift: протокол-ориентированный подход Сейчас практически 100% приложений используют работу с сетью, поэтому вопрос организации и использования сетевого слоя встает перед каждым. Есть два основных подхода к решению этой проблемы, это либо использование сторонних библиотек, либо собственная реализация сетевого с.

      IKEA выпустит персональные игровые аксессуары для геймеров IKEA в сотрудничестве с компанией UNYQ, выпустила серию аксессуаров для «кастомизации» тел геймеров и предметов, которыми они пользуются во время игр. UNYQ разрабатывает и продает вспомогательные средства, используя 3D-печать для создания персонализированных протезов и.

      Стали ли Android-смартфоны обновляться быстрее благодаря Project Treble? В 2020 году вместе с Android 8.0 Oreo компания Google презентовала модульную архитектуру Project Treble. Она была призвана отделить высокоуровневое ПО от низкоуровневого, зависящего от поставщиков процессоров, и таким образом позволить производителям сократить трудозатраты .

      TP-Link Archer AX50 — «революционный» маршрутизатор на платформе Intel Ассортимент компании TP-Link пополнил революционный, как она сама заявляет, маршрутизатор Archer AX50. Отличительной чертой новинки является то, что она основана на платформе Intel. Если точнее, сердцем служи то, что Intel называет Home Wi-Fi Chipset. Это решение обеспе.

      Второй раз за всю историю. Fairphone 3 получил 10/10 на iFixit Модульный смартфон Fairphone 2 был представлен летом 2015 года, до этого момента он был единственным мобильным устройством, которое получило 10 баллов из 10 возможных у специалистов iFixit, тестирующих ремонтопригодность гаджетов. В конце августа был представлен модульн.

      Introduction to the Micronaut Framework

      1. What is Micronaut

      Micronaut is a JVM framework for building lightweight modular applications. It was developed by OCI, the same company that Grails gave us. Micronaut is a modern framework designed to make the creation of microservice applications quick and easy.

      Micronaut contains features similar to existing frameworks such as Spring, but at the same time it implements some new ideas that are its distinctive features. Together with the support of Java, Groovy and Kotlin, it offers many ways to create applications.

      6.2 Software creation of the HTTP client

      There is a variant of creating a traditional HTTP client, if you need more control over its behavior and implementation:

      @Singleton
      public class ConcreteGreetingClient <
      private RxHttpClient httpClient;
      public ConcreteGreetingClient (@Client («/») RxHttpClient httpClient) <
      this.httpClient = httpClient;
      >
      public String greet (String name) <
      HttpRequest
      req = HttpRequest.GET («/greet /» + name);
      return httpClient.retrieve (req) .blockingFirst ();
      >
      public Single
      greetAsync (String name) <
      HttpRequest
      req = HttpRequest.GET («/async /greet /» + name);
      return httpClient.retrieve (req) .first («An error as occurred»);
      >
      >

      The client uses RxJava by default, so you can easily use blocking and non-blocking calls.

      7. Micronaut CLI

      We have already seen how the Micronaut CLI utility works when creating an application.

      In our case, this was a separate application, but this utility supports several other features.

      7.1 Projects from the set of applications (Federation)

      In Micronaut, fereration is simply a group of individual applications that are developed in a single project. Using the federation, we can easily manage all of them together and make sure that they use the same settings.

      When we use the CLI to generate a federation, the utility accepts the same arguments as the create-app command. It will create the main project directory and put each application into a subdirectory.

      7.2 Opportunities

      When creating an application or a federation, we can choose which features our application needs. This allows you to use the minimum set of dependencies in the project.

      We indicate the possibilities in the seen argument -features , separating them with commas.

      You can list the available features with the following command:

      > mn profile-info service

      * annotation-api — Adds Java annotation API

      * config-consul-Adds support for Distributed Configuration with Consul

      * discovery-consul-Adds support for Service Discovery with Consul

      * discovery-eureka — Adds support for Service Discovery with Eureka

      * groovy — Creates a Groovy application

      []More features available


      From the translator: Well, do not be surprised here, you need to run the command outside the project directory. The project directory does not work, it can be repaired in the .M3 version. She already left.

      7.3 Existing Projects

      We can use the CLI to modify existing projects. This allows us to create beans, clients, controllers, etc. When we run the «mv» command in the project directory, the following commands will be available:

      | | Command Name Command Description

      create-bean Creates a singleton bean

      create-client Creates a client interface

      create-controller Creates a controller and associated test

      create-job Creates a job with scheduled method

      8. Conclusion

      In this brief introduction to Micronaut, we looked at how easy it is to create blocking and non-blocking HTTP servers and clients. We also looked at a couple of CLI features.

      This is just a small piece of the pie, which offers Micronaut. Under the hood, he has support for serverless functions, service discovery, distributed routing, monitoring and metrics, distributed configurations, and much more.

      However, that many of Micronaut’s capabilities have been borrowed from existing frameworks such as Grails and Spring, it also offers unique capabilities that distinguish it from others.

      Информационный портал по безопасности

      Введение в Micronaut Framework

      1. Что такое Micronaut

      Micronaut — это фреймворк на JVM для построения легковесных модульных приложений. Он разработан компанией OCI, той же компанией, что подарила нам Grails. Micronaut это современный фреймворк, призванный сделать создание микросервисных приложений быстрым и простым.

      Micronaut содержит возможности похожие на существующие фреймворки, такие как Spring, но в то же время он реализует некоторые новые идеи, которые являются его отличительными чертами. Вместе с поддержкой Java, Groovy и Kotlin он предлагает множество путей создания приложений.

      6.2 Программное создание HTTP клиента

      Есть вариант создания традиционного HTTP клиента, если требуется больше контроля над его поведением и реализацией:

      Клиент по умолчанию использует RxJava, так что вы легко можете использовать блокирующие и неблокирующие вызовы.

      7. Micronaut CLI

      Мы уже видели как работает утилита Micronaut CLI, когда создавали приложение.

      В нашем случае это было отдельное приложение, но эта утилита поддерживает несколько других возможностей.

      7.1 Проекты из множества приложений (Federation)

      В Micronaut ферерация — просто группа отдельных приложений, которые разрабатываются в одном проекте. Используя федерацию мы можем легко управлять все их вместе и убедиться, что они используют одинаковые настройки.

      Когда мы используем CLI для генерации федерации, утилита принимает такие же аргументы как команда create-app. Она создаст основную директорию проекта и поместит каждое приложение в поддиректорию.

      7.2 Возможности

      При создании приложения или федерации мы можем выбрать, какие возможности необходимы нашему приложению. Это позволяет использовать минимальный набор зависимостей в проекте.

      Мы указываем возможности в видел аргумента -features , разделяя их запятыми.

      Можно вывести список доступных возможностей при помощи следующей команды:

      [i]От переводчика: ну а тут не удивляйтесь, команду надо запускать вне каталога проекта. В каталоге проекта не работает, может в .M3 версии починили. Она уже вышла.[/i]

      7.3 Существующие Проекты

      Мы можем использовать CLI для модификации существующих проектов. Это позволяет нам создавать бины, клиенты, контроллеры, и т.д. Когда мы запускаем команду «mv» в каталоге проекта, у нас будут доступны следующие команды:

      8. Заключение

      В этом кратком введении в Micronaut мы посмотрели, насколько просто создавать блокирующие и неблокирующие HTTP сервера и клиенты. Также мы взглянули на пару возможностей CLI.

      Это всего лишь небольшой кусочек пирога, который предлагает Micronaut. Под капотом у него поддержка функций serverless, обнаружения сервисов, распределённой трассировки, мониторинга и метрик, распределённых конфигураций и много чего ещё.

      Вместе с тем, что многие возможности Micronaut были заимствованы из существующих фреймворков, таких как Grails и Spring, он также предлагает уникальные возможности, которые его выделяют на фоне других.

      Micronaut: фреймворк на JVM, который вы определённо полюбите

      • Продукт у нас хороший, и вы бы сами убедились, если бы не…

      Онлайн-тренинги

      Конференции

      Что пишут в блогах (EN)

      September 26

      Разделы портала

      Про инструменты

      Основы BDD: Фреймворки
      13.06.2020 12:57

      Перевод: Анна Радионова

      В любом из основных языков программирования существуют BDD фреймворки автоматизации. В некоторых даже не один. Основываясь на структурных принципах, описанных в предыдущей статье, в этой я представляю обзор основных фреймворков, существующих сегодня. Поскольку я вряд ли смогу рассмотреть подробно каждый BDD фреймворк в рамках этой серии, состоящей из 101 статьи, моей целью является помочь вам, читатели, выбрать фреймворк, наиболее подходящий именно вам. Для каждого фреймворка имеется сопроводительная online документация с информацией о его специфике и способах использования, но я бы предпочел не дублировать документацию. Используйте эту статью, главным образом, как справочный материал. (Полный список статей можно найти на странице Automation Panda BDD.)

      Большинство BDD фреймворков — это различные версии Cucumber, производные от фреймворка JBehave, написанные в стиле его создателя Дена Норта (Dan North), или non-Gherkin спек-раннеры. Некоторые организуют поведенческие сценарии в отдельные файлы, в то время как другие размещают их непосредственно в исходном коде.

      C# и Microsoft .NET

      SpecFlow является, пожалуй, самым популярным BDD фреймворком для языков Microsoft .NET. Его слоган звучит как “Cucumber для .NET” – поэтому он полностью совместим с Gherkin. Основной пакет фреймворка бесплатный и опенсорсный, но лицензии на расширения SpecFlow+ являются платными. Бесплатная версия требует установки юнит-тест раннера такого как, например, MsTest, NUnit или xUnit.net для запуска сценариев. Это делает использование SpecFlow удобным, но в то же время оставляет ощущение некоторой топорности фреймворка. В лицензионной версии предоставляется легкий раннер под названием SpecFlow+ Runner (который совместим с BDD) и инструмент для интеграции с Microsoft Excel под названием SpecFlow+ Excel. Имеются SpecFlow расширения для Microsoft Visual Studio, облегчающие разработку.

      Существует множество других BDD фреймворков для C# и .NET. Как альтернативу можно рассматривать xBehave.net, который хорошо работает в паре с xUnit.net. Основное отличие xBehave.net заключается в том, что пошаговые сценарии пишутся непосредственно в коде, а не в отдельных текстовых (так называемых feature) файлах. LightBDD позиционируется как более легковесный, по сравнению с остальными, фреймворк и, как правило, применяет некоторые приемы при работе с partial (частичными) классами для большей читабельности кода. NSpec похож на RSpec и Mocha и активно использует лямбда-выражения. Concordion также предлагает несколько интересных решений написания spec-ов. NBehave производный от JBehave фреймворк, но с 2014 года в нем не производилось никаких обновлений, поэтому можно считать этот проект мертвым.

      Java и JVM языки

      Основными конкурентами в Java являются фреймворки Cucumber-JVM и JBehave. Cucumber-JVM — официальная версия Cucumber для языка Java и других JVM языков (Groovy, Scala, Clojure и т.д.). Он полностью совместим с Gherkin и генерирует красивые отчеты. Драйвер Cucumber-JVM также может быть кастомизирован. JBehave является одним из первых и наиболее распространенных BDD фреймворков на рынке. Его разработал Dan North, который считается “отцом BDD.” Однако, в JBehave отсутствуют ключевые особенности Gherkin, такие как backgrounds, doc strings и tags. Также он являлся первым решением на чистой Java и существовал еще до появления Cucumber-JVM. Оба фреймворка широко используются, для них имеются плагины в большинстве IDE и устанавливаются с помощью Maven пакетов. В популярной, но довольно старой статье сравниваются эти два фреймворка и автор склоняется в пользу JBehave, но, я считаю, что Cucumber-JVM лучше учитывая уровень фич и поддержки обоих.

      Статья в моем блоге Cucumber-JVM for Java содержит подробные инструкции по использованию Cucumber-JVM фреймворка.

      В языке Java существует множество других BDD фреймворков. JGiven использует fluent API для написания сценариев, а красивые HTML отчеты выводят сценарии вместе с результатами. Его синтаксис вполне лаконичен. Spock и JDave представляют собой spec фреймворки, но JDave не развивается в течение нескольких последних лет. Scalatest для языка Scala также основан на spec компонентах. У Concordion также есть решение для Java.

      Почти все JavaScript BDD фреймворки работают на Node.js. Mocha — это многоцелевой тестовый фреймворк, который преобразовывает фразы на английском языке в код спецификаций. Jasmine похож на Mocha фреймворк, но по нему гораздо меньше обучающего материала. Cucumber предоставляет решение Cucumber.js для полной совместимости с Gherkin. Yadda чем-то напоминает Gherkin, но с более гибким синтаксисом. Vows предоставляет другой тип к поведенческого подхода с использованием более формализованных делений фразовых конструкций для обеспечения уникальности при их переиспользовании. Сравнительные статьи по ним можно найти здесь, здесь, здесь и здесь. В блоге Cucumber ведутся споры на тему того, что Cucumber.js лучший, благодаря тому, что его фокус направлен на достижение лучшей коммуникации посредством описания шагов человеко-читаемым текстом, в то время как в других JavaScript BDD фреймворках больше кода, чем лингвистических средств.

      Два основных BDD фреймворка для PHP — это Behat и Codeception. Behat является официальной версией Cucumber для PHP, и, собственно, считается более “чистым” BDD фреймворком. Codeception носит большую программерскую направленность и может использоваться для написания других видов тестов. Существует большое количество статей со сравнительным анализом обоих – здесь, здесь и здесь (хотя последняя, кажется, очень устарела). Оба фреймворка довольно хороши, но Codeception кажется более гибким.

      У Python имеется множество тестовых фреймворков и многие являются именно BDD фреймворками. behave и lettuce, наверное, два наиболее значимых “игрока”. Сравнение характеристик аналогично сравнению Cucumber-JVM и JBehave, соответственно: behave полностью совместим Gherkin, в то время как у lettuce нет некоторых лингвистических элементов. Оба имеют плагины для основных IDE. radish — еще один фреймворк, который расширяет язык Gherkin с целью возможности использования сценарных циклов, сценарных предусловий и переменных. Все три записывают сценарии в отдельные feature файлы. Все они внедряют определение шагов в виде функций вместо классов, что не только упрощает описание шагов и делает их использование более независимым, но и помогает избежать ненужных объектных конструкций.

      Существуют и другие Python фреймворки. pyspecs — spec-ориентированный фреймворк. pytest-bdd добавляет некоторые Gherkin фичи в популярную библиотеку pytest. Freshen являлся BDD плагином для Nose, но они оба, проекты Freshen и Nose, прекращены.

      Cucumber, являющийся золотым стандартом BDD фреймворков, впервые был выпущен на языке Ruby. Cucumber поддерживает официальный стандарт языка Gherkin и все версии Cucumber написаны на основе оригинальной на Ruby. Spinach позиционируется как улучшенный Cucumber с доработанным функционалом инкапсуляции шагов. RSpec spec-ориентированный фреймворк, не использующий Gherkin.

      Какой фреймворк лучше?

      На этот вопрос нет правильного ответа – лучший BDD фреймворк — это тот, который лучше всего удовлетворяет ваши потребности. Однако, нужно учитывать несколько моментов при выборе:

      • Какой язык программирования мне использовать для автоматизации? (What programming language should I use for test automation?)
      • Является ли этот фреймворк популярным и широко используемым?
      • Активно ли поддерживается фреймворк?
      • Язык спецификаций совместим с Gherkin?
      • Для какого вида тестирования вы будете использовать фреймворк?
      • Какие ограничения устанавливаются фреймворком в сравнении с другими?

      Фреймворки, которые отделяют текст сценариев от кода хороши для shift-left тестирования. Фреймворки, которые определяют текст сценариев непосредственно в исходный код, лучше подходят для тестирования “белого ящика”, но они могут быть непонятны менее опытным разработчикам. Лидерами моего списка фаворитов являются Cucumber-JVM, SpecFlow и behave. На моей текущей работе я использую SpecFlow и отдаю ему предпочтение среди других .NET фреймворков. Я бы хотел лучше изучить radish и попробовать JGiven для написания unit-тестов. Для лучшей взаимозаменяемости я также рекомендую выбирать фреймворк совместимый с Gherkin.

      В таблице ниже приведена классификация BDD фреймворков с указанием их языка программирования. В ней также приводятся фреймворки языков, не описанных в статье. Рекомендуемые к использованию фреймворки отмечены звездочкой (*). Неразвивающиеся проекты отмечены крестиком X (x).

      JVM WebService in 10MB? — Micronaut Microservice Example

      If you are developing microservices using Spring Boot, you know how much time it takes every time during the JVM startup. In this new age of serverless technologies where people are talking about spawning up new servers within milliseconds or even less, let’s see how we can leverage Micronaut and its CLI to create a productive microservice which runs in

      Micronaut — is an open source framework created by Graeme Rocher and his team [The team at OCI which built Grails framework]

      Documentation

      I spend more time reading the documentation that looking at the actual implementation code. Micronaut documentation is very superior for a pretty new framework and has tons of documentation which also has feedback inbuilt. Whilst, most the features are almost similar to Spring Boot, Micronaut directly uses JSR specifications for its implementation patterns.

      Just-in-Time to Ahead-of-time

      What makes Micronaut different from the current version of Spring Boot (version 2.1+, at the time of writing this article), is the faster boot-up time. Most of the developers who moved out of JVM languages complained about the memory footprint and the architecture which brings down the JVM performance significantly.

      Android Platform solved the faster boot-up time by leveraging Ahead of time Compilation(AOC reference — InfoQ dated July 2014) which paved way for their apps to achieve super quick launch time.

      Micronaut uses AOC and this created new efficient ways of using Java frameworks for the serverless future.

      Command Line Interface (CLI)

      Not to mention the inspiration from grails-cli , micronaut-cli provides rich features for creating controllers, beans and model classes along with their corresponding test classes with auto-generated test code — pretty much nailed the test code generation bit which most of the frameworks miss out.

      Installation

      If you are using a Mac, follow steps from here
      If you are using a Unix based system, follow steps from here.
      If you are using Windows, follow steps from here
      Once installed, the cli can be referenced as mn

      Usage(mn help)

      Creating our first Micronaut service

      Using the micronaut cli , let’s kick start the creation of our first micronaut application.

      mn create-app micronaut-example

      You can see a new folder named micronaut-example with the following structure:

      By default the cli uses Gradle, if you want to use Maven as the build tool, you can use mn create-app micronaut-example —build maven

      Once you are ins >mn help or mn —help ):

      Let’s create a new controller for exposing a Hello REST endpoint

      mn create-controller HelloController

      Notice that, there are 2 classes created

      The contents of the HelloController.java and HelloControllerTest.java are below:

      Similar to Spring Boot, we can create fat jars out of this project by simply building the project using ./gradlew clean build . Under the build directory, you can find 2 different jars.

      micronaut-example-0.1-all.jar has all that is required to start the example server.

      Start the JVM with 10MB memory using the below command
      java -Xmx10M -jar micronaut-example-0.1-all.jar

      You can see the server up and running at http://localhost:8080/ . If you want to use a different port, configure it using the property.

      VM graph using JConsole

      Using JConsole, let’s connect to the Micronaut JVM and have a sneak peek at the heap size. jconsole is packaged with OpenJDK and can be launched directly from the java/bin folder.

      During JConsole startup, we need to select the JVM process which needs to be connected. In our case, select the micronaut JVM.

      Once connected, we can see the size of the heap graph for the JVM — it is less than 9Mb of memory!

      Future

      With the strong ecosystem created by the Spring community, it’s very difficult to disrupt the enterprise world with these kinds of new frameworks. I have good hopes for the future of Micronaut. I’m waiting for other frameworks (especially Spring) to adopt the ahead of time compilation to reduce the startup time.

      Мастер Йода рекомендует:  Как использовать погнутую монету
      Добавить комментарий