Search
Write a publication
Pull to refresh
3
0
Алексей @ParaPilot

User

Send message

Введение в ASP.NET 5

Reading time7 min
Views44K

Первый предварительный релиз ASP.NET 1.0 вышел практически 15 лет назад и с тех пор миллионы разработчиков использовали его чтобы создавать и запускать различные приложения., а мы на протяжении этих лет добавляли в совокупности колоссальное количество кода и возможностей.

Я сегодня сильно взволнован из-за того что пишу новость о новом релизе ASP.NET, над которым работает наша команда, и который называется ASP.NET 5. Этот релиз – одно из самых значимых обновлений архитектуры, которое мы делали когда-либо. В рамках этого релиза мы сделали ASP.NET более компактным, модульным и кросс-платформенным, а также ориентированным на облачные хостинги. ASP.NET 5 Preview доступна для скачивания в последнем Visual Studio 2015 CTP, которая стала доступна совершенно недавно.
Читать дальше →

Как отобразить количество оповещений в названии вкладки браузера

Reading time3 min
Views33K


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

Существует пара наиболее распространенных способов оповещения пользователя. С одной стороны, социальные сети Facebook, Twitter и LinkedIn указывают определенное число, которое соответствует количеству обновлений. С другой стороны, Trello отображает небольшой красный кружок поверх favicon.

Trello Facebook and Twitter notifications
Оповещения Trello, Facebook и Twitter

В этом уроке мы воссоздадим подобные оповещения. Посмотрите демо (англ.), чтобы понять, чем мы будем заниматься.

Посмотреть на GitHub
Демо (рус.)
Читать дальше →

ЧПУ станок с расширенными функциональными возможностями

Reading time3 min
Views38K
Хотел бы поведать вам о своем проекте, чтобы бы узнать мнение о нем. Обоснованная критика и пожелания приветствуются с распростертыми объятиями. Если появится интерес, напишу серию статей о том, как проект создавался, поделюсь крупицей своего опыта. Итак, начнем.
image

Недавно пришла идея по созданию полностью открытого проекта универсальной 3-координатной платформы, которая может выполнять функционал и 3d-принтера, и фрезерного станка для обработки пластика и многого другого. Платформа построена по модульному типу. Это означает, что в ней полностью взаимозаменяемые привода перемещения кареток и инструмент. Назвали мы эту штуку «Платформа RRaptor». В дальнейшем приведу ряд изображений и фотографий проектных моделей и того, что уже получилось реализовать.
Читать дальше →

Как мы с третьеклассниками программировали адресную гирлянду

Reading time3 min
Views50K


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

Под катом будет рассказ о том, как я подружил адресную RGB-гирлянду с ардуиной, ардуину со Scratch, а Scratch с младшеклассниками.
Читать дальше →

Автоматический определитель электронных компонентов

Reading time3 min
Views165K


Очень интересное и несложное устройство, которое позволит измерить сопротивление, ёмкость и индуктивность любого элемента за несколько секунд.

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

«Патчим» зеркало в автомобиле

Reading time5 min
Views67K
Коллега на работе купил себе новый автомобиль Chery Tiggo FL, куда китайцы напихали много различных функций за невысокую стоимость автомобиля. Одной из самых необычных штуковин в авто оказалось «волшебное» зеркало, которая наделено функциями барометра, альтиметра и компаса.

Главным недостатком всей начинки данного автомобиля является отсутствие датчиков температуры за боротом автомобиля и внутри его. Данный недостаток решили с коллегой изменить, путем модификации штатного зеркала заднего вида нештатными методами.



Итак, приступим к созданию «патча» на зеркало.
Читать дальше →

Интерактивная карта торгового центра на HTML5 canvas

Reading time11 min
Views36K

Введение


Заказчиком была поставлена следующая задача – показывать на картах торговых центров статистику по посещаемости магазинов, использованию эскалаторов, лифтов и коридоров. Карту нужно уметь размечать — указывать точки, где показывать статистику и какую конкретно статистику. И, естественно, показывать эту статистику для выбранного периода времени и фильтров. Откуда берутся и где хранятся данные – отдельная большая тема, за скобками данной статьи.

Раз плюнуть, скажете вы – берём векторную карту торгового центра в svg и дополняем её данными. Красиво, современно, быстро. Даже есть готовые решения типа jVectorMap.

Только вот векторных карт нужных торговых центров нет, есть только те картинки, что предоставлены владельцами центров. Абсолютно разные по стилистике и наполнению. А большое количество центров (порядка 300) не позволяет перерисовать их в вектора быстро и дёшево. Да и добавление новых торговых центров потребует дополнительной работы.

Поэтому было решено использовать HTML5 canvas и для разметки карты, и для показа данных.

Выбор фреймворка


Работать напрямую с canvas API не очень удобно, но уже понапридумана куча инструментов для облегчения работы. Требования к фреймворку в нашем случае:
  1. Объектная модель поверх canvas API.
  2. Способность отрисовывать и масштабировать картинку.
  3. Интерактивность:
    • возможность манипуляции объектами на этапе разметки карты,
    • возможность масштабирования и перемещения по карте.
  4. Возможность экспорта/импорта размеченных объектов.
  5. Наличие детализированных событий.
  6. Высокая скорость отрисовки.

Под рассмотрение попали fabric.js, EaselJS, Raphaël, Paper.js и Processing.js.
Всем требованиям удовлетворяет fabric.js. Учитывая имеющийся небольшой опыт работы с ним, было решено взять его за основу. Далее в примерах использовалась версия 1.4.4.

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

Оптимизация методов ToArray и ToList путём предоставления количества элементов

Reading time4 min
Views30K
Методы расширения ToArray и ToList — удобный способ быстро преобразовать перечисляемую последовательность (например, Linq-запрос) в массив или в список. Однако, в них есть кое-что беспокоящее меня: оба эти метода очень неэффективны, если они не знают количество элементов в последовательности (что почти всегда происходит, когда вы используете их в Linq-запросе). Давайте сперва рассмотрим метод ToArray (ToList имеет несколько отличий, но принцип практически такой же).
Читать дальше →

60 FPS? Легко! pointer-events:none!

Reading time2 min
Views99K


Вы, наверное, уже читали интересную статью о том, как можно отключать эффекты :hover при скроле – это позволяет здорово сохранить отзывчивость сайта, но имеет один недостаток – вам приходится опираться на один общий класс, и это плохо.

.hover .element:hover {
  box-shadow: 1px 1px 1px #000;
}
Читать дальше →

Ресайз картинок в браузере. Все очень плохо

Reading time10 min
Views105K
Если вы когда-нибудь сталкивались с задачей ресайза картинок в браузере, то вы наверное знаете, что это очень просто. В любом современном браузере есть такой элемент, как холст (<canvas>). На него можно нанести изображение нужных размеров. Пять строчек кода и картинка готова:

function resize(img, w, h) {
  var canvas = document.createElement('canvas');
  canvas.width = w;
  canvas.height = h;
  canvas.getContext('2d').drawImage(img, 0, 0, w, h);
  return canvas;
}

Из холста картинку можно сохранить в JPEG и, например, отправить на сервер. Можно было на этом закончить статью, но сперва давайте взглянем на результат. Если вы поставите рядом такой холст и обычный элемент <img>, в который загружена та же картинка (исходник, 4 Мб), то вы увидите разницу.

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

Лучшие плагины для Sublime Text

Reading time5 min
Views645K

WebInspector


Мощный инструмент для дебаггинга JavaScript, полноценный инспектор кода для Sublime. Фичи: установка брейкпоинтов прямо в редакторе, показ интерактивной консоли с кликабельными объектами, остановка с показом стек трейса и управление шагами дебаггера. Все это работает на ура! А еще есть Fireplay от Mozilla, который позволяет подключаться к Firefox Developer tools и максимально простой дебаггер JSHint.



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

Microsoft даёт легально скачивать ISO-образы Windows 7

Reading time1 min
Views513K
Microsoft открыла на сайте новый раздел — Microsoft Software Recovery, где опубликованы для скачивания официальные образы Windows 7. Они выложены для пользователей, у которых сломался компьютер и потерялась оригинальная версия ОС, или нужно установить систему заново, или создать виртуальные машины с Windows 7.

На сайте также опубликована пошаговая инструкция по записи DVD-диска и загрузочной флэшки.
Читать дальше →

Homeworld: Возвращение легенды

Reading time2 min
Views20K
Homeworld Remastered Collection Когда-то давным-давно, в далёком 1999 году студия Relic Entertainment выпустила первую часть игры, которая очень быстро завоевала умы и сердца геймеров тех лет. Игры, которая до сих пор считается многими изданиями лучшим представителем жанра и одной из игр, изменивших мир.

Этой игрой был Альберт Эйнштейн Homeworld.

Игра оказалась не только популярной, но и с огромным потенциалом и уже в 2000 году Barking Dog Studios выпускает продолжение саги под названием Homeworld: Cataclysm, действие которой происходит через несколько десятилетий после событий первой части. Изначально задуманный как дополнение для Homeworld, «Катаклизм» в процессе разработки вырос в самостоятельный проект и в том же году был издан известной многим геймерам компанией Sierra Entertainment.

К 2003 году Relic Entertainment (опять) перерабатывает игровую механику, управление, значительно улучшает графику и звук и выпускает продолжение оригинальной игры, Homeworld 2. Действие этой части разворачивается сто лет спустя после событий «Катаклизма» и является продолжением истории «хиигарцев», столкнувшихся с новой угрозой.
В том же году Relic Entertainment выпустила исходный код игры в открытый доступ под ограниченной некоммерческой лицензией.

Все три части имели огромный успех как у поклонников жанра RTS и космических стратегий, так и у обычных геймеров и критиков от гейм-индустрии.

В 2014 году правами на серию Homeworld овладели Gearbox Software и анонсировали выход Remastered Collection в 2015 году, включающую в себя оригинальные версии первой и второй частей, адаптированные под HD, а так же полностью переработанные версии первой и второй частей, с улучшенной (значительно улучшеной) графикой, озвучкой и старым-добрым сюжетом оригинальных частей.

Этот день настал!


Под катом несколько трейлеров и море обожания.
Читать дальше →

Полная энергетическая автономия или как выжить с солнечными батареями в глубинке (часть 1. теоретическая)

Reading time5 min
Views327K


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

image
Как все начиналось

Подборка интересных CSS-рецептов «Голые пятницы #4»

Reading time5 min
Views61K
голые пятницы

Здравствуй, дорогой читатель хабра!
Сегодня мы поговорим о «липких» блоках, новом свойстве для изображений object-fit, продвинутом использовании CSS-счетчиков, ключевом слове currentColor, и о том, есть ли анимация в z-index.
Читать дальше →

Экспорт Избранного на Хабре в PDF. Версия 2.0

Reading time3 min
Views29K
Доброго времени суток, хабражители!



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

Представляю вам новую версию программы закачки статей с Хабра, Гиктаймс и Мегамозг в формате PDF.

Новый проект называется HabraParse.

Проект состоит из библиотечки, которая парсит сайты, и скрипта, использующего лишь часть возможностей этой библиотеки. Скрипт написан на python3, для его работы потребуются модули docopt, requests и weasyprint (все их легко можно установить командой pip install name).

На текущий момент в скрипте имеются следующие возможности:
  • скачать статью по её ID;
  • скачать список URL избранного для заданного пользователя;
  • скачать статьи из избранного в папку в формате PDF или HTML (пока реализация HTML не на высоте, поэтому по умолчанию используется формат PDF, но он работает значительно дольше).


Использование опций --gt/--mm позволяет сохранять статьи с GeekTimes.ru и Megamozg.ru.

Краткое описание параметров скрипта
Usage:
  ./habraparse.py save_favs_list [--gt|--mm] <username> <out_file>
  ./habraparse.py save_favs [--gt|--mm] [-cn --save-html --limit=N] <username> <out_dir>
  ./habraparse.py save_post [--gt|--mm] [-c --save-html] <topic_id> <out_file>

По умолчанию все команды работают с проектом HabraHabr.ru.
При задании опций --gt/--mm скрипт будет работать с GeekTimes.ru/Megamozg.ru.

Команды:
  save_favs_list - сохранение в файл <out_file> списка URL избранного для пользователя <username>
  save_favs - сохранение в папку <out_dir> статей из избранного для пользователя <username>
  save_post - сохранение в файл <out_file> статьи с заданным ID



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

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

Поверхностный монтаж: трафарет и печь оплавления в домашних условиях

Reading time5 min
Views116K
Печатная плата с поверхностными компонентами

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

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity