Как стать автором
Обновить
-8
0

Пользователь

Отправить сообщение

В поиске оптимального подхода к миграциям в Go

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров15K

Привет! Меня зовут Нина, и я Golang разработчик.

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

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

Читать далее
Всего голосов 15: ↑12 и ↓3+12
Комментарии7

Job Market в США моими глазами

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров6.3K

Привет сообществу, в свободный час, решил поделиться с вами историей поиска работы в США в 2023-2024 году. На текущий момент живу в Беркли в Калифорнии. Нахожусь тут с лета 2021-го. И это, можно сказать, мой второй поиск работы.

Сейчас работаю в Realm, занимаюсь там созданием фичей вокруг генеративного ИИ и выведением их в прод. Два года довольно интенсивной работы, в настоящем кремнево-долинном стартапе. До этого работал в Сколтехе, в группе компьютерного зрения Е. Бурнаева, с ним и с другими невероятно талантливыми людьми.

Читать далее
Всего голосов 15: ↑12 и ↓3+13
Комментарии18

Как начать писать на Java в VSCode

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров23K

Давайте признаемся: подавляющее большинство пишет Java код, используя JetBrains IntelliJ IDEA Ultimate. Да, это отличная IDE. Для нее есть большое количество расширений, среда очень тесно интегрируется с Spring Framework и знает его особенности.

Тогда зачем пробовать что‑то другое?

Привет, Хабр! Меня зовут Константин Шибков, я Java‑разработчик в CDEK.

В какой‑то мере все Java‑разработчики стали заложниками IDEA. Она так привычна, что нет желания пробовать другое. Ведь всё такое удобное и знакомое за столько лет использования.

Но если у вас есть трудности с доступом к Ultimate версии, а Community вариант не достаточно функционален — самое время попробовать современную альтернативу — Visual Studio Code.

В статье делюсь опытом подготовки среды разработки и изучения вопроса: «А можно ли перейти на VSCode?».

Перейти на VSCode
Всего голосов 65: ↑64 и ↓1+69
Комментарии59

Бесшовность 2.0: как работает шардирование в Сбере

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров6.4K

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

Меня зовут Владимир Паршин, я ведущий ИТ-инженер в СберТехе. Расскажу, как выстроена работа с бесшовностью в Сбере.

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

Читать далее
Всего голосов 14: ↑11 и ↓3+14
Комментарии6

Топовые подходы к решению алгоритмических задач

Время на прочтение11 мин
Количество просмотров25K

Привет! Меня зовут Дмитрий Королёв, я бэкенд-разработчик в Авито. В этой статье я расскажу про ключевые аспекты и концепции работы с наиболее популярными алгоритмами и структурами данных. Это поможет и в реальных проектах, и чтобы глубже понять алгоритмические принципы. Статья подойдёт специалистам, которые хотят углубить свои знания в программировании, и укрепить навыки нахождения оптимальных решений алгоритмических задач.

Читать далее
Всего голосов 13: ↑13 и ↓0+16
Комментарии10

Что нужно знать джависту, чтобы пройти собеседование

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров18K

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

Читать далее
Всего голосов 21: ↑16 и ↓5+12
Комментарии17

PostgreSQL. Устройство карты свободного пространства

Уровень сложностиСредний
Время на прочтение24 мин
Количество просмотров2.8K

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

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

Читать далее
Всего голосов 12: ↑12 и ↓0+13
Комментарии2

Масштабирование подписок GraphQL в Go с использованием Epoll и архитектуры, основанной на событиях

Время на прочтение17 мин
Количество просмотров1.7K

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

Когда мы начали реализацию подписок GraphQL в Cosmo Router, мы сосредоточились на том, чтобы сделать это работающим. Это было несколько месяцев назад. Это было достаточно хорошо для первой итерации и позволило нам получить отзывы от наших пользователей и лучше понять проблемное пространство.

В процессе того, как мы делали это правильно, мы сократили количество горутин на 99% и потребление памяти на 90% без жертвования производительностью. В этой статье я объясню, как мы достигли этого. Использование Epoll/Kqueue сыграло большую роль в этом, но также переосмысление архитектуры, чтобы она была более событийно‑ориентированной.

Читать далее
Всего голосов 4: ↑2 и ↓2+2
Комментарии0

Переезд на линукс .NET разработчика. Как изменился линукс за 15 лет

Уровень сложностиПростой
Время на прочтение15 мин
Количество просмотров23K

Привет, Хабр! После написания двух статей про недостатки Windows и непонимание развития системы, я решил устроить бунт на своем компьютере, пересев на Линукс. Не то, чтобы я прям планировал всерьёз менять операционную систему, но чётко осознавал, что мои «знания» о линуксе сильно устарели, так как помимо хостинга и деплоя, я им пользовался дома очень давно, практически 15 лет назад. Тогда было много проблем со стабильностью как различных приложений, так и графический окружений в частности. Ну и как-то не очень объективно сравнивать современные версии от майкрософт со своими старыми воспоминаниями о линуксе, ведь прогресс не стоит на месте, дистрибутивы развиваются, а интерфейс приложений становится все более дружелюбным и приятным для использования. Так ведь?

Читать далее
Всего голосов 26: ↑23 и ↓3+23
Комментарии115

Курс «PostgreSQL для начинающих»: #1 — Основы SQL

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров56K

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

В программе: рассказ об основах SQL, возможностях простых и сложных SELECT, анализ производительности запросов, разбор [не]эффективного применения индексов и особенностей работы транзакций и блокировок в этой СУБД.

Курс не претендует на лавры "войти в айти", поэтому подразумевает наличие у слушателя опыта программирования или работы с другими СУБД, и, главное, желания самостоятельно изучать тему работы с PostgreSQL глубже.

Для тех, кому комфортнее смотреть и слушать, а не читать - доступна видеозапись.

Читать далее
Всего голосов 30: ↑29 и ↓1+33
Комментарии30

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

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров19K

Для всех джунов в разработке и тех, кто хочет ими стать.

Так бывает в жизни, что периодически каждый оказывается в роли джуна. Это не только про начало карьерного пути, но и про новые навыки: изучить новую технологию, язык программирования. А вдруг кто-нибудь из вас захочет резко сменить карьерный вектор и залететь в ИТ, например, из HR, как это сделала я?

Привет! Меня зовут Даша, я iOS-разработчик в Точке.

Так сложилось, что я побывала по обе стороны баррикад, причём, как ни забавно, в обратном порядке: пришла в разработку из HR. 

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

Жизнь длинная, и всё бывает: ещё вчера ты был уверенным в себе профессионалом, а сегодня стал беспомощным младенцем. И это не очень приятное ощущение. Хочется как можно быстрее превратиться обратно в самостоятельного человека. 

Лови 9 советов, которые помогут тебе сделать это легче.

Читать далее
Всего голосов 19: ↑12 и ↓7+6
Комментарии18

Мой опыт собеседования в Google [оффер на L5]

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров56K

Предупреждение: я не смогу привести в статье конкретные вопросы из-за подписанного соглашения о неразглашении (NDA).

Работая в лондонском офисе Facebook в команде Instagram*, я начал задумываться о возвращении в Индию. В ноябре 2022 года со мной связался рекрутер Google. Он сообщил об открытии в Бангалоре должности уровня L5 и спросил, интересно ли мне это.

Так как я уже раздумывал о переезде в Индию, то ранее собеседовался в Google, но мне предложили более низкую должность (L4), чем я хотел; потом я устроился в META* на уровень E5.

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

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

На этот раз в процессе подготовки возникла уникальная для меня сложность — счастливое пополнение в моей семье, дочка. За моё внимание боролись подгузники и кодинг, было очень сложно выделить время на сосредоточенную подготовку! У меня было примерно 25-30 дней на освоение и искусства ухода за ребёнком, и прохождения собеседования.
Читать дальше →
Всего голосов 62: ↑58 и ↓4+82
Комментарии95

Мапы в Go: уровень Pro

Время на прочтение16 мин
Количество просмотров27K

Подробный туториал по процессам записи и чтения данных в мапах Go. Объясняем проблемы переполнения, эвакуации элементов; важность передачи количества элементов при создании мапы. Рассказываем, почему в Go нельзя обращаться к ключу или значению по адресу.

Читать далее
Всего голосов 14: ↑12 и ↓2+15
Комментарии11

Рейтинг IT-брендов работодателей 2023

Время на прочтение5 мин
Количество просмотров119K

Всем привет! С 2020 года команда ЭКОПСИ и Хабра проводит Всероссийское исследование IT-брендов работодателей и делится результатами, чтобы соискатели с компаниями лучше понимали актуальную картину на рынке и друг друга. Результаты прошлогоднего исследования тут.

В этом году в контур опроса попало 23 806 респондентов. Он проходил с 15 июня по 15 сентября. Как и всегда, мы спрашивали IT-специалистов, насколько та или иная компания им известна как место работы + как они оценивают её привлекательность в качестве работодателя. Помимо общего рейтинга и паспорта исследования, под катом вы найдёте срезы по конкретным отраслям бизнеса и объёму IT-департаментов (для максимальной объективности результатов).

Поехали
Всего голосов 42: ↑37 и ↓5+49
Комментарии66

Организация стенда локальной разработки для самых маленьких с автоматической пересборкой приложения (фронтенд + бэкенд)

Уровень сложностиПростой
Время на прочтение25 мин
Количество просмотров15K

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

Бэкенд приложения напишем на Go, а фронтенд — на Vue.js. Все это позволит быстро запускать проект для тестирования прямо во время разработки, что, несомненно, повысит удобство работы с приложением.

Читать далее
Всего голосов 33: ↑31 и ↓2+36
Комментарии4

Создание и тестирование gRPC сервиса (Spring Boot приложение)

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров11K

Привет, Хабр! Сегодня я поделюсь опытом работы с gRPC и расскажу, как создать и протестировать gRPC-сервис в приложении на Spring Boot. Основная проблема — это отсутствие структурированной информации по корректному тестированию gRPC сервиса. Эта статья будет полезна для тех, кто только начинает знакомиться с gRPC и ищет руководство по написанию и тестированию сервисов.

Читать далее
Всего голосов 5: ↑5 и ↓0+5
Комментарии11

Дёшево, сердито и не жмёт: как работает запуск контейнеров в Yandex Serverless Containers

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров6.5K
Если нужно запустить сайт или веб-приложение в облаке, то привычным для многих способом будет аренда виртуальной машины с определённым объёмом памяти и параметрами CPU. Берём ресурсы чуть-чуть с запасом, чтобы приложение не тормозило и не теряло пользовательские запросы, и платим постоянный тариф за аренду мощностей провайдера. Но в таком случае всегда есть переплата за фактически неиспользуемую часть ресурсов, а часть ответственности за надёжность решения несёт сам пользователь.

Облачные решения сегодня предлагают несколько вариантов запуска контейнеров, и serverless-подход — один из них. Если разместить код приложения в Serverless Containers, облако само запустит нужный контейнер с вашим сервисом тогда, когда появится потребность в его вызове. Разница не только в тарификации по времени работы контейнера, но и в эластичности. Если нагрузка резко возрастёт, то сервис запустит дополнительные экземпляры контейнера. Но и здесь есть свои ограничения. 

В этой статье покажем, какие есть способы запуска контейнеров в Yandex Cloud, и расскажем, как и когда лучше запускать контейнеры в Serverless Containers. Материал может пригодиться бэкенд-разработчикам, DevOps-инженерам и системным администраторам.
image
Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Комментарии5

Снятие с воинского учета. Дистанционно. Пакет документов

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров49K

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

Если вкратце, то рабочий кейс, это когда: (А) имеется основание для снятия: уже живете зарубежом полгода, либо имеется иностранный ВНЖ, (B) грамотно составлено заявление на снятие с учета и подписано вашей подписью, (C) в военкомат идет ваш представитель по доверенности, которая оформлена у российского нотариуса или в зарубежном консульстве РФ.

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

Читать далее
Всего голосов 71: ↑61 и ↓10+71
Комментарии83

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

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров25K

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

Читать далее
Всего голосов 14: ↑8 и ↓6+3
Комментарии5

Go To Memory

Время на прочтение9 мин
Количество просмотров38K

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

Меня зовут Антон Киреев, я бэкенд-разработчик с опытом работы больше 11 лет. В настоящее время работаю техлидом в Авито. В жизни мне нравятся две вещи: приносить пользу своей работой и проводить свободное время с семьёй. Именно поэтому я люблю делать что-то быстро, но качественно, а потом отдыхать. Для этого я постоянно учусь и пытаюсь докапываться до сути вещей. Сегодня поговорим, как наша любимая Гошечка работает с памятью.

Читать далее
Всего голосов 44: ↑31 и ↓13+25
Комментарии13
1
23 ...

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность