Как стать автором
Обновить
18
0
Клименко Борис @trueneutral

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

Отправить сообщение

Не тратьте своё время на дерьмовую работу в стартапе

Время на прочтение21 мин
Количество просмотров73K
Под катом перевод огромной статьи, написанной Майклом Чёрчем и посвящённой стартапам. Статья вызвала необыкновенное бурление… мнений, скажем так, на разных сайтах и агрегаторах, поэтому я решил её перевести на русский и посмотреть на реакцию. Текст ОЧЕНЬ длинный, но также и очень интересный. И несколько пояснений перед чтением: в статье речь идёт об инженере в стартапе, именно с этой позиции всё рассматривать; некоторые финансово-экономические термины, возможно, не очень адекватно удались и я буду рад любым конструктивным поправкам.

То, о чём я хочу рассказать, справедливо для июля 2012 г. 15 лет назад необязательно было так же, и не факт, что будет справедливо через год. Но в данный момент это абсолютно верно для большинства людей в достаточной степени, так что я считаю обязанным высказаться. Нынешний мир ИК-стартапов (ИК=инвестиционный капитал / venture capital) — я его нежно называю ИК-стан — является, мягко говоря, тотально напрасной тратой времени для большинства вовлечённых людей.
Читать дальше →
Всего голосов 238: ↑221 и ↓17+204
Комментарии77

Developer Auction: компании торгуются за лучших специалистов

Время на прочтение2 мин
Количество просмотров13K


Пару дней назад на сайте Developer Auction завершился второй аукцион разработчиков. Он прошёл ещё успешнее, чем первый сентябрьский: работодатели сделали ставок на $78 миллионов, и всего было «куплено» около 200 программистов.

Подобная модель трудоустройства очень выгодна для видных программистов, чей уровень профессионализма выше среднего. Ведь такие спецы уже не сами ищут работу, а наоборот — за ними охотятся хедхантеры из разных компаний. И чтобы получить максимальную зарплату/бонусы, соискатель должен провести конкурс между ними. Это именно то, что происходит на сайте Developer Auction, где компании торгуются, делая как можно более выгодные предложения кандидату.
Читать дальше →
Всего голосов 26: ↑21 и ↓5+16
Комментарии21

Руководство для маленьких, или как Василий Бубликов стал начальником

Время на прочтение6 мин
Количество просмотров5.5K
Что из себя представляет руководство на самом деле, или каким оно должно быть?
К сожалению в наших реалиях хороший руководитель — большая редкость. Возможно, некоторые мысли помогут некоторым «свежеиспеченным» руководителям не наступить на старые ржавые грабли. Тем кто не связан с руководством — поможет понять в чем заключается работа руководителя. А, умудренные руководящим опытом, я надеюсь, выскажутся в комментариях, и поделятся своим опытом.

В этой статье не пойдет речи об организации процессов. Здесь будет затронута только тематика рабочих взаимоотношений.
Читать дальше →
Всего голосов 60: ↑51 и ↓9+42
Комментарии81

Подключаем Facebook Credits для интернет-магазинов

Время на прочтение7 мин
Количество просмотров5.3K
Привет, хабр. Не так давно мы написали модуль, который подключает магазины на 1С-Битрикс к социальной сети Facebook. Хочу поделиться опытом, а также особенностями настройки приема Facebook Credits в вашем магазине — не суть важно, на какой CMS он реализован. Помчались!
Читать дальше →
Всего голосов 40: ↑27 и ↓13+14
Комментарии7

Публикация на стене Вконтакте средствами php

Время на прочтение5 мин
Количество просмотров139K
Получив задачу создать автоматическую публикацию материалов сайта на стене нашей страницы Вконтакте, я обнаружил, что рецептов по этой, казалось бы, актуальной теме относительно мало.

В действительности всё оказалось довольно просто, и чтение документации по API часто помогает сэкономить время.

Читать дальше →
Всего голосов 84: ↑60 и ↓24+36
Комментарии59

Репликация данных из MySQL в MongoDB

Время на прочтение7 мин
Количество просмотров16K

Бывают случаи, когда нужно менять архитектуру системы на ходу. Возможно вы нашли узкое место в своем проекте или решили, что при текущем темпе роста в скором времени могут возникнуть сложности с масштабированием или отказоустойчивостью. Как раз для таких случаев существует Tungsten Replicator.
Tungsten Replicator — это бесплатное с открытым исходным кодом, приложение написанное на Java, расширяющее функционал репликации СУБД MySQL. Возможности Tungsten широки, это и мульти-мастер репликация, параллельная репликация, гетерогенная репликация данных между MySQL и Oracle, PostgreSQL, MongoDB. В данной статье будет рассматриваться гетерогенная репликация мастера MySQL с подчиненным сервером MongoDB, в качестве ОС будет выступать CentOS 6.5.
Читать дальше →
Всего голосов 35: ↑31 и ↓4+27
Комментарии12

Клуб анонимных Дедов Морозов 2013 — 2014

Время на прочтение2 мин
Количество просмотров78K

Буквально вчера британские ученые совершили очередное сенсационное открытие. Проводя свои исследования с конца позапрошлого и начала прошлого года, они обнаружили, что каждый год где-то в начале ноября толпа людей в вязанных свитерах и очках в круглой оправе начинает куда-то спешить. Придя домой, они берут в руки ноутбук, забираются в уютную постель, накрываются теплым шерстяным одеялом и начинают воображать себя старым добрым волшебником Дедом Морозом…

Что, вы тоже, нося очки, свитер и имея выход в Интернет, еще «не в теме»? Ооо, ну тогда бросайте все дела и продолжайте читать дальше!
Читать дальше →
Всего голосов 148: ↑139 и ↓9+130
Комментарии551

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

Время на прочтение6 мин
Количество просмотров132K
Главная задача отдела эксплуатации Sports.ru и Tribuna.com — масштабирование сетевой инфраструктуры в условиях постоянного роста трафика (за 1,5 года трафик и кол-во запросов в секунду выросло в два раза), регулярных пиковых нагрузок и аудитории, распределенной по разным странам. Для решения этой задачи мы используем разные технологии; одна из них — создание собственной CDN (сети доставки контента), которая позволяет сократить нагрузку, усилить защиту от DDoS-a и ускоряет загрузку сайта в удаленных регионах. Мы решили поделиться своим опытом в этой области и составили краткое практическое руководство для системных администраторов по разворачиванию и эксплуатации своей CDN.

Читать дальше →
Всего голосов 53: ↑44 и ↓9+35
Комментарии27

Реализация условия «ИЛИ» в SphinxQL

Время на прочтение1 мин
Количество просмотров10K
SQL-подобный язык SphinxQL пока не поддерживает условие «OR» в выражении «WHERE». То есть при запросе к поисковому индексу нельзя написать нечто вроде

SELECT * FROM `goods_index` WHERE `price` > 100 OR `price` = 0;
выбрать из индекса все товары, с ценой большее 100 тугриков или если цена не указана

Но выходы, конечно, есть: использовать вычисления. Перепишем запрос для придуманного мною примера в таком виде:
Читать дальше →
Всего голосов 21: ↑18 и ↓3+15
Комментарии12

Про автоматизацию подбора аккордов

Время на прочтение17 мин
Количество просмотров59K
Меня давно занимал вопрос: «а что, если попробовать прогнать цифровую запись песни через преобразование Фурье, посмотреть зависимость спектра от времени и попытаться вытащить из полученной информации аккорды песни?». Вот, наконец, нашел время попробовать…
Читать дальше →
Всего голосов 137: ↑135 и ↓2+133
Комментарии42

Code coverage в Badoo

Время на прочтение5 мин
Количество просмотров16K
Несколько месяцев назад мы ускорили генерацию code coverage с 70 до 2,5 часов. Реализовано это было как дополнительный формат в экспорте/импорте coverage. А недавно наши pull requests попали в официальные репозитории phpunit, phpcov и php-code-coverage.

Мы не раз рассказывали на конференциях и в статьях о том, что мы «гоняем» десятки тысяч юнит-тестов за короткое время. Основной эффект достигается, как несложно догадаться, за счёт многопоточности. И всё бы хорошо, но одна из важных метрик тестирования ― это покрытие кода тестами.
Сегодня мы расскажем, как его считать в условиях многопоточности, агрегировать и делать это очень быстро. Без наших оптимизаций подсчёт покрытия занимал более 70 часов только для юнит-тестов. После оптимизации мы тратим всего 2,5 часа на то, чтобы посчитать покрытие по всем юнит-тестам и двум наборам интеграционных тестов общим числом более 30 тысяч.
Читать дальше →
Всего голосов 111: ↑101 и ↓10+91
Комментарии27

RosSpam.org или как пожаловаться на SMS-спам в пару кликов

Время на прочтение2 мин
Количество просмотров29K

С каждым днем мы получаем все больше и больше рекламных SMS. Такой вид рекламы очень хорош для рекламодателя — получателю сообщения всегда проще его удалить, чем пожаловаться. Ну, кто пойдет на сайт какого-нибудь сервиса, введет кучу данных об полученной SMS, чтоб, может быть, отписаться от данного отправителя, а на следующий день получить SMS-спам от нового?
Есть идея!
Всего голосов 71: ↑70 и ↓1+69
Комментарии144

Простая методика построения фильтров товаров с помощью MongoDb и MapReduce

Время на прочтение8 мин
Количество просмотров32K
Впервые столкнувшись с MapReduce, я продолжительное время искал реальные примеры применения. Пресловутый поиск слов в тексте, встречающийся в каждой второй статье о MapReduce, искомым примером считать не будем. Наконец, на двух курсах по Big Data на Coursera, я нашёл не только живые примеры, но теоретическую подоплёку для более глубокого понимания происходящего. Возможность применить полученный багаж знаний не заставила себя долго ждать.

В этой небольшой статье я хочу поделиться опытом реализации классической для большинства Интернет-магазинов системы фильтров товаров по критериям применительно к туристическому порталу, где появилась задача поиска и фильтрации по базе в десятки тысяч отелей, каждый из которых описывается рядом параметров и наличием нескольких десятков предоставляемых сервисов из сотен возможных.
Всех интересующихся MongoDb и MapReduce приглашаю под кат.
Всего голосов 74: ↑69 и ↓5+64
Комментарии18

PhoneJS — Новый HTML5-фреймворк для мобильных приложений

Время на прочтение8 мин
Количество просмотров66K
Новые инструменты для разработки под мобильные устройства появляются сегодня чуть ли не каждый день. Большая часть из них — это HTML5-фреймворки, с помощью которых, обладая навыками веб-программиста, можно создавать приложения для смартфонов и планшетов, не углубляясь в изучение платформенных SDK и других языков.

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



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

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

Встречайте PhoneJS
Всего голосов 133: ↑110 и ↓23+87
Комментарии71

Разработка системы синхронизации в реальном времени с использованием SockJS, Django, Tornado и ZeroMQ

Время на прочтение5 мин
Количество просмотров21K
Не так давно, разрабатывая очередной программный продукт, наша команда разработчиков столкнулись с задачей реализации полноценной системы синхронизации пользовательских данных в реальном времени, путем рассылки (PUSH метод) изменений сервером. В самом приложении объем данных был не велик, но они могли просматриваться несколькими пользователями одновременно. Поэтому нам был необходим легковесный и достаточно производительный подход к синхронизации данных в рамках Веб-приложения. После того как были рассмотрены различные пути к решению этой задачи, мы остановили свой выбор на достаточно популярном эмуляторе WebSocket’ов – SockJS, который использует различные алгоритмы обмена данными между клиентом и сервером, в зависимости от браузера, которым пользуется клиент. В рамках данной статьи я не буду заострять внимание на том, почему был сделан именно такой выбор (по этому поводу написано немало статей, в том числе и на хабрахабре), а просто скажу, что мы ещё ни разу об этом не пожалели.

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

В этой статье я хотел бы рассказать о том, как мы решили эту задачу.
Читать дальше →
Всего голосов 28: ↑26 и ↓2+24
Комментарии20

Как я систему безопасности для авиакомпании разрабатывал и сам оказался в опасности

Время на прочтение14 мин
Количество просмотров140K
А еще говорят что крепостное право России отменили в 19 веке. Не верьте, это не так. История о контрастах в условиях работы в иностранной и российской компаниях, экшена разработки на java/GWT, лжи коллеги и поведения Директора, наслаждающегося своим всемогуществом и вседозволеностью, не подкрепленное законодательно.



Началось эта история когда заканчивался проект на прошлой работе. Все было солидно: крупная международная компания, коммандировки в США и Англию, стабильность и легкая скука из-за большого количества рутины на проекте. Никаких авралов, отлично выстроенный процесс разработки, отдельная QA команда и автоматизированные регрешен тесты, иностранный менеджмент за пару лет работы ни разу не повысивший голос ни на кого в комманде, проджект менеджер спокойно переносивший функционал в следующие релизы, когда не успевали с разработкой и тестированием. Отличный коллектив профессионалов, каждому можно было доверять и знать что в трудный момент помогут. Атмосфера дружбы, когда приятно приходить на работу и общаться. Но всему хорошему и спокойному всегда приходит конец :( И дальше как полоски у зебры, в моей жизни появилась новая полоса…
Читать дальше →
Всего голосов 307: ↑248 и ↓59+189
Комментарии433

SimplePHPEasyPlus: Складываем числа на PHP

Время на прочтение2 мин
Количество просмотров39K
На ранних стадиях развития интернета, разработчикам приходилось использовать бедные, убогие языки программирования. Приходилось использовать только функции и операторы. Никаких объектов, никаких интерфейсов, никакого dependency injection!

Скажем, чтобы выполнить простую операцию сложения, нашим отцам приходилось писать: 1+1. Да, серьезно.

Но теперь-то у нас есть PHP 5.3 с отличной имплементацией ООП! Представляем библиотеку SimplePHPEasyPlus! SimplePHPEasyPlus позволит вам складывать два числа современным способом, с использованием ООП. Он быстрый, простой, гибкий и оттестированный. Чтобы добавить 1 к 1, нужно всего лишь выполнить следующее:
Читать дальше →
Всего голосов 219: ↑173 и ↓46+127
Комментарии69

Оптимизация Windows для использования SSD диска: мифы и реальность

Время на прочтение6 мин
Количество просмотров850K


Когда весь интернет пестрит холиварами на тему «SSD ненадежны» и «SSD настолько быстрые, что я больше никогда не буду работать с HDD», думаю самое время внести немного ясности в то море противоречевой информации о самих SSD и о настройке Windows для работы с ними.

Кто заинтересовался, прошу под кат.

Читать дальше →
Всего голосов 129: ↑81 и ↓48+33
Комментарии293

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность