Рубрика «Песочница» - 71

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

Первым движком, компилирующим js-код в нативный стал SpiderMonkey, который был представлен в браузере Netscape 2.0 в 1995 г. Миф о его быстром создании хорошо задокументирован. У Брендана Айка было всего 10 дней на дизайн языка и построение компилятора. Javascript был успешен с самого начала, и к августу того же кода Майкрософт уже встроила свою версию JScript в Internet Explorer 3.0. К концу 1996 язык был принят в комиссию для формальной стандартизации, и уже в июне следующего года обрел официальный стандарт ECMA-262. С тех пор поддержка JS стала обязательно для каждого браузера, и каждый крупный производитель начал строить свой движок для поддержки JS. В течение долгих лет эти движки развивались, заменяли друг друга, переименовывались, и становились основой для следующих движков. Отследить все созданные версии — задача не для слабых духом.
Читать полностью »

Однажды я решил провести мини-исследование о том, какие языки программирования востребованы на разных сайтах вакансий. Выбрал десять сайтов, пять основных языков и составил небольшую таблицу. Свою скромную статистику я разместил на хабре. Кто-то из посетителей просил узнать динамику роста, кому-то были интересны другие языки программирования, кого-то интересовали заработные платы. Я прочитал все комментарии, и позже у меня возникла мысль создать сайт, который бы собирал и обрабатывал информацию с других ресурсов. Поборов свою лень, я принялся за работу. Так появился tracknums.com.

Основу сайта составляют графики. Известно, что картинка порой заменяет множество слов. Читать длинные тексты и изучать колонки цифр и таблицы подчас утомительно. Не каждому хватит на это терпения. Да и само построение графиков (например, в системе excel) отнимает время, а если информация меняется, то данные приходится каждый раз обновлять. На tracknums.com эта проблема легко решается.
Tracknums.com — отслеживаем числа с интернет сайтов, строим по ним графики Tracknums.com — отслеживаем числа с интернет сайтов, строим по ним графики
Читать полностью »

А зачем вообще нужно это сегментирование? Да потому что пользователи очень разные. Допустим, приложение бесплатное. Два пользователя скачали его. У одного на счету 0 рублей и он никогда ничего не купит, а другой сделал покупок в приложении на 1500 рублей. Один ходит пешком, а другой ездит на Бентли. Очевидно, что подход к этим людям должен быть разным.

Зачем делать AB-тестирование? Чтобы проверять свои гипотезы о том, как оптимизировать продажи. Какой баннер лучше продает — с котиком или собачкой? Разделяем аудиторию на две равные части, одним показываем котика, другим собачку. Сравниваем продажи, делаем выводы, меняем поведение приложения без апдейта.

На рынке есть готовые системы, которые решают озвученные задачи. Например:

  • swrve.com — “In terms of pricing Swrve is between $2000 and $9000 payable monthly, with an annual subscription. Cost is based on the number of custom segments and concurrant a/b tests you would like to run.”
  • www.localytics.com — “ENTERPRISE Starts at $1,790 per month, all apps (volume-based pricing).”

Я здесь акцент делаю на стоимости. С радостью использовал бы одно из них, если бы стоило дешевле. Расскажите, если знаете похожие дешевые или даже бесплатные системы.

Дальше я расскажу как быстро и дешево построить свое собственное решение. Для него не понадобится делать сервер с базой данных, что существенно упрощает задачу.
Читать полностью »

Предисловие

Когда-то давно необходимо было настраивать сетевое оборудование Cisco, тогда же закончил курсы и получил сертификат Cisco CCNA Discovery. Радости работы в консоли на маршрутизаторах и коммутаторах не было предела. Времена те благополучно закончились, и в течении последних нескольких лет я очень редко встречал их оборудование, а еще реже настраивал. Но, недавно необходимо было перевести весь офис клиента на IP телефонию, и они настойчиво утверждали что им нужно только Cisco телефоны и ничего другого. Плюс к этому, нужна конференц-связь в переговорную. Так как вариантов было не много, и бюджета тоже, пришлось отказаться от телефонной станции, в пользу Asterisk-а. Оказалось все не так гладко, как хотелось бы.
Читать полностью »

Технология «рисованного звука»: cинтез звука в СССР 30 х годов XX векаВ конце 20-х годов XX века начинает неспешным монофоническим шагом идти по планете звуковое кино. Кинематографисты «старой школы» говорят о потере выразительности и о том, что только в немом кино игра актеров имеет наибольший смысл.

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

«Рисованный звук». Технология, разработанная группой энтузиастов в 30-х годах XX века, задолго до изобретения секвенсоров и синтезаторов. Она позволяла методом искусственного создания графики звуковых дорожек на кинопленке синтезировать любые звуки, эффекты, записывать сложные полифонические произведения.
Читать полностью »

Всем доброго времени суток! Я студентка-второкурсница технического ВУЗа. Пару месяцев назад пришла пора выбирать себе тему курсового проекта. Темы типа калькулятора меня не устраивали. Поэтому я поинтересовалась, есть ли что-нибудь более интересное, и получила утвердительный ответ. «Подмена 64-битного обработчика прерывания» — вот моя тема.

Введение

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

Зачем?

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

Предисловие

Так получилось, что программированием я стал заниматься совсем недавно — первая книжка по С++ была куплена когда я пошел в 11 класс, в сентябре 2011, а первый работающий «hello_world.exe» скомпилирован только в ноябре. До этого я благополучно потратил 6-7 лет на шутеры, и на экономику, олимпиады по которой обеспечили мне поступление в экономический университет (о котором я уже жалею) и знакомство с группой экономистов, которые параллельно осваивали web-программирование и которые меня подтолкнули изучать программирование.

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

Скриншоты

Воксельная графика своими руками — первые шаги

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

Скриншоты

Воксельная графика своими руками — первые шаги
Воксельная графика своими руками — первые шаги

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

Одним холодным майским днем от скуки решил я таки приступить к изучению этого удивительного языка — Brainfuck'a.
Его интерпретаторы публиковали на Хабре уже очень много раз.
Но мне хотолось изучить поглубже сам язык и алгоритмы на нем, а не писать очередной интерпретатор. Поэтому было решено сделать из мухи слона компилятор какого-нибудь высокоуровневого языка в brainfuck.
Однако очень быстро начался реальный brainfuck: отсутствие оператора if, отсутствие произвольного доступа к ячейкам и куча других проблем сразу свалилась на меня. Пришлось повременить с высокоуровневым языком и сделать для начала ассемблер, в который и будет компилироваться высокоуровневый язык.
О реализации ассемблера под катом.
Читать полностью »

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

Еще учась в школе, я пробовал себя в разных проектах в различных ролях: журналист, веб-мастер, редактор и другое. Какие-то начинания были провальными, какие-то были нормальными, но мой интерес к ним резко падал. Потом я выбрал одно направление, договорился с братом об первоначальных инвестициях и начал развивать проект (контекстный сайт).

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

Одним предложением об идее

Внедрение игровых RPG-механик в область активного отдыха (картинги, парапланы и т.д) и разнообразных мастер-классов и курсов (от кулинарных до сборки роботов), обучающих людей реальным навыкам.

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


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