Pull to refresh
0
0
Send message

Три фичи PostgreSQL, которые будут полезны каждому новичку

Reading time5 min
Views20K

Думаю, вы знаете, что поиск эффективных решений – это половина успеха. Я сам прошел через все эти тернии, когда работа с данными казалась слишком сложной и запутанной. И именно тогда я открыл для себя потрясающие возможности PostgreSQL, которые значительно упростили мою жизнь.

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

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

Читать далее
Total votes 19: ↑14 and ↓5+11
Comments15

Настройка почтового сервера Yandex spring boot

Level of difficultyEasy
Reading time3 min
Views3.4K

В этой статье я бы хотел рассказать, как настроить отправку почты со своей личной почты, используя яндекс и Spring boot. Видел много статей по настройке smtp сервера на Spring boot, но без связки с яндексом. А это ключевой момент, так как найти бесплатные smtp сервера не так то просто.

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

По сути, с яндексом мы закончили.

Переходим в наш проект. Я предполагаю что у вас уже настроен Spring boot. Так что нужно добавить зависимость для почты. Я использую Gradle, так что у меня это выглядит так:

Читать далее
Total votes 8: ↑3 and ↓5+1
Comments6

Мем айсберг SQL: погружение в глубины баз данных

Level of difficultyMedium
Reading time53 min
Views18K

Мем айсберг SQL: погружение в глубины изучения баз данных

Мем айсберг SQL — это вирусное интернет-изображение, изображающее айсберг с несколькими слоями. Вершина айсберга содержит общеизвестные концепции и инструменты SQL, такие как операторы SELECT и JOIN. Однако по мере погружения под воду становятся видны более абсурдные и малоизвестные аспекты SQL.

Читать далее
Total votes 23: ↑21 and ↓2+23
Comments6

Организация обработки асинхронных событий с Spring Events и Spring AMQP

Level of difficultyMedium
Reading time8 min
Views2.2K

Асинхронная обработка событий – один из базовых инструментов на сегодняшний день, позволяющий создавать масштабируемые и отзывчивые приложения. Сегодня мы рассмотрим два инструмента из Spring Framework – Spring Events и Spring AMQP, которые помогают управлять асинхронными задачами.

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

Как стать Java-разработчиком бесплатно? Программа обучения с нуля

Level of difficultyEasy
Reading time2 min
Views24K

Если вбить «как стать java разработчиком» в поисковую строку, можно найти тысячу курсов по данному направлению. Проблема в том, что все курсы являются платными и, как правило, стоят несколько десятков, если не сотен тысяч рублей. 

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

Читать далее
Total votes 29: ↑24 and ↓5+19
Comments4

На чем разработать свой стартап или с чего начать хакатон в 2024? (часть 1)

Level of difficultyMedium
Reading time5 min
Views5.4K

Попробуем собрать свой идеальный boilerplate для full-stack разработки в 2024 году. В этой статье мы будем постепенно собирать свой шаблон для быстрого запуска стартапов.

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

Читать далее
Total votes 8: ↑6 and ↓2+7
Comments13

Как стать нормальным системным администратором? Дополнения и ответы на вопросы

Level of difficultyEasy
Reading time25 min
Views8.8K

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

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

Читать далее
Total votes 17: ↑12 and ↓5+8
Comments80

Как писать требования к проекту. Шаблон документации

Level of difficultyEasy
Reading time4 min
Views22K

Хабр, привет!

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

Идеальная документация должна выполнять две основные функции...

Читать далее
Total votes 13: ↑11 and ↓2+11
Comments11

Привычка быть SOLIDным разработчиком

Level of difficultyMedium
Reading time20 min
Views16K

Привет, Хабр! Меня зовут Грант, я уже 5 лет занимаюсь backend-разработкой в SimbirSoft, а с 2021 года возглавляю Backend-отдел компании в Краснодаре. В последние несколько лет неоднократно замечаю, что на входном интервью соискатели часто путают принципы разработки. Поэтому в этой статье решил разобрать, как проще их понимать, какие связи между ними прослеживаются, стоит ли учить все или что-то можно пропустить. А еще попробую раскрыть некоторые особенности, какие секреты скрывают популярные принципы разработки.

Погрузиться 👀
Total votes 15: ↑12 and ↓3+11
Comments5

Как объяснить суть Kubernetes таксисту

Level of difficultyMedium
Reading time6 min
Views36K
image

Не так давно я побывала на конференции Kubecon 2023 в Чикаго. Готовясь к конференции, я почитала статьи в блогах, а на самой конференции посетила несколько семинаров для начинающих (в жанре «101»). Но всё равно не могла сказать, что уверенно понимаю эту технологию. Хуже всего прошёл последний день конференции. Я решила добираться в отель на такси и вызвала Uber. И водитель спрашивает: «А о чём была конференция»? Я ему отвечаю: «О Kubernetes». Попыталась объяснить, но почти сразу поняла, что двух слов на эту тему связать не смогу.

Только представьте себе: уезжать с трёхдневной конференции, но быть не в силах рассказать таксисту о той технологии, которая на ней обсуждалась. Фейспалм. Поэтому теперь попытаюсь реабилитироваться и пофантазировать, как следовало бы рассказать о Kubernetes таксисту Uber.
Читать дальше →
Total votes 21: ↑16 and ↓5+17
Comments18

Курс «PostgreSQL для начинающих»: #4 — Анализ запросов (ч.1 — как и зачем читать планы)

Level of difficultyMedium
Reading time16 min
Views33K

Продолжаю публикацию расширенных транскриптов лекционного курса "PostgreSQL для начинающих", подготовленного мной в рамках "Школы backend-разработчика" в "Тензоре".

В этой лекции мы узнаем, что такое план выполнения запроса, как и зачем его читать (и почему это совсем непросто), и о каких проблемах с производительностью базы он может сигнализировать. Разберем, что такое Seq Scan, Bitmap Heap Scan, Index Scan и почему Index Only Scan бывает нехорош, чем отличается Materialize от Memoize, а Gather Merge от "просто" Gather.

Как обычно, для предпочитающих смотреть и слушать, а не читать - доступна видеозапись (часть 1, часть 2) и слайды.

Читать далее
Total votes 34: ↑33 and ↓1+37
Comments4

Бэкапы для самых маленьких и матерых

Level of difficultyEasy
Reading time9 min
Views15K

Представьте: вы недавно основали небольшое веб-приложение. Но только он стал расти как полноценный проект — Бац! — серверы легли, а данные не сохранились. Нужно было делать бэкапы. Казалось бы, совет достаточно простой и базовый, но какой тип резервного копирования выбрать? И как правильно к нему «подойти»?

Сегодня — международный день бэкапов. Кажется, это отличный повод, чтобы вспомнить, почему резервное копирование так важно, какое оно бывает и как его настроить. Подробности под катом!
Читать дальше →
Total votes 27: ↑26 and ↓1+34
Comments10

Безопасность веб-приложений: анализ методов защиты от атак на уровне Backend

Level of difficultyMedium
Reading time18 min
Views6.7K

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

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

Целью данной работы является анализ и оценка методов защиты веб-приложений на уровне Backend от различных видов угроз и атак.

Читать далее
Total votes 6: ↑4 and ↓2+2
Comments2

Базовая гигиена серверов Linux (часть 1)

Reading time8 min
Views23K

Всем привет! Для того, чтобы усилить безопасность серверов Linux привожу ниже советы, основой которых является публикация 40 Linux Server Hardening Security Tips [2023 edition] Вивека Гите. В приведенных инструкциях предполагается использование дистрибутив Linux на базе Ubuntu/Debian. Часть материала от автора я опускаю, так как публикация ориентированна на безопасность хостов Linux в инфраструктуре.

!!! Приведенные ниже рекомендации необходимо тестировать на совместимость с используемыми сервисами. Веред внедрением рекомендую провести тестирование на каждом отдельном типе сервера/приложения. !!!

Читать далее
Total votes 27: ↑21 and ↓6+19
Comments24

Nginx: шпаргалка

Level of difficultyEasy
Reading time2 min
Views24K

Шпаргалка по основным секциям Nginx, которые следует держать под рукой. Ниже приведены самые частые функции: включение SSL, переадресация, раздача статики и т.д.

Читать далее
Total votes 31: ↑15 and ↓16+1
Comments18

Сказ о том, как я за год решил более 600 leetcode задач

Level of difficultyEasy
Reading time7 min
Views98K

Всем салют!

Хочу рассказать вам историю о том, как я начинал с уровня — «не могу решить даже 1 easy задачу из 10» до уровня — «могу решить каждую вторую medium задачу» и прошел несколько coding сессий в таких компаниях как Meta, Booking, Careem, Avito...

Читать далее
Total votes 121: ↑112 and ↓9+129
Comments407

JWT-аутентификация при помощи Spring Boot 3 и Spring Security 6

Level of difficultyMedium
Reading time15 min
Views56K

Переход от базовых приложений к более сложным требует использования Spring Security для обеспечения безопасности. Новая версия, Spring Security 6, изменяет некоторые базовые реализации, а русскоязычных материалов на эту тему очень мало. В этой статье мы рассмотрим JWT-аутентификацию и авторизацию с помощью Spring Boot 3 и Spring Security 6, чтобы помочь начинающем разработчикам разобраться и начать пользоваться базовым функционалом этой библиотеки. Цель данной статьи - показать, как использовать JWT-аутентификацию с API-интерфейсами.

Читать далее
Total votes 15: ↑12 and ↓3+10
Comments12

Как я с 0 поднял свой уровень английского до B2 и подтвердил этот уровень на экзамене IELTS Academic

Level of difficultyEasy
Reading time10 min
Views162K

Привет, Хабр!

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

Начнем с бекграунда и причин.

Я – инженер машиностроитель (мой профиль – торцевые уплотнения вращающихся валов). Я начал работать в своей отрасли сразу после бакалавра, параллельно заканчивая магистратуру, и как только я начал работать, я стал стараться впитать как можно больше теоретических знаний по моей специальности из академических источников. Достаточно бысто я понял, что последняя серьезная книга по моей специальности на русском языке была написана в 1978 году. И спустя больше чем 40 лет технологии сильно поменялись, а вот их описание на русском языке отсутствовает. Зато я нашел на reddit людей работающих в штатах в моей же отрасли. Они мне насоветовали кучу классной литературы. Разумееется, она вся на английском, и русского перевода не имеет.

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

Конечно, перед началом обучения я прочитал много статей на хабре о том как люди учат языки. Некоторые из них поражали скоростью овладения материалом (что-то вроде с нуля до fluent за 4 месяца). Но одна вещь была неизменна – у всех был какой-то план изучения языка.

Читать далее
Total votes 150: ↑146 and ↓4+165
Comments220
1
23 ...

Information

Rating
4,576-th
Registered
Activity