Как стать автором
Обновить
24
0
Pavel Koval @LrdSpr

Технический консультант

Отправить сообщение

Командная разработка системы на базе MS Dynamics CRM

Время на прочтение13 мин
Количество просмотров8.6K
Сегодня мы расскажем о том, как в компании построили командную разработку на платформе MS Dynamics CRM. Эта платформа, как большинство проприетарных систем без исходного кода, несет в себе ряд ограничений и дополнительных сложностей для разработчиков. Настройка системы, создание внутренних сущностей, создание UI – все это реализовано внутренними средствами платформы, при этом внутреннего языка нет, возможности по переносу настроек ограничены выгрузкой во внутреннем, недокументированном формате.
Читать дальше →
Всего голосов 6: ↑6 и ↓0+6
Комментарии0

Elastic Search в enterprise-проектах

Время на прочтение5 мин
Количество просмотров56K
В рамках этой статьи я поделюсь опытом использования Elastic Search во внутренних продуктах 2ГИС, в частности, в собственной системе для организации Call-центра. А также расскажу, какие проблемы мы смогли решить, используя этот поисковый движок.


Читать дальше →
Всего голосов 51: ↑50 и ↓1+49
Комментарии23

Основы Elasticsearch

Время на прочтение12 мин
Количество просмотров672K

Elasticsearch — поисковый движок с json rest api, использующий Lucene и написанный на Java. Описание всех преимуществ этого движка доступно на официальном сайте. Далее по тексту будем называть Elasticsearch как ES.


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


В этой статье я расскажу про основы ES на примере индексации постов блога. Покажу как фильтровать, сортировать и искать документы.

Читать дальше →
Всего голосов 39: ↑38 и ↓1+37
Комментарии78

С чего начать новичку в Go

Время на прочтение2 мин
Количество просмотров160K
Если вы решили попробовать замечательный язык Go, но не знаете с чего начать, вам прямая дорога в этот пост, где я постарался перечислить все необходимые для новичков ресурсы.
Читать дальше →
Всего голосов 56: ↑50 и ↓6+44
Комментарии50

Сравнение Tarantool с конкурентами в Microsoft Azure

Время на прочтение4 мин
Количество просмотров19K
image

Tarantool — NoSQL СУБД, которая разрабатывается и широко используется в Mail.Ru Group. Об объемах использования можно сделать вывод по публикациям:


Недавно Mail.Ru Group выпустила виртуальную машину с предустановленным Tarantool для Microsoft Azure:


Мы решили проверить, насколько хорошо Tarantool работает в Microsoft Azure в сравнении с другими подобными предложениями — Azure Redis Cache, Bitnami Memcached, Aerospike и VoltDB. Под словом «хорошо» будем понимать «быстро», то есть сравнивать будем число обрабатываемых запросов в секунду (Throughput, RPS).
Читать дальше →
Всего голосов 61: ↑60 и ↓1+59
Комментарии68

Интересное по хабу .Net за 2014 год

Время на прочтение2 мин
Количество просмотров26K
Мы с вами люди рабочие и зачастую не замечаем ничего что происходит за пределами нашей работы. Так и я, работая изо дня в день, знаю только про свой SpecFlow и смежные вопросы. Но ничего – по сторонам. Этим постом я хочу восполнить пробелы новостей в области .Net

Новости хаба .Net на Хабре занимают 33 страницы или 328 постов. Что говорит о том что новости появляются почти каждый день =) Посмотрим на самое интересное из них (на мой скромный взгляд). Ну и загляните под кат: до ката, конечно же, не все.

Доступен новый JIT: теперь с поддержкой SIMD
Как работает декомпиляция в .Net или Java на примере .Net
Microsoft раскрыла исходный код компилятора С#
Consulo: ~1000 коммитов, или как прошла осень
Под капотом у Stopwatch
Как тестировать код финализатора (c#). Послесловие: тест все-таки упал
Посмотреть на прочие статьи
Всего голосов 33: ↑27 и ↓6+21
Комментарии0

Восстанавливаем локальные и доменные пароли из hiberfil.sys

Время на прочтение2 мин
Количество просмотров111K
Утилита mimikatz, позволяющая извлекать учётные данные Windows из LSA в открытом виде, существует с 2012 года, однако помимо хорошо освещённого функционала восстановления паролей из памяти работающей ОС у неё есть ещё одна довольно интересная возможность. Далее я приведу пошаговую инструкцию, как при помощи нехитрых действий извлечь учётные данные из файла hiberfil.sys.

Подготовка


Для осуществления задуманного нам понадобятся следующие утилиты:
Читать дальше →
Всего голосов 74: ↑73 и ↓1+72
Комментарии60

Java собеседование. Коллекции

Время на прочтение10 мин
Количество просмотров890K
С недавнего времени у меня появилась настойчивая мысль, что профессиональное развитие сильно замедлилось и это хочется как-то исправить. Да, читаю книги, слушаю курсы, но в то же время приходит и понимание того, что возможно пришло время сменить работу, здесь вроде как все изучено, плавно уходим в рутину. Данная мысль сподвигла меня на рассылку своего резюме в несколько компаний — лидеров рынка. После прохождения собеседования в 3 из них, я решил, как водится внести свои 5 копеек в освещение обширной темы собеседования, а именно технических вопросов по Java коллекциям, с которыми приходится сталкиваться. Да, знаю, читатель скажет: «коллекции — избитая тема, сколько можно», но часть из приведенных ниже вопросов, я задавал своим знакомым разработчикам, которые занимают именно позиции разработчиков («крепких середнячков», по меркам недалекой от Москвы глубинки, которые уверенно справляются со своей работой на практике, а вот в теории скажем так есть пробелы, потому, что работа не требует решения каких-то нетривиальных задач, да и потому что не всем это интересно — изучать как внутри работает структура данных), вызывало растерянность. Думаю, что рассмотренный материал будет не очень интересен разработчикам выше уровня Junior (я попрошу их комментировать, дополнять и критиковать изложенный здесь материал), а вот Junior`ы уверен, найдут в этой статье интересное для себя.
Читать дальше →
Всего голосов 97: ↑86 и ↓11+75
Комментарии306

Основы безопасности операционной системы Android. Уровень ядра

Время на прочтение6 мин
Количество просмотров100K

Вступление


Самой распространенной операционной системой для смартфонов на сегодняшний день является Android. Но не только этот факт подогревает интерес к ней. Открытость, возможность что-то настроить, подкрутить, и, естественно, сломать тоже в немалой степени способствуют увеличению популярности этой платформы. Я попробую поделиться опытом, как устроена эта операционная система, а так же рассмотреть систему безопасности. Всем, кому интересно, добро пожаловать! В этой статье я рассмотрю безопасность на уровне ядра.
Читать дальше →
Всего голосов 108: ↑102 и ↓6+96
Комментарии19

Пару слов о перехвате HTTP/HTTPS трафика iOS приложений

Время на прочтение3 мин
Количество просмотров47K
В этой статье я расскажу о простом методе заработка в сети перехвата HTTP/HTTPS трафика iOS приложений, включая трафик приложений использующих certificate pinning (а это например Twitter, Facebook и куча других приложений). От прочих методов, где бедным людям рекомендуют в командной строке руками генерировать какие-то сертификаты и куда-то их запихивать, этот метод отличается (относительной) безгеморройностью, хотя кое-какие телодвижения сделать конечно прийдется.
Читать дальше →
Всего голосов 32: ↑27 и ↓5+22
Комментарии17

Выжимаем максимум из DDMS

Время на прочтение6 мин
Количество просмотров35K
DDMS (Dalvik Debug Monitor Server) — безумно полезный инструмент для отладки приложений, который идет в комплекте с Android SDK, о котором почему-то особо и не сказано на хабре, впрочем как и в примерах google он представлен в очень скромном виде. Я бы хотел раскрыть его возможности и показать на что он способен. Вкратце:
  • изучать информацию о работающих потоках;
  • анализировать heap на количество свободной и занятой памяти;
  • анализировать какие объекты чаще создаются, их размер и другое (Allocation tracker);
  • находить проблемные участки кода, которые долго работают и требуют оптимизации (Method profiling). Это я советую знать всем.

Об этих вещах будет рассказано в рамках данной статьи. И для справки, менее интересное, что довольно тривиально и о чем НЕ будет рассказано в рамках данной статьи:
  • работать с файловой системой эмулятора или устройства;
  • находить информацию об ошибках (привет LogCat);
  • эмулировать звонки/смс/местоположение;
  • использовать инструмент Network Statistics.


Если заинтересовались, прошу под кат.
Всего голосов 34: ↑34 и ↓0+34
Комментарии6

Предельная производительность: C#

Время на прочтение56 мин
Количество просмотров261K
performanceЯ поделюсь 30 практиками для достижения максимальной производительности приложений, которые этого требуют. Затем, я расскажу, как применил их для коммерческого продукта и добился небывалых результатов!
Приложение было написано на C# для платформы Windows, работающее с Microsoft SQL Server. Никаких профайлеров – содержание основывается на понимании работы различных технологий, поэтому многие топики пригодятся для других платформ и языков программирования.
Читать дальше →
Всего голосов 135: ↑90 и ↓45+45
Комментарии289

Состоялся релиз библиотеки libGDX 1.0

Время на прочтение1 мин
Количество просмотров8.1K
Библиотека libGDX известна почти каждому разработчику Android-приложений. С её помощью добавляются текстуры, проигрывается звук, вызывается вибрация и т.д. «Все думали, что этот день никогда не наступит, но он наступил. Официально вышла версия libGDX 1.0!», — сообщается в официальном блоге Badlogic Games, маленькой австрийской компании, которая с 2009 года ведёт разработку проекта.

Среди самых важных изменений в версии 1.0 — новый интерфейс для сборки проекта на основе Gradle. Теперь любой проект можно скомпилировать из командной строки или из Eclipse, Intellij IDEA и т.д. Больше никаких jar’ов в репозитории!
Читать дальше →
Всего голосов 32: ↑27 и ↓5+22
Комментарии5

ImageLoaders: Продолжение

Время на прочтение5 мин
Количество просмотров9.1K
В предыдущей статье я сравнивал библиотеки UniversalImageLoader (UIL) и Picasso на предмет оптимального использования памяти. Среди комментариев были некоторые тонкости применения библиотек и просьбы протестировать другие загрузчики. Эти вопросы дали начало второй части benchmark-а с участием 5 библиотек.
Читать дальше →
Всего голосов 19: ↑17 и ↓2+15
Комментарии16

Переводим ActionBar на следующий уровень

Время на прочтение9 мин
Количество просмотров37K
Еще в ноябре 2012 года, я написал сообщение в блоге озаглавленное как "ActionBar в движении". Эта статья в основном касалась методики того, как красиво и уникально оживить ваш ActionBar . Хотя я упомянул некоторые из возможностей применения данного эффекта, я никогда не имел времени, чтобы добавить данный вид анимации ActionBar к какому-либо из моих собственных приложений. Но я видел в Play Store приложение использовавшее его.

Будучи на Google I/O, я наконец нашел приложение, использующее в ActionBar технику анимации. Давайте будем честными, это буквально взорвало мой взгляд когда я в первый раз это увидел. Я влюбился в хороший, тонкий и чрезвычайно полезный анимационный эффект, и, вероятно, даже больше, чем в само приложение! Я уверен, вы знаете приложение о котором я говорю, так как оно было представлено во время Google I/O. Это приложение Play Music!

Последнее обновление Play Music (v5.0) претерпело полный редизайн и внешний вид страниц с описанием исполнителя и альбома. Если вы откроете такую страницу, то вы заметите, что ActionBar изначально невидим и наслаивается на большое изображение, описывающее исполнителя или альбом. Но как только вы начинаете прокручивать страницу вниз (если это возможно), то ActionBar постепенно проявляется. ActionBar оказывается полностью непрозрачным, когда изображение становится прокрученным за экран.
Читать далее
Всего голосов 30: ↑26 и ↓4+22
Комментарии6

Процесс тестирования мобильных приложений

Время на прочтение4 мин
Количество просмотров137K
Тестирование – очень важный этап разработки мобильных приложений.

Стоимость ошибки в релизе мобильного приложения высока. Приложения попадают в Google Play в течении нескольких часов, в Appstore несколько недель. Неизвестно сколько времени будут обновляться пользователи. Ошибки вызывают бурную негативную реакцию, пользователи оставляют низкие оценки и истерические отзывы. Новые пользователи, видя это, не устанавливают приложение.

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

Поэтому в отделе тестирования у нас работает 8 человек (0,5 тестировщика на программиста), за его развитием и процессами следит выделенный тест-лид.

Под катом я расскажу как мы тестируем мобильные приложения.


Читать дальше →
Всего голосов 48: ↑44 и ↓4+40
Комментарии22

Пишем фреймворк для разработки игр — Mechanic Framework

Время на прочтение26 мин
Количество просмотров25K
Добрый день, жители Хабра!
Сегодня мы будем писать фреймворк с названием Mechanic Framework для удобной разработки игр под андроид.

image

Что нам потребуется:


  • Установленные Eclipse и Android SDK
  • Приличное знание Java либо другого С-подобного языка. Лучший пример – C#
  • Терпение


Читать дальше →
Всего голосов 60: ↑48 и ↓12+36
Комментарии20

Внутреннее устройство Windows

Время на прочтение2 мин
Количество просмотров26K
Представляем вашему вниманию очередную новинку нашего издательства — долгожданное шестое издание легендарной книги Windows Internals, написанное Марком Руссиновичем, Дэвидом Соломоном и примкнувшим к ним в новом издании Алексом Ионеску.

image

Шестое издание книги Windows Internals охватывает внутреннее ядро компонентов Windows 7 и Windows Server 2008 R2.
Узнать подробности - внимание, доступна электронная версия книги
Всего голосов 65: ↑59 и ↓6+53
Комментарии22

Клиент с поддержкой Linq для Microsoft Dynamics CRM (альтернатива клиенту из sdk)

Время на прочтение9 мин
Количество просмотров5.2K
При разработке одного из проектов, мне понадобилась интеграция с MS CRM… Посмотрев на стандартные механизмы запросов в msdn я понял, что это немного неудобно, а так как проект обещает быть длинным, и даже бесконечным (внутренняя автоматизация), я решил что использование QueryExpression в чистом виде приведет к серьезному увеличению трудозатрат и станет рассадником ошибок по невнимательности (так как разработчики по проекту будут частенько меняться — у кого есть время, тот и занимается).

Итак, было принято решение написать обертку над QueryExpression и добавить возможность построения fluent запросов как в EF. Сразу оговорюсь, что при написании этой обертки (где-то в середине) я нашел библиотеку из sdk которая предоставляет такую возможность — sdk crm client но посмотрев на нее повнимательнее я понял что там нет документации(!!!) и нескольких полезных возможностей, например: использование in в where, добавление условий к join и еще несколько помельче. Сравнительную таблицу приведу позже.

Так как проект обещает быть долгим, я все же решил дописать свою реализацию…

Читать дальше →
Всего голосов 7: ↑6 и ↓1+5
Комментарии0

Отладка приложений для Android без исходного кода на Java: пару слов о breakpoints

Время на прочтение5 мин
Количество просмотров18K

О чем эта статья


Это продолжения моей вчерашней статьи об отладке приложений для Android без исходного кода на Java (если кто-то её не читал — я очень советую начать с неё). Вчера я давал пошаговую инструкцию как настроить и начать использовать связку Apk-tool плюс NetBeans. Два последних пункта там звучали примерно так:

13. Установите breakpoint на интересующую вас инструкцию… blah-blah-blah...

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

Дальше, в разделе «Подводные камни», я рассказывал почему мы не может начать отладку приложения с самого начала, например поставив breakpoint на какую-нибудь инструкцию метода onCreate(...) в activity, с которой начинает выполняться приложение.

В этой статье я расскажу как всё же можно начать отлаживать приложение без исходного кода на Java с самого начала. Эта статья опять-таки не для новичков. Нужно как минимум понимать синтаксис ассемблера Smali и уметь ручками патчить .smali файлы, грамотно вписывая туда свой код.

Всё равно хочу послушать!
Всего голосов 11: ↑11 и ↓0+11
Комментарии0
1

Информация

В рейтинге
Не участвует
Откуда
München, Bayern, Германия
Зарегистрирован
Активность