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

Разработка

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

Почему совершать ошибки — полезно: рассказывают наставники Практикума

Каждая ошибка — это шаг вперёд, если сделать из неё выводы. Это знали и наши наставники, которые превратили свои неудачи в ценный опыт. Делимся двумя историями:

Тест, который не работал
Рассказывает Дарина Кухтина, наставница на курсе «Аналитик данных»

Я руковожу отделом аналитики в мобильном геймдеве. Мы запустили А/В-тест для игровых автоматов, чтобы проверить разные расстановки. Более успешные слоты поставили в начало. 3а две недели эксперимента не произошло никаких изменений. 

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

Выводы:

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

  • Ошибка может быть в любом месте.

  • Чем раньше заметить ошибку, тем лучше. Это экономит время, а время — деньги.

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

Самокаты начали сигналить по всему городу
Рассказывает Андрей Шевченко, наставник на курсе «Инженер по тестированию»

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

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

Выводы:

  • Команда всегда тебя поддержит.

  • Если ты где-то облажался, то облажалась вся команда.

  • Окружение важно! Покройте проверками максимум.

  • Перезапускайте сервисы после обновлений.

  • Ошибок не допускает только тот, кто ничего не делает.

Есть ли ошибка, которая помогла вам стать лучше? Расскажите об этом в комментариях.

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

Журналистам на выставке электроники CES 2025 дали подержать видеокарту Nvidia RTX 5090 в исполнении от ASUS ROG. Оказалось, что это очень большое и тяжёлое компьютерное устройство.

Ранее Nvidia презентовала графические адаптеры поколения RTX 50, в которое вошли четыре устройства на базе архитектуры Blackwell: GeForce RTX 5090, RTX 5080, RTX 5070 Ti и RTX 5070. Стоимость графических ускорителей варьируется от $550 до $2000.

Nvidia уверяет, что RTX 5090 будет в два раза быстрее RTX 4090, однако у неё вырастет энергопотребление, производитель указывает, что TDP флагманской видеокарты составит 575 Вт.

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

Индексация в языках программирования: не всегда с нуля?

Решая задачки на LeetCode, периодически натыкался на уточнение: "Given a 0-indexed array...". Сейчас решил разобраться с этим термином — ведь я, как двоечник-самоучка  всегда думал (так учат на курсах), что индексация в массивах во всех языках программирования начинается с 0. Оказалось, это не так! В некоторых языках, индексация начинается с 1. Делюсь своими находками. 😊

Языки с индексацией с 1

Некоторые языки программирования используют 1 в качестве начального индекса массива. Вот примеры таких языков:

  • MATLAB: часто применяется для научных и инженерных расчетов.

  • R: используется в статистике и анализе данных.

  • Lua: популярен в разработке игр и встраиваемых систем.

  • Fortran: применяется в численных расчетах и научных исследованиях.

  • COBOL: основной язык для финансовых систем и работы с легаси-кодом.

  • Pascal (по дефолту): был популярен в прошлом, сейчас чаще используется для обучения.

Мой опыт

Из этого списка я знаком с несколькими языками:

  • Pascal: мы писали на нем в школе. До сих пор помню шок от задач на массивы и циклы))

  • MATLAB: изучали в университете, кажется для работы с матрицами.

  • Fortran: слышал о нем в подкастах, но лично не работал.

Удачи, работяги!

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

В Фреймворк DBGridChart добавлено OLAP-приложение "Экспресс_обработка_таблицы.exe ", позволяющее при разработке программ на C++, Java, Visual Basic, F# и на других языках программирования (имеющих средства выполнения из программы готовых приложений из командной строки с параметрами) автоматическое формирование табличных и ленточных форм, форм с диаграммами и графиками с готовым унифицированным многофункциональным интерфейсом пользователя для корректировки баз данных, OLAP-анализу и прогнозированию данных в табличной и в графической формах.

Таким образом, программист при разработке приложения, даже на языке, отличным от C#, может использовать все средства и возможности Фреймворка DFGridChart путем обращения к приложению "Экспресс_обработка_таблицы.exe " с указанием через параметры значения свойствам, например: текст строки подключения к базе данных, текст команды Select, текст строки подстановки. Порядок формирование таких таблиц определяется интерфейсом (меню, кнопки), разрабатываемого программистом для приложения.

Гиперссылка для скачивания Фреймворка "DBGridChart", OLAP-приложения "Экспресс_обработка.exe" и "Экспресс_обработка_таблицы.exe " с исходными текстами, DLL-библиотеками, документацией и с демонстрационными примерами: https://disk.yandex.ru/d/sI1VhBiSPzDp-A

Пример обращения к приложению "Экспресс_обработка_таблицы.exe " при разработке программы на C++

#include <string>

...

// Символ # должен быть указан перед наименованием свойства!// Внутри строковых констант перед символами \ и " нужно указывать символ \
std::string
program = "C:\\Экспресс_обработка_таблицы\\bin\\Debug\\Экспресс_обработка_таблицы .exe", // Местоположение приложения
p1 = "#ConnString=Provider = Microsoft.Jet.OLEDB.4.0;Data Source="C:\\Демонстрационный пример Экспресс обработка таблицы для C++\\Выпуск изделий.mdb", // Строка подключения к базе данных
p2 = "#DBMS = Access", // Тип СУБД, если не указан (p2 не указано), то определяется по строке подключения
p3 = "#Select = SELECT Подразделения.[Код подразделения]@#,Подразделения.[Наименование подразделения]*, Подразделения.[Численность на 2022], Подразделения.[Численность на 2023], Подразделения.[Численность], Подразделения.[Дата формирования], Подразделения.[Код типа подразделения]*, [Типы подразделений].[Наименование типа подразделения], Подразделения.[Действующее] FROM [Типы подразделений] RIGHT JOIN Подразделения~ ON [Типы подразделений].[Код типа подразделения] = Подразделения.[Код типа подразделения] ORDER BY Подразделения.[Наименование подразделения]", // Запрос с возможностью корректировки таблицы Подразделения. Специальные символы при режиме корректировки после имен полей или псевдонимов: ключевое (@), обязательное (*), не корректируемое (#) поле и после имени корректируемой таблицы указывается символ ~, если таблиц несколько во фразе From.
p4 = "#Podstavit_v_kolonki = ктп #-; SELECT [Наименование типа подразделения], [Код типа подразделения] FROM [Типы подразделений] ORDER BY [Наименование типа подразделения]", //Подстановка кода типа подразделения в колонку с именем ктп по наименованию путем выбора мышкой из списка (сформированного указанной командой Select) наименований типов подразделений. Режимы подстановки: только из списка (-), список открывается в текущей ячейке (#).
p5 = "#Flag_Create_SQL_Select = True", // Разрешить (True)/не разрешить (False) использовать конструктор команд SQL (по умолчанию - True и p5 можно не указывать)
p6 = "#Table_№ = 2367", // Уникальный номер (обычно, случайное число) таблицы или запроса для сохранения макета настройки индивидуально для таблицы
parameters = p1 + p2 + p3 + p4 + p5 + p6, // параметры приложения
command = program + " " + parameters; // командная строка
system(command.c_str()); // выполнение приложения, которое формирует табличную форму с многофункциональным унифицированным интерфейсом Фреймворка DBGridChart

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

А вы уже дошли до секретной локации? 😉

Через три дня подводим итоги розыгрыша в новогоднем боте от Selectel. Успейте поучаствовать и выиграть призы от нас и наших партнеров: Слёрм и Инглекс 🎁

Говорят, что после встречи с персонажем «которого нельзя называть», вы уже не будете прежними — скорее активируйте бота и откройте тайны грядущего 💫

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

Приветствую, Земляне! Почти 3 месяца миновало с первого релиза NotOnlyClock, моего персонального проекта на платформе Arduino.

NotOnlyClock
NotOnlyClock + Помидор

За это время вышло 2 обновления, подписчики моего Телеграм-канала всегда узнают обо всем самыми первыми. Обновления получила не только прошивка устройства, но и "железная" часть получила опциональную модификацию: теперь, на устройство можно установить кнопки с подсветкой.

Ниже приведен список ключевых изменений 2-х последних обновлений:

  • теперь, можно использовать до 8-ми секундомеров и таймеров одновременно (на 7 больше, чем было доступно ранее);

  • добавлен режим для подсчета количества нажатий с 9-ю независимыми счетчиками;

  • добавлен Помодоро трекер для отслеживания времени работы и отдыха по методу Помидора.

Подробные описания: обновление 1, обновление 2.

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

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

Я состою в одном чатике, где собрались энтузиасты Telegram Mini Apps. Там фаундеры, разработчики и просто интересующиеся обсуждают идеи, делятся опытом и помогают друг другу. Мне очень интересна эта тема, и я планирую запустить что-то своё на базе Telegram.

Но ближе к делу. 2 января в чат зашёл человек в поисках разработчика для своего проекта. Он выглядел весьма взволнованным и объяснил, что помимо долгосрочного сотрудничества ему срочно нужен фикс для его мини-приложения. Это небольшое приложение с игровой механикой, у которого Monthly Active Users (MAU) — около 30 тысяч. Впечатляет, согласитесь! Проблема заключалась в том, что текущие разработчики ушли на праздники и не выходили на связь.

Я решил попробовать помочь просто ради интереса. Сидел за компьютером, пытаясь дописать свою дипломную работу, а мозг требовал смены деятельности. Когда мне дали доступ к репозиториям, я увидел следующее:

  • Проект довольно крупный: около 10k строк кода на фронтенде и 5k строк на бэкенде.

  • Фронтенд написан на React с использованием Jotai для управления состоянием. Интерфейс реализован с помощью Tailwind CSS.

  • Бэкенд — Express.js, взаимодействующий с MongoDB.

Весь проект написан на чистом JavaScript, и вот что меня поразило:

  • Полное отсутствие типов. Никакого TypeScript, PropTypes или хотя бы JSDoc. После нескольких лет работы с TS мне было трудно принять, что я не могу быстро понять, какие аргументы ожидаются в функциях. Я думал что все крутые проекты используют TS, а JS только для маленьких проектов, обучения и чего-то не совсем серьезного.

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

  • Нарушение принципов DRY. Например, в коде вручную прописывались заголовки для fetch-запросов — везде, где только можно.

  • Неоптимальный код. Неправильный вызов хуков, отсутствие lazy loading, дублирование логики и так далее. Я могу продолжать список почти бесконечно.

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

Я быстро разобрался с багом, исправил его и в итоге получил предложение помочь улучшить проект. В ближайшие пару недель как раз займусь этим — заработаю сыну на шоколадки и, надеюсь, сделаю код немного лучше. А теперь — к выводам, которые я сделал (а точнее получил подтверждение в очередной раз):

Выводы:

  • Работа и подработка всегда найдутся. Если у вас есть знания и навыки, найти проект даже в текущее время— не проблема. Главное — свободное время и скилл. Я получил подтверждение этого тезиса в очередной раз и последние несколько лет я понимаю, что возможность зарабатывания денег ограничивается только наличием свободного времени для этого. Ну и осознав это я пытаюсь найти варианты, которые напрямую не связаны с обменом моего времени на деньги. Во многом моя попытка раскачать телеграмм канал именно об этом.

  • JS жив и приносит прибыль. Люди продолжают писать серьёзные проекты на JavaScript. Да, TypeScript стал стандартом в моей работе, но это не мешает другим писать на чистом JS и чувствовать себя отлично.

  • Маркетинг побеждает. Код, который я видел, был ужасен. Но приложение успешно благодаря сильному маркетингу. Это очередное подтверждение фразы: “Best products never win. But best sales & marketing always win.” Как программисты, мы должны стремиться к чистому коду и хорошей архитектуре, но успех продукта в конечном счёте определяется вовсе не этим.

А что вы думаете о роли маркетинга? Согласны ли вы, что он может перевесить техническую сторону?

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

Теги:
Всего голосов 13: ↑9 и ↓4+6
Комментарии12

Гордость "настоящего программиста" - это нечто. Он учился! У него и справка (диплом, сертификат) есть! Он крутой профессионал, с хорошей теоретической подготовкой!

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

А потом его творение идет в прод, а он сам, через некоторое время, меняет работу. И вот тут-то оказывается, что никто не понимает как оно работает - потому что его код после ряда обновлений работать перестал, а новые программисты любили другой язык программирования, и им непонятно как работает вот это brmd ff-?d(!-[~dde][df] - 8, и почему именно 8?

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

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

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

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

Фичи:

Генерация структурированных документов в Markdown/PDF

Интеграция c Jira/Confluence

Возможность автоматической генерации диаграмм (ERD, Sequence)

Полезно ли это/пользовались бы сами?

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

Вышел новый релиз 1.0.2 проекта CFXHTTP, представляющего собой реализацию VLESS-прокси-сервера с Websocket- и XHTTP-транспортами на платформе Cloudflare Pages и Cloudflare Workers.

Pages - бесплатный хостинг веб-сайтов от компании Cloudflare, который кроме раздачи статического контента также позволяет запускать на сервере Javascript-код. Для сайтов на бесплатном тарифе не нужно даже иметь домен, так как CF разрешает создавать поддомены на своем домене pages.dev для пользовательских сайтов.

Таким образом, CFXHTTP позволяет поднять свой прокси-сервер с VLESS используя бесплатный тариф Cloudflare, не потратив на это ни копейки и даже не имея домена.

Инструкция по развертыванию на английском языке здесь, а на китайском здесь (она более полная, можно перевести google translate). Необходимо прописать переменные окружения WS_PATH (или XHTTP_PATH) и UUID и загрузить файлы на сервер Cloudflare. После чего можно подключаться к вашему личному прокси с помощью почти любого клиента на базе XRay. CFXHTTP так же может сгенерировать config.json для подключения к серверу при обращении к определенному URL.

Имеющиеся ограничения:

  1. Проксируется только TCP, проксировать UDP невозможно. Соотвественно, не будут работать игры, звонки в месседжерах, и т.д. Если вы используете клиент в режиме local proxy то проблем с конфигурацией быть не должно, если вы используете TUN-режим, то нужно настроить локальный DNS в клиенте для использования TCP (например tcp://8.8.8.8:53) или DoT. Примечание: не используйте 1.1.1.1, у CF есть какой-то баг, связанный с этим.

  2. Не поддерживается мультиплексирование (mux.cool) и early data для вебсокет-транспорта

  3. Транспорт XHTTP работает только через Workers, для которых нужен домен и для которых на бесплатном тарифе есть ограничение на количество запросов. WS-транспорт работает и с Pages, не требуя отдельного домена.

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

  5. Как сказал автор, "The more people knows of this script, the sooner this script got banned." Поэтому перед загрузкой файлов на сервер не лишним будет еще раз прогнать js-код через обфускатор и поменять строковые константы на свои.

В остальном же, оно вполне работает. Через Hiddify у меня почему-то не завелось (возможно потому что он основан на Sing-box), через v2rayNG (после конфигурации DNS через TCP и отключения мультиплексирования) заработало без проблем, сайты открываются стабильно и без видимых задержек, сервисы проверки IP-адреса клиента показывают IP из сетей Cloudflare.

См. также: https://github.com/6Kmfi6HP/EDtunnel/ - похожий проект прокси-сервера с использованием Pages/Workers. Поддерживает VLESS и SOCKS5 через Websocket-транспорт, из интересного - умеет перехватывать DNS-запросы по UDP и перенаправлять их на DNS-сервер по TCP.

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

Новогодняя интеллектуальная разминка с Cloud.ru 🦾

формулаВсем привет! Продолжаем занимать вас интеллектуальными задачами, и наша следующая — с уровнем уровень сложности «эксперт»:

Вы — Агент K, работающий в «Департамента мостов и тоннелей»  («Люди в черном» / Men-in-Black). У вас 24 часа, чтобы обучить большую языковую модель для общения с аркелианцами. Сколько GPU NVIDIA A100 нужно для вашего суперкомпьютера, чтобы успеть обучить модель за это время и спасти Землю? Создайте формулу для вычисления машинного времени суперкомпьютера (в GFLOPS или в GPU-часах), затрачиваемого на обучение модели не хуже чем Llama 2 70B (с возможностью применения для оценки времени обучения других моделей). 

Время обучения Llama 2 — 1720320 GPU-часов, для обучения модели использован датасет с 2 триллионами токенов. Другие необходимые данные возьмите в интернете. 

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

Варианты ответов оставляйте в комментариях 👇 В пятницу — 10 января — Павел Бузин (@pbuzin) — эксперт Cloud.ru по AI и машинному обучению, раскроет правильный ответ под этим постом.

И оставляйте реакции и предложения — как вам такой формат, что можно улучшить? 

Вам может быть интересно:

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

Задача на зубок: считаем орешки

В магазине полезных перекусов продаются на развес орехи:

  • Арахис — 500 руб/кг,

  • Миндаль — 1000 руб/кг,

  • Кешью — 1200 руб/кг,

  • Грецкий — 800 руб/кг,

  • Фундук — 1100 руб/кг,

  • Фисташки — 1400 руб/кг.

Менеджер проанализировал спрос и предлагает продавать упаковки с миксом орехов в таких вариантах:

  • арахис, миндаль, кешью;

  • миндаль, фундук, фисташки;

  • кешью, фундук, грецкий.

Любая упаковка микса — по 200 грамм. В каждом миксе орехи взяты в пропорции 2:1:1, где первый — это самый дешёвый орех в данной смеси.

Менеджер предлагает установить цену 200 руб за упаковку микса. Какой микс наиболее выгодно продавать по такой цене, а какой — наименее выгодно?

Ответ опубликуем в комментариях! Больше задач найдёте в бесплатном тренажере «Основы математики для цифровых профессий».

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

Вклад инженеров Axiom JDK в развитие OpenIDE

На текущий момент среди разработчиков Java в качестве основной среды разработки применяется IntelliJ IDEA. Однако, коммерческая версия этого и других продуктов JetBrains, включая IDE, Code With Me, Upsource, TeamCity и Space, а также техническая поддержка теперь не доступны в России. Это побудило нас на создание продукта OpenIDE с открытым исходным кодом и всей инфраструктурой, размещенной на территории РФ.

Как было анонсировано ранее, OpenIDE создается на базе исходного кода IntelliJ IDEA CE и будет развиваться в рамках некоммерческого партнерства Axiom JDK, «Группы Астра» и Haulmont. В этом посте мы расскажем о вкладе команды Axiom JDK в проект.

Рантайм Axiom JDK будет предоставляться в качестве выбора по умолчанию для разработки на Java/Kotlin в OpenIDE. Дополнительно будет возможна установка Axiom JDK из интерфейса OpenIDE. При этом релизный цикл Axiom JDK синхронизирован с OpenJDK и регулярными обновлениями.

Команда Axiom JDK будет выпускать и поддерживать рантайм, используемый для запуска OpenIDE, с набором улучшений. Это, например, расширенное переопределение классов c помощью DCEVM и поддержка JCEF фреймворка для встраивания браузера на базе Chromium. Также планируется ряд улучшений для рендеринга шрифтов, поддержка режимов HiDPI, что обеспечит лучшее масштабирование интерфейса пользователя. А еще это позволит исправлять специфичные для работы IDE ошибки, исправлений для которых еще нет в OpenJDK.

Несмотря на то, что исходный код IntelliJ IDEA CE открыт, в процессе работы IDEA обращается к серверам JetBrains для обновлений, поддержки маркетплейса плагинов, а также других нужд. Этот функционал сейчас перерабатывается с участием инженеров Axiom JDK, что позволит создать локальную российскую библиотеку плагинов, локализованный (и отключаемый) сбор статистики и механизм обновления OpenIDE.

Наконец, команда Axiom JDK занимается настройкой сборочного конвейера OpenIDE, и со временем произведет анализ всех OSS зависимостей OpenIDE и будет обеспечивать оперативное исправлений уязвимостей в ОSS зависимостях в рамках релизного цикла OpenIDE.

Релиз продукта намечен на март 2025 года.

Axiom JDK — единственный российский разработчик JDK. Инженеры команды стояли у истоков Java в России и развивают платформу более 25 лет.

OpenIDE можно использовать взамен IntelliJ IDEA CE. По данным нашего исследования, 78% Java разработчиков используют IntelliJ IDEA Ultimate, а 47% - работают на Community Edition. Мы хотим предоставить сотням тысяч разработчиков открытый инструмент, не уступающий по удобству привычным IDE, чтобы они могли быстро и эффективно работать.

Читайте также у нас на сайте и у партнеров на хабре.

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

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

97% языков программирования в мире используют семантическое версионирование.

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

Праздничный unixporn: python vim ide в контейнере

В разработке на python, особенно в DS/ML проектах, мы все сталкиваемся со сложной схемой зависимостей на специфичной аппаратной платформе. Зачастую, вести разработку удобно в том окружении, в котором в последствии запускается приложение.

Если вы вдруг vim user, то можно просто доставить редактор в контейнер с окружением и разрабатывать прямо там. Такая схема достаточно лекговесна, позволяет относительно просто держать актуальными завистимости при разработке, переиспользовать существующие сборочные конвейеры с небольшим наборов слоёв для самого редактора. Так же это может быть удобно, если вам нужно работать где то на удалённом кластере по ssh.

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

С Новым годом!

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

Новогодний марафон интеллектуальных задачек 🦾

Привет, Хабр! Поздравляем всех с наступившим Новым годом!

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

Представьте, что вы — Бен Кэмпбелл, гениальный студент MIT и герой фильма «Двадцать одно». Профессор Микки Роса предлагает вам решить задачу про смену двери (также известную как Парадокс Монти Холла). Вот только дверей у вас будет 4, и только за одной из них приз. Выгодно ли вам изменить решение после того, как вы предложите открыть одну дверь, а Микки Роса откроет вам другую?

Варианты ответов оставляйте в комментариях 👇 9 января Павел Бузин (@pbuzin) — эксперт Cloud.ru по AI и машинному обучению, раскроет правильный ответ под этим постом.

А еще пишите — над задачами в каких областях вам будет интересно «поломать голову» в будущем?

Вам может быть интересно:

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

Проект Minecraft 2 в разработке — создатель оригинала Нотч анонсировал продолжение любимой игры. Рабочее название — Adventureland. Сейчас разработчик выбирает сеттинг будущей игры: это будет космическое приключение или игра в стимпанк стиле.

Хронология:

  • В сентябре прошлого года Notch поделился ранним геймплеем своей новой игры, которая похожа на что‑то между Dungeons & Dragons и Super Hot — dungeon crawler с элементами rogue‑like.

  • 1 января разработчик устроил опрос, где спросил, чего бы от него ждали больше — Minecraft 2 или другую новую игру. Minecraft выиграл с отрывом.

  • 3 января Notch написал, что «по сути, анонсировал Minecraft 2», так как, во‑первых, этого от него и ждут и во‑вторых — его новая игра похожа на Minecraft.

«Мои намерения — быть ясным и честным по этому поводу, говоря, что духовные преемники обычно как‑то... знаете... выброшены на ветер. Трагично. Я боюсь, что моя следующая игра будет [выброшена на ветер], и стараюсь избегать этого. Так почему бы мне не сделать [духовного наследника Minecraft], чего люди действительно хотят и за что готовы дать мне, каким‑то образом, даже больше денег», — пояснил Notch.

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

У узкопрофильных, технических статей на Хабре нередко интересная судьба: их активно добавляют в закладки, мало просматривают на момент выхода и обращаются к ним позже (ну или не обращаются, потому что закладки бывают слишком долгим ящиком). Мы поработали за вас и выбрали 10 полезных туториалов из 2024 года, которые добавили в избранное более 50 раз, но просмотрели менее 3000. И кажется, это серьёзные технические статьи, которые можно почитать для работы или учёбы, разобраться, забрать себе толковые идеи. 

А что интересного лежит у вас в закладках и часто ли вы к ним обращаетесь?

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

Понадобилось запрограммировать ATTiny10. Под рукой есть JTAGICE mkII но с убитым шлейфом, пришлось восстанавливать распиновку 30 контактного шлейфа.

Переходник с распиновкой
Переходник с распиновкой

И в текстовом виде

1 VTref
2 VSupply
3 nTRST
4 GND
5 TDI
6 GND
7 TMS
8 GND
9 TCK
10 GND
11 N. C.
12 GND
13 TDO
14 GND
15 nSAST
16 GND
17 N. C.
18 GND
19 N. C.
20 GND
21 N. C.
22 GND
23 N. C.
24 GND
25 N. C.
26 GND
27 N. C.
28 GND
29 N. C.
30 GND

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

Представлен проект капчи DOOM CAPTCHA, где нужно убить минимум трёх монстров на карте secret level E1M9 в режиме Nightmare. Стрейфиться нельзя, управление - стрелки вперёд. назад, вправо, влево, стрельба - пробел.

Теги:
Всего голосов 9: ↑9 и ↓0+13
Комментарии0
12 ...
50