Search
Write a publication
Pull to refresh
23
0
Anton MegaPort @AlexTest

Magento, Telegram bots

Send message

В зазеркалье: как нанимать менеджеров по продажам

Reading time4 min
Views23K
Он — большой дикий волк по соседству.
Дикий не в смысле «плохой», а в смысле «хороший».
— Run DMC, «Peter Piper»


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

Статью Бена Хоровица, одного из самых опытных и уважаемых предпринимателей в Кремниевой долине, перевели в Alconost.


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

Valentina Studio — бесплатная программа для работы с СУБД

Reading time3 min
Views78K
image Очень многие разработчики считают что лучший интерфейс для работы с базами данных — текстовый интерфейс консольного. Я лично еще не достиг подобного просветления, поэтому больше доверяю GUI-инструментам. Хорошо, если у СУБД как у Postgres есть своя, утилита для работы с БД, а что делать если нет? Или если надо работать с различными базами данных одновременно? Под Windows альтернативных клиентов к различным СУБД — море разливанное. С другими ОС (я в данный момент работаю в OS X) все не так радужно, хотя есть программы разной степени пригодности и удобства. Раньше я использовал Navicat, но недавно нашел еще одно интересное решение, о котором и хочу рассказать: Valentina Studio.

Сразу скажу — я общался с разработчиками, и мне очень импонирует их концепция, то что они делают и как, поэтому я решил просто написать обзор о хорошем инструменте, о котором мало кто знает, поскольку публичный релиз программы состоялся очень недавно. До этого она долгое время разрабатывалась для Valentina DB и только в феврале вышла версия с поддержкой известных популярных баз данных. При этом разработчики приняли достаточно разумное решение — базовая версия совершенно бесплатна, а деньги берут только за несколько мощных «особо профессиональных» функций без которых чаще всего можно обойтись.
Читать дальше →

«Workspace» и «Сниппеты» в Chrome Dev Tools

Reading time2 min
Views30K
image
Workspace и Сниппеты — 2 инструмента в Chrome Dev Tools, о существовании которых не все знают. Эти инструменты упрощают веб-разработку, поэтому я решил сегодня о них рассказать.
Читать дальше →

Фундаментальные проблемы экономики на Bitcoin

Reading time3 min
Views73K
Годится ли Bitcoin как основная валюта для полноценной экономики?



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

Декораторы в PHP. Реализация расширения

Reading time11 min
Views12K
По результатам опроса в первой статье, решено было сделать обзор реализации расширения. К этому моменту в угоду существующим IDE немного изменился синтаксис, который, пожалуй, был наиболее обсуждаемым моментом.
Это не еще-одна-статья-о-hello-world-расширении, т.к. желающим разобраться в основах легко найти массу материалов как на самом Хабре, так и в русскоязычном RTFG.
Статья о предпосылках, реализации и подводных камнях. В ней будет мало PHP, в основном C.
Запасаемся попкорном и расчехляем gdb и valgrind

Востребованность программистов растёт и будет расти?

Reading time1 min
Views67K
Code.org — некоммерческая организация, ставящая целью популяризацию программирования под девизом: «Anybody can learn». Британские учёные провели любопытное исследование: оказывается, в ближайшие 7 лет разница между числом вакансий и студентов вырастет во много раз:
Да ну?

Traits в php 5.4. Разбираем детали реализации

Reading time8 min
Views53K
Совсем недавно вышла первая beta php 5.4, а пока я писал топик подоспела и вторая. Одно из нововведений в 5.4 – это traits (типажи). Предлагаю разобраться во всех деталях в том, что же типажи из себя представляют в php.

Простой пример типажа, чтобы не заглядывать в Википедею:
//определение типажа
trait Pprint 
{
    public function whoAmI()
    {
        return get_class($this) . ': ' . (string) $this;
    }
}

class Human 
{
    use Pprint; //подключаем типаж, ключевое слово use

    protected $_name = 'unknown';
    
    public function __construct($name)
    {
        $this->_name = $name;
    }

    public function __toString()
    {
        return (string) $this->_name;
    }   
}

$a = new Human('Nikita');
echo $a->whoAmI(), PHP_EOL; //=> Human: Nikita

Как видно, к классу Human было добавлено поведение из типажа Pprint.

Но во всём есть свои детали.
О них далее

Открываем украинский офис разработки – F.A.Q

Reading time3 min
Views17K
Нам регулярно приходят письма примерно такого содержания: «мы небольшая компания в Москве (Риге, Берлине) и мы слышали на Украине много толковых разработчиков. подскажите сколько стоит и как их найти».

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

Использование разметки schema.org для логотипов организаций

Reading time1 min
Views33K
Уровень подготовки веб-мастера: любой

Теперь наша система поддерживает разметку schema.org для логотипов организаций. Это позволит вам выбрать логотип, который будет представлять ваш сайт в результатах поиска Google.

С помощью этой разметки вы можете указать системе, где находится ваш логотип. Например, если вы – владелец сайта www.example.com, можно использовать следующую разметку элементов на странице:

<div itemscope itemtype="http://schema.org/Organization">
<a itemprop="url" href="http://www.example.com/">Главная</a>
<img itemprop="logo" src="http://www.example.com/logo.png" />
</div>

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

Убираем пыль с 1000 фотографий с помощью Gimp и Script-Fu

Reading time6 min
Views21K
Думаю многим фотографам приходилось чистить отснятые фотографии от пылинок на матрице. Не имея полного Photoshop-a или LightRoom-a быстро обработать большое количество фотографий крайне трудно.
Но у нас есть Gimp и желание написать к нему скрипт.
На Хабре уже было не мало статей про возможность написания скриптов в Gimp.
Вот самый подробные обзор самого языка Script-fu и возможности написания на нём расширений к Gimp
Вот тут статья про пакетную обработку.
По идее, прочитав 2 эти статьи, можно сделать что угодно. Но вот только при решении обозначенной в заголовке проблемы, я столкнулся с многими нюансам, на преодоление которых ушло не мало времени, и которые мало где описаны. Даже в англоязычных Tutorial-ах и Help-ах. О них и пойдёт речь.
Читать дальше →

Clipping magic: онлайн-инструмент для вырезания картинки из фона на базе технологий искусственного интеллекта

Reading time2 min
Views536K
Открывшийся недавно в режиме публичной альфы сайт Clippingmagic.com предназначен для решения всего одной задачи — удаления фона изображения, но зато делает он это весьма неплохо. В отличие от большинства подобных инструментов, он имеет удобный и простой интерфейс и при этом результат получается очень приличным. Пожалуй, лучше и аккуратнее можно сделать только в настоящем большом редакторе вроде Photoshop или Gimp, потратив при этом гораздо больше времени.



Алгоритм работы очень прост: загружаем картинку, выделяем зелёным объект, а красным — фон, затем несколькими штрихами исправляем оставшиеся огрехи. Весь процесс занимает буквально минуту-другую и не требует особой твёрдости руки. Изображение можно масштабировать, при этом размер кисти не меняется, позволяя обработать мелкие детали. Результат можно сохранить в формате PNG.
Читать дальше →

Ежедневная работа с Git

Reading time40 min
Views895K
Я совсем не долго изучаю и использую git практически везде, где только можно. Однако, за это время я успел многому научиться и хочу поделиться своим опытом с сообществом.

Я постараюсь донести основные идеи, показать как эта VCS помогает разрабатывать проект. Надеюсь, что после прочтения вы сможете ответить на вопросы:
  • можно ли git «подстроить» под тот процесс разработки, который мне нужен?
  • будет ли менеджер и заказчик удовлетворён этим процессом?
  • будет ли легко работать разработчикам?
  • смогут ли новички быстро включиться в процесс?
  • можно ли процесс относительно легко и быстро изменить?


Конечно, я попытаюсь рассказать обо всём по-порядку, начиная с основ. Поэтому, эта статья будет крайне полезна тем, кто только начинает или хочет разобраться с git. Более опытные читатели, возможно, найдут для себя что-то новое, укажут на ошибки или поделятся советом.

Далее очень много букв случайным образом превратились в пост.

Как вы ищете фриланс-заказы на биржах?

Reading time1 min
Views47K
Всегда интересовало, как опытные товарищи ищут заказы на биржах фриланса.

image

Когда я сам стал фрилансером (уехав перед этим в азию и бросив офисную работу), мне пришлось попотеть, пока я вырабатывал оптимальную для себя стратегию поиска работы.

А как это делаете вы?

N+1 полезная книга для бизнеса: часть 3

Reading time6 min
Views97K


Привет!
Прошлые два обзора полезных книг за 2010 и 2011 год собрали просто адовое количество закладок, поэтому я продолжу. Прошел ещё год, ещё около 250 прочитанных книг – и вот самые интересные под катом.

Кто сказал, что слоны не умеют танцевать? Возрождение корпорации IBM: взгляд изнутри (Герстнер Луис)


Отличная книга про то, как удалось восстановить IBM. То, что со стороны выглядело как бессистемное перемещение активов и последовательность приказов без особого смысла, через несколько лет начало складываться в единую систему.

Догнать зайца (Стивен Спир)


Отличная книга про дебаг производственных процессов. Одна из основных вещей – то, что все серьёзные проблемы возникают из-за сочетания некритичных багов. Есть примеры из американской ядерной программы, NASA и т.п. Я предлагаю прямо сейчас пойти и прочитать описание железнодорожного крушения на Каменской: один не отчитался, второй не проверил тормоза, третий зажал тангенту, четвёртый сорвал стоп-кран. Результат — катастрофа.
Читать дальше →

Утилита для запуска PHP-скриптов в фоновом режиме

Reading time3 min
Views19K

Предисловие


Возможно, вы думаете, что это — очередная статья о том, как расплодить процессы с помощью fork() через консоль PHP. Но увы, ни консоли, ни pcntl_fork() здесь не будет — только браузер и сервер с PHP.
Читать дальше →

Port knocking или как обезопасить себя от брута по ssh

Reading time3 min
Views100K
Речь пойдет о борьбе с надоедливыми брутфорсами и сканерами портов, которые всячески норовят получить доступ к серверу. В статье будет рассказано о технологии Port Knocking, позволяющей обезопасить доступ на сервер посредством скрытия портов.

Хочу узнать больше!

Из говнокода в Highload. Используем ТАРАНtool. 5 рецептов повышения производительности

Reading time14 min
Views33K
Ко мне обратился один руководитель стартапа социальной игры с просьбой увеличить производительность своего проекта. На этом этапе был сделан и запущен прототип проекта. И надо отдать должное разработчикам, что проект работал и даже приносил какую-то прибыль. Но, запускать рекламную компанию не имело смысло, так как проект не выдерживал ни каких нагрузок. Валился MySQL (35% ошибок).

Код проекта… В общем у меня осталось впечатление, что писал его недоученный студент… И это, немотря на то, что уже был сделан частичный рефакторинг другим программистом. Единственное, что радовало, то это то, что не использовался какой-либо фреймворк. Конечно, это вечно флеймовый вопрос: Иисус или Магомед? Быть или не Быть? Unix или Windows? Использовать или не Использовать? ИМХО, Моё мнение: фреймворки заточены под узкий круг типовых задач. Социальный проект — задача, как правило, не типовая… Но, в целом, мне проект показался интересным и я решил взяться за улучшение. На этом вступление можно закончить…

Наверно, про повышение производительности и тему highload не писал только ленивый WEB разработчик, знающий хоть что-то в этой области. Принципиально, что-то нового, в данной статье вы не найдёте. Основные идеи разработки highload проектов, были мною изложены в цикле статей HighLoad. Три кита.. Если вам интересно, как я увеличил производительность PHP проекта, используя NoSQL хранилище tarantool, то Добро пожаловать под кат.

Хотя, принципиально можно использовать другое, подходящее под данный круг задач, key/value хранилище, и реализация серверной логики может быть на любом другом скриптовом языке.
Читать дальше →

Composer — менеджер зависимостей для PHP

Reading time10 min
Views405K
Composer (getcomposer.org) — это относительно новый и уже достаточно популярный менеджер зависимостей для PHP. Вы можете описать от каких библиотек зависит ваш проект и Composer установит нужные библиотеки за вас! Причём Composer — это не менеджер пакетов в классическом понимании. Да, он оперирует с сущностями, которые мы будем называть «пакетами» или библиотеками, но устанавливаются они внутрь каждого проекта отдельно, а не глобально (это одно из основных отличий от старого-доброго PEAR).

Кратко, как это работает:
  1. У вас есть проект, который зависит от нескольких библиотек.
  2. Некоторые из этих библиотек зависят от других библиотек.
  3. Вы описываете в своём проекте те библиотеки, от которых непосредственно зависит ваш код.
  4. Composer находит нужные версии требуемых библиотек для всего проекта, скачивает их и устанавливает в папку вашего проекта.

При создании Composer авторы черпали идеи и вдохновение из аналогичных проектов: npm для Node.js и Bundler для Ruby.

Изначально он был спроектирован и разработан двумя людьми Nils Adermann и Jordi Boggiano, сейчас в проекте участвует более двадцати контрибьюторов, Проект написан на PHP 5.3, распространяется под лицензией MIT и доступен на github.

Первые коммиты были сделаны апреле 2011 года и на сегодняшний день Composer находится в стадии «alpha3». Однако, он уже достаточно стабилен и используется многими популярными PHP проектами (например, Symfony 2). Список проектов использующих Composer можно посмотреть на сайте packagist.org — это официальный репозиторий Composer пакетов. Кстати, на недавней конференции Devconf 2012 разработчик фреймворка Yii в своём докладе упомянул, что Yii2 скорее всего тоже будет использовать Composer.

В этой статье я кратко опишу основные возможности Composer и мы попробуем создать демонстрационный проект использующий Composer для загрузки необходимых библиотек. Все примеры будут доступны на github.com и bitbucket.org.

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

Information

Rating
Does not participate
Registered
Activity