Search
Write a publication
Pull to refresh
20
0
Dmitry Vlasov @2m0nd

User

Send message

Загрузка файлов без Flash на habrastorage.org

Reading time1 min
Views4.3K


Увидев топик Нужен ли на Хабрахабре хаб SQLite? я вспомнил, что на habrastorage.org всё еще используется Flash загрузчик файлов.

Он создаёт проблемы для платформ Linux / OS X где работа Flash мягко скажем не радует большинство пользователей, и многие (включая меня) не ставят Flash специально для продления жизни устройства от батареи и ликвидации лишней нагрузки на CPU.

Многим для загрузки фотографий приходится использовать отдельно установленный Chrome.

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

Таким образом, следует провести опрос, сколько людей из-за этого страдает.

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

Анимация перехода от глобуса к двумерной карте

Reading time5 min
Views19K
Хочу поделиться с хабром своим картографическим экспериментом, а именно анимацией перехода от Ортографической проекции (глобус) к Равнопромежуточной (одна из проекций обычных двумерных карт). Также этот способ подойдёт и для любых других проекций. Результатом экспериментов стала вот такая анимация:

От глобуса к карте


Как и прежде будем использовать библиотеку d3.js, как и прежде сделаем несколько реализаций: SVG и Canvas. Оба варианта можно будет эффектно использовать для интерактивной инфографики. Ну что, начнём?
Приступить к эксперименту

Git rebase «по кнопке»

Reading time9 min
Views23K

Когда мы говорим об автоматизации процесса разработки и тестирования, мы подразумеваем, что это очень масштабное действие, и это действительно так. А если разложить его по частям, то станут видны отдельные фрагменты всей картины ― такая фрагментация процесса очень важна в двух случаях:
  • действия выполняются вручную, что требует сосредоточенности и аккуратности;
  • жёсткие временные рамки.

В нашем случае налицо лимит по времени: релизы формируются, тестируются и выкатываются на продакшн-сервер два раза в день. При ограниченных сроках в жизненном цикле релиза процесс удаления (отката) из релизной ветки задачи, содержащей ошибку, имеет важное значение. Для её выполнения мы используем git rebase. Так как git rebase ― это полностью ручная операция, которая требует внимательности и скрупулезности и занимает продолжительное время, мы автоматизировали процесс удаления задачи из релизной ветки.
Читать дальше →

Как закрыть Интернет в России

Reading time2 min
Views176K
Начнём с источников:
  • Проект развития мультисервисных сетей в России на ближайшие годы, усилиями Минкомсвязи: minsvyaz.ru/ru/discussions/index.php?id=41
  • Разбор и обсуждение оного с эвфимизмами в отношении существующих телекомов: www.kipchatov.ru/blog/?p=1151 (очень рекомендуется к прочтению)

Для скучающего читателя выписываю самую жаренную часть.

По планам минкомсвязи ожидается изменение провайдерского рынка — все операторы делятся на «федеральных операторов связи» и плебейских просто операторов связи.

При этом:

«просто операторам связи» запрещается трансграничная передача данных. Этим должны, будут и могут заниматься только федеральные операторы связи.

Самим федеральным операторам связи ставится в обязательство присутствовать на всей территории страны, причём год от года требования по присутствию увеличиваются — к 2014 это города с 100к населения, а к 2018 — с 8к (да-да, в каждый заполярный город оптику). Таким образом стать ФОС сможет только Очень Очень Очень толстый оператор. И у него будет монополия на иностранный трафик.

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

Откуда растут руки у GetHashCode в .NET

Reading time12 min
Views109K

Введение


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

Что хранится в объектах помимо их полей?


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

У каждого объекта ссылочного типа есть так называемый заголовок (Header), который состоит из двух полей: указатель на тип которым является данный объект (MethodTablePointer), а так же индекс синхронизации (SyncBlockIndex).
Читать дальше →

Автоматическое добавление файлов в WiX инсталлятор

Reading time11 min
Views15K
    Добрый день, коллеги. В своей статье я хочу осветить проблему, с который может столкнуться разработчик, желающий написать свой инсталлятор с помощью технологии WiX.
Думаю, что многие программисты сталкивались с задачей написания инсталлятора для своего программного продукта. Вот и меня постигла та же участь. Решено было использовать WiX. Необходимо было сделать автоматическую сборку инсталлятора на build server. Проекты, из которых берутся файлы для инсталляции, могут меняться, и поэтому нельзя жестко указать список файлов, которые необходимо добавить в инсталлятор.

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

Аутентификация по-новому, или суперкуки

Reading time9 min
Views33K
На сегодняшний день идея ухода от паролей и традиционных методов аутентификации на веб-ресурсах поднимается все чаще, причем этим озаботились такие гиганты IT-индустрии, как Google, Paypal и другие члены альянса FIDO. В рамках научных исследований, проводимых сотрудниками Google, были предложены способы усовершенствования методов аутентификации, а также черновик стандарта расширения TLS, позволяющего избавиться от использования cookies.

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

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

КЛАДР умер, да здравствует ФИАС?

Reading time1 min
Views85K
Уважаемые коллеги, которые сталкивались с классификатором адресов Российской Федерации КЛАДР знают, насколько это странная база (в первую очередь своей структурой), а также большим количеством неточностей в самих данных.

В 2011 году за дело взялась ФНС, которая начала разрабатывать новую единую базу Федеральной информационной адресной системы (ФИАС) для того, что бы покончить с адресным бардаком, царящим среди различных ведомств.
Читать дальше →

Как выглядят 10 миллисекунд высокочастотного трейдинга

Reading time2 min
Views77K
Эрик Хансэйдер, основатель компании Nanex, занимающейся аналитикой и информационными системами для высокочастотного трейдинга, публикует на YouTube очень любопытные визуализации высокочастотной торговли. Вот, например, 10 миллисекунд торговли акциями корпорации Merck:



Прямоугольники, расположенные по окружности, представляют собой биржи. Летящие между ними треугольники и кружки — изменения котировок и сделки. Нижний прямоугольник (6 часов) — лучшие курсы покупки и продажи среди всех бирж. Визуализация медленнее реального времени примерно в 40 000 раз.
Вот так выглядели первые несколько секунд после IPO Facebook:

Оранжевый чувак бесплатно раздает серверы

Reading time3 min
Views126K
Здравствуйте дорогие хабражители.

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

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

image

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

Советы новичкам при проектировании модульных производственных систем

Reading time7 min
Views20K
В этой статье я попытаюсь поделиться своим опытом в проектировании пользовательской бизнес-логики. Это явно не претендует на полноценный ликбез, т.к. я всего лишь вспоминаю то, через что прошёл лично я, какие ошибки я допустил, и как мне их удалось (или не удалось) исправить в будущем. Наверняка, опытные системные архитекторы уже все проходили и знают, однако надеюсь, что некоторые советы таки будут полезны.
Мы использовали (и используем) клиентскую часть на WPF/Silverlight, WCF сервисы и СУБД Oracle, Postrges, MsSQL. Код написан по MVVM, использована Prism для модульности и навигации. Не могу точно сказать, какие из тезисов подойдут для других платформ и языков.

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

Итак, поехали.
Читать дальше →

Хватит неправильно использовать выпадающие списки

Reading time4 min
Views133K
Формы состоят из самых разных элементов интерфейса. Если вы не знаете, как правильно с ними обращаться, вы можете сильно усложнить заполнение форм. Чаще всего ошибаются, применяя выпадающие списки (select menu).

Когда использовать


Иногда можно встретить выпадающие списки с 2 вариантами, иногда — с более чем 20. В обоих случаях это неправильно. Если у пользователя есть менее 5 вариантов выбора, следует использовать радиокнопки. Так выбор будет проще и быстрее, потому что пользователю нужно лишь взглянуть на варианты и один раз кликнуть. С выпадающим списком ему нужно нажать на него, найти подходящий вариант и кликнуть снова. Также другие варианты не видны, пока вы не нажмёте на выпадающий список. Если их меньше 5, лучше наглядно показать их в форме в виде радиокнопок — пользователи смогут быстро их просмотреть.



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

Twitter.Bootstrap.MVC4 – пакет Twitter Bootstrap для ASP.NET MVC 4

Reading time2 min
Views32K

Я хочу рассказать о NuGet пакете, который пригодится тем, кто решил создать приложение на связке ASP.NET MVC 4 и Twitter Bootstrap. Этот пакет не только добавит ресурсы Twitter Bootstrap в проект, но и предоставит готовые способы решения часто возникающих задач.
Читать дальше →

Запускаем .NET MicroFramework на STM32F4Discovery (перевод)

Reading time4 min
Views35K
image
Несколько месяцев назад STMicroelectronics бесплатно раздавали отладочную плату STM32F4 Discovery. Я стал одним из тех, кому повезло получить ее бесплатно. Последний семестр я использовал плату для моего проекта (realtime и embedded OS) с применением Keil. У меня так-же есть отладочная плата Netduino, которая является моим фаворитом среди моих отладочных плат потому что я могу использовать Visual Studio и C#. Я знаю об ограничениях управляемого кода, связанных с расходами ресурсов на CLR, но моя программа не является программой реального времени. В последнюю неделю я случайно наткнулся на сайт netmf4stm32.codeplex.com и был приятно удивлен тем, что .NET MicroFramework был портирован на отладочные платы STM32F4. Так почему-бы не попробовать? Одновременно я описывал весь процесс, разбавляя текст скриншотами. Источником этой работы стал пост netmf4stm32.codeplex.com/discussions/400293. Благодарю LouisCPro и членов netmf4stm32.codeplex.com/team/view. Все это отняло у меня не более 2 часов (включая установку Visual C# Express 2010). Начнем…
Читать дальше →

ASP.NET MVC Урок D. Scaffolding

Reading time16 min
Views38K
Цель урока. Научиться использовать Scaffolding для создания прототипа проекта. Определяем и фиксируем структуру репозитория. Простая и языковая версия класса. Тестируем использование Scaffolder-а, используем «направляющие» атрибуты. Параметры для Scaffolder-а. Создание управляющих атрибутов. Полный цикл создания и управления объекта в админке.

Scaffolding T4 для Visual Studio 2013 не применимо.

Scaffolding. Начало.

В этом и следующем уроке мы изучим то, что поможет вам в разы быстрее разрабатывать приложения. Начнем издалека. Когда я делал первый сайт, я смотрел, как можно реализовать тот или иной функционал и использовал его у себя в приложении. Потом, когда у меня появился второй проект, я начал функционал улучшать. Я выделил основные моменты и инструменты, которые были описаны в предыдущих уроках. Я начал замечать, что я делаю часто много механичной работы, например:
  • создать в БД новую таблицу
  • прокинуть ее в класс DbContext
  • добавить объявление в интерфейс репозитария
  • добавить реализацию в SqlRepository
  • добавить partial-часть класса в папке Proxy
  • добавить модель данных
  • объявить mapping
  • создать контроллер в админке
  • сделать типичные view для просмотра и редактирования


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

ASP.NET MVC Урок 7. Bootstrap, jQuery, Ajax

Reading time18 min
Views129K
Цель урока: Определить правила работы с html, js и css файлами. Bootstrap и дополнительный css. Структура js-файлов. Использование jQuery, основные моменты, изучение селекторов, событий и др. addClass, removeClass, attr, data, динамическое создание dom-объекта, ajax.

Наконец мы приступаем к более детальному изучению клиентской части, которая уже в меньшей степени связана с asp.net mvc, но всё равно важна для веб-разработки.

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

Иерархия принципов проектирования, или самые важные слова для инженеров

Reading time5 min
Views47K
В этой короткой заметке я хотел бы систематизировать (а именно, расположить в иерархию) многие популярные принципы проектирования программных приложений (test-driven development, ООП, SOLID и т. д.), а также рассмотреть следствия из этой иерархии.

В частности, такая иерархия (я надеюсь) позволит лучше расставлять приоритеты в разработке и профессиональном росте, лучше понимать старые технологии и быстрее изучать новые. При появлении новой парадигмы разработки (a la test-driven development) вы сможете быстро включить ее в эту иерархию и, следовательно, быстрее понять, из каких принципов исходили создатели парадигмы и как правильно ее использовать. Новичкам в программировании статья может быть полезна как обзор существующих принципов.

И в качестве самого базового я полагаю разумным считать принцип «управления сложностью/минимизации технической сложности» МакКоннела. А самыми важными срествами минимизации сложности являются модульность и абстракция.
Читать дальше →

Как стать ведущим разработчиком. Часть 1

Reading time8 min
Views142K
Это перевод статьи, написанной Джоном Оллспоу, который на данный момент является старшим вице-президентом технического отдела в Etsy.

Продолжение перевода здесь

В нашей сфере деятельности нам доступны огромные объёмы знаний, в особенности тех, которые позволяют разработчику стать эффективным. Но почему-то, несмотря на существование множества книг о специфических задачах и обязанностях менеджеров в нетехнических областях, я практически не вижу новых книг или статей о том, как стать хорошим ведущим разработчиком. Замечательным исключением, конечно, являются статьи Кейт Maцудайры [от переводчика: на фотографии, кстати, именно она], немало написавшей о культурных составляющих инженерии.

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

Интеграция Team Foundation Services с Git и другие новые возможности

Reading time3 min
Views22K
imageСегодня произошел большой шаг вперед в развитии Team Foundation Services — облачного сервиса Microsoft для разработчиков. Последние несколько месяцев команда TFS вела работу над новыми возможностями которые делают эти сервисы еще проще, удобнее и эффективнее. Одним из самых громких нововведений является интеграция популярной системы контроля версий Git с сервисами TFS. Работа на этом не прекращается и в обозримом будущем будет добавлено еще много интересных функций.
Читать дальше →

10 причин, по которым Вы бросите свою работу в 2013 году

Reading time9 min
Views809K
imageЭто перевод нашумевшей статьи с TechCrunch от Джеймса Альтушера — инвестора, программиста, автора статей и немного предпринимателя. Его последние книги: Я был слеп, но теперь я вижу и 40 альтернатив колледжу. Читайте его в Twitter @jaltucher.

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

Information

Rating
Does not participate
Location
Екатеринбург, Свердловская обл., Россия
Date of birth
Registered
Activity