Search
Write a publication
Pull to refresh
0
0
Send message

О протоколах передачи данных

Reading time6 min
Views86K
В этой статье я хочу поделиться личным, не претендующим на академичность, опытом в работе с различными закрытыми протоколами передачи данными (в основном на прикладном-сеансовом уровнях).

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

Какими свойствами и особенностями обладает хороший, годный грамотный, качественный протокол?
Читать дальше →

Javascript Parser Extension для VisualStudio

Reading time2 min
Views4.3K
Эта статья будет полезна разработчикам, которые используют Visual Studio для работы с JavaScript. Для ознакомления предлагается плагин для Visual Studio — Javascript Parser Extension. Поддерживаются версии VS2008, 2010, 2011. Проект с открытым исходным кодом, хостится на Google Code, также опубликован в Visual Studio Gallery.

Данный плагин призван помочь в работе с большими запутанными участками JavaScript кода, которые часто «достаются в наследство» и навигация по которым довольно утомительна. Также плагин удобен для использования и с новым кодом, в процессе разработки, если объём файла получается значительным.

Основная функциональность состоит в построении дерева функций и отображения его в удобном виде в виде панели Visual Studio. При клике на название функции осуществляется навигация в начало декларации. Также показываются комментарии к функции в виде всплывающей подсказки. Существует возможность добавлять «метки» на функции в виде 6-ти различных флажков. Шрифт и цвет помеченных функций может настраиваться дополнительно. Это очень удобно — требующие внимания функции будут сразу бросаться в глаза.
Читать дальше →

Опыт продаж в App Store и первые $12500

Reading time4 min
Views3.4K
Расскажу о личном опыте выпуска iPhone-приложения Pocket Lists, продажи которого за первые два с половиной месяца составили $12500 долларов США. Категория приложения: Productivity.



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

Первый месяц после выпуска


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

Контроллер для домашней пивоварни Mega Brewery. Part II

Reading time3 min
Views43K
Всем привет!
С момента, когда я решил построить свою автоматизированную пивоварню прошло много времени.  Вот первый пост.
Сегодня контроллер полностью готов, осталось сделать само варочно-фильтровальное устройство. Все делалось моими собственными руками. Прошу не судить строго, у меня нет инженерного образования, я простой гуманитарий! Расскажу по-порядку, как и из чего это делалось. Внимание, траффик, много фоток!
Читать дальше →

Построение «правильного» процесса разработки на платформе Mono

Reading time20 min
Views13K
Элементарный пример цикла разработка примитивного ASP.NET (Mono) приложения с использованием Jenkins CI, по мотивам Построение «правильного» процесса разработки на платформе .NET.

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

JavaScript. Оптимизация: опыт, проверенный временем

Reading time10 min
Views42K

Предисловие


Давно хотел написать. Мысли есть, желание есть, времени нету… Но вот нашлось, так что привет, Хабра.
Здесь я собрал все идеи, которые помогали и помогают в разработке веб-приложений. Для удобства я разбил их на группы:
  1. Память
  2. Оптимизация операций
  3. Выделение критических участков
  4. Циклы и объектные свойства
  5. Немножко о DOM
  6. DocumentFragment как промежуточный буфер
  7. О преобразованиях в объекты
  8. Разбитие кода
  9. События перетаскивания
  10. Другие советы

Сейчас речь не пойдёт ни о каких библиотеках. Я постараюсь передать знания о механизмах самого языка, а не их реализациях в библиотеках.

Память

Хоть это и не должно волновать клиентского программиста, но не забываем, что память всё-таки не бесконечна и когда-нибудь может закончиться, например, когда запущено несколько массивных программ: офис, графический редактор, компиляция большой программы и др. Несмотря на то, что приведенный пример тривиален, у меня действительно такое случилось, хоть и не из-за браузера, но он тоже сыграл свою роль: 1,3 Гб оперативы (отладчик, около 30 вкладок), начались тормоза по перегрузке страниц ОП в файл подкачки.
Чтобы уменьшить расход памяти, я предлагаю несколько способов:
Читать дальше →

Анализ данных. Приближенные множества

Reading time2 min
Views9.3K
Решил создать серию постов об анализе данных. Несколько лет работаю в этой (и как оказалось, весьма интересной) области информатики. Предлагаю Вашему вниманию анализ данных с точки зрения Теории приближенных множеств.
Читать дальше →

Размеры CLR-объектов. Точное определение

Reading time5 min
Views30K
Думаю, многим разработчикам на управляемом коде всегда интересовало: сколько же байт занимает экземпляр объекта? А каков лимит размера одного объекта в CLR? Существуют ли различия в выделении памяти между 32-битными и 64-битными системами? Если данные вопросы для Вас не пустой звук, тогда прошу под кат.
Читать дальше →

Как объединить две Wi-Fi сети, или работа роутера в режимах repeater и repeater bridge

Reading time5 min
Views291K
Доброго времени суток.

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

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

Наперегонки с машиной: вызовы и перспективы экономики будущего

Reading time13 min
Views6.5K

Одна из проблем пост-кризисной Америки — высокий уровень безработицы. Значительная часть из 12 миллионов американцев, потерявших работу в ходе глобального экономического кризиса 2007-2009 годов так и не смогли найти новое рабочее место, несмотря на восстановление экономики и рекордные показатели крупных американских корпораций. Ведущие экономисты не могут назвать точных причин сложившейся ситуации. Кто-то говорит о цикличности в экономике и недостаточности роста. Другие заявляют о стагнации и снижении американского динамизма — способности и склонности к инновациям. Третьи считают что наступил “Конец работы” — новые технологии заменят труд рабочих.
Исследователи из MIT Эрик Бриньолфссон (Erik Brynjolofsson) и Эндрю Макафи (Andrew McAfee) видят причину в том, что многие работники проигрывают в гонке против ускоряющегося прогресса информационных технологий. Но, полагают, что развитие технологий открывает и множество новых возможностей, когда человек и машина дополнят сильные стороны друг друга.

Пересказ-перевод-рецензия книги “Race against the machine” by Erik Brynjolofsson and Andrew McAfee.
Читать дальше →

Как Google тестирует ПО

Reading time9 min
Views40K
Прослушав вебинар «How Google Tests Software» я был так вдохновлен, что решил записать некоторые тезисы. Эта статья и есть мой конспект. Прежде всего, я должен внести ясность относительно ее содержания. Это не дословный перевод. Здесь описаны только те вещи, которые показались мне важными. Проще говоря, здесь описано не все, что прозвучало в вебинаре. Так же существует вероятность, что я понял что-то не до конца или даже понял неправильно. Поэтому горячо рекомендую прослушать вебинар самостоятельно.
Его ведет Джэймс Витакер, который в данный момент занимает пост технического директора по тестированию ПО в Google. Джэймс совместно с коллегами готовится выпустить одноименную книгу. В ней можно будет получить исчерпывающую информацию о том, как проводят тестирование GoogleMaps, Google+, ChromeOS, Android и т.д…
Читать дальше →

The Foundry Nuke. Введение

Reading time9 min
Views68K


большое разрешение — по клику

Снова здравствуй, Хабр!

В этом посте я бы хотел рассказать о великолепной программе под названием Nuke от компании The Foundry, которая уже затрагивалась вот в этом посте, но вызвала много вопросов читателей, далеких от 3д графики в общем, и от 3д-композитинга в частности.

Если описать в двух предложениях, то Нюк является мировым стандартом в композитинге и пост-обработке, и был одним из ключевых инструментов в подавляющем большинстве голливудских фильмов с бюджетом, отличным от кустарного.
Да что вообще говорить — Аватар, Трон: Наследие, Трансформеры, Watchmen, Властелины Колец, и большинство остальных голливудских блокбастеров были сделаны именно в Нюке.

Познакомился я с ним примерно три года назад, и сразу же в него влюбился: это одна из самых гениальных программ, что я когда-либо видел — как в плане используемых подходов, так и в плане юзабилити.

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

В процессе написания поста я понял, что все, что я хотел бы описать, просто не уместится ни в один пост, ни в цикл статей. Хоть пост и получился длинным, но это вершина айсберга — в нем описывается чуть менее 0.01% всего, чем хочется поделиться.

Интересно?
Добро пожаловать под кат! Осторожно! Много трафика, Джобса, чайников, и надкусанных НЛО.

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

Динамическое программирование в алгоритмах распознавания речи

Reading time10 min
Views40K
В системах распознавания речи, содержащих слова, распознавание требует сравнения между входным словом и различными словами в словаре. Эффективное решение проблемы лежит в динамических алгоритмах сравнения, целью которого является введение временных масштабов двух слов в оптимальное соответствие. Алгоритмы такого типа являются динамическими алгоритмами трансформации временной шкалы. В данной статье представлено два варианта реализации алгоритма предназначенные для распознавания отдельных слов.

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

Сети для самых маленьких. Часть нулевая. Планирование

Reading time7 min
Views2.2M
Это первая статья из серии «Сети для самых маленьких». Мы с товарищем thegluck долго думали с чего начать: маршрутизация, VLAN'ы, настройка оборудования.
В итоге решили начать с вещи фундаментальной и, можно сказать, самой важной: планирование. Поскольку цикл рассчитан на совсем новичков, то и пройдём весь путь от начала до конца.

Предполагается, что вы, как минимум читали о эталонной модели OSI (то же на англ.), о стеке протоколов TCP/IP (англ.), знаете о типах существующих VLAN’ов (эту статью я настоятельно рекомендую к прочтению), о наиболее популярном сейчас port-based VLAN и о IP адресах (более подробно). Мы понимаем, что для новичков «OSI» и «TCP/IP» — это страшные слова. Но не переживайте, не для того, чтобы запугать вас, мы их используем. Это то, с чем вам придётся встречаться каждый день, поэтому в течение этого цикла мы постараемся раскрыть их смысл и отношение к реальности.

Схема сети

Начнём с постановки задачи. Есть некая фирма, занимающаяся, допустим, производством лифтов, идущих только вверх, и потому называется ООО «Лифт ми ап». Расположены они в старом здании на Арбате, и сгнившие провода, воткнутые в пожжёные и прожжёные коммутаторы времён 10Base-T не ожидают подключения новых серверов по гигабитным карточкам. Итак у них катастрофическая потребность в сетевой инфраструктуре и денег куры не клюют, что даёт вам возможность безграничного выбора. Это чудесный сон любого инженера. А вы вчера выдержали собеседование и в сложной борьбе по праву получили должность сетевого администратора. И теперь вы в ней первый и единственный в своём роде. Поздравляем! Что дальше?
Читать дальше →

Видеоплеер из подручных материалов

Reading time6 min
Views67K
Эта статья расскажет, как сделать видеоплеер из предметов, которые можно найти в кладовке любого айтишника. Ардуино, журнал Vogue, и дисплей от Нокиа 3310 можно оставить в покое — они нам не понадобятся. Наличие паяльника приветствуется, но можно обойтись и без него.

Судя по скорости развития технологий, лет через десять появится поколение, никогда не видевшее электронно-лучевых трубок. А между тем, история видео дисплеев начиналась с совершенно других устройств…
Читать дальше →

Процессор

Reading time8 min
Views155K
Сколько я себя помню, всегда мечтала сделать процессор. Наконец, вчера я его сделала. Не бог весть что: 8 бит, RISC, текущая рабочая частота — 4 кГц, но он работает. Пока что в программе моделирования логических цепей, но все мы знаем: «сегодня — на модели, завтра — на деле!».

Под катом несколько анимаций, краткое введение в двоичную логику для самых маленьких, короткий рассказ про основные микросхемы логики процессора и, собственно, схема.
Читать дальше →

Распознавание и синтез речи в любое приложение под iOS за час

Reading time12 min
Views12K
Вводная часть:

Сам инструментарий называется NDEV. Чтоб получить необходимый код (его мало) и документацию (её много), надо зарегиться на сайте в «программе сотрудничества». Сайт:

dragonmobile.nuancemobiledeveloper.com/public/index.php

Это весь «геморрой», если клиентов вашего приложения менее полумиллиона и они пользуются сервисами менее 20 раз в день. Сразу после регистрации вы получите членство «Silver», которое позволит вам бесплатно пользоваться данными сервисами.
Разработчикам предлагается пошаговая инструкция по внедрению в свое приложение на iOS сервисов распознавания и синтеза речи:

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

Пару слов о Motion API

Reading time5 min
Views1.7K

Вместе с новой версией Windows Phone 7.5, широко известной под кодовым именем «Манго», разработчики получили возможность использовать для своих приложений, в дополнение к GPS и акселерометру, гироскоп и компас (вернее, магнитометр). Также стал доступен набор API под названием Motion API, который комбинирует в себе данные со всех датчиков и выдаёт обработанный результат, в виде положения в пространстве и характеристик движения устройства. Motion API – результат исследований Microsoft Research, которым теперь могут воспользоваться все разработчики под Windows Phone.
Читать дальше →

Быстрая server side интеграция ASP.NET + Facebook

Reading time4 min
Views4.3K
Так вышло, что мне пришлось столкнуться с интеграцией с Facebook-ом на платформе ASP.NET. Интеграция нужна была server-side, поэтому решено было использовать Facebook C# SDK.
Как оказалось процесс довольно таки не сложный, но важно понять суть и принцип.
Читать дальше →

Знакомство с мнемоникой

Reading time6 min
Views99K
Введение

Доброго времени суток! Сразу оговорюсь, что цель этой статьи — познакомить и, возможно, заинтересовать вас такой штукой, как мнемоника. Мнемоника — наука о запоминании. То бишь совокупность способов и уловок, которые помогут вам запомнить большие объёмы информации в правильной последовательности (Например, 100 случайных слов (чисел) можно запомнить последовательно с интервалом в среднем в 6 секунд). Некоторые умудряются запомнить несколько тысяч цифр после числа Пи. Так же мнемотехника помогает в освоении иностранного языка ). Но нам пока рано об этом думать. Вы спросите:«Зачем мне ета ваша мнемоника?». Я отвечу: вы можете использовать её не только как хобби (от простого облегчения жизни, до того, что можете удивлять друзей, предложив с ними поочерёдно запомнить N информации поочерёдно), но и участвовать в соревнованиях (да-да, есть соревнования по запоминанию, где участвуют не прирождённые гении, а люди, натренировавшие себе память).
Читать дальше →

Information

Rating
Does not participate
Registered
Activity