Pull to refresh
0
0
Send message

Стейт-машины: The Good, The Bad and The Ugly

Reading time7 min
Reach and readers7.2K

Стейт-машины: The Good, The Bad and The Ugly 

Привет! Меня зовут Дарья Андреева, я тимлид в команде бэкенда Биллинга Яндекс 360. Яндекс 360 объединяет такие сервисы, как Диск, Телемост, Почта и другие, в единую экосистему, а мы собираем их в цельный продукт и реализуем функции оплаты и подписочные модели. 

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

Читать далее

Оценка аналитика: взгляд со стороны IT-рекрутера

Level of difficultyEasy
Reading time9 min
Reach and readers8.7K

Привет, Хабр! Меня зовут Лиза, и я — руководитель команды подбора. В течение последних 3 лет я активно занимаюсь подбором IT‑специалистов, а системные аналитики занимают отдельное место в моем сердце. За это время я отсмотрела не одну тысячу резюме и провела несколько сотен собеседований. В данной статье я расскажу, как проходит оценка тех.скиллов на этапе IT‑рекрутера, и на что мы обращаем внимание во время общения. Вместе разберем ход собеседования на примере реальной вакансии системного аналитика. А также я поделюсь небольшими лайфхаками, как сделать взаимодействие аналитика и IT‑рекрутера продуктивным и приятным.

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

Читать далее

Метод улитки: как я начал писать лучшую в мире книгу про финансы, и зачем нам нужен капитал

Reading time12 min
Reach and readers16K

В июле 2021 года в моей жизни произошло два важных события: я переехал на Кипр и начал писать книгу про личные финансы и инвестиции. Естественно, в моей голове она представлялась будущей лучшей в мире книгой по теме (ну а иначе – зачем вообще садиться ее писать?).

Читать далее

Что (и как!) послушать, посмотреть и почитать IT-специалисту, чтобы подтянуть английский

Level of difficultyEasy
Reading time7 min
Reach and readers17K

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

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

Читать далее

Как объяснить градиентный спуск вашей маме: простое руководство

Level of difficultyEasy
Reading time7 min
Reach and readers32K

Градиентный спуск лежит в основе большинства методов AI/ML. Звучит как-то странно и пугающе. Спуск? Блин, надеюсь, мне не придется прыгать с парашютом...?

Не волнуйтесь, возможно, все же придется прыгнуть, но только если вы этого захотите. Это объяснение способен понять даже ваш 10-летний племянник.

Читать далее

Знания программиста — все что нужно для создания ПО, но почему вы еще не бизнесмен

Level of difficultyEasy
Reading time7 min
Reach and readers10K

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

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

Читать далее

Observability. Часть 1, про логи

Level of difficultyEasy
Reading time15 min
Reach and readers12K

"Пираты журнального моря"

Автор — Игорь Овсянников, декабрь 2023 г. DevOps инженер в GFN.AM, преподаватель курса DevOps в OTUS.

Каждый раз, решая инцидент или аварию в инфраструктуре, я задумывался: а можно ли было это предусмотреть? Можно ли было быстрее узнать о проблеме, самостоятельно, а не от недовольных клиентов? Сейчас я считаю, что можно, с хорошо настроенным мониторингом и observability pipelines.

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

Читать далее

Роадмэп по современному фронтенду от KTS

Level of difficultyEasy
Reading time25 min
Reach and readers71K

Привет! Меня зовут Фёдор, я фронтенд-тимлид в KTS и преподаватель школы Metaclass.

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

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

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

Читать далее

Разворачиваем и заворачиваем в docker проект ASP.NET core на Ubuntu в связке с PostgreSQL

Level of difficultyEasy
Reading time5 min
Reach and readers25K

На просторах интернета заметил, что довольно мало статьей про ASP.NET под Linux. К сожалению, новички вроде меня копаются часами в поисках нужной информации, поэтому в этой статье мы вместе развернём минимальное приложение ASP.NET core под Linux в среде Ubuntu и в связке с PostgreSQL и с котиками на сервере nginx, а также упакуем всё в docker контейнеры. В ходе этой статьи мы разберём некоторые консольные команды для ежедневного пользования.

Приступить к чтению

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

Level of difficultyEasy
Reading time9 min
Reach and readers45K

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

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

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

Читать далее

OpenAI GPTs: пошаговое руководство для создания с практическими примерами, ACTIONS и внешние API

Reading time14 min
Reach and readers115K

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

В этой статье я расскажу как создавать кастомные GPTs под конкретные задачи и приведу примеры практических реализаций. Поделюсь идеями использования GPTs и расскажу о текущих проблемах при реализации. Разберем использование Instructions, Knowledge, Actions, подключение сторонних API.

Читать далее

Как научиться писать статьи (для Хабра и не только)

Reading time14 min
Reach and readers38K

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

Что может быть проще! Берёшь бумагу и ручку, или пишущую машинку, или что там у вас нынче в моде, и пишешь статью.

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

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

На самом деле знают, но почему-то превращают это знание в кучу эзотерических фактов о жизни фей в райских садах. Почему? Не знаю. Возможно потому, что сами такие люди ничего не знают о том, как что-то написать. А ведь это — достаточно просто. Посему, прошу под кат, я вам дам реальные советы по поводу того, как научиться хорошо писать интересные статьи.
Читать дальше →

Почему правило «если мне 20 раз выпал орёл, то в 21-ый точно выпадет решка», в действительности, не работает

Reading time5 min
Reach and readers20K

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

Разберёмся в том, является ли монетка git-ом, влияет ли на неё память вселенной, а так же -- стоит ли ходить в казино, и как правильно оценивать вероятность провала.

Хммм, любопытно...

System Design 101

Level of difficultyMedium
Reading time42 min
Reach and readers192K



О сложных системах простыми словами.


В шпаргалке на высоком уровне рассматриваются такие вещи, как протоколы коммуникации, DevOps, CI/CD, архитектурные паттерны, базы данных, кэширование, микросервисы (и монолиты), платежные системы, Git, облачные сервисы etc. Особую ценность представляют диаграммы — рекомендую уделить им пристальное внимание. Полагаю, шпаргалка будет интересна всем, кто хоть как-то связан с разработкой программного обеспечения и, прежде всего, веб-приложений. Буду признателен за помощь в уточнении/исправлении понятий, терминологии, логики/алгоритмов работы систем (в рамках того, что по этому поводу содержится в оригинале), а также в обнаружении очепяток.


Выражаю благодарность Анне Неустроевой за помощь в редактировании материала.


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


System Design (сборник на английском языке).

Читать дальше →

Асинхронность, конкурентность, параллельность, многопоточность — разбираемся «по понятиям» :)

Reading time15 min
Reach and readers34K

Эта статья представляет собой краткий (шутка!) конспект одноименного (почти) вебинара, недавно проведенного автором.

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

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

Лонг-рид с кодом ждёт вас!

Построение гибкой и распределенной архитектуры с использованием Kafka и Kafka Connect: Часть 2 — Получатель и Helm Chart

Level of difficultyMedium
Reading time18 min
Reach and readers7.1K

Данная статья является продолжением статьи - Ивентная модель данных с использованием Kafka и Kafka Connect: Построение гибкой и распределенной архитектуры.

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

Читать далее

Настройка авторизации через ssl сертификат на уровне nginx

Level of difficultyMedium
Reading time5 min
Reach and readers20K

Привет уважаемые, хабровчане!

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

Читать далее

Как запоминать слова в английском языке? И не забывать их

Level of difficultyEasy
Reading time16 min
Reach and readers62K

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

(говоря «слова» я конечно имею в виду и фразы и реплики тоже»)

Тема статьи — популярная, обширная (гугл выдаст десятки методов запоминания иностранных слов). И это понятно. Будете знать грамматику и иметь некий запас слов — сможете заговорить. Хорошей новостью является то, что пока вы можете обучаться новому (запоминать новые имена на работе, читать и использоваться инструкции, пересказывать где‑то услышанные истории), нет никаких оснований полагать, что вы не сможете расширять свой словарный запас в английском языке.

Поскольку методов существует множество, то самым правильным ответом будет: запоминайте так, как вам удобно, главное — повторить информацию нужное количество раз.

Читать далее

Как делается OpenSource: личный опыт

Level of difficultyMedium
Reading time17 min
Reach and readers42K

Я - автор двух пакетов, входящих более-менее во все дистрибутивы Linux: sane-airscan и ipp-usb.

Кроме того, sane-airscan входит во все основные дистрибутивы BSD (FreeBSD, NetBSD и OpenBSD) и в ChromeOS. ipp-usb в ChromeOS не взяли потому, что он написан на Go, а у них там очень жестко с размером исполняемых файлов, вместо этого они написали свое на Rust, но предпочли бы взять моё изделие, если бы могли. Совсем недавно появился порт ipp-usb на FreeBSD, вероятно, другие BSD тоже скоро подтянутся.

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

Кроме того, ipp-usb делает возможным "бездрайверную" печать на USB-устройствах.

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

В целом, я полагаю, продвижение OpenSource пакетов структурно близко к продвижению на рынок программных продуктов. Занимаясь этой деятельностью, очень хорошо начинаешь понимать разницу между (1) написать программу, которая работает для меня (2) написать программу, которую можно назвать продуктом (3) вывести продукт на рынок.

Первое занимает гораздо меньше времени, чем второе. Второе - гораздо меньше времени, чем третье.

Читать далее

Как взрослому выучить английский: 7 шагов от азов до свободного владения

Reading time19 min
Reach and readers454K

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

Читать далее

Information

Rating
Does not participate
Registered
Activity