Пишем минималистичный кастомный select компонент для React приложения. Покрываем всё тестами на Jest.
Пользователь
Под капотом у Mobx. Пишем свою реактивную библиотеку с нуля
Первое мое знакомство с Mobx началось с удивления. Я не понимал всю магию библиотеки и задавал себе вопрос: “А как это возможно?”. Кажется, в ней используются какие-то подкапотные возможности JS или Mobx вообще написан на другом языке.
И вот, потратив 3 месяца в исходниках, я развеял для себя магию. Mobx все таки написан на JS и даже имеет множественные ограничения, которые нужно соблюдать, чтобы ваш браузер не взорвался.
В этой статье мы создадим свой Mobx с нуля, а так же свяжем его с React, через собственно написанный HOC observer. В конце у вас будет общее понимание реактивности, которое поможет в самостоятельном осмыслении не только Mobx, но и других реактивных библиотек и фреймворков.
Односторонние и двусторонние отношения в Hibernate
Всем нам хорошо известен ответ на вопрос, какими могут быть отношения между сущностями в Hibernate и JPA. Вариантов всего четыре
Туториал по JUnit 5 - Введение
В этом туториале по JUnit 5 рассказывается о том, как JUnit адаптировал стиль кодирования Java 8 и некоторые другие функции. Узнайте, чем JUnit 5 отличается от JUnit 4.
JUnit 5 - наиболее широко используемая среда тестирования для приложений Java. JUnit долгое время отлично справлялся со своей задачей.
Между тем, JDK 8 привнес в java интересные функции и, в первую очередь, лямбда-выражения. JUnit 5 был нацелен на адаптацию стиля программирования Java 8; вот почему Java 8 является минимально необходимой версией для создания и выполнения тестов в JUnit 5 (хотя можно запускать тесты, написанные с помощью JUnit 3 или JUnit 4 для обратной совместимости).
По следам Spring Pet Clinic. Maven/ Spring Context/ Spring Test/ Spring ORM/ Spring Data JPA
Здравствуйте!
Spring MVC, согласно обзору инструментов и технологий Java за 2014 г. от RevbelLabs, является самым популярным веб фреймворком.
Далее тот же обзор называет лидера ORM — Hibernate и лидера веб-контейнеров — Apache Tomcat. Добавим сюда самую используемую java script библиотеку jQuery, самый популярный css фреймворк Bootstrap, до сих пор самую популярную (несморя на наступление Gradle) инструмент сборки Maven, абсолютный лидер среди тестовый фреймворков JUnit и получим пример приложения на Spring от его создателей:
Spring Pet Clinic (демо приложение).
Кроме перечисленного, в этот достаточно несложный по функциональности проект влючены также Spring-Jdbc, Spring-ORM,
Spring Data JPA,
Hibernate Validator,
SLF4J,
Json Jackson,
JSP,
JSTL,
WebJars,
Dandelion DataTables,
HSQLDB,
Hamcrest,
Mockito и десятки других зависимостей.
Как проверить навыки программирования на Python? Задачи от Яндекса
Хакатон в Школе бэкенд-разработки
В 2019 году нам потребовалось автоматизированно проверить умение писать Python-код у сотен разработчиков. Так мы отбирали будущих студентов для Школы бэкенд-разработки. Это не то же самое, что предложить решить задачу на листе бумаги, как на собеседовании. С другой стороны, мы также не могли переиспользовать условия задач, уже подготовленные для наших соревнований по программированию. Дело в том, что соревнования с целью определить лучших из лучших — это одно, а отбор специалистов с небольшим опытом в школу — совсем другое. Нам требовались задачи, по решению которых было бы видно, обладает ли разработчик базовыми навыками написания кода и умением грамотно использовать память и время. Вот какие условия мы составили.
Обзор библиотеки react-testing-library
Автор материала говорит, что давно размышлял о чём-то подобном, и в итоге, примерно в середине прошлого месяца, решил заняться разработкой библиотеки для тестирования, которая его устраивала бы. В частности, в enzyme ему не нравилось то, что большинство возможностей этой библиотеки склоняют разработчика к не самым лучшим методам подготовки тестов, которые способны навредить проекту. В результате у него получился простой, но самодостаточный набор инструментов для тестирования React DOM.
Prisma ORM: полное руководство для начинающих (и не только). Часть 1
Привет, друзья!
В этой серии из 2 статей я хочу поделиться с вами своими заметками о Prisma
.
Prisma
— это современное (продвинутое) объектно-реляционное отображение (Object-Relational Mapping, ORM) для Node.js
и TypeScript
. Проще говоря, Prisma
— это инструмент, позволяющий работать с реляционными (PostgreSQL
, MySQL
, SQL Server
, SQLite
) и нереляционной (MongoDB
) базами данных с помощью JavaScript
или TypeScript
без использования SQL
(хотя такая возможность имеется).
Содержание этой части
Если вам это интересно, прошу под кат.
Spring Data JPA
Spring Data — дополнительный удобный механизм для взаимодействия с сущностями базы данных, организации их в репозитории, извлечение данных, изменение, в каких то случаях для этого будет достаточно объявить интерфейс и метод в нем, без имплементации.
Содержание:
- Spring Repository
- Методы запросов из имени метода
- Конфигурация и настройка
- Специальная обработка параметров
- Пользовательские реализации для репозитория
- Пользовательский Базовый Репозиторий
- Методы запросов — Query
Производительность фронтенда: большое приложение на реактивном SSR-топливе
Каждый день сайтом SuperJob пользуется более миллиона людей. Как построить архитектуру фронта, чтобы приложение загружалось быстро и при этом выполняло требования поисковой оптимизации? Как мы можем это измерить?
Значительно повысить производительность можно при помощи серверного рендеринга, но какая будет цена у такой оптимизации? Какой инструмент выбрать — готовую библиотеку или собственное решение? Какие ограничения в дальнейшем могут быть вызваны выбором того или иного подхода?
На все эти вопросы ответил frontend-разработчик Виталий Старов на конференции FrontendConf 2021. Он рассказал о серверном рендеринге на примере приложения SuperJob. Читайте под катом, как SuperJob пришли к своей реализации серверного рендеринга, узнав по пути много интересного. Узнаете, когда хорош SSR и как он работает, из чего он устроен, чем может быть полезен и кому.
Как собрать простейшую Java программу с помощью Maven
Статья написана для тех, кто умеет писать простейшие программы на java, но не умеет их собирать. Этим людям уже известно, что такое классы, что такое пакеты и зачем нужен public static main(String[] argv), но код без среды разработки они не запускали, да и не понимают кому и зачем это вообще может понадобиться.
Сразу скажу, что Java программиста, который не может собрать свою программу из консольки, на работу не возьмут, и это в общем более чем достаточная причина, чтобы научиться искусству обращения с системами сборки. Остальное детали, которым и посвящена статья.
Я принципиально не буду обсуждать в статье ничего, кроме сборки минимального HelloWorld. Также я постараюсь опустить все технические детали, которые можно опустить и подробно раскрыть всё, без понимания чего обойтись нельзя.
Для того, чтобы воспользоваться информацией из статьи нужно знать, что такое xml, переменные окружения, зачем нужна переменная окружения PATH и как пользоваться консолью.
Пора релоцироваться
Популярные мифы, советы по поиску работы, переезду и полезные ссылки для тех, кто сейчас ищет работу за рубежом или уже нашел и собирается переехать.
Как работать на российскую компанию после релокейта и ничего не нарушить
По разным данным в СМИ, за март из России уехало от 50 до 100 тысяч айтишников и ещё столько же планируют переезд в апреле. Многие из них уже работали на зарубежных работодателей, кто-то переезжал вместе с компанией. Но многи и тех, кто продолжает трудиться на российские компании из-за границы.
В этой статье мы постарались собрать всё самое важное, что надо знать работнику о трудовых отношениях и какие риски учитывать в последнем случае. Ведь с одной стороны, вроде бы можно удалённо работать по ТК, а с другой — вроде бы и нет.
Релокация. Нужно ли уезжать IT-специалистам из России. Плюсы, минусы, подводные камни
Ситуация с IT-сервисами, платёжными системами и общим настроением в стране складывается не самым лучшим образом. Однако, нет однозначного решения для всех, нужно ли переезжать. Чтобы максимально широко понять настроения и риски в IT-отрасли, мы в DigitalHR поговорили с несколькими IT-компаниями о том, как они чувствуют себя сейчас, какие планы, опасения и т.п. Собрали ответы на самые главные вопросы, которые сейчас могут быть у IT-специалистов в России.
Туториал из руководства по Ember.js. Приложение Super Rentals. Часть 1.1
После довольно удачной пробы пера с Ember Octane я решил (точнее мы с гуглотранслейтом решили) замахнутся на святое перевод туториала из официального руководства Ember.js
Как вы увидите из текста, данный туториал рассчитан на самых маленьких начинающих программистов. Что не мешает ему служить опытным бойцам прекрасной отправной точкой для знакомства фреймворком. Для полного прохождения этой игры туториала вам понадобится 1-2 часа времени. После этого вы сможете оценить Ember.js в его последней редакции Octane без необходимости читать обзоры позапрошлогодней свежести
Список тем, которые покрывает туториал внушает:
- Использование Ember CLI
- Навигация по структуре файлов и папок приложения Ember
- Создание и связь между страницами
- Шаблоны (templates) и компоненты
- Автоматизированное тестирование
- Работа с данными сервера
- Динамические сегменты в маршрутах
- Сервисы в Ember
- Библиотека Ember Data
- Адаптеры и сериализаторы
- Паттерн компонента-провайдера
Если вы согласны, что это вкуснота стоит траты 1-2 часов, добро пожаловать под кат!
Туториал из руководства по Ember.js. Приложение Super Rentals. Часть 1.2
Продолжаем публиковать перевод туториала из официального руководства Ember.js. Туториал состоит из двух частей и это вторая половина первой части туториала. Напоминаем, что первую половину вы можете прочитать по этой ссылке
Список тем, которые покрывает туториал внушает:
- Использование Ember CLI
- Навигация по структуре файлов и папок приложения Ember
- Создание и связь между страницами
- Шаблоны (templates) и компоненты
- Автоматизированное тестирование
- Работа с данными сервера
- Динамические сегменты в маршрутах
- Сервисы в Ember
- Библиотека Ember Data
- Адаптеры и сериализаторы
- Паттерн компонента-провайдера
Садитесь поудобнее, открывайте терминалы, находите проект на своем компьютере и давайте двигаться дальше. И помните, что если у вас возникнут трудности, всегда можно попросить помощи в Discord канале сообщества (на русском канал #lang-russian), а также в русскоязычном телеграмм канале ember_js
12 советов по внедрению TypeScript в React-приложениях
Эта статья — сборник советов о том, как внедрить и улучшить использование TypeScript. Первая половина советов общая, касающаяся подходов и инфраструктуры. Вторая — несколько особо полезных фишек языка.
Next.js: подробное руководство. Итерация первая
Привет, друзья!
Хочу поделиться с вами заметками о Next.js
(надеюсь, кому-нибудь пригодится).
Next.js
— это основанный на React
фреймворк, предназначенный для разработки веб-приложений, обладающих функционалом, выходящим за рамки SPA
, т.е. так называемых одностраничных приложений.
Как известно, основным недостатком SPA
являются проблемы с индексацией страниц таких приложений поисковыми роботами, что негативно влияет на SEO
.
Впрочем, по моим личным наблюдениям, в последнее время ситуация стала меняться к лучшему, по крайней мере, страницы моего небольшого SPA-PWA-приложения
нормально индексируются.
Кроме того, существуют специальные инструменты, такие как react-snap
, позволяющие превратить React-SPA
в многостраничник путем предварительного рендеринга приложения в статическую разметку. Метаинформацию же можно встраивать в head
с помощью таких утилит, как react-helmet
. Однако Next.js
существенно упрощает процесс разработки многостраничных и гибридных приложений (последнего невозможно добиться с помощью того же react-snap
). Он также предоставляет множество других интересных возможностей.
Обратите внимание: данная статья предполагает, что вы обладаете некоторым опытом работы с React
. Также обратите внимание, что заметки не сделают вас специалистом по Next.js
, но позволят получить о нем исчерпывающее представление.
Заметки состоят из 2 частей. Это часть номер раз.
LJV: Чему нас может научить визуализация структур данных в Java
Эта статья является пересказом моего доклада на Java-конференции SnowOne 2021 года. LJV — проект, созданный в 2004 году как инструмент для преподавания языка Java студентам. Он позволяет визуализировать внутреннее устройство структур данных. В этом докладе я запускаю LJV на разных структурах (от String
до ConcurrentSkipListMap
) в разных версиях Java и разбираю, что там внутри, как оно менялось от версии к версии, и как это всё работает.
Методики уменьшения размеров образов Docker
Автор статьи, перевод которой мы сегодня публикуем, хочет разобрать основные факторы, влияющие на размеры контейнеров Docker. Он, кроме того, собирается поделиться рекомендациями по уменьшению размеров контейнеров.
Information
- Rating
- Does not participate
- Location
- Нижний Новгород, Нижегородская обл., Россия
- Date of birth
- Registered
- Activity