Все потоки
Поиск
Написать публикацию
Обновить

Все потоки

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

Для сравнения: слева китайский лунный модуль «Объять Луну», который готовится для высадки в 2030, справа - американский модуль программы «Аполлон» на Луне в 1969 году.

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

Стань спикером SOC Forum 2025 — сделай вклад в развитие безопасного цифрового общества

С 17 по 23 ноября состоится Российская неделя кибербезопасности — масштабная серия событий для обсуждения темы ИБ в государстве, бизнесе и граждан. Главная цель Недели — создание и развитие безопасного цифрового общества. Ее ядром станет ежегодный SOC Forum, который пройдет в Москве 19-20 ноября. Форум притянет еще больше профессионалов и лидеров отрасли для выстраивания стратегий защиты от самых актуальных киберугроз. Сбор докладов на форум уже открыт. ГК «Солар» — организатор Недели и соорганизатор форума.

SOC Forum 2025 – это:

• Новая масштабная площадка — «Тимирязев центр»;

• 9 тематических треков – о влиянии ИИ на киберугрозы и отражение атак, о поиске и удержании талантливых ИБ-специалистов, о преобразовании данных о кибератаках в конкретные меры защиты и другие;

• Больше форматов – от воркшопов и питч-сессий до персональных встреч.

Сбор докладов: без продаж и «воды»

Сбор докладов на SOC Forum продлится до 14 сентября. Чтобы стать спикером, необходимо заполнить заявку в личном кабинете на сайте форума с описанием доклада, выбрав подходящий тематический трек. До 30 сентября все заявки будут оценены компетентным жюри, в составе которого — эксперты крупнейших компаний отрасли и представители профильных ведомств.

При оценке докладов жюри будут учитывать: актуальность, новизну и практическую пользу. Жюри будет отклонять заявки с рекламой продуктов или услуг без уникальных кейсов, а также попытками «продать», а не поделиться экспертизой. Это означает, что на SOC Forum попадут только самые острые для ИБ-сообщества доклады, все они будут уникальны и полезны участникам отрасли. В прошлом году конкурсное жюри отобрало 151 заявку из 354 поданных.

Новые треки: ИИ и люди на защите от киберугроз

SOC Forum в 2025 году станет главным местом для построения эффективного диалога между регуляторами и представителями ведущих ИТ- и ИБ-компаний — от глав компаний, CISO и директоров финансовых и коммерческих подразделений до экспертов по кибербезопасности и молодых ИБ-специалистов. Каждый день будет посвящен новым тематическим трекам.

День 1 (19 ноября):

• AI & Cybersecurity: как искусственный интеллект меняет ландшафт киберугроз, инструменты защиты и ставит этические вопросы перед ИБ и ИТ- сообществом;

• Естественный интеллект: как искать талантливых ИБ-специалистов, грамотно оценивать их навыки и сохранять мотивацию;

• ИБ и бизнес: как CISO и ИБ команды могут не только защищать, но и помогать компаниям выигрывать у конкурентов и снижать риски простоя бизнес-процессов;

• Тренды и аналитика угроз: как превращать данные о киберугрозах в конкретные меры защиты, чтобы оставаться на шаг впереди хакеров;

• Многогранный кибербез: cамые нестандартные и экспериментальные темы отрасли.

День 2 (20 ноября):

• Offense: технические разборы и кейсы реальных кибератак от лучших ИБ-специалистов и пентестеров;

• Defense: разбор наиболее актуальных технологий защиты, реагирования и обнаружения киберугроз, а также закрытия уязвимостей, которые «невозможно исправить»;

• Архитектура ИТ и ИБ: как построить безопасную комплексную архитектуру для защиты не только «здесь и сейчас», но и на долгие годы вперед;

• SOC-практикум: обсуждения наиболее эффективных кейсов работы с NTA/EDR, SIEM и другими техническими средствами.

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

Разработчики робота Figure смогли научить своё гуманоидное цифровое решение складывать полотенце. У подобных предметов нет фиксированной геометрии и единственной правильной точки захвата, так как они меняют форму, легко мнутся и непредсказуемо сгибаются. Система робота основана на базе визуально-лингвистической модели (VLA) Helix, которая позволяет понимать голосовые команды, анализировать окружающую среду и выполнять задачи в реальном времени.

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

Почему на этапе разработки сайта важно привлекать SEO-специалиста

Типичная история, когда приходит заказчик и хочет продвинуть сайт — новенький, красивый. Но:

  • Органического трафика нет

  • Переходы с контекста дают мало заявок

  • Большой процент отказов

Причины схожи:

  • Не хватает элементов доверия. Конверсия низкая

  • Юзабилити и навигация плохо проработаны. Посетитель теряется и уходит

  • При создании сайта не сформировано полное семантическое ядро. В результате часть запросов не учтена. Не сформированы кластеры и посадочные страницы. Сайт недополучает трафик, а с ним и заявки

Заказать в веб-студии новый красивый сайт — решение. Но есть нюанс. Важно, кто именно будет думать о маркетинге вашего проекта. Стандартная веб-студия в штате имеет:

  • Project-менеджера. Следит, чтобы команда слаженно работала и вовремя всё делала. И чтобы вы вовремя платили

  • Дизайнера. Делает красиво. Считайте, что повезло, если вместе с красиво будет удобно

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

Видите в списке SEO-специалиста или маркетолога? Мы нет — вот и ответ…

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

Но давайте честно, сайт — инструмент маркетинга. Какие у него задачи:

👉🏻 Быть красивым и нравиться заказчику

или

👉🏻 Превращать посетителя в покупателя

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

Чтобы сайт начал приносить деньги, при уже вложенных 500 000₽–2 000 000₽ в разработку, придётся столько же вложить в доработку: создание посадочных страниц, разделов, конверсионных элементов, проработку контента. 

Избежать дополнительных трат и головной боли можно. Для этого привлекайте SEO-специалиста на этапе разработки сайта или при переезде на новую платформу. SEO-специалист:

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

  • Понимает, какие сайты попадают в выдачу, кто является конкурентом

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

Чтобы не быть голословными, посмотрите 2 примера переезда сайта на новую платформу:

  • Правильный — с участием SEO-специалиста

  • Неправильный — без SEO-специалиста

2 примера и инструкция по переезду сайта здесь.

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

Точки начала роста на графике компании

Точки начала роста на графике компании
Точки начала роста на графике компании

Если нарисовать график роста компании (с выручкой, оборотом, узнаваемостью или чем-то ещё важным) он будет не как красивая прямая вверх. А как зигзаг: то вверх, то вниз. Иногда вверх быстро, иногда вниз резко, а потом снова в гору.

Но если провести линию тренда, то она всё расскажет. В каком направлении движется бизнес, растёт или буксует.

И вот на этом графике всегда есть точки, от которых начинается новый рост. Как будто "бац!" - и пошло вверх. Что это за точки? Очень часто - это момент изменений внутри. Что-то запустили, что-то пересмотрели, что-то поменяли (новая реклама, обновили сайт, новый продукт, переупаковка бренда, изменили ценовую политику и пр.).

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

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

Задача предпринимателя - проанализировать такие точки роста в прошлом, узнать причину и постараться запланировать такие точки в будущем.

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

Как изменить SSH-пароль для Amnezia VPN

Amnezia - достаточно удобное приложение, которое позволяет в пару кликов (или тапов смартфона) развернуть VPN-сервер на вашем VPS.

Работает это следующим образом: при старте приложения на смартфоне/ПК вы вводите адрес сервера и данные SSH-подключения: user + password/privatekey (лично у меня подключение по ключу не взлетело). После этого приложение подключается к серверу по SSH и скачивает/настраивает VPN.

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

Проблемы начинаются тогда, когда вам по какой-то причине нужно поменять реквизиты SSH-подключения: изменить юзера, заменить пароль/ключ, изменить порт. Приложение Amnezia не предосталяет такой возможности (есть даже открытый feature request). Если вы попробуйте поискать информацию по данной теме, то единственным найденным вариантом будет что-то вроде "удалите сервер и разверните заново", что естественно приведет к тому, что ключи всех VPN-пользователей придется генерировать заново.

Итак, как же изменить пароль (или другой атрибут) без редеплоя VPN-сервера?

Инструкция:

  1. В приложении заходим ⚙️ -> Backup -> Make a backup. Получаем JSON-файл.

  2. JSON-файл содержит все параметры в открытом виде, в т.ч. пароль. Меняем пароль на новый и сохраняем файл.

  3. Заходим ⚙️ -> Backup -> Restore from backup, это действие затирает текущую конфигурацию и устанавливает конфигурацию из файла.

  4. Меняем пароль на самом сервере.

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

ТестНаСпид.РФ — и нет, мы не про болезни

С чего все началось?

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

Not anymore, ladies and gentlemen — представляем вашему вниманию инновационный отечественный сайт для замера скорости интернета — ТестНаСпид.РФ

Преимущества:

Данное решение является полностью отечественным и не имеет аналогов на рынке. Замер скорости можно осуществить к любому серверу из сотен различных стран на выбор пользователю.

UI поражает своим новшеством в мире дизайна сайтов. Начиная с мелочей и до overall experience все сделано для максимального удобства пользователя.

Адаптивный Web-UI
Адаптивный Web-UI

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

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

На данный момент сервис находится в открытом Beta-тестировании и в планах реализовать ещё много дополнительного функционала по нашему (закрытому) Roadmap-у.

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

Заинтересовал текст на хабре: https://habr.com/ru/companies/oleg-bunin/articles/935332/?code=8e5a8a3127f78a5ae18e76e78ec8c24f&state=G5o2BhrPN6yDlX3nvbOLiwje&hl=ru , прежде всего актуальностью, в свете того, что происходило в моем Linkedin в последний год, а именно массовый "вылет" контактов с хороших позиций в статус с зеленым бейджиком. В иллюстрациях в тексте дальше заметил пару людей из ленты, видимо действительно очень узкий мир в ИТ.

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

Например, тезис, "Ригидность. Ригидность — это свойство мозга, которое обычно проявляется после 30 лет, когда мы начинаем мыслить уже в плане убеждений и установок. " - откуда это взято? Можно ли считать, что до 30 люди мыслят не в плане, и не установок и без убеждений? Я вот, например, вижу неспособность у многих к пониманию альтернативной точки зрения и в 25 лет, и в 30, и в 40 лет. И у 25летних она как будто часто бывает не меньше, но не уверен, что это из-за их неопытности и глупости, связанной или не связанной с возрастом, а не по каким-то другим причинам.

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

По поводу здоровья можно сказать, что у большинства оно лучше не становится от работы, возраста и ночных дежурств, и если для работы нужен конь пахать в 3 смены, то лучше, конечно, работодателю помоложе взять, дольше протянет, не так быстро "сдохнет". Но тут можно только не работать посоветовать, в подобных местах с подобной культурой, в независимости от возраста. Другое дело, что ментального здоровья и в 25 уже может и не быть, может быть подорвано уже и к этому времени, в том числе всякими тренингами "выхода за рамки", "поиска лучшего себя" и прочими мероприятиями, проводимых псевдопсихологами, "гуру" развития, и прочими подобными личностями (на самом деле, конечно же просто аферистами, собирающими кеш).

Решил вынести из комментария в пост из-за размера.

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

мои способы работы с AI контекстом (субъективное мнение):

  1. пользоваться общеизвестными терминами которые точно есть в словарях

  2. пользоваться только английским для кода, prd и дизайна

  3. сокращать код - как показывает практика файлы больше 500-600 строк агенту труднее прочитать. Тут есть несколько стратегий:

  • пользоваться препроцессорами, например можно сильно срезать времени если вместо JSX/TSX/html использовать pug

  • пользоваться и писать библиотеки. есть проблема - оформляем в абстрактную библиотеку, пишем доку и readme

  • предвидеть контекст - часть текста просто можно не писать, а просить догенерить, потому что получится эффект снежного кома, начинаем катить, смотрим куда катится - сокращаем

  1. меняем JSON на YAML или что-то близкое - это срежет кууучу лишнего хлама в виде ; }{ "" и прочих символов

  2. генерим code maps - mermaid и другие виды диаграм

  3. ANSII - визуализация простых идей, но не все модели хорошо работают с этим форматом, есть проблемы с layout. например я пользуюсь gemini

  4. подстраивать архитектуру и код под задачи и бизнес, не наоборот. Developer | Designer | AI as User.

  5. разбивать на мелкие подприложения если нужно

Надеюсь, что пост окажется полезным :-)

Пожалуйста делитесь своими мыслями в комментариях :-) это поможет сделать эту статью видимой для других и будет здоровской поддержкой и мотивацией :-) 

Спасибо за ваше время и хорошего дня!

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

мои способы работы с AI контекстом (субъективное мнение):

  1. пользоваться общеизвестными терминами которые точно есть в словарях

  2. пользоваться только английским для кода, prd и дизайна

  3. сокращать код - как показывает практика файлы больше 500-600 строк агенту труднее прочитать. Тут есть несколько стратегий:

  • пользоваться препроцессорами, например можно сильно срезать времени если вместо JSX/TSX/html использовать pug

  • пользоваться и писать библиотеки. есть проблема - оформляем в абстрактную библиотеку, пишем доку и readme

  • предвидеть контекст - часть текста просто можно не писать, а просить догенерить, потому что получится эффект снежного кома, начинаем катить, смотрим куда катится - сокращаем

  1. меняем JSON на YAML или что-то близкое - это срежет кууучу лишнего хлама в виде ; }{ "" и прочих символов

  2. генерим code maps - mermaid и другие виды диаграм

  3. ANSII - визуализация простых идей, но не модели хорошо работают с этим форматом, есть проблемы с layout

  4. подстраивать архитектуру и код под задачи и бизнес, не наоборот. Developer | Designer | AI as User.

  5. разбивать на мелкие подприложения если нужно

Надеюсь, что пост окажется полезным :-)

Пожалуйста делитесь своими мыслями в комментариях :-) это поможет сделать эту статью видимой для других и будет здоровской поддержкой и мотивацией :-) 

Спасибо за ваше время и хорошего дня!

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

Сделал новую планету из текстовых символов с локациями для исследования.

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

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

Не удержался и сделал эффекты освещения (два источника света) и тени. Так как у меня нет тут обычных полигонов и все надо считать самому, то пришлось повозиться))

Интересно получилось? Заходите на страничку Effulgence RPG на Steam-е добавить в список желаемого и записаться на плейтест.

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

Привет, смотрите че наговнокодил, вот такую вот проверку конфига для haproxy

if check '/etc/haproxy/haproxy.cfg'; then
red='\e[91m'
ylw='\e[93m'
DEF='\e[0m'
/usr/sbin/haproxy -c -f /etc/haproxy/haproxy.cfg || printf "
${red}WARNING!
${red}Haproxy config has errors!
${ylw} __
${ylw}|  \_____${red}︹${DEF}
${ylw}\        ${red}\ \ ${DEF}
${ylw}/  ______${red}/ / ${DEF}
${ylw}|__/     ${red}︺ ${DEF}
"
fi

Выглядит вот так:

ох..ая ошибка
ох..ая ошибка

Как вам?)

Творите, выдумывайте, пробуйте!)

Теги:
Всего голосов 31: ↑6 и ↓25-19
Комментарии11

Сотрудники ИИ-стартапов часто находятся в офисах без обуви и в шортах. В Cursor показали, как выглядит вход в офис. Оказалось, что такая практика очень популярна у Notion и других компаний. Фаундер стартапа Flowhub отметил, что у них тоже не носят обувь. И штаны. Но шорты нужно надевать обязательно.

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

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

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

SourceCraft поддержит опенсорс‑разработчиков: старт грантовой программы с 16 августа и новые возможности платформы

Платформа для разработчиков SourceCraft открывает приём заявок на участие в грантовой программе поддержки: гранты на облачные технологии Yandex Cloud в размере 600 тыс. рублей на год получат важные и интересные опенсорс‑проекты, отвечающие критериям отбора. Подать заявку можно с 16 августа на сайте программы.

Оценивать проекты будут эксперты Яндекса. Среди ключевых критериев оценки:

  • активность репозитория,

  • актуальность,

  • практическая польза проекта,

  • понятный вектор развития.

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

  • интеллектуальным алгоритмом для оценки значимости репозитория,

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

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

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

Кроме того, 16 августа на платформе стартует конкурс проектов для опенсорс‑сообщества. Авторы новых репозиториев на платформе, которые наберут наибольший рейтинг до 31 августа, получат наборы эксклюзивного мерча от SourceCraft.
Следить за новостями от разработчиков и архитекторов платформы — также можно в блоге SourceCraft.

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

Как мы ускорили проверку документации с помощью AI-агента: от боли к решению

Привет, Хабр! Я — Мила Муромцева, системный аналитик в Альфа-Банке. Эту статью мы подготовили вместе с нашим разработчиком Мишей Буториным. Написали ее, чтобы поделиться нашим опытом и рассказать, как мы научили LLM проверять документацию для платформы Альфа-Онлайн — переписывали стандарт, боролись с токенами и немного с хаосом.

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

Статья «Как мы ускорили проверку документации с помощью AI-агента: от боли к решению» будет полезна тем, кто автоматизирует проверки, работает с большими данными и хочет, чтобы нейросети давали точные и надёжные ответы — даже при работе с очень громоздкой документацией. Внутри разбираем кейс командной интеграции LLM: от первых ошибок до финального формата отчета, который реально экономит токены и нервы!

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

30 лет без дизайна и миллиард в кассе

Как вам дизайн сайта с миллиардной выручкой?
Как вам дизайн сайта с миллиардной выручкой?

На днях я рассказывал историю о том, как в 2004-м «улучшил» простую гостевую книгу, заменив ее на «правильный» форум и этим убил живое сообщество. Главный вывод был в том, что нельзя ломать работающую систему, не поняв, какую настоящую задачу она решает для пользователей.

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

Для тех, кто не в курсе: Craigslist - это что-то типа Авито, но в США, т.е. такая гигантская доска объявлений. Ее дизайн застрял где-то в 1998 году: синие ссылки, простейшая верстка, ноль графики. По любым современным меркам UI/UX - это катастрофа. При этом компания с крошечной командой зарабатывает сотни миллионов (а по некоторым оценкам - более миллиарда) долларов в год. Работает там от силы 50 человек (!) Если пересчитаем выручку, то окажется, что на каждого сотрудника приходится 4 млн. долларов в год (!) Очень круто!

И тут я смотрю на Craigslist и понимаю: их «ужасный» сайт — это моя «неудобная» гостевая книга, только в масштабе всей Америки. Они поняли то, чего не понял я в 20 лет, и не стали «чинить» то, что не сломано.

Почему этот «примитивный» дизайн работает и приносит миллиарды?

  1. Скорость. Сайт загружается мгновенно. Нет тяжелых фреймворков, мегабайтов JavaScript и аналитических скриптов. Чистая функция.

  2. Плотность информации. Никаких баннеров, всплывающих окон и модных карточек. Только текст и ссылки. Вы видите максимум полезной информации на одном экране.

  3. Отсутствие трения. Хочешь разместить объявление? Нажимай и размещай. Не нужна регистрация (как я понял), подтверждение почты и двухфакторная аутентификация, чтобы продать старый стул. Сервис не мешает тебе делать то, зачем ты пришел.

  4. Привычка. Миллионы людей пользуются им десятилетиями. Они знают каждую ссылку наизусть. Любой редизайн вызовет у этой аудитории не восторг, а гнев. Они потеряют свой привычный и предсказуемый инструмент.

Мой «улучшенный» форум вводил трение: регистрация, создание тем, сложная структура. Я убил легкость и анонимность. Точно так же любой «современный» редизайн Craigslist с React, модными анимациями и персонализацией убьет его главное преимущество - скорость и простоту.

Вывод для любого IT-руководителя:

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

Craigslist - это гениальный пример бизнес-прагматизма. Он доказывает, что иногда лучшая фича — это ее отсутствие. А самый ценный актив компании - это привычка пользователя, которую нельзя ломать без крайней необходимости.

А в вашей практике есть свой внутренний «Craigslist»? Старый, неудобный, но незаменимый сервис, который все мечтают переписать, но боятся трогать?

---

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

Там — больше «живых» заметок из окопов управления IT-бизнесом и возможность напрямую задать вопрос.

Подписывайтесь, что бы получать больше инсайтов без воды Тыц

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

Проект ученика в Roblox

Недавно вышло видео с проектом ученика: игра в Роблокс. Предлагаем вам посмотреть на результат обучения Моисеева Данила, спойлер: нам игра очень понравилась!

А если хотите, чтобы мы выложили ваш проект и научили программировать в Roblox, то приходите к нам учиться. Мы ждем вас!

А вот и видео, приятного просмотра.

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

Мой способ именования переменных в 1С

В 1С при создании переменной, необходимо чтобы имя переменной было уникальным в пределах модуля, где пишешь код. Не совпадало с именем реквизита формы. Не совпадало с переменными в модуле приложения. Не совпадало с названием свойства. Не совпадало с названием встроенных методов языка. Из этого так же вытекает, что при анализе чужого кода, не просто понять, что за именованная сущность перед тобой. Эта проблема хорошо описана в книге "1С:Предприятие 8.3. Практическое пособие разработчика" на странице 177. Приведу отрывок из книги:

Допустим, в модуле формы нам встретилось выражение: СтрокаТабличнойЧасти = ЭлементыФормы.Материалы.ТекущиеДанные.

Как понять, что такое СтрокаТабличнойЧасти? Нужно вспомнить, из чего состоит контекст формы:

  • локальный контекст самого модуля формы;

  • реквизиты формы, которой «принадлежит» модуль;

  • свойства и методы объекта УправляемаяФорма встроенного языка;

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

  • глобальный контекст, в том числе неглобальные общие модули и экспортируемые функции и процедуры глобальных общих модулей;

  • экспортируемые переменные, процедуры и функции модуля управляемого приложения.

    Далее по порядку проверить:

  • 1. Объявлена ли в модуле формы переменная СтрокаТабличнойЧасти? Нет.

  • 2. Есть ли у формы реквизит СтрокаТабличнойЧасти? Нет.

  • 3. Есть ли у объекта УправляемаяФорма свойство СтрокаТабличнойЧасти? Нет.

  • 4. Есть ли у расширения формы свойство СтрокаТабличнойЧасти? Нет.

  • 5. Есть ли свойство глобального контекста СтрокаТабличнойЧасти? Нет.

  • 6. Есть ли в модуле управляемого приложения экспортная переменная СтрокаТабличнойЧасти? Нет.

  • Значит СтрокаТабличнойЧасти – это локальная переменная, определяемая непосредственно в этом операторе присваивания.

Для упрощения себе жизни ввел такое правило именования:

  • Параметрам процедур и функций добавляю префикс "п"

  • Переменным внутри модуля добавляю префикс "л"

  • Реквизиты формы без префикса

Пример

&НаСервере
Процедура ЗаписатьШаблонНаСервере(пСсылка) 
	
	лОбъект = пСсылка.ПолучитьОбъект();
	лОбъект.Шаблон.Очистить();
	
	Для каждого Стр Из Шаблон Цикл
	
		НовСтр = лОбъект.Шаблон.Добавить();
		ЗаполнитьЗначенияСвойств(НовСтр, Стр);	
	
	КонецЦикла;
	
	лОбъект.Записать();
	
КонецПроцедуры

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

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

А вы уже пробовали запустить свой проект с помощью бесплатного объема облачных ресурсов Evolution free tier?

Тогда поделитесь опытом и мнением — опрос займет не больше 5-7 минут.

Пройти опрос 👈

Так мы узнаем, что еще можно улучшить, чтобы free tier стал для вас еще удобнее и полезнее. А еще, в перспективе сможем подключить его и для других облачных сервисов 😉

Текущие условия:

  • виртуальная машина в конфигурации 2vCPU, 4 ГБ RAM, диск 30 ГБ;

  • ежемесячный объем хранилища S3 — 15 ГБ, 100 000 операций PUT/POST/LIST, 1 000 000 операций GET/HEAD, 10 ТБ исходящего трафика;

  • ежемесячный объем ресурсов для запуска контейнеров — 120 vCPU x час, 480 ГБ RAM х час.

Этого хватит, чтобы хранить важные данные, развернуть сервер Minecraft, запустить умного Telegram-бота с AI, опубликовать персональный сайт или реализовать любые другие сценарии.

Узнать больше про free tier и попробовать 🕹️

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

Вынос тестов Zig в отдельные файлы

Когда читаешь статьи о разработке на Zig, часто видишь примеры, где тесты находятся в одном файле с основным кодом. Однако при активной разработке такой подход становится неудобным.

Выносить тесты в отдельные файлы — хорошая практика. Рассмотрим это на примере проекта https://github.com/ktarasov/zigrep.

Для начала создадим директорию tests в корне проекта и файл unit_tests.zig. Перенесем туда все тесты из src/main.zig. В список зависимостей добавим импорт главного модуля: const main_mod = @import("../src/main.zig");. Вызовы функций и структур в тестах модифицируем, добавив к ним модуль, например: main_mod.parseArgs.

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

Далее нужно сообщить компилятору, что тесты теперь находятся в другом месте. Для этого изменим файл build.zig. После строки run_step.dependOn(&run_cmd.step) добавим создание модуля с тестами:

const unit_test_mod = b.createModule({
  .root_source_file = b.path("tests/unit_tests.zig"),
  .target = target,
  .optimize = optimize,
});

Также изменим блок добавления константы exe_unit_tests, указав unit_test_mod в качестве root_module.

Вроде всё готово. Попробуем скомпилировать и запустить тесты...

О нет, ошибка: "error: import of file outside module path: './src/main.zig'". Компилятор не импортирует файлы за пределами модуля unit_tests.zig.

Придется явно добавить основной модуль в импорт test-модуля. Для этого вернемся в build.zig и добавим после создания exe_unit_tests следующую строку:

exe_unit_tests.root_module.addImport("zigrep", exe_mod);

Снова запустим тесты — и они успешно пройдут!

Итого: мы вынесли тесты в отдельный файл и создали иерархию директорий, разделив основной код и тесты.

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