Рубрика «рассуждения»

С развитием информационных технологий развивалась и сфера мошенничества в ИТ, вирусных и хакерских атак. Естественно, вырос спрос и на услуги Информационной Безопасности (ИБ). Он всегда был, но с повсеместной компьютеризацией он сильно увеличился. Ведь сейчас трудно представить современный мир без кучи различных гаджетов и компьютерной техники. Конечно, есть уголки мира, куда прогресс ещё не дошел в полной мере, но сейчас не о них. 

Читать полностью »

Философия середины-конца XIX века подарила человечеству нечто большее, чем планы социального переустройства или две мировые войны. Она подарила нам надежды на лучшее будущее. Неважно в каком виде и при каком порядке. Факт в том, что оно у нас появилось. А вслед за этими надеждами появились они, писатели-футуристы, кого ныне называют фантастами. Эдгар Бероуз, Станислав Лем, Роберт Хайнлайн, Рей Брэдбери, Айзек Азимов... Их были десятки.

Философия будущего - 1Читать полностью »

Всем привет! Хочу порассуждать над целесообразностью использования билдеров для не сложных объектов.

Для упрощения буду использовать аннотации lombok'a:

@Value
@Builder

Недолго погуглив, получаем, что builder Отделяет конструирование сложного объекта от его представления так, что в результате одного и того же процесса конструирования могут получаться разные представления. Только ли для сложных объектов?

Рассмотрим на простом примере:

@Value
public class Info {
    @Nullable String uuid;
    @Nullable String email;
    @Nullable String phone;
}

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

Но, как мы видим, все поля nullable, и создание такие объектов будет выглядеть не очень красиво:

        final Info info1 = new Info(null, "email@email.com", "79998888888");
        final Info info2 = new Info("3d107928-d225-11ea-87d0-0242ac130003", null, null);
        final Info info3 = new Info("3d107928-d225-11ea-87d0-0242ac130003 ", "email@email.com", null);
...

Безусловно, есть варианты:

  1. Объекты, где немного полей разных типов, можно завезти несколько конструкторов. Но это не решает проблему класса выше.
  2. Использовать setter'ы — субьективно, нагромождает код.

Читать полностью »

Веб-компоненты и открытые стандарты - 1

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

  • Это веб-стандарт, сделанный открытым сообществом, а не какой-то частной компанией
  • Веб-стандарты не ломают обратную совместимость, не придется переживать за свой код в будущем
  • Все современные браузеры придерживаются стандарта в своем поведении, меньше сюрпризов на кросс-браузерном тестировании

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

Читать полностью »

Помните резкий пик разработки и выпуска MOBA игр с момента выхода Dota 2, сколько было проектов? Сколько подобных игр делали в подобном жанре?

Тысячи

Кто дожил до настоящего времени?

единицы

На гребне волны, или «я хочу в мейнстрим» — а стоит ли? - 1

Наблюдаете за актуальностью роялей? Какой огромный пик начался с PUBG и Fortnite, сейчас каждый хочет сделать свою королевскую битву. Сейчас это нужно игрокам, на это есть спрос.

А нужно ли это нам, разработчикам?
Давайте разбираться
Читать полностью »

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

image
Но аукционы все еще популярны в оффлайне

Впрочем, начиналось все достаточно радужно. Торговые площадки Ebay и Amazon изначально позиционировались именно как интернет-аукционы, на которых пользователи могут приобрести интересующие их вещи в ходе торга за них. Некоторые черты аукциона Ebay смог сохранить, чего не скажешь об Amazon: он окончательно и бесповоротно трансформировался в торговую площадку и маловероятно когда-нибудь откажется от этой модели.
Читать полностью »

Мир криптовалют сегодня становится всё более сложным. На coinmarketcap количество виртуальных монет перевалило за 1140 позиций и постоянно растёт: это токены на разных блокчейнах, с разными функциями и назначением. Всё больше людей вовлекаются в эту сферу в расчёте на большие и быстрые прибыли, например, после участия в ICO и выхода токена на биржи. Но для того, чтобы разобраться во всем в этом крипторазнообразии, неискушённому пользователю нужно время и определённый базис знаний. Такое изобилие может скорее оттолкнуть, чем привлечь людей, которые бы хотели просто начать пользоваться теми же Биткоином, Эфириумом или другой известной криптовалютой. И использовать не столько и не только для спекуляций, или как средство сбережения, но и как обычный платежный инструмент при покупках товаров, оплате услуг.

В гастроном за коины: как криптостартап UTRUST обещает сделать это наконец-то возможным - 1
Читать полностью »

Ограничения глубинного обучения и будущее - 1Эта статья представляет собой адаптацию разделов 2 и 3 из главы 9 моей книги «Глубинное обучение с Python» (Manning Publications).

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


Ограничения глубинного обучения

Глубинное обучение: геометрический вид

Самая удивительная вещь в глубинном обучении — то, насколько оно простое. Десять лет назад никто не мог представить, каких потрясающих результатов мы достигнем в проблемах машинного восприятия, используя простые параметрические модели, обученные с градиентным спуском. Теперь выходит, что нужны всего лишь достаточно большие параметрические модели, обученные на достаточно большом количестве образцов. Как сказал однажды Фейнман о Вселенной: «Она не сложная, её просто много».
Читать полностью »

Когда мы думаем о рассуждениях (reasoning) в программировании, первое, что приходит в голову — это логическое программирование и подход базируемый на правилах (rule-based), экспертные системы и системы управления бизнес-правилами (business rule management systems, BRMS). Общераспространенные мультипарадигмальные языки практически не включают эти подходы, хотя и работают с ними посредством библиотек и интерфейсов. Почему? Потому что эти языки не могут включать себя формы, которые в некотором смысле противоречат их сути. Популярные языки программирования обычно работают с детерминизмом (ожидаемые данные, сценарии использования, и т.п.), в то время как подходы, использующие рассуждения, обычно работают с неопределенностью (непредсказуемые данные, сценарии использования, и т.п.). Рассуждения (reasoning) будет различным в обеих случаях тоже. В первом, рассуждает архитектор или разработчик, во втором же рассуждает машина вывода/правил (reasoning/rule engine).

Читать полностью »

image

Компьютерные игры уже давно стали частью современной культуры, и если для консольного гейминга с девайсами все понятно — для каждой отдельно взятой платформы геймпады одинаковы (у Xbox свои, у PS свои) и со временем эволюционирует только их размер, так как средний возраст игрока постоянно увеличивается. А вот с девайсами для ПК все не так однозначно.

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

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

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


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js