Search
Write a publication
Pull to refresh
18
0
Журат Максим @ChessMax

User

Send message

Возможно, вам не нужно машинное обучение

Reading time2 min
Views11K

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

NaN все еще может немного удивить

Reading time3 min
Views16K
image

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

Kotlin FP: моноиды и сортировки

Reading time5 min
Views3.8K
В данной статье мы рассмотрим понятие моноид и узнаем, как он может помочь нам при сортировке данных.

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


Читать дальше →

Возможности SQLite, которые вы могли пропустить

Reading time8 min
Views44K
Если вы используете SQLite, но не следите за его развитием, то возможно некоторые вещи, позволяющие сделать код проще, а запросы быстрее, прошли незамеченными. Под катом я постарался перечислить наиболее важные из них.
Читать дальше →

Вычисляем последовательность Фибоначчи за логарифмическое время

Reading time3 min
Views6.7K

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

Что такое последовательность Фибоначчи?

Это классический бесконечный числовой ряд, в котором n-й член представляет собой сумму двух предыдущих членов. Первые два члена - 1 и 1. Третий - 2, четвертый - 3, затем следует 5, 8 и т. д.

Как это вычисляется

Переезд из Java в Kotlin: как забрать коллекции с собой

Reading time12 min
Views18K
Меня зовут Борис Николаев, и в первой статье на Хабре хочу сравнить Java и Kotlin при работе с коллекциями. Она будет полезна всем, кто планирует перебираться в Kotlin и не хочет долго осваиваться.

В течение последних лет Kotlin становится всё более и более популярным. Многие начинают осваивать его, уже имея за плечами какой-то бэкграунд на Java, поэтому в данной статье мне хотелось бы привести сравнение кода на Java и на Kotlin. Чтобы наши примеры были более наглядными, рассмотрим различные операции над коллекциями, потому что без них не обходится ни одно приложение.

Читать дальше →

Инверсная кинематика в 3D

Reading time6 min
Views13K
В этом туториале я расскажу о том, как освоить инверсную кинематику в 3D: методику, позволяющую решить задачу перемещения манипулятора робота к определённой цели.

Об инверсной кинематике в 2D можно прочитать здесь:



Ссылка на скачивание всего пакета Unity находится в конце туториала.

Введение


В моём блоге часто повторяются некоторые темы: одной из них, без всяких сомнений, является инверсная кинематика. Я работал с этой восхитительной темой уже в двух сериях туториалов, в сумме составляющих 8 статей. Тем не менее, ещё многое можно написать об инверсной кинематике в контексте видеоигр.

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

Математика в Gamedev по-простому. Векторы и интегралы

Reading time7 min
Views54K
Всем привет! Сегодня хотелось бы поговорить о математике. Математика очень интересная наука и она может сильно пригодиться при разработке игр, да и в целом при работе с компьютерной графикой. Многие (особенно новички) просто не знают о том, как она применяется при разработке. Существует множество задач, не требующих глубокого понимания таких понятий как: интегралы, комплексные числа, группы, кольца и др, но благодаря математике вы можете решать многие интересные задачи. В этой статье мы рассмотрим векторы и интегралы. Если интересно, добро пожаловать под кат. Иллюстрирующий Unity проект, как всегда, прилагается.


Компьютерное кресло: критерии выбора и обзор конкретной модели

Reading time42 min
Views296K
“Если ваш путь лишён препятствий, скорее всего он ведёт не туда.” — Че Гевара

КДПВНа Хабре не так много статей, посвящённых столь важному для долгой работы за компьютером атрибуту, как компьютерное кресло. Между тем, от того, насколько оно удобно, зависит не только продуктивность, но и здоровье. Особенно сейчас, в условиях тотального распространения формата home office. Кроме этого, кресло — предмет длительного пользования, а значит, подходить к его выбору следует основательно.

Перед тем как покупать компьютерное кресло себе любимому, я перечитал около дюжины тематических статей из различных источников, а также все отзывы на кресла с рейтингом Яндекс.Маркета от 5 до 4.5 включительно (это 6 страниц в результатах поиска, примерно 200 моделей, более 2000 отзывов).

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

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

Также поделюсь с вами личными впечатлениями о своей покупке — относительно недорогом игровом кресле AeroCool Knight Lite (далее — AKL, изображено выше). Чтобы не перемешивать мух с котлетами общее с частным, я отделил собственные комментарии от основного текста горизонтальной чертой (в конце каждого раздела).

Статья встретит вас удобным для быстрой навигации оглавлением, а проводит ссылкой на краткую версию моего отзыва о кресле AKL, а также ссылкой на полезный бонус.
Завершается статья холиварным опросом (только чур без флейма на эту тему).
Узнать подробности

Реализация epoll, часть 3

Reading time6 min
Views4.6K
В предыдущих двух материалах (часть 1, часть 2) этой серии речь шла об общих вопросах работы epoll, и о том, как epoll получает уведомления о новых событиях от файловых дескрипторов, за которыми наблюдает. Здесь я расскажу о том, как epoll хранит уведомления о событиях, и о том, как эти уведомления получают приложения, работающие в пользовательском режиме.


Читать дальше →

Эксперименты с тиграми и другие способы преподавать программирование студентам, которым скучно

Reading time16 min
Views14K
image

Привет, Хабр! Я Маша, старший инженер-разработчик iOS в КРОК и аспирант на кафедре Прикладной математики и Искусственного интеллекта в московском вузе. А еще я уже четыре года преподаю. Два года назад мы с коллегами с кафедры, преимущественно аспирантами, основали кружок спортивного программирования, который вырос в большое IT-коммьюнити в стенах универа, где мы делимся разного рода знаниями со студентами.

В рамках этой затеи мы решили улучшить процессы обучения дисциплинам Computer Science (до чего дотянулись). К нему у всех уже было много вопросов.

Первый ужас я испытала на первом же занятии со студентами. Одна группа не могла привести ДНФ в КНФ, другая — не смогла даже общим усилием воли вспомнить таблицу истинности для конъюнкции и дизъюнкции. Третья — не понимала как программно устроены списки (это у нас проходят годом ранее). А потом я вспомнила себя — про мой курс преподы говорили то же самое. И про курсы до нас, и про курсы после меня. И школьную учительницу Ольгу Николаевну вспомнила: «В этом году класс еще слабее, чем в прошлом — если так пойдет и дальше, вернемся к жизни на деревьях!». В школе мне казалось, что это такой изощренный педагогический прием, который должен подхлестнуть нас учиться усерднее чтобы «доказать, что мы лучше чем кажется». Ошибалась.

Решили мы с коллегами порефлексировать — а почему так происходит? Результаты, наши грабли и опасные эксперименты с тигром под катом!
Читать дальше →

Как выбрать HDMI-кабель? — Разбор

Reading time5 min
Views152K
Вы когда-нибудь задавались вопросом что за странная ситуация с ценой на HDMI-кабели? На Яндекс.Маркете за трехметровый HDMI-кабель цена стартует с 131 рубля, а заканчивается проводом почти за полмиллиона! Понятно, что кабель за пол ляма — это какая-то единичная дичь.





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

Так всё же. Влияет ли цена кабеля на качество изображения? Какие бывают стандарты HDMI кабелей? И какой HDMI-провод выбрать для 4K телевизора и консолей нового поколения?

Сегодня вместе с вами разбираемся в HDMI кабелях.

Давайте сразу расставим точки над i. HDMI — это цифровой интерфейс High Definition Multimedia Interface.

Хорошо ли вы помните nullable value types? Заглядываем «под капот»

Reading time11 min
Views15K
image1.png

В последнее время модной темой стали nullable reference types. Однако старые добрые nullable value types никуда не делись и всё так же активно используются. Хорошо ли вы помните нюансы работы с ними? Предлагаю освежить или проверить свои знания, ознакомившись с этой статьёй. Примеры кода на C# и IL, обращения к спецификации CLI и коду CoreCLR прилагаются. Начать предлагаю с интересной задачки.
Читать дальше →

Глубже в дебри ФП

Reading time23 min
Views11K

Прежде чем начать, зацените эту красоту! Это — игра "жизнь" на языке APL:



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


Впереди вас ждут скандалы, интриги, расследования, моноиды, трансформеры, линзы и прочие полугруппы с комонадами. Заодно попытаемся разобраться, откуда происходят эти странные названия.


Расчехляйте свои абстрагаторы ...

Что такое Unity Asset Store и как на нем зарабатывать?

Reading time6 min
Views26K

Доброго времени суток, Habr! Я являюсь паблишером Asset Store уже 4 года и хочу поделиться с вами своим опытом. Расскажу вам что такое Unity Asset Store глазами программиста и что нужно знать для создания ассета.


Итак, что же такое этот Unity Asset Store? Это магазин в котором можно приобрести ассеты для Unity, такие как 3D модели, звуки/музыка, наборы UI, шейдеры/частицы, наборы спрайтов, а так же инструменты. Asset Store был создан в 2010 году и не так давно ему исполнилось 10 лет! Практически в любом проекте Unity можно встретить ассеты, которые делают процесс разработки более комфортным и быстрым. Если вы знакомы с Unity, у вас есть идея и желание, то вы можете стать паблишером и увеличить свой пассивный (но это не точно) доход.

Читать дальше →

Хороший договор — короткий договор

Reading time8 min
Views29K

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

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

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

Предлагать клиентам подписать договор, который бы не хотел подписывать сам — хамство.

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

Читать далее

Vulkan. Руководство разработчика. Краткий обзор

Reading time10 min
Views37K


Я работаю техническим переводчиком ижевской IT-компании CG Tribe, которая предложила мне внести свой вклад в сообщество и начать публиковать переводы интересных статей и руководств.

Здесь я буду публиковать перевод руководства к Vulkan API. Ссылка на источник — vulkan-tutorial.com. Поскольку переводом этого же руководства занимается еще один пользователь Хабра — kiwhy, мы договорились разделить уроки между собой. В своих публикациях я буду давать ссылки на главы, переведенные kiwhy.

Содержание
Читать дальше →

Кодинг без рук: что делать, если лишился своего основного рабочего инструмента

Reading time9 min
Views44K


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

Как можно понять, это достаточно серьёзная проблема: я разработчик ПО, и вся моя карьера зависит от возможности пользования клавиатурой!

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

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

Интереснейшее влияние Cyclone

Reading time16 min
Views5.5K

Оглавление:


  • Cyclone
  • C++, владение и псевдонимы
  • Rust
  • Midori’s M#
  • Pony
  • Cone
  • Резюме

В 2001 году Джим Тревор (AT&T Research) и Грег Моррисетт (Cornell) запустили совместный проект по разработке безопасного диалекта языка программирования C — как развитие более ранних работ над Типизированным Ассемблером. После пяти лет напряженной работы и нескольких опубликованных научных работ, команда (в том числе Дэн Гроссман, Майкл Хикс, Ник Свами и другие) выпустила Cyclone 1.0. А затем разработчики занялись другими делами.

Читать дальше →

Повесть о стрелке и запятой

Reading time6 min
Views8.6K
В этой статье мы:

  • Познакомимся с сопряженными функторами
  • Узнаем, как отвечать на вопрос «что такое каррирование»
  • Притворимся, что у нас есть состояние (если есть только функции)
  • И вдогонку поиграемся с примитивной оптикой (линзами)

И все это с помощью нескольких определений теории категорий и двух простейших конструкций: стрелки и запятой.


Читать дальше →

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity

Specialization

Mobile Application Developer
Senior
Flutter
Flutter Bloc
MobX
Mobile
Development of mobile applications