Pull to refresh
21
0
Александр @Pyjamec

User

Send message

IT-портфолио: мы в открытой бете!

Reading time2 min
Views648
IT-Portfolio LogoКоротко напомню, что IT-портфолио – это LinkedIn для ИТ-индустрии. Проект позволяет создать аналог полнофункциональной домашней страницы настолько же просто, как и профиль в социальной сети. Основная особенность – это ориентированность на проекты, в которых пользователь участвовал на работе или для себя.

Мы дольше готовились к открытой бете, чем планировали, зато успели сделать некоторые вещи, которых раньше и не собирались. В этом посте я хочу рассказать о последних нововведениях и раздать немного инвайтов.
Читать дальше →

Новый синхронизатор Phaser

Reading time5 min
Views58K
Phaser (Этапщик) — мощная и гибкая реализация паттерна синхронизации Барьер. Включен в JDK 7 в составе пакета java.util.concurrent.

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

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

«Переезжаем» в офлайн: Web Storage, Application Cache и WebSQL

Reading time11 min
Views28K
Чтобы делать приложения, которые могут работать в полностью автономном режиме, нам нужно познакомиться со следующими технологиями: HTML5 Application Cache, Web Storage и WebSQL.
Мной уже были опубликованы вводные статьи, касающиеся Web Storage и HTML5 Application Cache. Рекомендую их к прочтению если вы еще не знакомы с основными понятиями. В данной статье будут пересмотрены эти технологии, в том числе и WebSQL, и описаны варианты их совместного эффективного использования. Все эти технологии поддерживаются настольной версией браузера Opera 11.10, Opera Mobile 11, браузерами на движке WebKit (в iOS и Google Android).
Читать дальше →

Сборка проекта без единой глобальной переменной

Reading time6 min
Views4K
Представьте, у вас есть проект, состоящий из нескольких модулей и, например, jQuery или любая другая библиотеки в CDN. У вас есть огромное желание не показывать пользователю ваши глобальные переменные и по возможности не показывать jQuery и $. Ну и, конечно, сделать все без изменения кода проекта.
Причины для сокрытия глобалов могут быть разные: для красоты, из соображений безопасности, для затруднения анализа кода и другие. Пользователь взаимодействует с вашим кодом, используя события, которые он не сможет сломать — больше ему ничего и не нужно.

Самый очевидный способ — создать единственный namespace в который пассивно экспортировать прочие объекты, а jQuery и $ в конце удалить.

После сборки код будет какой-то такой:
(function(window, undefined){
    // include ./js/YourNamespace.js
    var YourNamespace = (function () {
        // что-то ещё
        return {};
    }());
    // include ./js/YourNamespace/SomeObject.js
    YourNamespace.SomeObject = (function () {
        // что-то ещё
        return function () {

        };
    }());
    // Cleanup
    delete window.$;
    delete window.jQuery;
}(window));

Это идеальный вариант, но чаще бывает не так. Посмотрите ваш код, такой ли он?

Под катом универсальное решение, позволяющее собрать любой код без единой глобальной переменной.
Читать дальше →

Google SPDY: жизнь после HTTP 1.1

Reading time2 min
Views3K
С 19 января 2011 года в браузере Chrome появилась поддержка протокола SPDY (SPeeDY), он также включён для SSL-трафика на серверах Google. Таким образом, все сайты, принадлежащие Google, грузятся значительно быстрее в Chrome, чем в любом другом браузере. Четыре месяца пользователи Chrome получают многие странички с сайтов Google вообще не по HTTP.

Кому-то это может напомнить ситуацию с Microsoft, которая «улучшала» стандарты в браузере IE таким образом, чтобы серверы IIS отвечали быстрее, чем Apache. Но здесь ситуация кардинально иная. Речь идёт не о получении какой-то монополии, а об обеспечении быстрого интернета для всех, что выгодно Google априори.
Читать дальше →

Расширяем возможности Java-приложения

Reading time11 min
Views19K
Здраствуй, Хабражитель!

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

Итак, сегодня я приведу здесь библиотеки, которые могут Вам помочь решить часто возникающие вопросы вроде «Как сделать это на Java?» по разным узким направлениям разработки.

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

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

Как меняется отрасль

Reading time7 min
Views802
Отрасль меняется. С начала кризиса произошли изменения, которые начали проявляться еще до кризиса.
Что это за тренды? А вот:
— с 2007 все больше инвесторов стали требовать от стартапов наличия СТО в команде и в эквити,
— с 2007 года фонды стали пренебрегать мелкими сделками, средняя инвестиция ранних стадий выросла с $800-900к до $1.3м, а потом и еще выше,
— стоимость разработки ПО начала падать из-за наличия готовых библиотек и большого количества опен сорс решений,
— в отрасли сформировалась экосистема медиа, которая позволяет получить клиентов, не прибегая к большим вливаниям в рекламу, а просто нащупав интересную проблему,
— с развитием социальных сетей появилась возможность привлекать трафик из социальных сетей, при удачном старте проекта он получается очень дешевым,
— платежеспособность интернет-населения выросла и появилось большое количество инструментов, которые позволяют собирать деньги с клиентов,
— наличие разных рекламных инструментов (от контекстной рекламы до традиционных баннерных сетей и партнерских программ) позволяет легко конвертировать трафик в деньги. В Штатах появились целые отрасли, в которых «трафик=деньги» работает,
— все больше развивается тренд создания credit card funded startups.

Что у нас на инвесторской стороне поля?
Читать дальше →

Как не обидеть человека, если он совершил ошибку?

Reading time1 min
Views5.1K
Добрый день, хабражители!

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

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

Обычно бывает так: «ну почему ты не уследил за подрядчиком, Иван?! Компания влетела на стоимость целого этапа, как это объяснять спонсору?». Правильно: «хороший менеджер всегда знает, что предпримет его подрядчик на следующем этапе и успеет перехватить инициативу в свои руки. Как считаешь, что нужно сделать, чтобы выровнять затраты на следующих этапах?».

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

Подборка 10 css3 кнопок

Reading time4 min
Views91K
С каждым днем новые стандарты css3 и html5 всё более глубоко входят в жизнь верстальщиков и web-разработчиков, а браузеры с каждым днем становятся все более совместимыми с этими стандартами.



В связи с этим событием хотелось бы представить Вам подборку 10 css3 кнопок, которые смогут облегчить вам жизнь при верстке и создании web приложений.
Читать дальше →

Использование BitTorrent в Java: jBitTorrent API

Reading time6 min
Views15K

Введение



Доброго дня всем читателям!

Недавно в одном проекте мне потребовалось программно скачивать и раздавать торренты, а также впоследствие создавать новые торрент-файлы к уже скачанным данным. Естественно, изобретать велосипед очень не хотелось, и я решил посмотреть в поисковике, что же есть в нише BitTorrent-библиотек для Java.
Хочу сказать, что выдача меня очень расстроила. Всего упоминалось лишь несколько реализаций, да и те были уже давно не обновляемые. Stackoverflow подсказал следующие:



Теперь пройдемся по каждому из них.
Читать дальше →

Обзор плагинов ++

Reading time2 min
Views3.4K
Очередной топик с обзором нескольких интересных плагинов jQuery.

Mobily Map




Позволяет сделать интерфейс, подобный google-картам, на основе собственных изображений (возможность перетаскивать, ставить маркеры на изображении, реагировать на нажатие по ним и др.).
Узнать больше (англ.) | Посмотреть в действии


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

Пять признаков того, что ваш талант недооценивают

Reading time2 min
Views5.7K
За хабракатом находится легкая небольшая и ироничная, но в тоже время добрая и мудрая заметка о признаках того, что ваши таланты недооценивают.
Так ли это?...

RoboGuice или «Андроид подсел на инъекции»

Reading time8 min
Views12K
imageRoboGuice — это библиотека, которая позволяет пользоваться всеми преимуществами Contexts and Dependency Injection при разработке приложений на Андроиде.
Как несложно догадаться, RoboGuice основан на Google Guice.
Сразу оговорюсь, что в качестве перевода слова «injection» я буду использовать слово «инъекция».

Зачем колоться?


Думаю, что у многих читателей сразу возникнет вопрос: «Зачем эти сложности с CDI на мобильной платформе? Наверняка это всё занимает много места и медленно работает.»
Попробую убедить таких читателей в обратном, а именно в том, что CDI на мобильной платформе очень даже жизнеспособен и существенно облегчает жизнь разработчикам.
Читать дальше →

Разбор XML при помощи Simple Framework

Reading time5 min
Views18K


Здравствуйте, читатели Хабрахабр!

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

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

И, конечно же, тем, кто еще не знаком с этой прекрасной библиотекой, рекомендую скорее познакомиться, я же постараюсь в этом вам помочь.
Читать дальше →

Методы распознавания отпечатков пальцев и реализация средствами Python

Reading time12 min
Views52K
В текущем семестре появился в расписании предмет «Методы и средства защиты компьютерной информации», частью которого являются лабораторная работа по биометрии, а точнее по распознаванию отпечатка пальца. Так же, недавно, на Хабре была статья про устройства предназначенные для сканирования. Решил написать здесь про алгоритмы распознавания.
Читать дальше →

Про успех и разницу между выращиванием и добычей

Reading time6 min
Views925
Пашем Давайте придумаем аналогию, а затем хорошенько над ней поиздеваемся: представьте, что вы только что приобрели земельный надел. Чем вы будете заниматься? Добычей ископаемых или фермерством?

Если будете заниматься фермерством, то нужно будет сначала приобрести семена, а потом весь сезон работать, чтобы получить прибыль. И каждый год вы будете закапывать (буквально) большую часть прибыли обратно в землю, зарплаты и выплаты по ипотеке. Вы будете разумно обращаться с почвой для того, чтобы она год за годом продолжала давать вам урожай. Если вы удачливы и все делаете правильно, то будете собирать урожай, продажи будут расти и, в конце концов, заработаете на приличную жизнь. Но каждый год, неважно насколько вы богаты, вы будете возвращаться к началу: гнуть спину, работая на земле. Когда вы наконец выйдете на пенсию, то, если вы все делали правильно, почва будет так же хороша как при покупке, и ваша ферма будет жить дальше.

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

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

Как от маленького сайта дойти до розничной сети и что для этого нужно

Reading time8 min
Views39K
В 2008 году будущая команда «Мосигры» начала воплощать свою давнюю мечту по изданию качественной отечественной настольной игры. С продажи первой партии «Шакала» началась история розничной сети. Сначала мы открыли интернет-магазин, потом магазин в реале, а затем за два года построили сеть, покрывающую крупнейшие города России, Украины, Беларуси и Казахстана.

Для начала, как белые люди, мы начали изучать рынок под продажу своей игры. Когда стало понятно, что на нём сидят компании, которые настолько привыкли к отсутствию конкуренции и настолько феерично относились к клиентам, захотелось исправить ситуацию хотя бы из принципа.

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

А теперь медленно и по порядку.

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

Выбираем отечественного поставщика облачного хостинга

Reading time5 min
Views20K
Здравствуйте, уважаемые читатели! В своей статье я хочу произвести анализ компаний, предоставляющих услуги «облачного» хостинга на территории РФ. Анализ проводится с точки зрения среднестатистического пользователя, перед которым встала задача приобретения хостинга в облаке. Основные критерии по которым будет производиться анализ — поддержка, стоимость, гибкость(как один из основных критериев), прозрачность ценовой политики т.д.
Читать дальше →

Как бороться с паузами GC

Reading time6 min
Views37K
В данном топике речь пойдет о причинах, вызывающих длинные паузы сборщика мусора и о способах борьбы с ними. Рассказывать я буду о CMS (low pause), так как на данный момент это наиболее часто используемый алгоритм для приложений с большой памятью и требованием малой задержки (low latency). Описание дается в предположении, что у вас приложение крутится на боксе с большим объемом памяти и большим количеством процессоров.

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

Мои 5 любимых фишечек в Play Framework

Reading time5 min
Views7.3K
Про Play уже писали на хабре: Отличный Java MVC фреймворк и ‘Hello World’ tutorial. В этой статье Томас Рёмер из компании ZeroTurnaround рассказывает о своих любимых фишечках в Play! framework.

В течение последнего года я разрабатывал два проекта с помощью Play! Framework. Это сервер лицензий JRebel и LiveRebel. Я перепробовал разные фреймворки для этих двух задач, и в конце концов мой выбор свёлся к двум кандидатам: Struts и Play! Framework. Play! казалась более рискованной, прикольной, бунтарской , в то время как Struts считалась чем-то вроде старой рабочей лошадки, которая работает и гарантированно добивается результата. После некоторых споров в команде мы решили рискнуть и попробовать Play!.. С тех пор я полюбил некоторые особенности Play! больше, чем другие, и хотел бы поделиться своей любовью.

Итак, мои 5 любимых фишечек в Play! Framework

Information

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