среда, 11 февраля 2015 г.

HowTo // Как строить Apache Thrift // part 2

Обновление к предыдущей статье.

Не прошло и полгода, как  коллеги из Siemens проникшись преимуществами CMake и добавили его таки в Apache Thrift. Причем похоже у них большие планы по полной замене automake в версии 1.0.0 и есть возможность (видимо их большинство в Apache Thrift project team).

Кое что взяли из моего, теперь уже бесспорно, заброшенного проекта.

Поддержка уже в ветке master.

пятница, 7 февраля 2014 г.

HowTo // Как строить Apache Thrift в Visual Studio

Доброго времени суток!

Прелюдия (не очень полезная информация)

Возник интерес по сборке и использованию Apache Thrift (в прошлом проект Facebook-а) у себя в продукте на Windows.

У Apache все работают на Mac/Linux и индейцев проблемы остального населения не беспокоят. Хотя, надо признать, в последние версии "пролезли" обрезанные проекты от Visual Studio для компилятора и библиотеки - земной поклон.

Мы же по простому крестьянски в Windows мастерим (иногда из любви к кросс платформенности проверяя MinGW/Cygwin или в виртуалочке на распоследней Fedora с clang).

И так мне не любо, когда необходимо читать README_WINDOWS.txt с какими-то инструкциями, что нужно вручную что-то скопировать, что-то переименовать и что-то прописать в переменные окружения. Да так, что руки невольно начинают "ерзать" по клавиатуре и описывать проект в CMake (простите за мою слабость к данному инструменту).

Так как "индейские" ребята из племени Апачей (как и Гуглоидов), походу, ненавидят CMake, о чем они демонстративно заявили, накорню убив в Июне 10-го интергацию какого-то залетного "перца" и его надежду в светлое будущее кросс платформенного генератора билдов. Поэтому, подавать это в "индейское" племя (Jira то бишь) видимо смысла нет.

Ну так вот... Подсмотрев идею не интрузивного (или не инвазивного???) проекта для Google Protobuf накидал похожее для ApacheThrift о чем спешу поделиться - может кому тоже подойдет.

HowTo (полезная информация)

Зависимости

CMake (у меня 2.8.12)
Git
Какой нибудь компилятор C++ (у меня основная платформа msvc++ 11 (vs2012))
Flex/Bison
Boost C++ (1.55 использую собранный, тем компилятором что выбрали выше)
Клонируете исходный код Thrift (можно официальный, можно зеркало)
Клонируете мой проект (fork me on github)

запустить из командной строки

cmake <путь к моему проекту> -DTHRIFT_SRC_ROOT=<путь до клона thrift>
если стандартный генератор не люб - добавте -G<имя генератора> (я например фэн Ninja)

Дополнительные опции (вроде понятные)

Обязательные (если cmake не найдет сам, по любому придется указать - зависимость)
  • -DBOOST_ROOT=<путь до Boost C++ Library>

Необязательные (без них будет строиться, но пропадут фичи упаковки и криптования)
  • -DWITH_TESTS=ON
  • -DZLIB_ROOT=<путь до ZLib>
  • -DOPENSSL_ROOT_DIR=<путь до OpenSSL>

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

Удачи.
----------
If you build it, CR will come... (старая Motorola-вская шутка)

среда, 19 декабря 2012 г.

Brainbench замерки.

Случайно зашел в прошлом году на Brainbench и по дешевке (что-то около 10 долларов) купил безлимитную подписку. Было бы дороже, не купил бы по причине банальной жадности.

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

Вроде получилось, хотя последний дался тяжелее  :)



Осталось до конца января 2013 еще осилить замер по C++.

Детали в транскрипте Transcript ID#: 7395311

среда, 7 декабря 2011 г.

git+ssh через https прокси

В продолжение предидущей темы о работе git из-за прокси.

Собственно, предидущая тема рассчитана на взятие и обновления исходного кода из репозитория (git clone/pull). Отдачу дельты она не подразумевает (git push).
Однако в жизни разработчика наступает момент, когда необходимо что-либо поместить на сервер.

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


И тут на помощь нам приходит corkscrew. На Fedora она есть в репозиториях.

  1. Устанавливаем corkscrew (yum install corkscrew)
  2. Добавляем в $HOME/.ssh/config следующие строчки
Host github.com
    User git
    HostName ssh.github.com
    Port 443
    ProxyCommand corkscrew 127.0.0.1 9090 %h %p


У меня используется cntlm прокси, поэтому адрес 127.0.0.1 и порт 9090. Если у кого не так, нужно заменить эти значения на те, которые используются в вашей сети.

Теперь git push должен работать из-за прокси.
Если нужен другой сервер с ssh (не github.com), его также нужно добавить в $HOME/.ssh/config


.

среда, 6 октября 2010 г.

Цитата от Стива (перепост)

Не имеет смысла нанимать толковых людей, а затем указывать, что им делать. Мы нанимаем толковых людей, чтобы они говорили, что делать нам.

Взято отсюда

четверг, 9 сентября 2010 г.

Основные принципы Pixar

Гуглил я тут недавно и наткнулся на статью в SHR Consulting про Pixar - секрет фантастического успеха Стива Джобса.

Надо сказать, что довольно простые и правильные принципы. Многим компаниям имеет смысл перенять их.

Не могу не привести их у себя

Принципы успешности Pixar
  1. Всегда учиться: команда Pixar постоянно задает себе вопросы: «почему» и «что если ..?», что приводит к замечательным открытиям.
  2. Поиск правильных партнеров: Pixar работает с компанией Disney, Томом Хенксом, Стивом Джобсом, Тимом Алленом и многими другими. Правильные партнеры помогут оптимизировать эффективность и раскроют потенциал.
  3. Командность: хорошие команды состоят из хороших элементов, в команде много задач важнее собственных желаний. Команда Pixar оставалась командой даже в не самые светлые свои дни.
  4. Человеческий капитал: Pixar дисциплинированно воспитывали и растили лучших из лучших, они инвестировали в блестящих людей. Человеческий капитал это не затраты – это инвестиции.
  5. Доверие интуиции: история Pixar полна моментов, когда логика бизнеса говорила "нет" творческой интуиции (например, 3D анимация по сравнению с 2D), но они воплощали в жизнь идеи и добивались оглушительного успеха.
  6. Вера в успех: эта вера позволила компании работать в течение очень трудных лет.
  7. Талант: Только талантливо рассказанные и показанные истории становятся бестселлерами.
  8. Работа - это праздник: команда Pixar отмечает как праздник маленькие технические победы в течение работы.
  9. Упорство: Pixar потребовались десять долгих лет, чтобы добиться успеха, в течение которых компания перепродавалась, теряла миллионы долларов.

среда, 8 сентября 2010 г.

туннельный синдром

Прочитал историю о туннельном синдроме. Ведь работаю с клавиатурой. Правда с Dvorak раскладкой. Иногда подолгу и на ноутбуке. И emacs использую. И колесо мышки кручу. Стало немного неуютно...

Потом прочел комментарии от Евгения Охотникова и успокоился. Честно признаюсь - ну не даю я 1 КLOC в рабочий день. А если бы и давал, то как в анекдоте - такая бы фигня получалась.

Берегите себя и свои пальцы/кисти.