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

Как стать автором

Отправка данных из Яндекс.Формы в Telegram

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

Кто-то пользуется в своих рабочих целях Яндекс формы (forms.yandex.ru) и не всегда удобно мониторить почту, особенно рабочую. И тогда я для себя поставил вопрос: "Можно ли отправлять уведомления через Telegram бота из Яндекс Формы?" и первый ответ в поиске дал ответ на мой вопрос: "Да, можно", но эта инструкция немного устарела.

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

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

Код-ревью: борьба или мотивация?

Время на прочтение6 мин

Привет! Меня зовут Илья, последние 7 лет я занимаюсь фронтендом и наконец решил отметиться на Хабре. Стартую с темы, которая, как кажется, уже успела приесться, но всё ещё вызывает жаркие споры — код ревью (CR). Не смотря на сотни статей и мануалов, каждая команда подходит к этому процессу по‑своему. Хочется зафиксировать и осмыслить собственный опыт, показать, как мы подходили к настройке процесса в реальном проекте, и почему, на мой взгляд, код‑ревью не может быть универсальным, а должен опираться на контекст команды.

В этой статье не будет технических деталей вроде рекомендаций по максимальному количеству строчек в diff‑е или формату названий коммитов. Я хочу подняться на уровень выше и поговорить о целях, ключевых факторах и реальных компромиссах которые встречаются в CR.

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

Ищем похожие иероглифы при помощи искусственного интеллекта

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

Эта статья о разработке небольшого инструмента для помощи в изучении китайского языка. Приложение позволяет просмотреть иероглифы, внешне похожие на требуемый, что бы разобрать их сходство и различие. Здесь на довольно простом примере показано как формируется архитектура проекта и подбираются основные компоненты (под катом код с комментариями). Для чтения и понимания достаточно минимального знания python и sql запросов.

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

Создание вращающейся ручки на основе Input Range

Время на прочтение4 мин

Рад приветствовать тебя,%username%. В этой статье я поделюсь тем, как создать вращающуюся ручку (в зарубежной литературе именуемой Knob). Далее по тексту я её буду называть «кноб». Перейдём к сути вопроса.

Что меня сподвигло на написание данной статьи, или как я докатился до жизни такой

Когда‑то давно, будучи ещё совсем зелёным и несмышлёным кодером, мне взбрело в голову сделать своё приложение. Моих знаний хватало на какой‑нибудь «Hello, World!», но кое‑что выдать я мог. И на тоот момент мне позарез нужно было реализовать кноб — тот самый круглый регулятор, который можно крутить и он будет менять значения. И как любой уважающий себя программист, я сразу же полез гуглить стековерфлоу и прочее непотребство, дабы найти тот самый рецепт хлеба сладкого ответ на вопрос, который так долго меня волновал. Однако перешерстив весь интернет, ничего путёвого я не нашёл. Расстроившись, я забил на эту идею. Но какие‑то угольки веры в то, что у меня получится это сделать, тлели в моей охолодевшей к этому миру душонке. И вот на днях, когда я начал работать над своим проектом (небольшая программка, если она найдёт отклик в народных массах, то и по ней напишу парочку руководств, но пока что спустимся на землю), мне опять ударила моча в голову с этими кнобами. Тем более, что все предпосылки ведут именно к этому. Они нужны в интерфейсе. Забравшись в православный яндекс и одновременно в бездуховный гугл, я опять наткнулся на мель отсутствия нужной мне информации. Были только решения с какими‑то библиотеками и интересными историями на jQuery. Плюнув на всё и засучив рукава, я вдруг осознал, что этот мир нуждается в моём компетентном и всем так очень нужном мнении (спойлер: нет). Тогда я принялся за gehirnsturm и молниеносно придумал пару решений. Первое заключалось в SVG на основе path, но оно показалось мне чересчур геморройным. Там много JS надо написать, но не надо никаких стилей зато. И вот второе решение отчасти продолжает идею первого, но с некоторыми отличиями: оно немножко проще в том плане, что начальное, конечное и текущее значение, а также шаг уже вмонтированы в него, что существенно сокращало труды мои праведные. Но, как гласит закон сохранения энергии, энергия не приходит и не уходит, она лишь изменяется. Поправьте, если не так. А это значит, что если где‑то стало проще, то где‑то стало сложнее.

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

Как пройти… к третьей нормальной форме?

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

Как преподаватель, могу сказать, что студентам непросто бывает привести базу данных к какому‑то осмысленному виду (не говоря уже про третью нормальную форму). Во‑первых, нередко «всё связано со всем», во‑вторых, в мало‑мальски сложной (в смысле, комплексной) задаче бывает трудно правильно спроектировать таблицы (то есть определить, какие таблицы должны быть в базе, как они должны быть связаны друг с другом, где и какая информация должна в них храниться). Помогает ли им в этом теория? И да, и нет. Дело в том, что нормализация данных говорит о желаемом виде каждой таблицы, и, преобразуя отдельно взятую таблицу к нормальной форме, мы также что‑то делаем со всей базой данных (добавляем новые таблицы, перемещаем между ними поля, и так далее) — это как сборка кубика Рубика. Второй проблемой здесь является то, что даже база данных, состоящая из единственной таблицы, не приведенной к первой нормальной форме, внезапно, тоже будет работать — криво‑косо, но будет! Теория — штука хорошая, но кое‑чего ей не хватает, а именно — задания точки отсчёта. Ведь для того, чтобы пройти к библиотеке третьей нормальной форме, для начала нужно понимать, где мы находимся.

Пройдёмте, товарищи!
Всего голосов 9: ↑8 и ↓1+8
Комментарии19

Вы уверены, что defer всегда безопасен?

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

Привет! Я Артур Давыдов, бэкенд разработчик в Здравсити. В этой статье хочу рассмотреть поведение defer более детально. Данную статья пишется в целях "попробовать себя", а так же, надеюсь, помочь кому-то разобраться с defer.

Читать далее
Всего голосов 20: ↑19 и ↓1+23
Комментарии6

Офисный провал: Как принудительные командировки айтишников убивают продуктивность и лояльность

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

Долгих дней и приятных ночей! Меня зовут Натали, я IT Project Manager со стажем 10+ лет. В данной статье хочу поднять вопрос негативного влияния добровольно‑принудительных командировок удаленщиков в офис как на сотрудников, так и на компанию вцелом. Особенно первый раз. Особенно для интровертов. Статья будет полезна руководителям, проджектам, HR и любому it‑специалисту (возможно вы узнаете себя, и убедитесь что вы такой не один). Поехали!

Представим, что вы — руководитель (тимлид, ПМ, Head of PMO, не столь важно). Работаете в крупной компании в Москве, следите за финансовыми метриками успешности проекта/компании. Под вашим руководством распределенная команда — многие работают в Москве на гибриде, кто‑то всегда из дома, кто‑то из других городов. В какой то момент вы раздумываете над вопросом — а как увеличить эффективность команды? Часто на этом этапе руководители приходят к мысли, что нужно, как это сейчас модно, «сплотить» команду — и все сразу станут более производительными, чаще будут писать друг другу, просить и оказывать помощь, охотнее говорить о проблемах и быстрее придумывать решения.

Читать далее
Всего голосов 31: ↑26 и ↓5+27
Комментарии66

CI/CD на GitHub Actions и GitLab CI для самых маленьких. Часть 1

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

Часть 1: Основы CI/CD – что это и зачем нужно; обзор GitHub Actions и GitLab CI

В последние годы вы, вероятно, слышали слова "DevOps", "CI", "CD", возможно, даже "GitHub Actions" или "GitLab CI". Но что это всё значит на практике? Нужно ли быть сеньором DevOps-инженером, чтобы с этим разобраться?

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

Почему я реализовал своё портфолио внутри Telegram Mini Apps

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

В этой статье расскажу о том, почему считаю Telegram Mini Apps мощным инструментом для размещения своего портфолио и какие есть нюансы у данного подхода

Читать далее
Всего голосов 7: ↑2 и ↓5-3
Комментарии6

Как Python помогает восстанавливать древние фрески: алгоритмы цифровой реставрации

Уровень сложностиСложный
Время на прочтение3 мин

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

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

Как искусственный интеллект трансформирует SASE и Нулевое доверие в современной корпоративной инфраструктуре

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

Привет, Хабр! Я - инженер-исследователь и владелец продукта, который уже больше десятка лет копается в тонкостях сетевой безопасности. Люблю разбирать новые подходы (ZTNA, SASE, SDP), смотреть, как их переворачивает искусственный интеллект, а потом переводить весь этот «айтишный» шум на человеческий язык. И сегодня я хотел бы немного поделиться мыслями о всем надоевшей технологии - технологии нулевого доверия и почему я считаю, что данная концепция должна стать единым стандартом в построении корпоративных инфраструктур. Переходим, собственно, к самим размышлениям.

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

Эвристики, которые почти всегда работают

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

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

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

Скрипт создания резервных копий баз 1С для Windows и Ubuntu

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

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

На просторах интернета конечно достаточно много (для Windows) различного ПО по выполнению данной задачи, но как правило, это ПО (для выполнения некоторых задач) является платным.

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

За основу списка создаваемых архивов/копий/выгрузок используется файл ibases.v8i.

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

AI, объясни, что хотел сказать этот разработчик? Как менеджеру в IT использовать нейросети в работе

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

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

Читать далее
Всего голосов 21: ↑11 и ↓10+1
Комментарии19

Всё об устройстве и работе SSTV с примерами на Python

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

SSTV (slow-scan television) — телевидение с медленной разверткой, узкополосный формат передачи данных, позволяющий передавать изображения через эфир. В этой статье будут рассмотрены подробности кодирования, декодирования SSTV-сигнала.
Статья может быть интересна радиолюбителям, желающим познакомиться с новым форматом связи, а также тем, кто хочет в подробностях понять как же работает эта технология.

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

Отпуск, как считать грёбанные отпускные? Как не сосать финансовый леденец после

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

Вот вообще не очевидно. Отпуск, как ходить? когда ходить? зачем ходить?

Как я первый раз официально сходил в отпуск...

Читать далее
Всего голосов 18: ↑6 и ↓12-3
Комментарии23

Как оценить рынок B2B-продукта без консалтинга и бюджета за пару часов

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

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

Фокус — на российском B2B, но принципы вполне применимы и в других странах.

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

Библиотека компонентов на Angular: всё совсем не страшно

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

Во фронтенд-разработке довольно быстро возникает вопрос: как всё оформить удобно, красиво и единообразно? Сначала всё кажется очевидным – документация показывает, как создать базовый building block, компонент, а дальше чередуй ими и жонглируй, как душе угодно. Более того, можно сильно сэкономить время, используя готовые UI-библиотеки, в которые уже вложены десятки человеко-часов. Но, по мере поступления всё новых задач, порой встают вопросы, которые в какой-то момент побуждают к написанию своего собственного UI Kit.

Сначала это может показаться сложным, муторным, ещё и нужно довольно хорошо разбираться в используемом техстеке. У Angular, например, есть репутация громоздкого фреймворка: не самая очевидная документация, не особо широкое сообщество и меньшая популярность по сравнению с React. На деле всё не так страшно. Angular активно изменяется и улучшается, притом, как и раньше, предоставляя всё необходимое для построения реактивных web-приложений.

Я считаю, что разработка собственной библиотеки компонентов на Angular – это не подвиг, совершённый «вопреки», но вполне разумный инженерный выбор, если подойти к этой задаче последовательно.

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

Как я создал Telegram-бота Favie и решил проблему «Избранного»

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

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

Читать далее про Favie
Всего голосов 10: ↑7 и ↓3+6
Комментарии31

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

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

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

Как же оно получилось?
Всего голосов 4: ↑2 и ↓20
Комментарии13
1
23 ...