Как известно, есть только один способ изучить иностранный язык – начать им пользоваться. Но как это сделать, если общение на нужном языке недоступно? Один из возможных вариантов — читать, причем, чем больше, тем лучше. Понятно, что это еще не все, но, по крайней мере, хоть что-то. Однако чтение обычных источников только на иностранном языке имеет ряд трудностей. В первую очередь, это конечно всем известная тема, когда все слова понятны, а смысл фразы так и остается загадкой. Ну, тот же «How do you do?» или «Да нет, наверное», если переводить все дословно. В этом случае очень помогает наличие параллельного перевода на родной язык. Тема не нова и давно используется: метод Франка, или просто параллельные переводы (билингва). Есть множество литературы в данных форматах, бери и читай, но…
Константин @igrafkotread-only
User
Самолетное: 10 категорий людей — те, которые умеют и которые нет
3 min
31K
Года три назад я наткнулся на статью, где автор перечислял навыки, которые он бы рекомендовал прокачать каждому человеку. Ну, знаете, там — «получить водительские права», «научиться скорочтению» и прочая муть в стиле бизнес-молодости. Среди списка было один странный совет — научиться программировать.
Тогда я счёл это идиотизмом. Меня это даже разозлило. Я хорошо разбирался в программировании и считал этот навык элитарным и далеко не для всех. Слесарю слесарево, так сказать. А вот сегодня, пролетая где-то над Уралом рейсом Барнаул-Москва и разбирая подготовленные для меня одним сотрудником файлы, с кучей мелких косяков, логических нестыковок и недочетов — осенило: он просто не видит причинно-следственные связи и не обращает внимания на мелочи. Потому что его этому никогда не учили!
Освойте какой-либо язык программирования.
Зачем?
+7
«Правильный» html парсинг
7 min
110K
Первый раз я запустил Eclipse еще весной, почитал книжки на английском, поставил SDK, немного поигрался и забросил. В начале зимы я купил себе первый смартфон на базе Android, но вновь вернутся к разработке меня подтолкнул недавний пост, в котором говорилось, что можно обойтись и знанием C#, с которым в отличии от Java я знаком. Мне было достаточно одного вечера, чтобы понять, что за связку Visual Studio и Monodroid я больше не сяду, позже я прочитал этот пост, где полностью согласился с автором.
После небольшого вступления перейду к теме топика. Довольно большое количество приложений под мобильные устройства взаимодействуют с сайтами и не секрет, что порой нужно получить какую-то информацию со страницы — это может быть курс валют или что-нибудь другое, и нет никакого желания делать это посредством браузера.
Большинство разработчиков, получают html код страницы и перегоняют его в xml, что является неправильным подходом, так как html является «правильным» xml не всегда, вроде на хабре писали, что для браузера не обязателен тег html (современный браузер и без него должен отобразить страницу) или просто будут ошибки, тогда на помощь приходят библиотеки. Из них я выбрал HtmlCleaner.
Под катом я расскажу, как подключить эту библиотеку, а также напишем простой парсер stackoverflow.com.
+33
IP АТС в облаке своими руками за 10 минут
8 min
74K
+19
1С уверенно выходит на рынок мобильной разработки
7 min
33KСразу предупреждаю, что данный пост — не шутка! Я прекрасно понимаю, что половина аудитории хабра свято верят в то, что компания 1С разрабатывает исключительно бухгалтерское ПО. А вторая половина знает эту компанию исключительно как дистрибьютора и локализатора компьютерных игр. У меня нет образования маркетолога и я так же не являюсь сотрудником вышеупомянутой компании, которых учат «правильно отвечать на вопросы», а потому даже и не надеюсь одним постом пробить все стереотипы. Я просто хочу поделится своим взглядом на один из видов деятельности 1С, с которым я вплотную работаю уже почти 11 лет. А выводы уже делайте сами.


+6
Буфера для буферов или пишем виртуальный буфер обмена на C# не в 30 строк кода
11 min
16K
Так случилось, что в такую мрачную погоду, обложив себя таблетками и препаратами от простуды я решил от нечего делать поделиться с хабра-сообществом инструментом, который я сделал для себя и уже почти что месяц им успешно пользуюсь. Речь идет о windows-программе, которая перехватывает копирование текста в буфер обмена и позволяет вставить из раннее скопированного текста любой фрагмент.
+18
Жизнь как 8-битная игра: Руководство
5 min
263KTutorial
Translation

Жизнь — игра, в которую играют буквально все. Эта статья — ваше руководство.
Основы
Вы можете даже не догадываться, но реальная жизнь — это стратегическая игра. В ней есть забавные мини-игры, — например, танцы, вождение машины, бег, и секс, — но ключ к выигрышу — просто управление своими ресурсами.
+205
Erlang для самых маленьких. Глава 3: Базовый синтаксис функций
6 min
23KTutorial

В прошлой главе мы рассмотрели как объявлять функции и как объединять их в модули. В этой главе мы рассмотрим синтаксис функций более подробно.
Список глав
+29
Три правила проектирования интерфейсов с высокоскоростным пользовательским взаимодействием
9 min
40KЭта запись о том, как увеличить скорость навигации и взаимодействия пользователя с интерфейсом, не прибегая к оптимизациям вычислений и рендеринга. Рекомендации касаются приложений, где сервер используется только для получения данных, а вся логика интерфейса находится в самом приложении. Эта запись о преимуществе клиентских приложений над приложениями с плохо разделённой логикой, представлением и данными.
Особенно ценными рекомендации могут оказаться для тех, кому приходиться вести разработку или проектировать интерфейс, когда данные от сервера приходят не слишком быстро, а обращаться к нему чересчур часто нельзя.
Правила организации высокоскоростного взаимодействия пользователя с приложением можно сформулировать следующим образом:
Изложенная в этой заметке информация — это мой практический опыт проектирования и разработки интерфейса моего приложения для поиска и прослушивания музыки seesu.me. Приложения, в котором гармонично комбинируются огромные пласты данных из разрозненных сервисов, таких как last.fm, вконтакте, ex.fm, hypem.com, soundcloud.com, discogs.com, youtube.com

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

+45
Персонализация: развенчивая мифы
3 min
6.2KКогда-то давно аналитика трафика была дорогим удовольствием. Только самые крупные компании могли себе это позволить. И даже когда такие инструменты, как Google Analytics сделали этот процесс более доступным, на рынке было достаточно мало людей, способных извлечь всю пользу из полученных данных.
Со временем софт для тестирования (сплит и многовариантного) и аналитические инструменты “демократизировались” и тем самым способствовали увеличению числа аналитиков, которые могут их правильно использовать. Поэтому сегодня для веб-сайтов совершенно невозможно не думать о качестве трафика — откуда он, куда и во что конвертируется.
Однако о демократизации (читай — популярности и простоты) касательно персонализации такого пока не скажешь. Да, у таких компаний, как Google и Amazon есть и инструменты и профессионалы, умеющие с ней работать, но есть ли они у сайта, который продает двери в Воронеже?
Ответ — да, есть, но этому магазину дверей, скорее всего, и не нужна “глубокая” персонализация, как у международного интернет-аукциона. Для того, чтобы определить уровень, который подходит большинству веб-сервисов в мире, мы попытаемся отделить факты от двух самых распространенных мифов.

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

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

От переводчика
Юзабилити интернет-магазина — это конструктор, состоящий из множества разных деталей. Одна из шестерёнок этого конструктора — это «хлебные крошки». О них и пойдёт речь в статье. Это мой перевод статьи: http://baymard.com/blog/ecommerce-breadcrumbs. Неточности или ошибки перевода (если Вы такие найдёте) прошу отправлять в личные сообщения — я оперативно внесу необходимые правки. Если статья будет интересна — обязательно переведу и другие материалы подобной тематики.
Введение
«Хлебные крошки» часто считаются не самым интересным компонентом сайта. Однако, последние исследования показали, что они играют далеко не последнюю роль. Что еще более интересно, благодаря данному исследованию удалось обнаружить, что интернет-магазины должны предлагать посетителю два варианта «хлебных крошек» одновременно. Один из них отражает структуру сайта, другой – историю просмотров.
Сопоставляя различные показатели 40 крупнейших сайтов e-commerce, исследователи обнаружили, что 68% интернет-магазинов испытывают трудности с внедрением этого компонента: 45% сайтов располагают лишь одним вариантом «крошек», а у 23% сайтов «хлебные крошки» вообще отсутствуют.
+26
Обзор особенностей ядра Андроида
7 min
108K“А я… карбюратор промываю!”
Анекдот
Введение
В детском садике мы с единомышленниками препарировали кузнечиков в надежде разобраться в их строении. В школе распаивали радиоприёмник “Россия”. В институте дошла очередь до автомобилей, гайки которых были многократно переставлены. Интересы поменялись, но желание “разбирать” иногда просыпается, и сегодня оно направлено на Андроид.
Сколько раз вас выручало наличие исходников Андроида? Меня — уже не счесть. Андроид — открытый проект, но, к сожалению, у нас есть возможность только читать; править код Андроида, не будучи сотрудником Google, практически невозможно. Погрустим над этим моментом и загрузим репозиторий. Как это сделать, отлично описано на официальном сайте.

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

+132
Стерео плеер из VLC
3 min
41K
+73
Основы создания 2D персонажа в Unity 3D 4.3. Часть 1: заготовка персонажа и анимация покоя
6 min
333KTutorial
Часть 1: заготовка персонажа и анимация покоя
Часть 2: бегущий персонаж
Часть 3: прыжки (и падения)
Всем добрый день. В относительно недавно вышедшей Unity 4.3 появились инструменты для создания 2D игр. Конечно, такие игры можно было создавать и раньше, но это делалось при помощи дополнительных ухищрений (вот пример с хабра). Теперь же появилась поддержка 2D «из коробки». Надеюсь, разработчики продолжат ее развивать, а пока я хочу рассказать о некоторых приемах работы с новыми 2D инструментами.
Часть 2: бегущий персонаж
Часть 3: прыжки (и падения)
Всем добрый день. В относительно недавно вышедшей Unity 4.3 появились инструменты для создания 2D игр. Конечно, такие игры можно было создавать и раньше, но это делалось при помощи дополнительных ухищрений (вот пример с хабра). Теперь же появилась поддержка 2D «из коробки». Надеюсь, разработчики продолжат ее развивать, а пока я хочу рассказать о некоторых приемах работы с новыми 2D инструментами.
+27
Интересные моменты в C# ч.2
5 min
35KВ данной статье я хотел бы рассказать о некоторых особенностях представления объектов в памяти в .Net, оптимизациях, проводимых компиляторах, и продолжить традицию товарища mynameco, написавшего эту статью
Этот пост не ориентирован на кулхацкеров, поэтому если вы знаете, что using компилируется с конструкцией вызова Dispose для энумератора, что для работы оператора foreach не обязательно использовать интерфейсы, а достаточно иметь метод GetEnumerator, возвращающий энумератор корректной сигнатуры, что сам Enumerator — изменяемая (мутабельная) структура, что может стать причиной неожиданного бага… То просьба не заходить и не читать, сэкономьте свое время, не надо оставлять посты вроде «КГ\АМ», «боян», и «Капитаны отаке». Остальных прошу под кат.
Этот пост не ориентирован на кулхацкеров, поэтому если вы знаете, что using компилируется с конструкцией вызова Dispose для энумератора, что для работы оператора foreach не обязательно использовать интерфейсы, а достаточно иметь метод GetEnumerator, возвращающий энумератор корректной сигнатуры, что сам Enumerator — изменяемая (мутабельная) структура, что может стать причиной неожиданного бага… То просьба не заходить и не читать, сэкономьте свое время, не надо оставлять посты вроде «КГ\АМ», «боян», и «Капитаны отаке». Остальных прошу под кат.
+19
Хочется взять и расстрелять, или ликбез о том, почему не стоит использовать make install
5 min
177KК написанию сей заметки меня сподвигло то, что я устал делать развёрнутые замечания на эту тему в комментариях к статьям, где в качестве части инструкции по сборке и настройке чего-либо для конкретного дистра предлагают выполнить make install. |

Но ведь авторы программ в руководствах по установке пишут, что нужно использовать эту команду, возможно, скажете вы. Да, пишут. Но это лишь означает, что они не знают, какой у вас дистрибутив, и дистрибутив ли это вообще, может, вы вступили в секту и об
+293
Эволюция HeadHunter на iOS
7 min
9.6K
На днях наша команда выпустила обновленное приложение HeadHunter для iOS. С этим релизом, помимо обновленного интерфейса и переработанного кода, появились долгожданные возможности редактирования резюме, обновления даты его публикации и изменения видимости. А еще мы добавили экспериментальную возможность создавать резюме с нуля.
С самого рождения в феврале 2012 года приложение переживало трудное детство.
Первую версию приложения разрабатывали внешние подрядчики. Однако, отношения с ними у нас не сложились, и какое-то время приложение жило своей самостоятельной жизнью. А в феврале 2013 года за него взялась наша команда мобильной разработки, которая к этому времени уже активно занималась разработкой приложения HeadHunter для Android.
Первая версия приложения имела:
- около 16 тысяч пользователей (судя по загрузкам);
- невероятное число падений;
- неизвестное количество реальных пользователей и их проблем.
Как вы понимаете, пользоваться таким приложением могли очень лояльные к сервису hh.ru люди, поэтому было принято решение выходить на новый качественный уровень.
+21
Как мы портировали OpenCV на WindowsRT
8 min
12K
+42
Подключение к удаленному компьютеру по VNC
4 min
721KРабота с VNC-клиентом. Материал ориентирован на неопытного пользователя.
1. Установка VNC-клиента
2. Подключение VNC-клиента к удаленному компьютеру
3. Отключение VNC-клиента от удаленного компьютера
4. Тюнинг VNC-клиента
5. Частые проблемы
1. Установка VNC-клиента
2. Подключение VNC-клиента к удаленному компьютеру
3. Отключение VNC-клиента от удаленного компьютера
4. Тюнинг VNC-клиента
5. Частые проблемы
+1
Паттерн JavaScript псевдо-класс (pseudo-classical)
5 min
7KTutorial
Recovery Mode
Translation
В паттерне, объект создается в конструкторе, а его методы объявляются в прототипе.
Данный паттерн используется во фреймворках, таких как Google Closure Library. Нативные объекты JavaScript также используют данный паттернт.
Термит Pseudo-class выбран потому, что в JavaScript нет как таковых классов, как в других языка как C, Java, PHP и др., но данный паттерн близок к определению класса.
Данный паттерн используется во фреймворках, таких как Google Closure Library. Нативные объекты JavaScript также используют данный паттернт.
Объявление Pseudo-class
Термит Pseudo-class выбран потому, что в JavaScript нет как таковых классов, как в других языка как C, Java, PHP и др., но данный паттерн близок к определению класса.
-7
Information
- Rating
- Does not participate
- Location
- Ростов-на-Дону, Ростовская обл., Россия
- Date of birth
- Registered
- Activity