Pull to refresh
0
0
Иван Невоструев @Nevostruev

Пользователь

Send message

Как создавалась Айчиталка. Часть 1: движок

Reading time10 min
Views28K
Совсем недавно мы выпустили в свет первую бета-версию нашей онлайн-читалки, с которой можно ознакомиться, почитав книгу Михаила Лермонтова «Герой нашего времени». Эта читалка — результат почти семимесячной работы, пять из которых ушло только на разработку движка. Казалось бы, в интернете уже есть бесплатные и открытые JavaScript-движки для чтения электронных книг и такой долгий срок может вызвать сомнения в профпригодности разработчика (то есть меня). Но есть одно большое и жирное «НО». Мы поставили перед собой слишком амбициозную и трудновыполнимую задачу: мы хотели использовать один и тот же движок на разных устройствах, в том числе маломощных, таких как айфон или электронная читалка.

В чём же заключается трудновыполнимость задачи? В первую очередь — в очень низкой скорости работы веб-приложений на айфоне. Например, мобильный Сафари по моим прикидкам работает раз в 100 медленнее своего десктопного собрата. Если на декстопе одна и та же операция выполняется 10 мс и совершенно незаметна для пользователя, то на айфоне она может выполняться больше секунды. Для сравнения: первая версия движка разбивала небольшую главу на страницы примерно за 15 секунд. Сейчас, спустя полгода, он делает то же самое менее, чем за секунду и вполне сносно работает в нашем приложении booq.

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

Читать дальше
Total votes 165: ↑151 and ↓14+137
Comments98

US Virtual Bank Account, или как вывести деньги с зарубежных платежных систем

Reading time6 min
Views63K

Преамбула.


В связи с бурным развитием мобильных устройств и ОС Google Android в частности, интерес к разработке программного обеспечения под данную платформу весьма закономерное явление. Как оказалось, он мало чем отличается от обычной разработки на Яве под десктоп/веб, а с учетом возможности использования «стандартного» IDE (Eclipse) путем скачки и встраивания SDK Андроида, а также наличия исчерпывающей документации многие технические вопросы снимаются сами собой. Концептуальный аспект (т.е. идея для реализации в виде ПО) также не заставила себя ждать, благо платформа сравнительно новая, не смотря на недавно вышедшую уже версию 2.1, и конкурентная среда соответственно не такая насыщенная, если взять, к примеру, разработку под тот же iPhone. (Тут могла бы быть развернутая часть о самом ПО, но ввиду некоторых нюансов, таких как незаконченность проекта и отсутствие конкретных результатов, пока ее пропустим).
Оставался последний, и, естественно, самый интересный (логично, не правда ли?) вопрос – денежный, а конкретно – как правильно вывести честно заработанные дензнаки, полученные от продажи ПО на Android Market.
Piccy.info - Free Image Hosting
Вдаваться подробности не буду, все-таки статья ориентирована на тех, кто примерно ориентируется в данной теме, скажу коротко — в данном случае под прицелом оказывается сервис обработки онлайновых платежей Google Checkout, который с нерезидентами США изначально не работает. Насколько мне известно, прямых путей решения данной проблемы нет, поэтому пришлось искать обходные дорожки.
Читать дальше →
Total votes 114: ↑110 and ↓4+106
Comments84

Визуальный редактор на jQuery

Reading time2 min
Views14K
Визуальный редактор

В мире визуальных редакторов есть CKeditor, есть tinyMCE — монстрообразные, не гибкие, их сложно изменять под задачи сайтов и интерфейсов. Есть небольшие, простые, они часто с ужасным дизайном, не развиваются, не поддерживаются. Как настоящий разработчик, несколько лет назад я решил написать свой редактор и в течение этого времени постоянно развивал его и упрощал. Суть редактора постепенно свелась к простым требованиям:
  • он должен быть красивым и одновременно ненавязчивым, чтобы вписывался без внешних изменений почти в любой интерфейс;
  • обязательно быстрым и легкий, потому что никому не нравится сидеть даже полминуты в ожидании загрузки всех кнопок и плагинов;
  • гибкий для разработки, доработки и встраивания под все возможные нужды;
  • с простым и понятным интерфейсом. В идеале визуальный редактор — это просто поле для ввода текстов, без лишних кнопок и функций. Просто люди пишут тексты в вебе и это все что им нужно.

Читать дальше →
Total votes 212: ↑203 and ↓9+194
Comments190

Самостоятельное изучение схемотехники

Reading time2 min
Views232K
Я решил написать ряд статей, которые должны помочь разобраться самостоятельно в предмете схемотехники. Первая часть вводная, в ней рассказывается об основных дисциплинах, которые стоит изучить для понимания принципов конструктирования и построения электрических схем. Если эта статья вам понравится, тема будет развиваться, внимание будет фокусироваться на нюансах и примерах.

Image #851653, 113.3 KB
Читать дальше →
Total votes 176: ↑158 and ↓18+140
Comments76

Спам/вирус? Просят отправить СМС?

Reading time2 min
Views910
Привет, %username%
Сервису «СМС АнтиСпам» сегодня исполняется ровно год. Напомню, это сервис, который отправляет контент-провайдерам сообщения о мошенничестве с их короткими номерами.

Немножко статистики: за год получено почти 5000 сообщений от пользователей, около 2000 сообщений отправлено контент-провайдерам.

За год количество сообщений о розыгрышах, конкурсах и т.п. сократилось в несколько раз. Появились новые способы разводов:
Читать дальше →
Total votes 103: ↑73 and ↓30+43
Comments39

Как учат информатике в Европе (и в Чехии в частности)

Reading time8 min
Views67K
Введение

Прочитав топик про образовательный процесс в МГТУ им. Баумана, я решила, что мне тоже есть что рассказать на эту тему. Я училась (собственно, еще формально учусь) в Карловом университете в Праге на физико-математическом факультете (на отделении информатики) и, думаю, многим, не только тем, кто подумывает об обучении за рубежом, будет интересно узнать, как же выглядит зарубежное образование для будущих программистов.

Поскольку я обучалась только в одном университете (хотя и общалась со студентами разных ВУЗов из разных стран), то рассказать я могу только про него. Впрочем, система почти всех европейских высших учебных заведений примерно одинаковая. Так что я надеюсь, что этот топик поможет интересующимся составить общее представление как оно все там работает.

Читать дальше →
Total votes 184: ↑174 and ↓10+164
Comments260

Быстрая реализация резервного копирования в Amazon S3

Reading time3 min
Views25K
Я устал испытывать определённые опасения за сохранность данных на выделенном сервере, наблюдая за происходящим у хостеров последнее время… 3FN, Agava, Hosting.UA, МакХост — тенденция получается очень нехорошая.

В итоге, МакХост стал последней каплей, и, чтобы не оказаться в числе тех, кто «уже делает бекапы», я перевёл систему бекапов своего сервера на Amazon S3. Получилось вполне себе быстро и прозрачно.

Хочу поделиться с общественностью простейшей реализацией.
Читать дальше →
Total votes 170: ↑167 and ↓3+164
Comments62

Минздрав предупреждает: 3d-фильмы вредят здоровью

Reading time3 min
Views27K
Итак, ура товарищи. Свершилось то, чего все так долго ждали-теперь можно быть непосредственным участником действа киноленты, можно попасть в самую гущу, в самую атмосферу фильма-теперь все больше и больше лент снимаются в формате 3d. Людям нравится, инженерам есть работа, компаниям капает $. Вроде все довольны. Но мало кто задумывается засчет чего достигается 3d эффект и что он реально может вредить здоровью.
image

Под катом-простое русское объяснение чем же безобидная объемная картинка может навредить простому обывателю.

Читать дальше →
Total votes 262: ↑168 and ↓94+74
Comments233

Debugging: Развертывание сервера отладочной информации

Reading time6 min
Views8.7K
Копая залежи документов на своем рабочем компе обнаружил инструкцию по развертыванию сервера отладочной информации, которую писал два-три года назад. Попробую представить её хабросообществу. Данная инструкция будет полезна C++ разработчикам под Windows, которые хотят использовать отладку релизных версий своего продукта (удаленно и напрямую, на своих компах и компах тестировщиков), а также делать разбор крашдампов (postmortem debugging).
Читать дальше →
Total votes 21: ↑17 and ↓4+13
Comments3

Генератор текста на основе триграмм (python)

Reading time10 min
Views36K
В данной статье описывается как сгенерировать псевдотекст на основе триграммной модели. Полученный текст вряд ли возможно где-либо использовать, тем не менее это неплохая иллюстрация использования статистических методов обработки естественного языка. Пример работы генератора можно посмотреть здесь.

Сухая теория


И так, наша задача сгенерировать текст. Это значит, нам нужно взять слова и выстроить их в определенном порядке. Как определить этот порядок? Мы можем пойти следующим образом: построить фразы, наиболее вероятные для русского языка. Но что значит вероятность фразы языка? С точки зрения здравого смысла это бред. Тем не менее, эту вероятность можно задать формально как вероятность возникновения последовательности слов в неком корпусе (наборе текстов).
Читать дальше →
Total votes 46: ↑38 and ↓8+30
Comments35

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

Reading time10 min
Views147K
PHP один из самых широко используемых языков для создания вебсайтов. PHP фреймворки, такие как Zend, CakePHP, CodeIgniter и т.д и open source классы и библиотеки упростили разработку.
Независимо от того, являетесь ли вы опытным разработчиком или новичком, инструменты, которые вы используете, имеют прямое влияние на вашу продуктивность. Здесь собран список действительно полезных утилит и расширений для PHP разработчиков, которые помогут ускорить разработку, и улучшит итоговое качество кода.
Читать дальше →
Total votes 214: ↑200 and ↓14+186
Comments131

10 бесценных жизненных советов, которые дает нам Альберт Эйнштейн

Reading time4 min
Views54K
Интересная на мой взгляд статья, которая показывает, что одни и те же принципы никогда не устаревают. Конечно, все они уже часто проскакивали в той или иной форме на множестве ресурсов, но мне бы хотелось предложить вам их видение Ученым с большой буквы, Альбертом Эйнштейном.
Читать дальше →
Total votes 200: ↑172 and ↓28+144
Comments63

Защищаем SSH от брутфорса на любом порту

Reading time3 min
Views112K
Сегодня меня заинтересовал опрос надо ли перевешивать SSH на нестандартный порт. Сам опрос не так интересен как способ автора zivot_je_cudo защищать SSH от подбора пароля: после неверной попытки подключения блокировать новые попытки в течение 20 секунд. Задержка, видимо, выбрана эмпирически, исходя их двух противположных пожеланий: чтобы не заблокировать в случае опечатки себя надолго, и в тоже время усложнить жизнь подбиральщика. Я хочу поделиться своим способом противодействия брут-форсу, который применяю уже несколько лет. Он имеет два преимущества:
— дает мне больше попыток для набора правильного пароля
— но при этом блокирует брутфорсеров «навечно».

Как можно достичь этих двух противоположных целей?
Читать дальше →
Total votes 114: ↑106 and ↓8+98
Comments139

RU-Center веселится

Reading time1 min
Views5K
Сегодня зайдя на свой сайт был страшно раздосадован неприятно долгой загрузкой оного. Помнится было нечто подобное, но после оптимизации добились снижения нагрузка на сервер и соответственно увеличения скорость загрузки.

Все шло прекрасно, до сегодняшнего дня. Сегодня же снова столкнулся с тормозами. Зайдя в панель управления хостингом обнаружил вот такую неприятную картину

image

Хостинг-провайдер без предупреждения снизил объем выделенной памяти с 500 mb до 128 mb. в следствии чего мускул просто стал захлебываться от количества запросов и соответственно весь сайт начал безбожно тормозить.

Работы по снижению нагрузки уже ведутся, однако в связи с последними событиями вокруг хостера и его политикой возник вопрос о срочной смене последнего.

Хотелось бы от компетентной общественности услышать совета, к какому хостеру лучше всго перейти, а так же услышать как субъективные, так и объективные доводы в пользу рекомендуемых хостеров.

Требовния к хостеру:

Базы MySQL — от 5
Сайтов — от 5
Доступ — SSH, FTP
Кол-во памяти — >350 mb
Кол-во процессов — >от 25
Желание тратить денег в месяц — до 1500 рублей.
Место на HDD — от 4 Gb
Адекватная техподдержка

PS: Топик несет скорее всего характер вопроса, но к сожалению такого раздела на хабре не нашел, в связи с чем заранее прошу прощения.

UPD: Целеноправленно не даю ссылки на сайт, боюсь «сами_знаете_чего»
Total votes 87: ↑57 and ↓30+27
Comments154

Mantis + Subversion у себя на компьютере с Windows XP. Пошаговая инструкция для удобной организации работы с кодом

Reading time6 min
Views5.6K

Исторически сложилось, что багтрекер в нашей команде – это Mantis. Для работы над ошибками очень хорошая и простая в обучении система. Буквально садись и работай. Но для удобной организации работы ей явно не хватает связки с Subversion. В связке Subversion+Mantis помогают организовать работу с кодом небольшой команды программистов. Более подробно про организацию работы у нас я описал в прошлой статье.
А сейчас давайте поговорим, как установить Subversion у себя на компьютере и связать его с Mantis на сервере.
Читать дальше →
Total votes 60: ↑49 and ↓11+38
Comments43

Эффект бабочки

Reading time2 min
Views7.2K
Как я уже однажды писал, кто хочет — тот ищет возможности, кто не хочет — ищет причины. Раньше я считал, что это утверждение действует в 99.9% случаях, но в последнее время мое мнение слегка поменялось.

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

Читать дальше →
Total votes 270: ↑224 and ↓46+178
Comments162

Сортировка изображений по разрешению… на сцене PowerShell

Reading time9 min
Views8.6K
В очередной раз просматривая интересности, любопытности и прочие всякости на Хабре, натолкнулся на статью о том, как с помощью Питона навести порядок среди иллюстраций, цифровое кладбище которых имеется почти у каждого из нас. Поскольку не так давно мне выпала доля заниматься процессингом картинок с использованием PowerShell, я решил провести показательное сравнение. Показательное с той точки зрения, чтобы продемонстрировать некоторые характерные возможности PowerShell тем, кто еще пока не знаком с ним или знаком поверхностно.

К сожалению, с PowerShell сложилась странная ситуация, когда весьма мощный инструмент оказывается обойден вниманием общественности и определенно нуждается в некоторой популяризации. Тем более, что с недавнего времени он входит в составе Windows 7 и скоро будет на рабочих местах немалого количества пользователей. А тут такой повод в виде лаконичной с одной стороны, но интересной с другой задачи административного характера по наведению порядка в хранилищах информации. Итак, приступим.

Читать дальше →
Total votes 60: ↑46 and ↓14+32
Comments74
2

Information

Rating
Does not participate
Location
Sunnyvale, California, США
Registered
Activity