Search
Write a publication
Pull to refresh
10
0.2

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

Send message

Как сделать интересно: ещё раз о проблемах вузовского образования

Reading time15 min
Views8.8K

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

Читать далее

Модуль vs Компонент

Reading time3 min
Views9.1K

Чем модуль отличается от компонента. Чем схема модулей отличается от схемы компонентов.


Три компонента описания системы
Рис. 1. Три проекции описания системы по стандарту ISO 81346-1


Очень часто сталкиваюсь с тем, что даже опытные инженеры, да и не только они путают эти понятия. Хотя есть четкие стандарты (например ISO 81346) которые определяют их. Если вы будете гуглить, то зачастую схема компонентов может называться схема модулей, а схема модулей — схемой компонентов. Так в чем же разница, и как их отличить?

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

Заметки о вращении вектора кватернионом

Reading time5 min
Views114K

Структура публикации


  • Получение кватерниона из вектора и величины угла разворота
  • Обратный кватернион
  • Умножение кватернионов
  • Поворот вектора
  • Рысканье, тангаж, крен
  • Серия поворотов


Получение кватерниона из вектора и величины угла разворота


Ещё раз – что такое кватернион? Для разработчика – это прежде всего инструмент, описывающий действие – поворот вокруг оси на заданный угол:

(w, vx, vy, vz),

где v – ось, выраженная вектором;
w – компонента, описывающая поворот (косинус половины угла).
Читать дальше →

Выучить английский самостоятельно вполне реально, если вы айтишник. И вот почему

Reading time5 min
Views54K

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

Читать далее

Свой Flash на HTML5: объединение векторных изображений (ч.2)

Reading time5 min
Views7.2K
В предыдущей статье, мы разбили все имеющиеся отрезки по точкам пересечений, гарантируя таким образом, что у нас больше нет пересекающихся отрезков. В этой части мы будем стыковать полученные отрезки в контуры и определять их заливку.
Читать дальше →

JavaScript: заметка о побитовых операторах и числах с плавающей точкой

Reading time9 min
Views11K


Привет, друзья!


В этой небольшой заметке я хочу поговорить с вами о манипулировании битами в JavaScript, а также о двоичном представлении чисел с плавающей точкой (floating point numbers).


Обратите внимание: заметка носит, в основном, теоретический характер и направлена на углубленное изучение JavaScript, поэтому предполагается, что вы имеете некоторый опыт работы с данным языком программирования.


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


Начнем с определения функции для вывода в консоль инструментов разработчика в браузере переданного числа в бинарном формате (для типизации параметров и возвращаемого значения я прибегну к помощи TypeScript):


// https://stackoverflow.com/questions/9939760/how-do-i-convert-an-integer-to-binary-in-javascript
const log = (n: number): void => {
  console.log((n >>> 0).toString(2))
}
Читать дальше →

Логисторная логика

Reading time4 min
Views7.1K

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

Читать далее

First-Party Sets: как большой брат рушит границы приватности в сети

Reading time5 min
Views2.8K

Google выступает с предложением ввести новую технологию, “First-Party Sets” (First-Party множества, FPS), которая сделает границы конфиденциальности между сайтами более уязвимыми. Это опасно и вредно. Сеть медленно, спустя долгое время и после многих проблем, наконец подходит к идее «сайта»‎ как границы конфиденциальности в Сети. Предложенная гуглом технология разрушит эту границу, уничтожив результаты работы в этом направлении браузеров, исследователей и активистов по защите конфиденциальности.

По сути, FPS позволит нескольким сайтам объявить себя одним сайтом, а браузер даст возможность этим сайтам обмениваться информацией между собой (естественно, трекая пользователей), как если бы они были одним и тем же сайтом.

Что это такое и почему это опасно?

Графический интерфейс с дизайнером форм для сценарного языка OneScript

Reading time4 min
Views5.6K

Существует огромное множество скриптовых языков. Существует множество графических интерфейсов для скриптовых языков (англ. graphical user interface, GUI). И существует какое то количество дизайнеров для этих интерфейсов. Добавлю к этим разработкам и свои а именно - графический интерфейс и дизайнер форм для сценарного языка OneScript.

Читать далее

Тыж программист. Ада Лавлейс

Reading time4 min
Views13K
Вернёмся к вопросу о компьютерах. Вопроса, что следует считать первым (или не совсем) компьютером, мы успели коснуться в статье про разностную машину Бэббиджа. А там, где есть первый компьютер, есть и первый программист. И кто же был этим супергероем, чинящим всё — от холодильника до лыж? А ответ, между тем, лежит недалеко от механического зверя Чарльза Бэббиджа, и в какой-то мере даже с ним связан. Итак, на сцену выходит леди Августа Ада Кинг Байрон, графиня Лавлейс!

image
Мать вычислений, бесподобная леди Лавлейс
Читать дальше →

Wix toolset: не так страшен черт, как Windows installer

Reading time56 min
Views21K

В статье я хотел бы поделиться своим опытом написания инсталлятора для Windows с использованием инструмента Windows Installer XML Toolset (далее - Wix). К сожалению, несмотря на всю мощь данного инструмента, его использование сильно осложняется куцей документацией, старенькими кукбуками, вялыми ветками форумов и вытеснением .msi и .exe пакетов контейнеризацией. Однако, сегодня продолжают активно развиваться и создаваться программные продукты требующие развертывания на виндовой машине с использованием традиционных установочных пакетов.

Читать далее

Windows Chrome: Исправляем задержку звука по Bluetooth

Reading time15 min
Views29K

Когда смотришь youtube на Chrome под Windows с Bluetooth наушниками, аудио отстаёт от видео. А когда на Mac - нет. Как так? Давайте разберёмся и обучим виндовую версию синхронизации звука и видео.

Немного анализа, много реверса и готовое решение, которое слегка обманывает - всё под катом.

Читать далее

Симулятор x86 подобного процессора на машине Тьюринга

Reading time17 min
Views16K

Привет, Хабр! В свободное от работы время по вечерам мне нравится воплощать в жизнь свои сумасшедшие идеи. В один из таких вечеров родилась мысль реализовать компилятор кода в машину Тьюринга. Осознав всю тщетность бытия сложность реализации, было принято решение начать с чего-то более простого – симулятора простенького процессора со своим собственным ассемблером, в котором команды выполнялись бы с помощью различных состояний машины Тьюринга, а данные хранились бы на одной ленте. В конечном итоге удалось осуществить практически первоначальную задумку, а именно получить одну единственную машину Тьюринга, способную выполнять скомпилированную из NASM подобного ассемблера программу без какого-либо внешнего взаимодействия.

Читать далее

Римские и средневековые доспехи. Что лучше?

Reading time25 min
Views51K

Знаете, что меня всегда удивляло? Если вернуться на 1000 лет в прошлое, то мы увидим воина, радикально отличающегося обликом от современного солдата (здесь и далее речь про Европу). Однако стоит нам от отметки XI века снова отступить на те же 1000 лет в прошлое, как мы увидим примерно такого же воина, который не так уж чтобы отличался обликом от своего средневекового собрата. Та же кольчуга или даже пластинчатый доспех, тот же меч и щит. Конечно, различия есть, но в большей степени отражают специфику военных действий, нежели разницу в технологиях, которые, вроде как, должны были куда-то двигаться за прошедшее тысячелетие.

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

Читать далее

Как появилась Луна, и что из этого вышло

Reading time8 min
Views25K
А также с чего началась земная геология, и почему мы такие особенные в Солнечной системе.

Момент рождения Луны можно для определённости представить как на этом фотоснимке, сделанном 4,5 миллиарда лет назад:


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

Интересно? Тогда прошу под кат!
Читать дальше →

Почему типы так много значат для программистов?

Reading time13 min
Views27K

Адаптация статьи What do types mean for programmers? (Ville Tirronen)


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


Основное значение слова «Тип»


Что имеют в виду учёные-информатики или программисты, когда используют слово «тип»? В обычном смысле слово «тип» используется в таких предложениях, как «не люблю этот тип людей» или «есть разные типы лыж». Его синонимы включают такие слова, как «вид», «род», «класс», «семейство» и т.п. (забавно, что эти слова в английском языке также являются ключевыми в некоторых языках программирования: kind, sort, class, ...). Мы используем это слово, чтобы выразить мысль, что некоторые вещи отличаются от других, обычно по какому-то фундаментальному признаку. И именно это, я считаю, также объясняет происхождение данного термина в программировании.



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

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

Отношение к ТЗ в современных ИТ-проектах

Reading time15 min
Views11K

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

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

Этот инструмент в широких кругах называется ТЗ – техническое задание. Еще он может называться спецификацией, user story, заданием или требованиями к разработке, суть одна – этот документ помогает нам прийти из точки A в точку B. Именно с такой позиции мы будем его рассматривать, независимо от формализации.

Но довольно банальностей! Перейдем к мясу.

Читать далее

О старых книгах по программированию

Reading time6 min
Views20K
image
Как технари, мы постоянно находимся на фронте технологий: новые версии, новые стандарты, новые фреймворки, новые парадигмы. Во многом это хорошо. Многие результаты представляют собой ощутимое улучшение по сравнению с существующим положением дел. Специализация (например, степени бакалавра в области AI) ускоряет развитие перспективных областей, приближая будущее с захватывающими возможностями. До тех пор, пока наши многообещающие технологии находят эффективное применение.

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

Вот поэтому мне нравится собирать редкие и старые книги по программированию. Это не хобби, благодаря которому вас будут приглашать на вечеринки. Но оно на удивление дешевое (спрос на бывшие в употреблении и устаревшие технические справочники невелик). И может принести немного удовольствия. Есть что-то причудливое в компьютерных книгах до эпохи Интернета, в их бумаге и грубой верстке. Каждая из них способна вызвать приятную ностальгию, даже если вы и не застали эпоху.
Читать дальше →

Как мы научились запускать 10-часовые UI-тесты за 5 минут в условиях 30 релизов в день

Reading time12 min
Views15K

Привет, Хабр!

На связи Руслан Остропольский, Директор по производству ИТ в СберЗдоровье. Он расскажет, как команда сэкономила кучу времени и денег и добилась колоссального роста производительности благодаря грамотному подходу к автоматизации UI-тестов.

Читать далее

Information

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