Pull to refresh
0
0
avvensis @avvensis

Разработчик

Send message

Состояние PostgreSQL 2022: 13 инструментов, отличных от psql

Reading time8 min
Views13K

Опрос о состоянии PostgreSQL 2022 завершился несколько недель назад, и мы усердно работаем над очисткой и анализом данных, чтобы поделиться с сообществом PostgreSQL максимально полной информацией.

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

Читать далее
Total votes 18: ↑16 and ↓2+17
Comments14

Руководство по NestJS. Часть 2

Reading time25 min
Views26K



Привет, друзья!


Данная серия статей представляет собой мои заметки о NestJS — фреймворке для разработки эффективных и масштабируемых серверных приложений на Node.js. NestJS использует прогрессивный (что означает текущую версию ECMAScript) JavaScript с полной поддержкой TypeScript (использование TypeScript является опциональным) и сочетает в себе элементы объектно-ориентированного, функционального и реактивного функционального программирования.


Под капотом Nest по умолчанию использует Express, но позволяет переключиться Fastify.



Первая статья представляет собой обзор основных возможностей, предоставляемых NestJS, во второй рассматриваются основы работы с этим фреймворком, в третьей — техники и рецепты по интеграции NestJS с некоторыми популярными библиотеками, используемыми при разработке приложений на Node.js, наконец, четвертая статья представляет собой туториал по разработке относительно полноценного React/Nest/TypeScript-приложения.


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


Это вторая часть руководства.


Вот ссылка на первую часть.

Читать дальше →
Total votes 8: ↑8 and ↓0+8
Comments2

Руководство по NestJS. Часть 1

Reading time34 min
Views104K



Привет, друзья!


В этой серии из 3 статей я расскажу вам о Nest (NestJS) — фреймворке для разработки эффективных и масштабируемых серверных приложений на Node.js. Данный фреймворк использует прогрессивный (что означает текущую версию ECMAScript) JavaScript с полной поддержкой TypeScript (использование TypeScript является опциональным) и сочетает в себе элементы объектно-ориентированного, функционального и реактивного функционального программирования.


Под капотом Nest использует Express (по умолчанию), но также позволяет использовать Fastify.



В первой статье рассматриваются основы работы с Nest, во второй — некоторые продвинутые возможности, предоставляемые этим фреймворком, в третьей — приводится пример разработки простого React/Nest/TypeScript-приложения.


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


Это первая часть руководства.

Читать дальше →
Total votes 12: ↑10 and ↓2+10
Comments4

Развертывание Spring Boot приложения с помощью Nginx, Let's Encrypt и Docker Compose

Reading time7 min
Views22K

Привет, Хабр! В своей первой статье я бы хотел поделиться опытом в развертывании Spring Boot приложения. Но для начала небольшое отступление, которое должно ответить на вопросы зачем и почему.

Недавно я столкнулся с задачей разработать Telegram бота. Казалось бы, что тут сложного? Ну раз надо, то разрабатывай, где тут могут быть сложности? Но вот беда, ранее я не сталкивался с задачей развертывания проекта, тем более было много вопросов касаемо получения SSL сертификата так как Telegram API работает только с HTTPS протоколом. Увы после долгих поисков я так и не нашел статьи, которая ответила бы на все вопросы, поэтому процесс деплоя затянулся из-за того, что пришлось собирать весь материал по кусочкам. Теперь, когда у меня получилось разобраться с этой проблемой, я бы хотел вам рассказать как это сделать, чтобы сэкономить вам время и бонусом 2000 рублей за SSL сертификат.

Читать далее
Total votes 6: ↑6 and ↓0+6
Comments10

Open Source: IT-фетиш 21 века

Reading time4 min
Views5.2K

В последние лет 5 часто встречаются в сети красиво изложенные мысли на тему открытых исходников различных приложений. Суть в следующем: «Если код закрыт, то пользоваться приложением нельзя или нежелательно». Ведь если нельзя заглянуть под капот, нет никаких гарантий, что там не спрятан какой-нибудь червяк.

Чаще всего подобные мысли исходят от активных комментаторов в социальных сетях. Люди посерьёзнее крайне сдержанно подходят к данному вопросу, в основном мысли этой публики сводятся к «Закрытый код означает полный контроль над разработкой и эксплуатацией решений», со всеми атрибутами: это значительно усложняет создание любого вредоносного ПО, не даёт возможности угнать и модифицировать наработки (содержать даже небольшой штат кодеров – удовольствие не из дешёвых, чтобы потом дарить плоды труда кому бы то ни было).

И ведь и те, и другие говорят верно. Но дьявол кроется в деталях – об этом и поговорим.

Читать далее
Total votes 26: ↑13 and ↓13+4
Comments21

Что мы используем для анализа Android-приложений

Reading time8 min
Views11K

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

Читать далее
Total votes 26: ↑26 and ↓0+26
Comments4

FAQ: наш опыт получения государственного гранта (4 млн рублей) на развитие IT-бизнеса

Reading time9 min
Views16K

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

Итак:

Сколько проектов вы подавали? Два. Первый — система защиты от скликивания рекламы clickfraud.ru, второй — автономная CRM offlinecrm.ru. Нам одобрили грант на первый проект и отказали на второй (разные команды де-факто и де-юре).

Куда подавали? ФСИ — фонд содействия инновациям. Fasie.ru — советую изучить внимательно сайт фонда, там есть довольно много информации. Иногда работает чат, а иногда нет. Есть открытые контакты — можно написать или позвонить, если есть вопросы. Мы звонили и всегда сотрудники фонда помогали исчерпывающе и доброжелательно.

Что это за фонд? Фонд содействия развитию малых форм предприятий в научно-технической сфере, сокращенно Фонд содействия инновациям, является государственной некоммерческой организацией. На 2022 год фонду выделено 13 млрд. рублей. Один из приоритетов в 2022 году — организация специализированных конкурсов для поддержки цифровых проектов. Подчеркну — упор фонда на 2022 год (не знаю, что будет дальше) — поддержка IT-проектов.

Читать далее
Total votes 28: ↑22 and ↓6+31
Comments88

Реактор БРЕСТ-300 и замкнутый цикл в ядерной энергетике

Reading time12 min
Views74K


«В Северске началась новая эра атомной энергетики. На площадке Сибирского химкомбината 8 июня стартовало строительство первого в мире энергоблока четвертого поколения с быстрым реактором естественной безопасности БРЕСТ-ОД‑300.»

Довольно претенциозно, не правда ли? Тем не менее за этими словами, написанными на страницах официального печатного органа Росатома – газеты «Страна РОСАТОМ» – кроется действительно во многом революционной проект с непростой судьбой и наконец-то появившемся светом в конце тоннеля.

Давайте же разберёмся, что же на самом деле представляют собой этот инновационный реактор и пресловутый замкнутый цикл.
Читать дальше →
Total votes 83: ↑78 and ↓5+102
Comments52

Текущий кризис биохимии: что происходит с рынком и «давай, до свидания», иностранные бренды

Reading time7 min
Views23K


Самое забавное зрелище весны — наблюдать, как топовые бьюти-блогеры, оставшиеся без топовых брендов и Инстаграма, внезапно начинают переобуваться в рекламе и контенте.

Это четвёртый пост про кризис и то, как наше биохимическое производство чувствует себя, он про то, как мы пережили весну: просто потому, что мы только-только начали выдыхать. Кратко: сначала всё было плохо, и Европа отрезала нам поставки. Потом выяснилось, что уходящие иностранные бренды оставляют нам рынок, а мы можем перестроить цепочки и усилить разработку. Плюс ещё пара козырей, плюс снижение курса рубля обратно — всё стало выглядеть более-менее приятно.

Вернёмся для начала в 1 марта 2022 года — день, когда косметика в среднем подорожала на 40 %, и при этом народ бешено покупал всё, что только можно, не рассчитывая даже употребить всё за срок годности. Это был самый нерациональный день потребления, поставивший рекорды на маркетплейсах по продажам косметики иностранных марок. Нам тоже досталась часть популярности: возможно, не все знают, что наш завод — на нашей земле в России, поэтому на всякий случай набирали и нас, но не так сильно, как Корею и Америку.

По итогам пары таких дней паники склады в России остались почти без косметики и околокосметических медицинских средств для кожи.
Читать дальше →
Total votes 114: ↑85 and ↓29+78
Comments165

Автоматизация склада: с чего начать

Reading time7 min
Views24K

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

Читать далее
Total votes 11: ↑11 and ↓0+11
Comments17

Конь остановлен, изба догорела

Reading time4 min
Views130K

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

Но у этих парней есть тайна. Нет, у них Тайна. Вскрывается, как теперь выяснилось, элементарно – задним умом и я крепок. Но то ли я какой-то не такой, то ли явление действительно из ряда вон… Распознать именно тенденцию смог лишь с третьего раза.

История будет короткой, чай не успеете допить.

Читать далее
Total votes 319: ↑290 and ↓29+331
Comments319

Деконструкция LSP

Reading time5 min
Views5.4K

Здравствуйте, меня зовут Дмитрий Карловский. А вы на канале Core Dump, где мы берём разные темы из компьютерной науки и деконструируем их по полочкам. А на этот раз мы начнём деконструировать принципы SOLID начиная с наиболее конкретного.


В далёком 1987 году Барбара Лисков сформулировала принцип разработки имени себя.


Liskov Substitution Principle

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


Видео запись этого разбора.

Читать дальше →
Total votes 18: ↑8 and ↓10+1
Comments17

Тысячная статья про принципы SOLID

Reading time3 min
Views27K

Ещё будучи совсем-совсем начинающим разработчиком, я услышал про принципы SOLID и, конечно же, совершенно их не понял. Их не помогли понять ни лекции Дядюшки Боба, ни книга его же авторства, не несколько десятков (а то и сотен) статей в интернете, которые я тогда прочитал (по какой-то причине мне эти принципы казались чем-то очень важным, прямо-таки фундаментальным). Сейчас я могу сказать, что понимаю их как-то, по-своему, и пользуюсь ими каждый день. В данной короткой статье хочу поделиться своими размышлениями о сути принципов, которые были бы понятны тому мне из прошлого, который пытался загуглить доступное объяснение этих принципов.

Читать далее
Total votes 32: ↑21 and ↓11+13
Comments36

Proto DataStore + AndroidX Preferences на Kotlin

Reading time11 min
Views4.9K

С тех пор, как команда Google AndroidX представила на замену библиотеки SharedPreferences новую библиотеку DataStore, прошел почти год, однако популяризация новой либы явно не стоит в активных задачах. Иначе я не могу объяснить 1) неполноценный гайд, следуя лишь по которому, у вас вообще не соберется проект из-за отсутствия всех необходимых зависимостей и дополнительных build-задач для системы сборки, и 2) отсутствие не hello-world подобных примеров в CodeLabs, кроме одного, и то, заточенного не под пример использования библиотеки с нуля, а под миграцию с SharedPreferences на Preferences DataStore. Аналогично все статьи на Medium буквально или другими словами повторяют все то же, что написано в гайде Google, либо используют неправильные подходы для работы с DataStore, предлагая заворачивать асинхронный io-код в runBlocking прямо на ui-потоке.

А еще неплохо бы соединить "тыл" с "фронтом", так сказать: у Google имеется библиотека AndroidX Preferences, которая позволяет в два клика накидать готовый material-design фрагмент для управления настройками приложения, чтобы излюбленным способом кодогенерации освободить разработчика от написания boilerplate. Однако эта библиотека в качестве хранилища предлагает использовать устаревшие нынче SharedPreferences, а официального гайда по соединению с DataStore нет. В этой заметке я хотел бы своим способом устранить два описанных недостатка.

Читать далее
Total votes 1: ↑1 and ↓0+1
Comments3

Простой вариант разношерстного recycler view на шаблоне Посетитель

Reading time13 min
Views6.7K

Прошло полгода, как я с паскаля перекатился на kotlin и влюбился в android-разработку, и вот уже разрешаю себе публично лезть со своими идеями в чужой монастырь. Но причина на то есть. Понаблюдав в профильных чатах за тем, какие чаще всего возникают вопросы у android-разработчиков, и не только у новичков, я понял, что в большинстве случаев, когда человек сталкивается с ошибкой, которую не может понять, как не может понять объяснение коллег из чата или их наводящие вопросы, причиной является бездумное использование готовых кусков кода или библиотек. Однако, полагаясь на готовые примеры кода, которые у них не работают (а в этой сфере код, написанный больше года назад, по умолчанию требует обновления или вообще переработки, и это касается кода со stack overflow, библиотечных гайдов и даже гайдов от самого Google), они не понимают причин возникающих ошибок или же отличающегося поведения, поскольку полагаются на библиотеку как китайскую комнату, не пытаясь разобраться в её архитектуре и принципах работы.

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

Читать далее
Total votes 1: ↑1 and ↓0+1
Comments0

Founders at Work: 160+ историй от основателей стартапов

Reading time25 min
Views3.2K
image

В прошлом году я делал подборку с историями от рускоговорящих основателей из YCombinator, недавно я поднапрягся и поискал по интернету все истории основателей на англиском языке (текст, аудио и видео). Нашел истории 160+ стартапов, рассказанные самими основателями (самое интересное и из первых рук), либо интервью с ними (тоже интересно), либо сторонний взгляд журналистов (ну хоть что-то).

Работа продолжается, и почти каждый день я нахожу новые истории (или мне их присылают) и добавляю их в каталог.

Отчасти эта работа продолжает книгу 2007 года Джессики Ливингстон «Founders at Work: Stories of Startups' Early Days» (на русском: «Как все начиналось. Apple, PayPal, Yahoo! и еще 20 историй известных стартапов глазами их основателей»), но у Джессики было 32 истории и получилась целая книга, а с тех пор уже «набежало» полторы сотни историй и это уже тянет на 5 книг. Поэтому решением может быть цифровая, постоянно дописываемая книга, в которую каждый может дописать (своими действиями и рефлексией) еще одну главу.

Моя цель — собрать все истории на всех языках.
Читать дальше →
Total votes 13: ↑3 and ↓10-4
Comments1

Какой Identity-провайдер выбрать для реализации технологии Single Sign On

Reading time11 min
Views13K

Всем привет! Меня зовут Екатерина Срибна, я Full Stack Developer в NIX. В этой статье я решила сравнить популярные инструменты аутентификации и авторизации, которые упростят работу с технологией единого входа — Single Sign On. Собранный мною материал будет полезен для новичков и специалистов с опытом. Статья ориентирована в основном на .NET-разработчиков, но есть здесь инсайты и для работающих с Java и JavaScript.

Читать далее
Total votes 3: ↑3 and ↓0+3
Comments5

Уж послала, так послала: словосочетания-паразиты в технических текстах

Reading time7 min
Views20K

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

Вспомним наш любимый мультфильм «Падал прошлогодний снег» с его шикарными крылатыми фразами. Одна из них: «Уж послала, так послала». Вот и система так же — вместо отправки запроса посылает его куда-то далеко. А запросу обидно.

Читать далее
Total votes 56: ↑47 and ↓9+50
Comments93

Adb-server в Kaspresso

Reading time5 min
Views4.7K

Всем привет!

Мы продолжаем нашу серию статей о Kaspresso!

Это первая статья из раздела advanced, в котором мы будем рассказывать о тонкостях и деталях реализации фичей Kaspresso.

Когда сравнивают фреймворки автоматизации (На чем писать Android UI-тесты), в плюс Appium часто записывают исполнение adb-команд. А вот у Espresso и UI Automator этого функционала нет.

В Kaspresso мы попробовали это исправить и добавили AdbServer, о котором и поговорим.

Познавать Kaspresso
Total votes 8: ↑7 and ↓1+7
Comments0

Автоматизация повышения качества кода в Android

Reading time8 min
Views9.4K

Современные мобильные приложения уже вполне серьезные Enterprise проекты, которые разрабатываются десятками, а то и сотнями разработчиков, содержат в себе множество тысяч строк кода и постоянно меняются и развиваются. Уследить за такой огромной кодовой базой помогает процесс автоматизации проверок кода и работы приложения. Сегодня расскажу о том какие инструменты вы можете использовать, чтобы улучшить стабильность вашего кода и не допускать ошибок, а также сэкономить время коллегам во время pull request.

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

Читать
Total votes 11: ↑11 and ↓0+11
Comments11

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity