Что могут сделать 4 школьника за 3 дня?
Первая олимпиада по промышленной разработке PROD. О том, как это было.
Система автоматической унификации назначений данных (САУНД) разрабатывается для повышения внятности программирования. Идея обсуждалась ранее. Приведем эксперименты по созданию спецификации языка программирования.
def c = add(a, b, carry=0):
not a and not b =>
carry => c = [carry] else => c = []
else =>
not a => @a = [0]
not b => @b = [0]
a = [a' x]
b = [b' y]
last = (x + y + carry) % base
new_carry = (x + y + carry) // base
c = [add(a', b', new_carry), last]
def m = findmin(a):
m = nil
a =>
run enumerate(i=a.begin):
i < a.end =>
*i < *m => m = i
enumerate(i.next)
def sort(@a):
a =>
a = [x a']
i = findmin(a')
swap(@x, *i)
sort(@a')
def s = sum(a):
a =>
a = [x a']
s = x + sum(a')
else =>
s = 0
def pythagorean_table(n):
run rows(i=1): i <= n =>
run cols(j=1): j <= n =>
print(i * j)
cols(j + 1)
print("\n")
rows(i + 1)
Условные конструкции обозначаются символом =>
, вместо циклов - рекурсивный вызов функции-блока.
Квадратные скобки обозначают операцию создания списка либо добавления элемента к списку, аналогично MATLAB.
Символ @
используется при вызове функций, чтобы указать на возможность модификации переменной.
Символ *
перед переменной обозначает операцию разыменования итератора.
Ключевое слово run
используется для запуска функции-блока.
В языке отсутствуют операторы, прерывающие ход выполнения программы, такие как return, break, continue.
Что могут сделать 4 школьника за 3 дня?
Первая олимпиада по промышленной разработке PROD. О том, как это было.
Понимаем полностью useMemo и useCallback
Экскурсия по двум самым известным хукам в React
Если вы изо всех сил пытались разобраться в useMemo и useCallback, вы не одиноки! Я разговаривал со многими разработчиками React, которые cломали голову над этими двумя хуками.
Моя цель в этом здесь — прояснить всю эту путаницу. Мы узнаем, что они делают, почему они полезны и как получить от них максимальную пользу.
Погнали!
Пользователь Reddit под ником R3V3RB_7 соединил умные часы с контроллером и создал импровизированную консоль. На получившемся устройстве он запустил игру Castlevania: Aria of Sorrow. Основой для необычной системы стали Apple Watch Ultra, контроллер Dual Sense и эмулятор GBA My Boy!
Теория вероятностей – одна из важных частей не только игрового дизайна, строго заскриптованые события без вариантов быстро вызовут скуку у игроков. У меня за спиной был всего один год этой дисциплины в универе, и не сказать, чтобы нужно было применять это каждый день, но когда надо объяснить базовые знания дизайнерам, то приходится сталкиваться с тем, что каждый дизайнер понимает теорию вероятности по-своему. Эти мои размышления появились после обсуждения с одним из коллег замечательной статьи Яна Шрайбера о неслучайных случайностях и сломанных ГСЧ в играх. Игры - это огромные недетерминированные системы, независимо от того, закладывали это в проект или нет. И понимание природы случайности для контролирование таких систем, которые влияют на опыт игрока, помогает создавать их так, чтобы они не казались прибитыми сбоку гвоздями. Если в системе есть случайность, нужно понимать как её изменить, приблизив её к бытовому пониманию игроков. И даже если все механики игры строго детерминированные - их взаимодействие дает случайный результат, в чём вы можете убедиться, посмотрев многочисленные видео по различным взломам игровых систем.
В этой статье будет рассмотрена теорема, о существовании которой не получилось узнать из Интернета, а также будет очень кратко описана возможность применения данной теореме на практике для увеличения криптостойкости системы McEliece.
Microsoft начала показывать полноэкранные сообщения о том, что срок поддержки Windows 10 подходит к концу в октябре 2025 года. Компания благодарит пользователей предлагает узнать больше о преимуществах Windows 11.
Представляю вашему вниманию перевод статьи "Demystifying Istio Ambient Mesh for Total Beginners" автора Antonio Berben. В этом посте мы рассмотрим проблемы, возникающие в режиме sidecar, и то, как Istio Ambient Mesh изобретательно решает их, минимизируя использование прокси-серверов, упрощая масштабируемость и поддерживая безопасность. Давайте разберемся.
Не открою Америку, если скажу, что вся наша жизнь - это сплошной стресс. Точнее, череда стимулов, которая вызывает стресс. И это нормально, так как стресс является основой выживания, будучи реакцией приспособления (адекватной или нет, это другой вопрос). Это так называемый первичный стресс. И с ним всё в порядке (как с механизмом).
Но в своей практике я достаточно часто сталкиваюсь с другим явлением, более деструктивным, который можно окрестить вторичным стрессом - это переживание за факт переживания. Это несёт усиливает стресс от изначального стимула, увеличивая его деструктивную силу. Но и это еще не конец. Всё чаще начинают звучат фразы из разряда "я переживаю, что не переживаю". И вот это уже хочется разобрать подробнее.
Почему мы переживаем? Почему мы переживаем из-за переживания? И почему мы не можем жить спокойно, не переживая? Разберем в этой статье. А в конце, внезапно, поговорим про разницу поколений через призму данной темы.
Задача о сумме подмножеств в общей формулировке звучит так:
Существует множество S чисел, вопрос состоит в том, будет ли сумма некоторого подмножества от S равна заданному числу Т.
Известно, что данная задача NP-полная.
Мы будем решать эквивалентную задачу, где все числа являются натуральными.
Частным случаем задачи о сумме подмножеств является задача разбиения множества чисел:
Множество чисел S необходимо разбить на два подмножества S1 и S2, где сумма S1 равна сумме S2.
(От задачи о сумме подмножеств текущая отличается только тем, что T = SUM(S1) / 2 = SUM(S2) / 2)
Хочу предложить вам простой и элегантный способ относительно быстрого решения обеих задач методом целочисленного линейного программирования (ЦЛП). Мы получим не только точный ответ на вопрос, но и найдём искомое подмножество.
Meta* начала тестировать новую функцию защиты подростков в Instagram**. В сообщении компании говорится, что теперь соцсеть будет обнаруживать и размывать потенциально вредные фотографии, которые пересылаются молодым людям в личные сообщения.
Студентом я мечтал скрестить Doom II, Fallout II и, не смейтесь, Minecraft — но, поскольку его ещё даже в проектах не было, за него отдувался не менее квадратный Rise of the Triad, к которому я додумал более гибкую геометрию блоков (получился по сути Minecraft).
Открытый мир (сгенерированный) с квестовыми городами (созданными умелыми руками всяких Петерсенов), и шастать вслепую не хватит никакой жизни — чтобы найти новую локацию, надо искать зацепки. Зачистить старую от «футболов» с «козлами» и посмотреть документы. Найти не до конца разбитую железную или автомобильную дорогу, которая куда-то да ведёт. Логически допереть, что тут с точки зрения логистики и инфраструктуры что-то обязано быть. И бои, бои, бои — в локациях открытого мира, в путешествиях, в (разумеется) квестовых городах! В основе всего всё-таки Doom :)
И, конечно, в конце главный демон обрушивается в клубах пыли, а все его деяния откатываются.
И только ручной какодемон Сильвестр всё ещё пытается сожрать последнюю канарейку на Земле — до чего же упрямая скотина…
Ну, крафт оружия на тот момент уже напрашивался, тут я не был оригинален. Ещё не был мейнстримом, но уже напрашивался. А вот движок тогдашнее железо едва ли бы потянуло. Даже упрощённый. Хотя вот когда оно дотянуло — блажь попробовать хотя бы движок мне в голову всё-таки ударила, уже без связи со несбывшимися мечтами, конечно.
А сейчас все такое пишут, лол :) Но в сеттинге Doom II, увы, в это вряд ли получится поиграть. Порты такое не потянут.
Власти Великобритании обдумывают введение запрета на продажу смартфонов детям в возрасте до 16 лет. Ранее опросы показали, что 58% родителей в Англии поддерживают подобные ограничения.
Компания Apple сообщила, что разрешит владельцам своих устройств и неавторизованным сервисным центрам использовать б/у запчасти для ремонта iPhone 15 и новее в конце 2024 года.
«Роскосмос» отчитался о выполнении основной задачи пуска «Ангары-А5»
«Роскосмос» сообщил, что основная задача первого пуска ракеты «Ангара-А5» полностью выполнена: разгонный блок «Орион» доставил испытательную полезную нагрузку на орбиту.
Отделение испытательной полезной нагрузки от разгонного блока не предусматривалось. Далее разгонный блок «Орион» с испытательной полезной нагрузкой будет уведен на орбиту хранения, чтобы не создавать помехи действующим космическим аппаратам, работающим на геостационарной орбите, уточнили в госкорпорации.
11 апреля ракета-носитель «Ангара-А5» с третьей попытки успешно стартовала с космодрома Восточный после отмены двух предыдущих запусков из-за технических проблем. Позже было объявлено, что разгонный блок «Орион» доставил маленький спутник «Гагаринец» на низкую околоземную орбиту. Этот спутник был разработан компанией Avant Space.
Привет, Хабр! Меня зовут Александр, я уже около 15 лет в IT. Долгие годы занимался разработкой, но в последнее время перешел в менеджмент.
Сейчас я работаю в крупной компании, которая занимается юридическими услугами. За несколько лет компания выросла, и сейчас IT-отдел насчитывает уже 70 человек. Помимо разработчиков у нас появились аналитики, тестировщики, саппорт. При этом для бизнеса оставались непонятны сроки, стоимость и прибыль от разработки фич.
Мне предложили заняться менеджментом разработки, так как помимо написания самого кода я еще был глубоко погружен в бизнес-процессы. Предложение мне показалось интересным, и я с энтузиазмом взялся за непочатый объем работы, возглавив разработку нескольких сервисов.
В этой статье читателям Хабра и вАЙТИ — нового DIY-медиа для айтишников я расскажу о принципах, которые помогли наладить процессы в разработке и сделать их прозрачнее.
«В автоматизацию идут самые большие лентяи – они хотят сделать так, чтобы лежать на диване, а без них само бы всё работало»
Преподаватель кафедры АПП Волгоградского Политеха.
Добрый день, уважаемые хабровчане!
Хочу предложить вашему вниманию историю моего скромного «хобби-проекта».
Как известно, бывают умные вещи и умные дома, а мне захотелось сделать «умную дачу»! Ну, такую, чтобы сама себя поливала в периоды долгого отсутствия хозяев, а в холодное время включала отопление к их приезду. Причём, сделать всё это «на минималках» и в смысле затрат финансовых, и в смысле затрат умственной и физической энергии. И чтобы было просто «прикольно». По специальности я инженер АСУ ТП, вот и захотелось создать некоторую вариацию такой системы на своём дачном участке. Идея эта зрела во мне долго, но должны были сложиться как объективные так и субъективные обстоятельства.
Итак, предыстория. В нашей семье холодильник давно победил телевизор, а потому с холодильника всё и началось. Лет, кажется, семь или восемь назад мы отправились летом на море. И пока благополучно там отдыхали, в доме произошло отключение электричества, из-за броска напряжения выбило автомат на входе в квартиру. Холодильник, естественно, разморозился, и тёща, навещавшая наше жильё, обнаружила это безобразие лишь несколько дней спустя.
Поскольку уезжаем мы летом часто, то возникла мысль, что нужно как-то обезопасить себя от повторения подобных казусов. Оказалось, существуют «умные розетки», с которыми можно обмениваться информацией и управлять через СМС. Китайцам я доверял не очень, а потому купил «умную розетку» отечественного производства. Продавалась она в магазине, торгующем средствами охраны, и стоила космические не то пять не то шесть тысяч рублей. Но чего не сделаешь ради холодильника?
Группа компаний InfoWatch представила результаты исследования под названием «Утечки информации в мире, 2022–2023 годы». По этому исследованию, количество утечек информации в мире в 2023 году составило 11 549 инцидентов, а всего в сеть утекли 47,24 млрд записей персональных данных.
В рамках исследование, доля России в общемировом количестве утечек снизилась с 10,8% в 2022 году до 5,7% в 2023 году. При этом Россия стала одной из немногих стран, в которой выросла доля внешних атак. За 2023 году количество утечек конфиденциальной информации в мире увеличилось на 61,5%, чем в 2022 году.
Бояре, после запуска игры прошла уже неделя.
Мы получили много отзывов от игроков, в том числе с конструктивной критикой. Хотим сообщить, что команда продолжает работу над игрой и не собирается останавливаться на достигнутом, приняв во внимание и поступившие отзывы.
За эти дни наша команда уже выпустила два патча и продолжает вести разработку игровых обновлений.
За 6 дней мы получили:
783 багрепорта через форму обратной связи https://clck.ru/39s64M
368 обращения на почтовый ящик [email protected]
Хотим сообщить, что в большинстве случаев смогли помочь нашим игрокам с возникающими проблемами.
Спасибо, что сохраняете интерес к нашей игре, а добрые пожелания и предложения по улучшениям, которые поступают от многих игроков, заставляют нас верить в то, что, несмотря на все проблемы, наш труд не был напрасен.
Также хотим сообщить, что в скором времени планируется выпуск ещё одного патча, исправляющего ряд внутриигровых проблем, а чуть позже – большое обновление, которое должно улучшить производительность игры и избавить от некоторых других технических проблем.
Релиз игры версии 0001 состоялся 4 апреля.
5 апреля в VK Play вышла вторая версия 0002 игры «Смута» (версия 0002).
Пользователь рассказал, что сумел запустить игру «Смута» в Linux.
Перед покупкой и установкой игры лучше почитать форум «Дискуссии Смута» на VK Play.
7 апреля в VK Play вышла третья доработанная версия игры «Смута» (версия 0003) от студии Cyberia Nova.