Search
Write a publication
Pull to refresh
0
Константин @igrafkotread⁠-⁠only

User

Send message

Multum Lingua – двуязычное чтение на Андроид устройствах

Reading time1 min
Views8.7K
Как известно, есть только один способ изучить иностранный язык – начать им пользоваться. Но как это сделать, если общение на нужном языке недоступно? Один из возможных вариантов — читать, причем, чем больше, тем лучше. Понятно, что это еще не все, но, по крайней мере, хоть что-то. Однако чтение обычных источников только на иностранном языке имеет ряд трудностей. В первую очередь, это конечно всем известная тема, когда все слова понятны, а смысл фразы так и остается загадкой. Ну, тот же «How do you do?» или «Да нет, наверное», если переводить все дословно. В этом случае очень помогает наличие параллельного перевода на родной язык. Тема не нова и давно используется: метод Франка, или просто параллельные переводы (билингва). Есть множество литературы в данных форматах, бери и читай, но…
Читать дальше →

Самолетное: 10 категорий людей — те, которые умеют и которые нет

Reading time3 min
Views31K


Года три назад я наткнулся на статью, где автор перечислял навыки, которые он бы рекомендовал прокачать каждому человеку. Ну, знаете, там — «получить водительские права», «научиться скорочтению» и прочая муть в стиле бизнес-молодости. Среди списка было один странный совет — научиться программировать.

Тогда я счёл это идиотизмом. Меня это даже разозлило. Я хорошо разбирался в программировании и считал этот навык элитарным и далеко не для всех. Слесарю слесарево, так сказать. А вот сегодня, пролетая где-то над Уралом рейсом Барнаул-Москва и разбирая подготовленные для меня одним сотрудником файлы, с кучей мелких косяков, логических нестыковок и недочетов — осенило: он просто не видит причинно-следственные связи и не обращает внимания на мелочи. Потому что его этому никогда не учили!

Освойте какой-либо язык программирования.

Зачем?
Читать дальше →

«Правильный» html парсинг

Reading time7 min
Views110K
Логотип

Первый раз я запустил Eclipse еще весной, почитал книжки на английском, поставил SDK, немного поигрался и забросил. В начале зимы я купил себе первый смартфон на базе Android, но вновь вернутся к разработке меня подтолкнул недавний пост, в котором говорилось, что можно обойтись и знанием C#, с которым в отличии от Java я знаком. Мне было достаточно одного вечера, чтобы понять, что за связку Visual Studio и Monodroid я больше не сяду, позже я прочитал этот пост, где полностью согласился с автором.

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

Большинство разработчиков, получают html код страницы и перегоняют его в xml, что является неправильным подходом, так как html является «правильным» xml не всегда, вроде на хабре писали, что для браузера не обязателен тег html (современный браузер и без него должен отобразить страницу) или просто будут ошибки, тогда на помощь приходят библиотеки. Из них я выбрал HtmlCleaner.

Под катом я расскажу, как подключить эту библиотеку, а также напишем простой парсер stackoverflow.com.
Читать дальше →

IP АТС в облаке своими руками за 10 минут

Reading time8 min
Views74K
Многие из читателей Хабра знакомы с современными IP АТС в облаке, такими как Манго, Oktell, Октолайн и другими. Все они предлагают различные функции и тарифные планы, чтобы удовлетворить самых разных клиентов и соответствовать их требованиям, но всегда есть ряд тех кто все равно выбирает Asterisk, так как хочется иметь возможности по кастомизации и интеграции, которые кроме как Asterisk мало какая система способна предложить. В дополнение к самому Asteriskу еще потребуется человек, который будет способен все настроить и его поддерживать, отдельное подключение к оператору связи по SIP или через VoIP-шлюз и так далее. Когда мы начали создавать свою облачную платформу для разработки коммуникационных приложений VoxImplant, то, конечно же, знали, что одним из популярных сценариев ее использования будет IP АТС, поэтому реализовали весь необходимый для этого функционал. В отличие от случая с Asterisk человеку, который решит сделать свою IP АТС на базе VoxImplant, понадобится лишь знание Javascript, ознакомление с этой статьей и свободных 10-15 минут, чтобы получить на выходе первую рабочую версию АТС, которую потом в дальнейшем можно будет интегрировать со своими сервисами и кастомизировать в соответствии со своими требованиями. Подробнее об этом под катом.
Читать дальше →

1С уверенно выходит на рынок мобильной разработки

Reading time7 min
Views33K
Сразу предупреждаю, что данный пост — не шутка! Я прекрасно понимаю, что половина аудитории хабра свято верят в то, что компания 1С разрабатывает исключительно бухгалтерское ПО. А вторая половина знает эту компанию исключительно как дистрибьютора и локализатора компьютерных игр. У меня нет образования маркетолога и я так же не являюсь сотрудником вышеупомянутой компании, которых учат «правильно отвечать на вопросы», а потому даже и не надеюсь одним постом пробить все стереотипы. Я просто хочу поделится своим взглядом на один из видов деятельности 1С, с которым я вплотную работаю уже почти 11 лет. А выводы уже делайте сами.

image
А теперь по делу...

Буфера для буферов или пишем виртуальный буфер обмена на C# не в 30 строк кода

Reading time11 min
Views16K


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

Жизнь как 8-битная игра: Руководство

Reading time5 min
Views263K
Press Start
Жизнь — игра, в которую играют буквально все. Эта статья — ваше руководство.

Основы

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

Erlang для самых маленьких. Глава 3: Базовый синтаксис функций

Reading time6 min
Views23K
imageДоброй ночи, Хабр! Мы продолжаем изучение Erlang для самых маленьких.

В прошлой главе мы рассмотрели как объявлять функции и как объединять их в модули. В этой главе мы рассмотрим синтаксис функций более подробно.


Хм, это интересно...

Три правила проектирования интерфейсов с высокоскоростным пользовательским взаимодействием

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

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

Правила организации высокоскоростного взаимодействия пользователя с приложением можно сформулировать следующим образом:

  1. Вычисления не должны блокировать взаимодействие с интерфейсом и его рендеринг — пользователь всегда должен иметь возможность указать на фокус своих интересов.
  2. Страница объекта, к которому обратился пользователь, должна отображаться мгновенно, не дожидаясь загрузки данных, в которых нуждается объект.
  3. Запросы в сеть не должны уходить одной большой группой, не должны отправляться сразу; должны откладываться на небольшое время, складываться и приоритезироваться в случае необходимости.


Изложенная в этой заметке информация — это мой практический опыт проектирования и разработки интерфейса моего приложения для поиска и прослушивания музыки seesu.me. Приложения, в котором гармонично комбинируются огромные пласты данных из разрозненных сервисов, таких как last.fm, вконтакте, ex.fm, hypem.com, soundcloud.com, discogs.com, youtube.com


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

Персонализация: развенчивая мифы

Reading time3 min
Views6.2K
Когда-то давно аналитика трафика была дорогим удовольствием. Только самые крупные компании могли себе это позволить. И даже когда такие инструменты, как Google Analytics сделали этот процесс более доступным, на рынке было достаточно мало людей, способных извлечь всю пользу из полученных данных.

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

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

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

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

Какие «хлебные крошки» нужны интернет-магазинам (68% сайтов допускают ошибки)?

Reading time4 min
Views68K


От переводчика

Юзабилити интернет-магазина — это конструктор, состоящий из множества разных деталей. Одна из шестерёнок этого конструктора — это «хлебные крошки». О них и пойдёт речь в статье. Это мой перевод статьи: http://baymard.com/blog/ecommerce-breadcrumbs. Неточности или ошибки перевода (если Вы такие найдёте) прошу отправлять в личные сообщения — я оперативно внесу необходимые правки. Если статья будет интересна — обязательно переведу и другие материалы подобной тематики.

Введение


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

Сопоставляя различные показатели 40 крупнейших сайтов e-commerce, исследователи обнаружили, что 68% интернет-магазинов испытывают трудности с внедрением этого компонента: 45% сайтов располагают лишь одним вариантом «крошек», а у 23% сайтов «хлебные крошки» вообще отсутствуют.
Читать дальше →

Обзор особенностей ядра Андроида

Reading time7 min
Views108K
“А я… карбюратор промываю!”
Анекдот


Введение

В детском садике мы с единомышленниками препарировали кузнечиков в надежде разобраться в их строении. В школе распаивали радиоприёмник “Россия”. В институте дошла очередь до автомобилей, гайки которых были многократно переставлены. Интересы поменялись, но желание “разбирать” иногда просыпается, и сегодня оно направлено на Андроид.

Сколько раз вас выручало наличие исходников Андроида? Меня — уже не счесть. Андроид — открытый проект, но, к сожалению, у нас есть возможность только читать; править код Андроида, не будучи сотрудником Google, практически невозможно. Погрустим над этим моментом и загрузим репозиторий. Как это сделать, отлично описано на официальном сайте.


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

Стерео плеер из VLC

Reading time3 min
Views41K
image Все началось с того что я купил себе новый монитор с поддержкой 3D ASUS VG23AH и в какой то момент мне захотелось воспользоваться возможностью посмотреть 3D фильм на нем. Подуглил бесплатные виде плееры для Mac OS, оказалось их не так много — всех чаще попадался плеер Bino. Скачал этот Bino, но посмотреть нормально так и не получилось, т.е. к плееру претензий нет, картинка была 3D, но видео страшно тормозило, картинка дергалась. Я воспользовался советом по повышению производительности к этой программе — там сказано — проверьте, как проигрывается этот фильм в VLC плеере, если уж и там будет тормозить, значит, мощностей вашего компьютера недостаточно/замените компьютер. В VLC все показывалось отлично без тормозов но, конечно, в моно режиме. Поскольку VLC — это opensource проект, я решил его немного подправить, чтоб он смог показывать стерео-фильмы, оказалось это сделать довольно просто.
Подробности дальше, совсем немного кода.

Основы создания 2D персонажа в Unity 3D 4.3. Часть 1: заготовка персонажа и анимация покоя

Reading time6 min
Views333K
Часть 1: заготовка персонажа и анимация покоя
Часть 2: бегущий персонаж
Часть 3: прыжки (и падения)

Всем добрый день. В относительно недавно вышедшей Unity 4.3 появились инструменты для создания 2D игр. Конечно, такие игры можно было создавать и раньше, но это делалось при помощи дополнительных ухищрений (вот пример с хабра). Теперь же появилась поддержка 2D «из коробки». Надеюсь, разработчики продолжат ее развивать, а пока я хочу рассказать о некоторых приемах работы с новыми 2D инструментами.
Читать дальше →

Интересные моменты в C# ч.2

Reading time5 min
Views35K
В данной статье я хотел бы рассказать о некоторых особенностях представления объектов в памяти в .Net, оптимизациях, проводимых компиляторах, и продолжить традицию товарища mynameco, написавшего эту статью

Этот пост не ориентирован на кулхацкеров, поэтому если вы знаете, что using компилируется с конструкцией вызова Dispose для энумератора, что для работы оператора foreach не обязательно использовать интерфейсы, а достаточно иметь метод GetEnumerator, возвращающий энумератор корректной сигнатуры, что сам Enumerator — изменяемая (мутабельная) структура, что может стать причиной неожиданного бага… То просьба не заходить и не читать, сэкономьте свое время, не надо оставлять посты вроде «КГ\АМ», «боян», и «Капитаны отаке». Остальных прошу под кат.

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

Хочется взять и расстрелять, или ликбез о том, почему не стоит использовать make install

Reading time5 min
Views177K
К написанию сей заметки меня сподвигло то, что я устал делать развёрнутые замечания на эту тему в комментариях к статьям, где в качестве части инструкции по сборке и настройке чего-либо для конкретного дистра предлагают выполнить make install.
Суть сводится к тому, что эту команду в виде «make install» или «sudo make install» использовать в современных дистрибутивах нельзя.

Но ведь авторы программ в руководствах по установке пишут, что нужно использовать эту команду, возможно, скажете вы. Да, пишут. Но это лишь означает, что они не знают, какой у вас дистрибутив, и дистрибутив ли это вообще, может, вы вступили в секту и обкурилисьчитались LFS и теперь решили под свою хтоническую систему скомпилять их творение. А make install является универсальным, хоть и зачастую неправильным способом это сделать.

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

Эволюция HeadHunter на iOS

Reading time7 min
Views9.6K
image

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

С самого рождения в феврале 2012 года приложение переживало трудное детство.
Первую версию приложения разрабатывали внешние подрядчики. Однако, отношения с ними у нас не сложились, и какое-то время приложение жило своей самостоятельной жизнью. А в феврале 2013 года за него взялась наша команда мобильной разработки, которая к этому времени уже активно занималась разработкой приложения HeadHunter для Android.

Первая версия приложения имела:
  • около 16 тысяч пользователей (судя по загрузкам);
  • невероятное число падений;
  • неизвестное количество реальных пользователей и их проблем.

Как вы понимаете, пользоваться таким приложением могли очень лояльные к сервису hh.ru люди, поэтому было принято решение выходить на новый качественный уровень.
Читать дальше

Как мы портировали OpenCV на WindowsRT

Reading time8 min
Views12K
image
OpenCV вместе с расширением функциональности продолжает мигрировать на разные платформы. А новые платформы – это другие компиляторы, особенности системного API, тестирование и много новых приключений. В этой статье мы хотели бы поделиться опытом портирования большого и достаточно хорошо устоявшегося проекта на новую и аппаратную, и программную платформу. Под Windows RT будем понимать и новый API для разработки пользовательских приложений Windows Runtime, и операционную систему Windows RT для основанных на архитектуре ARM процессоров. Надо сказать, что основной целью был второй пункт, именно он нужен был заказчику.
Читать дальше →

Подключение к удаленному компьютеру по VNC

Reading time4 min
Views721K
Работа с VNC-клиентом. Материал ориентирован на неопытного пользователя.

1. Установка VNC-клиента
2. Подключение VNC-клиента к удаленному компьютеру
3. Отключение VNC-клиента от удаленного компьютера
4. Тюнинг VNC-клиента
5. Частые проблемы
Читать дальше →

Паттерн JavaScript псевдо-класс (pseudo-classical)

Reading time5 min
Views7K
В паттерне, объект создается в конструкторе, а его методы объявляются в прототипе.

Данный паттерн используется во фреймворках, таких как Google Closure Library. Нативные объекты JavaScript также используют данный паттернт.

Объявление Pseudo-class


Термит Pseudo-class выбран потому, что в JavaScript нет как таковых классов, как в других языка как C, Java, PHP и др., но данный паттерн близок к определению класса.
Читать дальше →

Information

Rating
Does not participate
Location
Ростов-на-Дону, Ростовская обл., Россия
Date of birth
Registered
Activity