Pull to refresh
0
0.3
Send message

Полный гайд по CSS Flexbox с примерами из практики

Level of difficultyEasy
Reading time10 min
Views9.9K

Привет! Сегодня мы поговорим про flexbox в css. Это очень важная тема, в которой должен разбираться каждый фронтенд-разработчик или верстальщик. Я покажу вам как flexbox работает на реальных примерах. А в конце статьи покажу лайфхаки, которыми сам постоянно пользуюсь на работе.

Читать далее
Total votes 30: ↑28 and ↓2+30
Comments8

15 ресурсов по Git. Что почитать/посмотреть?

Level of difficultyEasy
Reading time2 min
Views24K

Всем привет! В этот раз собрали подборку вспомогательных материалов для изучения Git. Удобство и гибкость сделали Git стандартом для большинства современных IT-компаний. Поэтому умение работать с ним критично для любого программиста.

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

Читать далее
Total votes 12: ↑8 and ↓4+4
Comments6

Кастомизация резолвинга зависимостей в Spring

Reading time21 min
Views13K
Привет! Меня зовут Андрей Неведомский и я главный инженер в СберТехе. Я работаю в команде, которая занимается разработкой одного из системных сервисов ЕФС (Единой Фронтальной Системы). В своей работе мы активно используем Spring Framework, в частности его DI, и время от времени сталкиваемся с тем, что резолвинг зависимостей в спринге оказывается недостаточно «умным» для нас. Эта статья – результат моих попыток сделать его умнее и в целом разобраться с тем, как он работает. Надеюсь, и вы сможете узнать из неё что-то новое об устройстве спринга.


Читать дальше →
Total votes 21: ↑20 and ↓1+19
Comments3

Подготовка к техническому собеседованию Senior/Team Lead backend

Level of difficultyMedium
Reading time3 min
Views19K

Недавно появились мысли походить на собеседования чем я успешно занялся. Если конкретно - смотрел лидовскую/сеньерскую позиции на Python и Golang(но статья может пригодиться backend разработчикам в целом). Не ставлю целью статьи объять все не объятное и дать какие-то гарантии. Я лишь зафиксирую данные для себя на будущее.

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

Сразу сделаю пометку, что некоторые навыки/ресурсы специфичны(по типу нарешивания Leetcode), но отталкиваемся от текущих реалий рынка.

Читать далее
Total votes 22: ↑21 and ↓1+22
Comments13

Доступ к Docker Hub из России. Как подключиться к Docker Hub после блокировки

Level of difficultyMedium
Reading time2 min
Views27K

30 мая 2024 Docker Hub заблокировал пользователей из России, что повлияло на многие сервисы и проекты. В том числе на наш. В статье будет несколько способов оперативно получить доступ к Docker Hub из России.

Читать далее
Total votes 25: ↑19 and ↓6+16
Comments22

Финансовая арифметика в PostgreSQL

Level of difficultyEasy
Reading time5 min
Views9.9K

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

Читать далее
Total votes 30: ↑26 and ↓4+28
Comments53

Как мы в 4 раза ускорили мобильную версию ВКонтакте

Level of difficultyMedium
Reading time9 min
Views5.8K

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

Меня зовут Тарас Иванов, уже семь лет я развиваю фронтенд ВКонтакте, а сейчас руковожу командой, которая занимается производительностью и инфраструктурой. В статье я расскажу, как мы с командой ускорили загрузку m.vk.com в 4 раза, на какие метрики обращали внимание и какие сервисы использовали для оценки эффективности. Описанные способы и инструменты помогут повысить производительность в любом проекте: от многостраничных платформ с большим количеством legacy до свежих лаконичных лендингов. Актуально как для мобильной, так и десктопной версий.  

Читать далее
Total votes 13: ↑12 and ↓1+20
Comments12

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

Reading time8 min
Views6.6K
Начнём с простого вопроса. В самом ли деле каждый Java-разработчик понимает, как в Java работает память? Одна из обязанностей любого Java-разработчика — гарантировать, что в результате тонкой настройки приложения на Java из него получится выжать такую производительность, какую только возможно. Требуется время, чтобы научиться управлять памятью в Java и понять этот процесс, это касается всех, кто имеет дело с Java. В этой статье попробую объяснить, как овладеть этими умениями.
Читать дальше →
Total votes 13: ↑12 and ↓1+18
Comments6

Путеводитель по Docker. От основ контейнеризации до создания собственного докера

Reading time10 min
Views24K

Добрый день! Сегодня мы поговорим о контейнеризации, а именно о наиболее популярной на данный момент технологии её реализации - Docker. Также вашему вниманию будут представлены уязвимости при реализации данной технологии.

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

REST API на котиках

Level of difficultyEasy
Reading time7 min
Views25K

Привет любителям котиков! Меня зовут Юля, я backend‑разработчик компании CDEK. Я сама не так давно изучала все эти сложные понятия в программировании, поэтому решила помочь и вам разобраться с одним из них.

С какой стороны IT вы бы не пытались войти — в какой‑то момент столкнётесь с понятием REST API. Эта статья создана, чтобы смягчить данное столкновение. Новые темы всегда легче воспринимаются на простых примерах, ну а если это примеры с котиками, то варианта не разобраться просто нет. Хочется обойтись без сложных научных определений, а рассказать самым простым языком. Поэтому, если вы любите сухие и точные формулировки, то вам нужна другая статья :)

Читать далее
Total votes 63: ↑60 and ↓3+61
Comments26

Неожиданные последствия запуска PostgreSQL в Docker: замедление запросов в 100 раз

Level of difficultyMedium
Reading time4 min
Views43K

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

Читать далее
Total votes 95: ↑84 and ↓11+93
Comments57

Что нам стоит код написать: 5 нейросетей, которые помогают разработчикам программировать

Reading time4 min
Views15K

В ближайшем обозримом будущем ИИ будет помогать человеку во всё большем количестве отраслей. Включая, конечно, и разработку. Как известно, уже сейчас есть нейросети, которые способны оказывать неплохую помощь программистам. В этой подборке расскажем о пяти таких нейронках. Самую популярную из них, GitHub Copilot, упоминать не будем, поскольку о ней и так все и всё знают. Подробности о других пяти инструментах — под катом.

Читать далее
Total votes 18: ↑13 and ↓5+19
Comments3

Каким может быть алгоритмическое собеседование и как к нему подготовиться

Reading time4 min
Views12K

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

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

Смотреть и читать
Total votes 17: ↑10 and ↓7+5
Comments28

Внутренний мир: Java NIO

Level of difficultyMedium
Reading time15 min
Views9.4K

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

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

Неблокируемый ввод/вывод был реализован в пакете java.nio Java SE 1.4. К сожалению, в ежедневной практике нечасто приходится иметь дело с низкоуровневым I/O, и намного чаще при необходимости используются стримы из java.io. В этой статье будет описано содержание Java NIO, несколько примеров и принцип работы неблокируемого I/O.

Читать далее
Total votes 11: ↑10 and ↓1+11
Comments7

Книги, которые нас выбирают

Level of difficultyEasy
Reading time6 min
Views18K

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

Я не планировал продолжать эту тему, но сейчас вижу, что кое в чем, статью надо дополнить. Это дополнение не будет повторять или расширять статью очередными мыслями и наблюдениями; все это в ней уже есть и добавить мне нечего. Просто, читая комментарии, я понял, что об одной детали я упомянул, но толком не рассказал. Из‑за чего у части комментаторов возникли сомнения в сегодняшней ценности книг, доступных мне в то время, когда я начинал карьеру программиста. Мне кажется, это не очень справедливо и хотя я, бесспорно, не объективен, но, тем не менее, решил немного об этом рассказать.

Я расскажу о тех книгах, что были мне доступны в 1987–1993 гг., т. е. тогда, когда я совмещал работу инженера с программированием. Конечно, я упомяну только те книги, что мне действительно помогли; полный список литературы слишком обширен и упоминание их всех больше походило бы библиотечный каталог, чего я делать не намерен. Условно эти книги можно отнести к одной из нижеследующих категорий. Итак — вот мой «золотой фонд».

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

Всё ещё используете If/else валидацию в Spring 6.0+ / SpringBoot 3.0+?

Reading time12 min
Views15K

Чтобы избежать влияния несанкционированных параметров на ваш бизнес, в ваших веб-сервисах должна быть реализована проверка параметров на уровне контроллера! В большинстве случаев параметры запроса можно разделить на два следующих вида:

— POST и PUT-запросы, использующие requestBody для передачи параметров.
— GET-запросы, использующие requestParam/PathVariable для передачи параметров.

Читать далее
Total votes 18: ↑13 and ↓5+9
Comments11

Превращение событий PostgreSQL в события Laravel

Level of difficultyEasy
Reading time12 min
Views4.7K

В прошлый раз я описал, как можно поставить задачу (Job) в очередь Laravel из хранимой процедуры или триггера PostgreSQL.

В этой статье я расскажу, как можно преобразовать события, возникающие в PostgreSQL, в события Laravel.

Рабочий пример выложен на GitHub.

Читать далее
Total votes 10: ↑9 and ↓1+14
Comments7

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

Level of difficultyEasy
Reading time6 min
Views30K

В основном я учился программированию самостоятельно. Когда у меня появлялась захватывающая идея, я разбирался, что необходимо для решения этой задачи. Например, когда я заинтересовался работой поисковых движков, то начал читать о вычислительной эффективности множеств. Так я обнаружил задачу «как понять, что я уже выполнил краулинг этого URL?», если их уже были тысячи. Чтобы ускорить ответ на этот вопрос, я использовал множество, поиск по которому занимает O(1), а не O(n).

Изучение того, что нужно для решения задачи, увлекательно, но при движении по собственному пути в кодинге в твоих знаниях остаются пробелы. Мне кажется, что если постоянно ставить перед собой сложные задачи, то эти пробелы будут заполняться по ходу. (Даже если это займёт больше времени, чем при прохождении курса. Интерес — важный мотиватор движения вперёд; стремитесь к тому, что любопытно вам.)

В тот момент, когда я начал понимать вычислительную эффективность и стремиться к ускорению своих программ, я как раз решал задачу, связанную с поисковым движком. С тех пор я иногда задаюсь вопросом: что стоит сделать дальше? Каким будет моё следующее сложное задание? Это сильно зависит от имеющихся у вас на текущий момент знаний; некоторые идеи имеют смысл, другие пока недостижимы. Так мы и учимся.

Я решил составить собственный список проектов, поддерживающих мой интерес к программированию. Это список в стиле серии Challenging projects every programmer should try Остина Хенли.

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

Information

Rating
2,081-st
Registered
Activity