Search
Write a publication
Pull to refresh
10
0.2

JavaScript-разработчик

Send message

Какие у нас есть клавиши в клавиатуре или как непрограммист язык разрабатывал

Reading time11 min
Views5.4K

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

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

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

Хочу рассказать про некоторые моменты, которые стали понятны в этом процессе — может, вы передумаете делать свой DSL ?

Читать далее

Найти вероятность выпадения k (сумма выпавших значений) при бросании n кубиков (часть 2 из 2)

Reading time27 min
Views4.2K

Продолжаем решать задачу описанную в предыдущей статье: Есть n стандартных игральных костей (6-ти гранных кубиков) со стандартным обозначением всех граней от 1 до 6. Бросаем все n кубики разом. Нужно найти вероятность выпадения числа k, а именно суммы всех значений, выпавших на этих кубиках. Доходим до 1000 кубиков.

Читать далее

Выведение Action type с помощью Typescript

Reading time6 min
Views50K
Всем привет! Меня зовут Дмитрий Новиков, я javascript-разработчик в Альфа-Банке, и сегодня я расскажу вам про наш опыт выведения Action type при помощи Typescript, с каким проблемами мы столкнулись и как их решили.

Это расшифровка моего доклада на Alfa JavaScript MeetUp. Код из слайдов презентации можно посмотреть здесь, а запись трансляции митапа — здесь.

Наши фронтовые приложения работают на связке React+Redux. Redux data flow упрощенно выглядит так:

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

Элементарные типы и операции над ними. Часть I: типы данных, размер, ограничение.

Reading time15 min
Views16K
Строительными кирпичиками любого языка является элементарные типы данных с которыми мы можем работать. Зная их, мы всегда понимаем, что у нас хранится в той или иной переменной, что возвращает та или иная функция. Какие действия мы можем совершить над нашими данными. Это база. Поэтому именно этому я и хотел уделить внимание в данной статье в общем, а так же примерам работы с бинарными данными в частности.

Материал в первую очередь адресую тем кто только начал или хочет начать писать на Erlang-e. Но я постарался максимально полно охватить данный аспект языка и поэтому надеюсь, что написанное будет полезно и более продвинутой аудитории.

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

Гусеничный автономный робот. Платформа для Ваших роботов

Reading time3 min
Views20K

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

Читать далее

Удивительная Курта

Reading time3 min
Views7.1K
Curta

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

Механический ручной калькулятор, изобретённый узником концлагеря

Reading time7 min
Views21K

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

Крошечный Curta - потрясающая машина, механический калькулятор, сочетающий в себе сложность парового двигателя и прецизионную точность качественных карманных часов. Он появился в 1948 году, и на протяжении двух следующих десятилетий, пока его не заменил электронный калькулятор, он был лучшим портативным калькулятором на Земле. А его история ещё более интригует в свете необычных обстоятельств, в которых он был изобретён.

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

Читать далее

Как выглядит проект очистки Черного моря от сероводорода с получением электричества и H2

Reading time9 min
Views23K

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

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

Зародился экономически и технически проработанный ныне проект аж в 2001 году. Один из его авторов — к. т. н. Олег Сапрыкин. Под катом его рассказ о создаваемом Морском автономном энергетическом комплексе (МАЭК) для прибрежных районов Черного моря, который я составила после нашей беседы.

Читать далее

Релиз языка программирования NewLang 0.2

Reading time5 min
Views8.4K

image


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


Основной особенностью языка является простой, логичный и не противоречивый синтаксис, который основан не на использовании зарезервированных ключевых слов, а на строгой системе грамматических правил с использованием знаков препинания (в список которых входят и операторы языка).


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

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

Кривые в компьютерной графике. Урок 1: Анимации

Reading time6 min
Views9.9K

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

Читать далее

Расчет значения синуса простой математикой

Reading time2 min
Views11K

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

Читать далее

Гипертекст в книгах — попытки, реликты, артефакты

Reading time9 min
Views6.1K

Источник иллюстрации: Пикабу https://pikabu.ru/story/tekstovyie_kvestyi_i_knigiigryi_6206710

20 мая 1998 года Умберто Эко (1932 - 2016) выступил в МГУ со знаменитой лекцией «От Гутенберга к Интернету: текст и гипертекст». Недавно я перечитал ее, размышляя о том, сколько лет не был в библиотеке (и не представляю, что бы меня сейчас туда могло привести), что такое клиповое мышление. Наконец, представляет ли мой сын, что такое «Web 1.0» — то есть, статические сайты, где ничего нельзя написать самому, где нет ни контролов, ни GUI, ни какого-нибудь завалящего мэшапа.

Вот какие аспекты информационной эпохи, наступавшей в 1990-е и обрисованные Эко в той лекции, кажутся мне наиболее интересными:

1)      Интернет (компьютер) важнее телевидения, поскольку позволяет самому выбирать, что и в каком порядке читать – и, следовательно, поощряет мышление, поиск и избирательность.

2)      Клод Фролло из «Собора Парижской Богоматери» в конце XV века, через 20 лет после появления типографий, сетовал, что «книга убьет здание» — и оказался неправ. Умберто Эко в 1998 году, через 9 лет после появления первого веб-сайта, утверждал, что «интернет не убьет книги». Летом 2022 года я уже сомневаюсь, прав ли был Эко в этом тезисе.

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

4)      Эко указывает, что художественный текст обычно линеен, а справочный текст многомерен, поэтому гипертекст совершеннее текста линейного, при наличии удобного носителя для гипертекста.

Читать далее

Как посчитать длину текста и не привлекать внимание санитаров

Reading time10 min
Views34K

Привет! Меня зовут Алексей Ивасюта, я фронтенд-разработчик в Авито в кластере Seller Experience. В этой статье я расскажу, как правильно рассчитать длину текста в Java Script. Эта статья будет одинаково полезна как начинающим разработчикам, так и весьма опытным. Благодаря ей вы поймете устройство Unicode и особенности его работы в JS.

Читать далее

Я проехал на односкоростном велосипеде 270 км за сутки, чтобы показать атлетам: набор высоты — это условность

Reading time7 min
Views21K

[Научно-спортивный препринт].

🔥 Пару дней назад совершил суточный велопоход в 270 км с амбициозными целями, которые расписал в статье...

Читать про велопоход, расчёты и революцию

Как теория Бартла о психотипах геймеров помогает в комьюнити-менеджменте

Reading time8 min
Views3.5K

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

Всем привет, меня зовут Снежана Французова, я представляю студию BIT.GAMES. В этом тексте я расскажу про теорию Бартла не с точки зрения геймдизайна, к чему все привыкли, а с точки зрения комьюнити-менеджмента. С помощью этой классификации можно быстро распознать мотивацию каждого отдельного игрока, а затем направить его в нужную сторону: в одних случаях — на помощь проекту, в других — на построение социальных связей.

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

Читать далее

Как я встраивал JS в свой игровой движок

Reading time14 min
Views8.1K

Писать на С++ игры долго и дорого, но при этом по перфомансу получается хорошо. Но далеко не всё в играх, требовательно к производительности, особенно 2D. Например всякие окошечки не производят тяжелых расчетов внутри. А на больших проектах они могут занимать до 80% всего объема кода. И на С++ есть проблемы на продакшене - если где-то крешится или бажит, приходится перезаливать приложение.

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

Совсем недавно прикрутил JS к своему движку. Кому интересны подробности - добро пожаловать под кат.

Читать далее

Отрисовка в браузере большой анимации или как я ушел с mp4 к своему формату видео

Reading time17 min
Views56K

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

Читать далее

История интерфейса Firefox от самых первых версий

Reading time8 min
Views9.2K
История UI Firefox важна для меня потому что мой личный проект компенсирует недостатки его UI Proton и наследует сильные стороны разных UI Firefox.

Кроме того, это один из способов избежать раскола сообщества, ведь каждый раз при серьёзных изменениях в UI возникало множество форков.

Первые версии (v1 ~ v3)



Phoenix (сентябрь 2002 года) возрождается из пепла Netscape [см. историю первых версий Firefox].

Выделяются крупные оранжевые кнопки. Историю Netscape см. в статье A Visual Browser History, from Netscape 4 to Mozilla Firefox.


Firefox v1 (ноябрь 2004 года), v2 (октябрь 2006 года), v3 (июнь 2008 года) [The Importance and Problems of Autoupdate].

Версии примерно с v1 по v3 имеют классический UI, который вы помните, если работали с ним в начале 2000-х. В значках есть цвета и не реализована абстракция.
Читать дальше →

Как я Markdown парсер выбирал

Reading time18 min
Views29K

Недавно я решил создать свой сайт, и мне понадобилось выбрать парсер Markdown для отрисовки статей в блоге.

То, что начиналось как: «Окей, гугл, какой парсер выбрать?», – вылилось в полноценное исследование существующих реализаций парсеров.

О том, какие открытия меня ждали на этом пути, и будет данная статья.

Читать далее

Information

Rating
3,500-th
Location
Москва, Москва и Московская обл., Россия
Registered
Activity