Search
Write a publication
Pull to refresh
10
0.2

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

Send message

Игры прямо в Jupyter Notebook

Reading time5 min
Views6.8K

Практика в Jupyter Notebook — это основа нашего курса по Data Science. Но интерактивный блокнот можно использовать не только для работы. За подробностями из блога разработчиков Jupyter Notebook приглашаем под кат.

Читать далее

Понимание (всех) «модульных» форматов и инструментов JavaScript

Reading time19 min
Views49K


Доброго времени суток, друзья!

Представляю вашему вниманию перевод статьи «Understanding (all) JavaScript module formats and tools» автора Dixin.

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

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

Как пирамида Пола Грэма помогает отделять конструктивный фидбэк от токсичных комментариев

Reading time4 min
Views23K

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

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

Пирамида аргументации Грэма, описанная им в эссе «Искусство возражать» — хороший инструмент, помогающий вырваться из этого порочного круга. Она четко структурирует возможные варианты критических комментариев – и связывает их с истинными намерениями оппонента. Теперь вы всегда можете идентифицировать "ступень" и понять: стоит ли критика вашего внимания — или это грязь под ногами, которую просто надо перешагнуть.

Читать далее

Абсолютный поворотный энкодер с однодорожечным кодом Грея

Reading time2 min
Views19K
В этом материале речь пойдёт о физической реализации абсолютного поворотного энкодера. Разрешение этого энкодера составляет 6 градусов, то есть — 60 шагов. Этого достаточно для того чтобы сделать на его основе часы. Здесь используется одношаговый код Грея.


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

Письмо преподавателям вузов. Хватит губить будущее ИТ

Reading time10 min
Views133K

Начну с анекдота: «Июнь. Рассвет. По набережной идут два отметивших защиту диплома студента политеха. Весёлые, пьяные. Один из них радостно кричит:
— Ура, мы дипломированные инженеры!
Вдруг его друг садится на корточки и начинает плакать. 
— Ты чего?
— Я подумал, что сегодня выпустились два таких же дипломированных врача».

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

Но никто не мог предположить, что моё отношение к высшему образованию испортит моя работа. Я — ведущий специалист по работе с пользователями Хабра, если коротко — модератор Хабра. Именно через мои руки проходят все публикации, попавшие в первую Песочницу, и многие статьи на Хабре. Но сегодня — именно о Песочнице.

Читать далее

Открытый проект индуктивного абсолютного энкодера

Reading time11 min
Views32K

Без энкодеров не обходится ни один промышленный робот, принтер, лифт,  гимбал и проч. Но и в более простых вещах энкодеры тоже нужны. При этом индустриальный энкодер на 1024 точки может обойтись дороже самого мотора. Здесь представлен проект индуктивного энкодера способного упростить жизнь создателям мехатроники.

Читать далее

Гений XIX века и его невероятное творение

Reading time12 min
Views112K

Автор: Лысый Камрад (@LKamrad)

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

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

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

Читать далее

Встраиваемая JavaScript база данных с прицелом на API совместимость с MongoDB

Reading time3 min
Views14K
Как-то давно мы задумали написать один проект для Node.js которому очень нужно было работать с NoSQL базой данных, но при этом не иметь никаких зависимостей от внешних приложений. Как это обычно бывает, все закончилось разработкой новой библиотеки.

Начав разработку два года назад, желание использовать встроенную базу данных для web приложения казалось весьма странным. В самом деле, зачем? Сейчас, когда появился проект node-webkit, объяснить это гораздо легче. Используя встроенную базу данных возможно разработать web приложение двойного назначения. Такое приложение сможет работать как в классической схеме клиент-сервер, так и с использованием node-webkit как обычное загружаемое приложение. Важной особенностью и в том и другом случае является то, что код базы данных является частью вашего приложения, что избавляет от многих проблем совместимости и установки.
Читать дальше →

Создаем CLI-приложение с помощью React.js

Reading time7 min
Views8.7K

Приложения с интерфейсом в виде командной строки (Command-Line Interface — CLI) стали популярными в экосистеме разработчиков по целому ряду причин. Самые банальные из них — это простота использования (CLI) и то, что многие важнейшие инструменты разработки представляют из себя терминальные приложения или предоставляют интерфейс командной строки, и многие разработчики уже к ним привыкли.

Читать далее

Обращение к Javascript-сообществу: перестаньте писать квадраты

Reading time7 min
Views68K

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

Read more

Ноев ковчег — история становления зоологии

Reading time17 min
Views3.7K

История дисциплины, которой посвящен этот очерк, на редкость мирная. В ней не будет ни галлиевых страстей, ни дантовых кругов ада. Учёные, посвятившие жизнь этому разделу естествознания, не сгорали на кострах и не попадали в изгнание. Вероятно, это связано с самой спецификой данной области. Будучи во многом описательной наукой, она редко вызывала споры, ведь достаточно предъявить оппоненту материальное доказательство, чтобы убедить в своей правоте. Тем более что эта наука не вступала в противоречие с религиозными и идеологическими догматами. Итак, история зоологии.

Читать далее

Скучные числа

Reading time51 min
Views21K

1 / 0


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

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

Соревнование между нулём и единицей может быть описано более детально.

Заметка длинная, разделена на главы
1 / 0
Зря-зря
Спуск
Простые числа
Золотая середина
Предыдущее и следующее
Уровни
Что было до нуля
Вообще без нуля

Часть вторая:
Двойные функции
Двойные числа
Биномиальная свёртка
Происхождение чисел Бернулли
Откатная функция
Пи

Функция состоит не только из нулей
Суммируя
Умножая
Симметрия Дзеты
Ось
Откуда там вообще нули?

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

Компиляция. 3: бизон

Reading time13 min
Views50K
Это единственный пост в серии, в центре внимания которого — старообрядный сишный бизон, так надоевший некоторым. Тем, кто пишет не на Си, пост всё равно должен быть интересен, потому что похожие по принципу работы генераторы LR-парсеров существуют для очень многих языков. Тех же, кто идеологически не приемлет LR-парсеры, мне сегодня привлечь нечем.

Далее в посте:

  1. Компиляция грамматики
  2. Двухступенчатый парсер
  3. Что у него внутри?
  4. Конфликты в грамматике
  5. Как это работает?
Читать дальше →

Компиляция. 2: грамматики

Reading time11 min
Views42K
В предыдущем посте было много кода и, по некоторым мнениям, недостаточно объяснений. Будем чередовать: в этот раз будет много теории, а до практики почти не дойдёт.

Далее в посте:

  1. Магазинный автомат
  2. Формальные грамматики
  3. LR-парсинг
Читать дальше →

Компиляция. 1: лексер

Reading time7 min
Views95K
Меня всегда завораживало таинство рождения программой программы. К сожалению, российские вузы уделяют мало внимания сей интереснейшей теме. Рассчитываю написать серию постов, в которых поэтапно создадим маленький работоспособный компилятор.

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

Далее в посте:

  1. С какой стати писать компиляторы?
  2. Общий план
  3. Анализ текста
  4. Практический пример
  5. Как это работает?
Читать дальше →

Заглушить радар. С-75 – новая надежда

Reading time12 min
Views28K
После окончания Второй мировой войны у США был большой опыт в прорыве эшелонированной системы ПВО с широким использованием РЛС. Так как никакого прорыва в технике радаров не предвиделось, а экономические возможности СССР, как главного вероятного противника, явно не позволяли на тот момент создать достаточное количество радаров современных типов, то и развитие средств РЭБ практически не осуществлялось. Разве что осмысление опыта войны привело к мысли о том, что чем больше будет самолётов с глушилками в строю – тем лучше. Война в Корее 1950-1953 годов подтвердила все ожидания американцев – меры противодействия, разработанные в ходе Второй мировой против немецких радаров, были эффективны и против советских.

Причём на американских В-29 и В-50 стояли всё те же американские клоны британских глушителей Carpet (стандартизированных американцами, как AN/APT 5) и американская разработка Dina (AN/APT 1), аналогичная британскому Mandrel. Хотя стоит отметить, что Dina, в отличие от Mandrel, мог использоваться и как точечный глушитель (подавление направленным на радар сигналом, а не заградительные помехи в широком пространстве), но для этого требовалась наземная настройка оборудования на заданный режим работы, неизменный в ходе всего полёта. Всего на борту самолёта было до 3 комплексов РЭБ одного из указанных типов и датчик облучения РЛС. И все они были разработаны ещё во время Второй мировой.


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

Эффективная генерация числа в заданном интервале

Reading time16 min
Views36K
image

В подавляющем большинстве моих постов о генерации случайных чисел рассматривались в основном свойства различных схем генерации. Это может оказаться неожиданным, но производительность алгоритма рандомизации может зависеть не от выбранной схемы генерации, а от других факторов. В этом посте (на который меня вдохновила превосходная статья Дэниела Лемира) мы исследуем основные причины снижения производительности генерации случайных чисел, которые часто перевешивают производительность движка ГПСЧ.

Представьте такую ситуацию:

В качестве домашнего задания Хуан и Саша реализуют одинаковый рандомизированный алгоритм на C++, который будет выполняться на одном университетском компьютере и с одним набором данных. Их код почти идентичен и отличается только в генерации случайных чисел. Хуан торопится на свои занятия по музыке, поэтому просто выбрал вихрь Мерсенна. Саша, с другой стороны, потратил несколько лишних часов на исследования. Саша провёл бенчмарки нескольких самых быстрых ГПСЧ, о которых недавно узнал из соцсетей, и выбрал наиболее быстрый. При встрече Саше не терпелось похвастаться, и он спросил Хуана: «Какой ГПСЧ ты использовал?»

«Лично я просто взял вихрь Мерсенна — он встроен в язык и вроде неплохо работает».

«Ха!», — ответил Саша. «Я использовал jsf32. Он намного быстрее, чем старый и медленный вихрь Мерсенна! Моя программа выполняется за 3 минуты 15 секунд!».

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

«Нет», — отвечает Саша. «Мне… эээ… нужно снова взглянуть на свой код».

Эта неловкая вымышленная ситуация не особо и вымышлена; она основана на реальных результатах. Если ваш рандомизированный алгоритм выполняется не так быстро, как хотелось бы, и узким местом похоже является генерация случайных чисел, то, как это ни странно, проблема может быть и не в генераторе случайных чисел!
Читать дальше →

Как получить температуру в -50°C (и ниже!) на дому или вихревая трубка Ранка-Хилша «под микроскопом»

Reading time13 min
Views74K

А что, если я скажу Вам, что можно «подуть» в Т-образную трубку — и с двух других её концов пойдет воздух «сильно минусовой» и «сильно плюсовой» температуры? Похоже на какой-то бред, не так ли? Тем не менее, такое замечательное устройство вполне себе существует и известно очень давно. Ученые до сих пор расходятся во мнениях относительно того, «как же оно всё-таки работает?!». Предлагаем и Вам ознакомиться с этим любопытным эффектом…

Пошел ты на три веселых слова! Новое геокодирование и what3words.com

Reading time4 min
Views25K


В 2013 году два айтишника и музыкант собрались и подумали: давайте разобьем всю Землю на квадраты, а потом пометим каждый квадрат тремя словами. И разбили. И пометили.

Получился бесплатный сервис what3words.com, который замахнулся на революцию в геокодировании. Ребята уверяют, что почтовые адреса и координаты не годятся для повседневной жизни. Пора от них отказываться там, где возможно.
Почтовый адрес GPS-координаты Адрес What3words
Россия, Москва, Турчанинов переулок,
д 6 стр 2
55.737208, 37.597091 Именины.птичий.туннель
Казалось бы, таких революционеров пруд пруди, но у what3words.com есть важное отличие: сервис взлетел. Им пользуются автопроизводители вроде Land Rover, правительства африканских стран и даже ООН.
Читать дальше →

Information

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