Обновить

Разработка

Сначала показывать
Порог рейтинга

Мегапромпт для поиска работы мечты — пользователь Reddit выложил запрос, который помог ему устроиться в компанию после 10 месяцев безуспешных поисков и походов по собеседованиям. Он буквально забил на массовые отклики и стал подгонять резюме под каждую вакансию, переписывая его с помощью СhatGPT. Результат — сразу несколько офферов удаленной работы с хороших компаниях. Персонализированный отклик работает отлично — так вы проходите не только ИИ-скрининг, но и попадаете HR-специалисту прямо в сердце.

Промпт для подготовки резюме:

Ты — опытный карьерный ассистент и эксперт по оптимизации резюме под системы отслеживания кандидатов (ATS). Задача: Я дам тебе описание вакансии и своё резюме. Твоя задача — адаптировать резюме так, чтобы оно максимально совпадало с описанием вакансии.

Правила:

1. Выдели все ключевые слова из описания вакансии:

• должность

• навыки

• инструменты и технологии

• обязанности

• отраслевые термины

• soft skills

• ключевые фразы

2. Сравни описание вакансии с моим резюме:

• если навык уже есть — усиль его формулировку

• если навык есть, но описан слабо — перепиши и подчеркни опыт

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

• если навыка нет и нельзя предположить — не выдумывай

3. Перестрой структуру резюме:

• перемести самый релевантный опыт выше

• перепиши summary в начале с использованием ключевых слов

• подбирай формулировки, похожие на вакансию (но не копируй слово в слово)

4. Оформление (обязательно ATS-дружелюбное):

• без таблиц, иконок, картинок только стандартные блоки текстом

Итог: Дай полностью переписанное резюме, адаптированное под эту вакансию, с естественно встроенными ключевыми словами.

Спроси у меня: «Пришли вакансию и свое резюме».

Теги:
Всего голосов 2: ↑2 и ↓0+3
Комментарии0

Всем привет!

В прошлом посту я говорил что всё ещё пишу ОС и не забросил проект.

Да, так.

Так же я рассказал в том посту что я добавил много технологий чего нового.

Так вот.

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

Что это? Нет не mov. Я реализовал системные вызовы.

Пока что их 13.

Вот их список (в виде "номер: значение вызова"):

  1. Cказать сообщение от ядра.

  2. Записать в файл (или создать если нету).

  3. Прочитать содержимое папки.

  4. Поменять рабочую папку.

  5. Вернуть рабочую папку.

  6. Создать папку.

  7. Удалить папку.

  8. Удалить файл.

  9. Проверить: это папка?

  10. Проверить: это файл?

  11. Вывести содержимое файла.

  12. Сохранить содержимое файловой системы в файл.

  13. Вывести сообщение (любое).

Вот так получилось!

Удачи!

Теги:
Всего голосов 3: ↑1 и ↓2-1
Комментарии3

Участвуйте в онлайн-хакатоне AI DevTools Hack, чтобы выиграть до 1 500 000 рублей 🙌

Хотите прокачать навыки AI и инженерное мышление? Тогда собирайте команду и регистрируйтесь на онлайн-хакатон AI DevTools Hack. За две недели вы создадите AI-ассистента или мультиагентную систему с использованием облачных сервисов, пройдете экспертные сессии и защитите свой проект в финале.

В призовом фонде хакатона — 1 500 000 рублей. Есть за что побороться 🙂

Что ждет участников:

➡️Настоящие инженерные задачи

➡️ Обратная связь от экспертов

➡️ Опыт работы с экосистемой облачных сервисов

Успейте зарегистрироваться до 5 декабря. Если у вас нет команды — мы поможем ее найти.

👉 Подать заявку

Теги:
Рейтинг0
Комментарии0

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

На вебинаре с экспертами Loginom и VK Cloud расскажем, как связать разрозненные источники в работающую аналитическую систему всего за один день. 15 декабря в 17:00 покажем, как быстро развернуть облачную СУБД и подключить к ней low-code платформу Loginom.

В программе:

🔹 Собираем пазл: архитектура решения на основе облачных баз данных VK Cloud и платформы Loginom.
🔹 Избавляемся от рутины: автоматизируем очистку и подготовку данных (ETL) с помощью low-code инструментов.
🔹 Практические кейсы: внедрение аналитических решений для ритейла, телекома и фарминдустрии.
🔹 Технический воркшоп.
🔹 Ответы на вопросы о внедрении и интеграции.

➜ Зарегистрируйтесь на вебинар

Теги:
Рейтинг0
Комментарии0

Дайджест Рег.облака за ноябрь

Ноябрь выдался серым и почти без солнца, но это не лишило нас энергии. Мы усилили AI-направление, расширили инструменты для ML-команд и запустили новые решения для работы с данными. Делимся главным за месяц.

  • Добавили сервер с JupyterHub
    В каталоге образов в личном кабинете теперь есть облачный сервер с предустановленным JupyterHub — готовой средой для командной работы с Jupyter Notebook. Каждый пользователь получает отдельное рабочее пространство, доступ к консоли и возможность подключать внешние источники данных. 

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

  • Запланировали вебинар про работу с конфиденциальными данными в LLM
    23 декабря Москве проведем вебинар «Как доверить конфиденциальную информацию LLM: разбор решения от Рег.облака». Подробный анонс и ссылку на регистрацию опубликуем в нашем Telegram-канале.

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

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

Лицензионный договор на программу для ЭВМ: о чем следует помнить

Юридические параметры заключаемого лицензионного договора определены в статье 1286 Гражданского кодекса РФ.

О чем она говорит?

Во-первых, по контракту предусматривается предоставление права использования созданного в определенных пределах.

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

Что значит — упрощенным путем?

Тут есть несколько способов. Например, информацию размещают:

  • Либо непосредственно на коробке программы ЭВМ;

  • Либо в электронном виде на официальном сайте.

Присоединением к предлагаемому контракту и согласием на его исполнение считается тот момент, когда клиент просто начинает пользоваться программой.

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

Какова структура лицензионного соглашения?

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

К таковым относят:

  • Преамбулу — указываются стороны контракта (лицензиар именуется детально, иногда с указанием ИНН, КПП, а также адресом), нормативная правовая база, на которой основываются взаимоотношения субъектов;

  • Используемые в соглашении — термины и определения;

  • Предмет лицензионного договора с указанием объема предоставляемых пользователю прав;

  • То, какие права и обязанности возлагаются на договаривающиеся стороны;

  • Каким образом регламентируются (при необходимости) — аспекты обработки персональных данных;

  • Какие сроки действия договора;

  • Какова стоимость заключаемого контракта.

Завершает такой договор обычно:

  • Определение ответственности сторон за его нарушение;

  • Указание на форс-мажорные обстоятельства (это ситуации, которые не могут спрогнозировать участвующие субъекты, но которые влияют на исполнение соглашения).

Последний вопрос: а что с лицензиями open source?

Конструкция этого договора указана в статье 1286.1 ГК РФ.

Здесь будет важно несколько пунктов:

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

  • Лицензия — бесплатна, но если не предусматривается иного;

  • Срок действия лицензии определяется контрактом. Если этого нет, то — за основу берется срок действия исключительного права.

Если нужно составить лицензионный договор на программу, то сделать это можно здесь.

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

Коллега обнаружил забавный момент, который идёт в копилку "PVS-Studio — двигатель прогресса".

Слышали ли вы про то, что злобные C и C++ компиляторы могут удалить вызов memset в конце функции во время оптимизаций? У нас даже про это есть диагностика V597.

Это давно известная, но при этом живучая потенциальная уязвимость CWE-14: Compiler Removal of Code to Clear Buffers. В следующем коде компилятор удалит заполнение памяти нулями (вызов memset), так как после этого буфер не используется. Раз не используется, то заполнение буфера с точки зрения языка C++ не имеет каких-либо наблюдаемых эффектов и, следовательно, является лишим. Т. е. его можно и нужно удалить с целью оптимизации.

void sha1_hmac( unsigned char *key, int keylen,
                unsigned char *input, int ilen,
                unsigned char output[20] )
{
  sha1_context ctx;

  sha1_hmac_starts( &ctx, key, keylen );
  sha1_hmac_update( &ctx, input, ilen );
  sha1_hmac_finish( &ctx, output );

  memset( &ctx, 0, sizeof( sha1_context ) );
}

Код позаимствован из статьи про проверку проекта PPSSPP.

Проблема насущная, и для её решения в стандарт C23 внесли новую функцию memset_explicit, которая теперь обязательна для реализации в стандартной библиотеке вместо memset_s. Так вот, автор предложения (Miguel Ojeda, P1315) в своём документе сослался на нашу диагностику (ссылка N3).

И похоже, что он давно про нас знает, т. к. умудрился вставить ссылку ещё аж на старый сайт viva64.

Не зря столько лет говорим про memset. Приятно, что нас уже в proposal-ы затаскивают :)

Теги:
Всего голосов 15: ↑15 и ↓0+20
Комментарии2

Официальный глобальный релиз FineBI 7.0 в прямом эфире!

GlowByte приглашает на вебинар FanRuan, на котором будет представлена новая версия платформы FineBI 7.0.

В новом релизе разработчики усилили три основных направления: управление данными, работу с инсайтами через ИИ и гибкость self-service аналитики. FineBI 7.0 помогает бизнес-подразделениям двигаться быстрее, а ИТ – сохранять прозрачность и контроль.

📈 FineBI 7.0 – это:

  • Быстрая сборка дашбордов – пользователи могут самостоятельно создавать и обновлять аналитические витрины без долгих циклов согласования.

  • AI-интерфейс на естественном языке – задавайте вопросы обычными словами и находите инсайты, которые раньше были скрыты за сложными выборками.

  • Единые правила данных и доступов – вся аналитическая среда остается согласованной: структуры данных, права, политики и процессы управления.

Подробнее о возможностях FineBI 7.0 – по ссылке.

Прямой эфир состоится 11 декабря 2025 в 10:00 (МСК).

Команда продукта покажет ключевые обновления, новые сценарии и проведет живую демонстрацию интерфейса.

Забронируйте место заранее!

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

Программа вебинаров на декабрь 🎧

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

Self-hosted vs Managed PostgreSQL: эксплуатация и риски
📆 Когда: 9 декабря в 11:00 мск

Честно сравним два подхода и разберем, с какими сложностями и скрытыми рисками можно столкнуться при переходе с on-premise на Managed PostgreSQL в облаке. И, главное, как их избежать.

Безопасность в облаке: как провайдер и клиент делят зоны ответственности
📆 Когда: 11 декабря в 11:00 мск

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

Как запустить BI за день, а не за месяц
📆 Когда: 16 декабря в 11:00 мск

Сложное развертывание, тонкая настройка и постоянная зависимость от IT-специалистов растягивают внедрение бизнес-аналитики. На вебинаре покажем, как развернуть полнофункциональную BI-систему в облаке за день.

До встречи!

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

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

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

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

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

1. Давать осмысленные имена сразу же

Хорошие названия переменных, функций и классов экономят время всей команде: код проще читать, легче понимать и поддерживать. А еще чем меньше вопросов «что делает эта функция?» или «что содержит переменная?», тем лучше.

2. Декомпозировать код и избегать вложенности

if внутри if или for внутри for путают: каждое разветвление создает еще одну ветку, которую приходится держать в голове. Лучше разбить логику на небольшие части — код становится прозрачнее и надежнее.

как не надо:

функция заказать_пиццу(адрес):
  если адрес_валиден(адрес):
    если у_ресторана_ингредиенты():
      если клиент_может_платить():
        печать "Пицца заказана!"
      иначе:
        печать "Недостаточно денег"
    иначе:
      печать "Нет ингредиентов"
  иначе:
    печать "Адрес некорректный"

как надо:

функция заказать_пиццу(адрес):
  если не адрес_валиден(адрес):
    печать "Адрес некорректный"
    вернуть
  
  если не у_ресторана_ингредиенты():
    печать "Нет ингредиентов"
    вернуть
  
  если не клиент_может_платить():
    печать "Недостаточно денег"
    вернуть
  
  печать "Пицца заказана!"

3. Регулярно делать рефакторинг

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

4. Настроить линтер и форматер

Линтер — статический анализатор кода, который следит за определенным стилем написания кода. Так как у каждого из нас свой подход, нам нужен «инструмент-судья», который беспристрастно оценит оформление кода. Форматер помогает автоматически исправить код и привести его к единому виду. 

5. Комментировать только неочевидную бизнес-логику

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

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

Задача о сложении

Проверьте, насколько хорошо вы знаете двоичную арифметику и готовы ли к алгоритмическому собеседованию.

Условие

В IT-отдел принесли странную «коробку» от дочернего исследовательского центра — компактный аппаратный ускоритель для обработки сигналов. На борту стоял быстрый, процессор, но конструкторы сознательно упростили его набор команд ради энергоэффективности, поэтому у чипа осталась только операция суммирования. Другие арифметические операции либо не были реализованы в железе, либо временно отключены.

Задача

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

Делитесь ходом рассуждений и решениями в комментариях. Кстати, подсмотреть их всегда можно в Академии Selectel.

Теги:
Всего голосов 5: ↑4 и ↓1+7
Комментарии1

Нетипичный QA

Мы в 2ГИС верим, что в QA есть место опыту из самых разных сфер. И каждый месяц рассказываем истории людей, которые это доказывают. «Нетипичный QA» — это рубрика про инженеров, чей путь в тестирование начался далеко за пределами IT. У каждого свой путь, но всех объединяет одно: стремление к качеству и умение смотреть на задачи под неожиданным углом.

Николай, руководитель команды Ads QA

Николай с детства занимался хоккеем с мячом — сначала в школе, потом параллельно с учёбой в университете. После выпуска стал профессиональным спортсменом: играл за команды в Новосибирске, Красногорске и Хабаровске и выступал за сборную России. В его карьере — серебро чемпионата мира. О достижениях скромничает, но у него даже есть статья в Википедии. Завершить карьеру пришлось из-за состояния здоровья — в 34–35 лет.

После спорта встал вопрос: чем заниматься дальше? Вспомнил школьный интерес к алгоритмам и программированию — и выбрал тестирование. Переезд в Калининград и пандемия усложнили поиск работы, но Николай не сдавался. В итоге устроился в аутсорсинговую компанию, где работал с API и десктопом. За год вырос в зарплате и уверенности.

По совету брата подал резюме в 2ГИС — указал и спортивный опыт. Прошёл собеседования, удивился вопросу «о чём пожалеешь, если уйдёшь?». Сейчас тестирует мобильные приложения, влияет на процессы и ценит логику в работе. Удалёнка, гибкий график и возможность расти — всё это стало частью новой жизни. Тестировщик, по его словам, — это клей между идеей и реализацией.

Екатерина, тимлид в команде UGC (это я, автор поста)

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

Такое место оказалось буквально этажом выше — я перешла в рекламный отдел 2ГИС. От офис-менеджера до руководителя сервис-менеджеров — прошла весь путь бумажной работы. Но в какой-то момент стало слишком скучно. Внутренний голос всё настойчивее подсказывал, что мне нужно что-то другое, что-то по-настоящему увлекательное.

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

Наталья, QA-инженер в команде WebAPI

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

Желание освоить нечто новое не отпускало, и Наталья решила разгадать тайну тех самых «палочек и отступов». Курс Python-разработчика стал отправной точкой. Освоив основы, она выбрала тестирование — здесь соединились её бухгалтерские навыки организации, педагогический опыт структурирования и технические знания.

Уже полгода Наталья в QA и уверена в своём выборе: тестирование стало для неё увлекательным миром поиска багов, неожиданных сценариев и постоянного совершенствования.

Почему захотелось поделиться этими историями? Потому что тестирование — не про «нажал кнопку — получил результат». Это про понимание, как думает пользователь, как работает система и где она может дать сбой. А значит, чем разнообразнее опыт — тем сильнее команда. Если у вас тоже был нетипичный путь в QA — расскажите!

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

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

Ближайшие события

Tesla Model X поцарапала другую машину из-за активации опции автоматического открытия двери. Бортовая система заметила приближение владельца со смартфоном и сама распахнула ему водительскую дверь. Правда в этот момент владелец как раз проезжал мимо на второй машине - Mini Cooper. В итоге дверь Tesla Model X ударилась о кузов, а на обеих машинах остались царапины. Если бы не камера со дворе, то владельцу бы никто не поверил.

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

Я сделал штуку, которая за час-полтора, если хватит денего на серверы то = за минуты, читает ВСЁ, что человек писал во «ВКонтакте» за 12 лет, и выдаёт честное ревью: добряк-ботан, токсичный вояка или шизо-экстремал. Без суда, без сплетен — только цифры и цитаты. Или проверить себя и понять, что нужно удалить некоторые посты от греха подальше. Может у тебя было время когда тебе нравился товарищ Ленин, а сегодня его запретили.

Как работает

  1. Вбиваешь ссылку на страницу (или свой ID).

  2. Сервис скачивает 100 % постов и комментов (официальное VK API, никакого взлома).

  3. Bert + detoxify считают токсичность, темы и сентимент.

  4. Через время получаешь PDF:
    – сколько негатива/позитива;
    – топ-темы (рыбалка, политика, IT, наркота, оружие);
    – риск-флаги (экстремизм, суицид, оружие, наркота) с прямыми цитатами;
    – динамику: «в 2022 стал злее на 37 %».

Пример из жизни
Проверил себя — 8 % токсичности, 0 флагов. Проверил соседа — 38 % токсичности, 1 постов про ствол.

Законно ли?
Собираю только публичное, без переписок. Профиль закрыт — пишет - доступа нет.

Зачем это вообще

  1. HR-отделы — чекнуть кандидата до интервью.

  2. Самопроверка перед поступлением/наймом.

  3. Родители — глянуть, чем реально живёт подросток.

  4. Банки/страховщики — оценить риск-поведение (агрессия/суицид = выше вероятность ДТП).

Что дальше
Если пост наберёт ≥ 300 «вверх» и 50+ комментов «хочу» — допиливаю приложение в продакшн версию для запуска. Если больше - докручу Instagram и TikTok. Своим варианты скидывайте в комменты.

Понадобиться ли вам такой «цифровой зеркал» или это очередной «пылесос для данных»? В комментариях — пишите, кого первым проверить: своё начальство, бывшего или самого себя :)

Теги:
Всего голосов 7: ↑0 и ↓7-7
Комментарии11

Всем привет!

Я пишу свою ОС, уже давно, на MicroPython.

Я снял свои посты потому что во первых они мне просто не понравились. Во вторых же, я перешёл на TFT LCD.

Да, если что я не забросил😅.

А какие продвижения были за это время?

  • Нормальная файловая система (mkdir, rmdir, права доступа и ещё много чего).

  • Вытесняющая многозадачность.

  • Режимы доступа (user, system).

Ну это возможно не всё, но это главное.

Ставлю день конца работы на... Ну лучше всего 24 января (не простая дата) но возможно затянется до конца февраля... Тогда прямо точно ставлю на апрель.

Также напомню что ОС будет на девайсе Raspberry Pi Pico W

Удачи!

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

Для тех кто сможет запустить у себя прикладываю. https://github.com/moonsoonredt/home-inventory-ai

Приложение "Home Inventory AI" - это приложение для управления домашним инвентарем с интеграцией искусственного интеллекта. Оно состоит из трех основных компонентов:

  • Бэкенд: Сервер на Node.js с Express, предоставляющий API для работы с базой данных и интеграцией ИИ

  • Фронтенд: Веб-интерфейс на React с Vite для удобного взаимодействия пользователя

Приложение позволяет пользователям управлять списком предметов в доме, использовать ИИ для категоризации и поиска элементов, а также вести логирование операций.

Ниже видео работы сайта на локалхосте в англоязычной версии.

Теги:
Рейтинг0
Комментарии2

Привет, Хабр! Сегодня отмечается Международный день защиты информации. Поздравляем всех, кто стоит на страже цифровых рубежей и помогает компаниям защищаться от хакеров, инсайдеров и ИБ-инцидентов. Желаем увеличения ИБ-бюджетов, расширения штата службы безопасности и снижения числа подтвердившихся инцидентов!

А пока – делимся полезными материалами, как обучить сотрудников правилам ИБ, чтоб облегчить ежедневную рутину отделу безопасности.

Гайды по главным угрозам в сети – чтоб сотрудники не попадались на уловки кибермошенников:

Эффективные практики ИБ-ликбеза в коллективе:

С профессиональным праздником, коллеги!

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

5 Ошибок Рефакторинга

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

  2. Делать один огромный коммит
    Делайте много коммитов, каждый на свой шаг рефакторинга. Рефакторинг это как ходьба по заминированному лабиринту, нужно обязательно записывать все ходы и иногда отступать на шаг или N шагов назад и искать другой путь.

  3. Рефакторить без промежуточных проверок
    Когда вдохновение несет и хочется "прибраться" и тут и там и везде и некогда останавливаться можно "пролететь поворот" и даже не один. Лучше всего делить рефакторинг на логические этапы. "Дешевые" по времени и ресурсу проверки можно и нужно запускать как можно чаще: компиляция, тесты, запуск приложение локально. Между крупными этапами желательно проводить регрессионное тестирование. И самое отличное поэтапный релиз рефакторинга, чтобы провести не только синтетические проверки, но самую важную "проверку продакшеном"

  4. Затягивать и долго не релизить рефакторинг
    Топ выбрасываний рефакторинга на моей практике происходило из за желания довести его до окончательного окончания, всё всё исправить, привести в идеальную симметрию и тд и тп. Чем дольше человек очищает код, пока параллельно идут продуктовые спринты, тем больше он несет накладных расходов(мержить то надо) и тем больше падает вероятность успешной интеграции ветки рефакторинга с основной и его успешного релиза.

  5. Не думать о запасном варианте
    Не смотря на все многоступенчатые системы проверки качества вашего кода всегда есть далеко не нулевая вероятность ошибки, особенно когда "наводишь порядок" в самом ключевом месте системы (а где еще как не в таких местах наводить порядок).
    В таких ситуация очень полезно оставлять запасной вариант, например флаг переключения на "абсолютно старый код", лучше всего налету без рестартов.

    В своем канале о разработке в стартапах делюсь опытом и рассказываю еще больше удачных примеров и факапов. Буду рад видеть каждого! Заходите!

    Всем удачного рефакторинга!

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

Проверяем, взломали ли вас хакеры или ваш IP в списке ботнетов. Исследователи из GreyNoise выпустили сервис GreyNoise IP Check, который позволяет быстро узнать, залез ли кто-то в вашу сеть. Сканер считает ваш IP-адрес и начнет искать совпадения в известных ботнет-сетях, которые используют для DDoS-атак.

При обращении к GreyNoise IP Check пользователи получают один из трёх статусов. «Clean» означает, что подозрительной сканирующей активности с этим адресом не фиксировалось. «Malicious/Suspicious» сигнализирует о том, что IP замечен в сканировании и имеет смысл проверить устройства в локальной сети. «Common Business Service» указывает на принадлежность адреса сетевым защитным сервисам, корпоративной инфраструктуре или облачному провайдеру — в таких условиях активное сетевое сканирование внешних адресов и портов часто выполняется легитимными средствами мониторинга и тестирования безопасности. То есть не свидетельствует о заражении.

Если по IP‑адресу обнаружена какая‑либо активность, сервис показывает хронологию за 90 дней. Такая история помогает связать начало подозрительных сканов с установкой конкретного приложения, в том числе клиента для распределения трафика или сомнительной программы, и затем устранить источник проблемы.

Теги:
Всего голосов 5: ↑4 и ↓1+3
Комментарии4