Pull to refresh
Сергей Соловьёв @serjx read-only

User

  • Posts
  • Comments

«Мегамозг» запускает программу поддержки стартапов

Habr corporate blog
«Мегамозг» не понаслышке знает, с какими трудностями приходится сталкиваться молодым проектам в самом начале пути. Сложно посчитать количество интересных проектов, которые не «выстрелили». Причины тому разные: одни не смогли как следует заявить о себе широкой общественности, другие не встретили правильного инвестора, третьи потерпели неудачу, пытаясь построить идеальную команду.

Чтобы помочь молодым проектам заявить о себе, «Мегамозг» запускает программу поддержки стартапов. Согласно нашему плану, программа поможет молодым проектам рассказать о своём проекте широкому кругу специалистов, поделиться ходом разработки продукта, рассказать о построении команды, способах монетизации и повышении конверсии… Ну и конечно же, увеличить аудиторию и приобрести новых клиентов.
Читать дальше →
Total votes 48: ↑47 and ↓1 +46
Views14.2K
Comments 51

Доступ к контенту iFrame с другого домена

Mail.ru Group corporate blogWebsite development
Сегодня я хочу рассказать о том, как мы в своем проекте indexisto.com сделали аналог инструмента Google Webmaster Marker. Напомню, что Marker это инструмент в кабинете Google Webmaster, который позволяет аннотировать ваши страницы Open Graph тегами. Для этого вы просто выделяете мышкой кусок текста на странице и указываете что это title, а это рейтинг. Ваша страница при этом грузится в Iframe в кабинете вебмастера.



Теперь Google, встретив подобную страницу на вашем сайте, уже знает, что за контент на ней опубликован, и как его красиво распарсить в сущность (статью, товар, видео..)

Нам был нужен подобный функционал. Задача казалась несложной и исключительно клиентсайд. Однако на практике решение лежит на стыке клиентсайда и серверсайда («чистые» JS программисты могу ничего не знать про различные прокси серверы и очень долго подходить к снаряду). При этом я не нашел в интернетах статью которая описывала бы всю технологию от начала до конца. Также хочется сказать спасибо пользователю BeLove и нашим безопасникам за помощь.

Читать дальше →
Total votes 64: ↑61 and ↓3 +58
Views93.4K
Comments 35

Selenium: работаем с элементами страницы, используя @FindBy и PageFactory

IT systems testing
В этой статье будет рассмотрена возможность использования аннотации @FindBy для поиска элементов на странице, а так же создание своих классов для работы с элементами и контейнерами вроде форм, таблиц и т.д.
Читать дальше →
Total votes 10: ↑10 and ↓0 +10
Views85.4K
Comments 4

ShareJS или как сделать свой Google Wave c OT и NodeJS

Website developmentNode.JSDerby.js
Tutorial


После двух лет работы над OT (техника разрешения конфликтов при совместном доступе к данным) для Google Wave, Джозефу(Joseph Gentle) пришла в голову идея, что для тех, кто захочет сделать аналогичный продукт, потребуется ни чуть не меньше времени. Чтобы как-то помочь этим людям и поделиться знаниями была написана библиотека ShareJS, представляющая собой реализацию OT на основе NodeJS. Также есть C-реализация.


Дак как мне уже запилить свой Wave?
Total votes 40: ↑34 and ↓6 +28
Views9.8K
Comments 16

[АНОНС] Аккумулятор HLI-I9500XL на 5500мАч увеличивает время работы Samsung Galaxy S4 в 2 раза

Mugen Power Batteries corporate blog
image

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

Мы выпустили мощный аккумулятор на 5500мАч для Samsung Galaxy S4, в дополнение к тонкому аккумулятору повышенной емкости на 2750мАч. Этот аккумулятор позволит владельцам S4 увеличить время работы телефона на одном заряде более чем в два раза и разработан для супер-юзеров, для которых время работы — наиболее важный фактор.

Артикул (SKU): HLI-I9500XL
Тип аккумулятора: Li-ION
Напряжение: 3.8v
Емкость (mAh): 5500
Задняя крышка: В комплекте, черного или белого цвета
Заменяет: B600BE (2600 mAh)
Дополнительно: NFC, Кожаный чехол
Гарантия: 365 Дней
Размер телефона с аккумулятором: 136.5mm, 69mm, 15.5mm
Вес аккумулятора: 92.6g
Читать дальше →
Total votes 26: ↑8 and ↓18 -10
Views33.6K
Comments 37

Обзор java.util.concurrent.*

Luxoft corporate blogProgrammingJava
Tutorial
В повседневной работе не так уж часто приходится сталкиваться с пакетом для многопоточности java.util.concurrent. Иногда существуют проектные ограничения по использованию java 1.4.2, где нет данного пакета, но чаще всего хватает обычной синхронизации и не требуется ничего сверхъестественного. К счастью, периодически возникают задачи, заставляющие немного пораскинуть мозгами и либо написать велосипед, либо порыться в javadoc'ах и найти что-то более подходящее. С велосипедом проблем нет — просто берешь и пишешь, благо ничего суперсложного в многопоточности нет. С другой стороны, меньше кода — меньше багов. Тем более, что на многопоточность никто в здравом уме юнит тестов не пишет, т.к. это уже полноценные интеграционные тесты получаются со всеми вытекающими последствиями.

Что выбрать для конкретного случая? В условиях запарки и deadline'ов довольно сложно охватить весь java.util.concurrent. Выбирается что то похожее и вперед! Так, постепенно, в коде появляются ArrayBlockingQueue, ConcurrentHashMap, AtomicInteger, Collections.synchronizedList(new LinkedList()) и другие интересности. Иногда правильно, иногда нет. В какой то момент времени начинаешь осознавать, что более 95% стандартных классов в java вообще не используются при разработке продукта. Коллекции, примитивы, перекладывание байтиков с одного места на другое, hibernate, spring или EJB, еще какая то библиотека и, вуаля, приложение готово.

Чтобы хоть как то упорядочить знания и облегчить вхождение в тему, ниже идет обзор классов для работы с многопоточностью. Пишу прежде всего как шпаргалку для себя. А если еще кому сгодится — вообще замечательно.
Читать дальше →
Total votes 96: ↑87 and ↓9 +78
Views565.8K
Comments 33

Как сделать самую лучшую посадочную страницу: чеклист из 50 пунктов

Alconost corporate blogInternet marketingContextual advertisingIncreasing Conversion RateContent-marketing
Translation
Мы в Alconost предоставляем услуги создания и ведения контекстной рекламы и, по долгу службы, иногда занимаемся разработкой посадочных страниц (landing pages). Мы были очень рады найти и перевести статью, в которой автор изложил все требования, которым такая страница должна соответствовать. Но есть в этой статье и большой минус. Пунктов аж 50, каждый можно отметить в чеклисте, но после доступен лишь результат в баллах, которым можно разве что похвастаться перед друзьями.

Мы против таких способов анализа информации. Потому каждый желающий может скачать подготовленную нами гуглотаблицу, ответить на вопросы “Да” или ”Нет”, отфильтровать ответы и получить результат и план действий.

Те, кому в гуглотаблицу не хочется, просим под кат. Там перевод.



Читать дальше →
Total votes 84: ↑68 and ↓16 +52
Views96.1K
Comments 30

Javascript Interface Abstract Notation

JavaScriptProgramming
Sandbox
Здравствуйте всем, этот пост о библиотеке, а вернее философии разработки приложений на Javascript которую изобрел пару месяцев назад. Постоянно использую сам, раздал всем друзьям. Отзывы положительные, поэтому решил рискнуть открыть более широкому сообществу.
Сама библиотека работает как подстройка к jQuery. Практически зависимость от jQuery условна и ее можно разделить с самой библиотекой, пока не было необходимости.
Jiant позволяет создавать клиентские приложения любой сложности, значительно упрощая их поддержку и развитие.
Читать дальше →
Total votes 42: ↑37 and ↓5 +32
Views13.6K
Comments 12

Весёлые (сосисочные) рефакторинги

ProgrammingJavaPerfect code


Привет, %habrausername%. Я хочу сыграть с тобой в игру.

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

От предыдущего разработчика осталась кучка кода и домашние тапочки. Ты осторожно кладёшь тапочки в мусорную корзину и начинаешь рефакторинг.

Этот код ужасен. Во-первых, нет никого, кто мог бы сказать, зачем этот код писался. Во-вторых, нет никакой документации. Нет даже комментариев, не говоря уже о юнит-тестах. В-третьих, код не структурирован, а имена классов и методов ни о чём не говорят. И, наконец, работать это должно начать не сегодня, и даже не вчера, а внезапно.
Ну как, %habrausername%, пробежал холодок по спине?
Читать дальше →
Total votes 159: ↑144 and ↓15 +129
Views71.7K
Comments 174

Information

Rating
Does not participate
Location
Воронеж, Воронежская обл., Россия
Date of birth
Registered
Activity