Сразу два новых рекорда было поставлено в минувший вторник. Рекордное количество мест (70 против предыдущих 40-50) было расхватано ровно за сутки (против 1.5 суток в прошлый раз). Вероятно, это объясняется темой, немного выходящей за рамки просто IT – “ИТ-бизнес”. Помещение на 70 мест любезно предоставила фирма Helmes, за что ей большое спасибо.
Флагманом встречи был вопрос: “Стоит ли мне сидеть в моей компании и работать на дядю, получая X крон, если я могу сделать свою фирму и делая ту же работу, получать гораздо больше”?
Сиим изъявляю желание оповестить общественность о грядущем собрании DevClub, кое состоится во вторник 28 июля сего года.
Что?
В этот раз мы поговорим об IT-бизнесе.
Нет такого девелопера, который бы хоть не раз не задумывался о том, что он всю жизнь работает на какого-то дядю, работает
своей светлой головушкой не покладая сил, а дядя забирает большую часть прибыли себе. “А вон соседский Толик открыл свой бизнес, и все деньги забирает себе. Вона уже Марседес себе прикупил. Тоже такое хочу!” Действительно ли всё так легко и просто?
И конечно, не раз все слышали о том, что Java и PHP не рулят, сейчас все реальные пацаны пишут на каком-то Ruby, который позволяет создавать проекты и зашибать бабло гораздо проще и быстрее.
Поэтому перед нами выступят два человека, которые на практике знают, насколько это легко или трудно, поделяться опытом и раздадут каждому по совету. Внимание!Уже сейчас можно в комментариях задавать вопросы докладчикам, это поможет им понять, какие вопросы волнуют аудиторию, и лучше спланировать свои доклады.
Закончит встречу Ярослав, который в прямом эфире покажет, как с нуля за 30 минут создать работающий проект с помощью Ruby on Rails.
И мы все увидим, действительно ли Руби так хорош.
Итак, докладчики:
- Андрей Тукин, OX EESTI OY – IT-бизнес с точки зрения бизнеса,
- Захар Кириллов, Baltic IT Solutions – IT-бизнес с точки зрения IT
- Ярослав Калищук, Jaralex OY – Ruby On Rails hands-on
Начало мероприятия в 19.00, двери открываются 18.40. На разогреве работает специальный массовик-затейник, поэтому имеет смысл прийти не в последний момент.
С собой иметь: очки, хорошее настроение, компас.
Как зарегистрироваться:
Для регистрации заполните форму ниже. Количество мест ограничено – всего 60 голов максимум.
Торопитесь, места разбирают очень быстро!
Осталось мест: 60 58 53 50 35 27 18 16 14 8 4 1 Мест больше нет .
Запишитесь всё равно, вдруг кто-то откажется.
PS. Не забываем про домашнее задание от Кирилла! Вопреки ожиданиям, не было ни одного правильного ответа, не говоря уже об оптимальных решениях. Знатоки баз, ауу!
Андрей рассказал о там как можно инкрементально изменять структуру базы, и что этому сопутствует, а так же рассказал об инструментарии который мог бы упросить работу при разработке приложений.
Итак состоялась наша встреча, посвященная базам данных.
Присутствовало около 40 человек и,не смотря на некоторые технические заминки в начале, все остались довольны.
Для затравки
Фотоотчетик, предоставленный Антоном Архиповым(Swedbank).
Давайте напомню, что происходило на нашем заседании. Сами презентации будут выложены чуть позже. Необходимо время на обработку видео и сведения звука.
Открыл встречу Сергей Мудрецов(Skype) с доклада “Мир баз данных, его тенденции и тонкости” о Sybase и сравнении его с некторыми другими популярными и не очень OLAP решениями. Из презентации мы узнали о том что есть такая замечательная база как Sybase, получили представление о фишках приятных и не особо в MS SQL, MySQL, SAS и Progress. Доклад получился интересным, хотя и слегка затянутым. Было много вопросов из зала, в частности “что же такое OLAP?” и “с чем его едят?”. Надеюсь эта тема ещё будет подниматься на следующих встречах.
После перерыва Мартин Киуру(Swedbank) продолжил заседание с презентацией “Oracle Secrets” о секретах Oracle.Тёмных тайн нам не открыли, однако поделились опытом в оптимизации запросов. Надеюсь теперь все имеют представление о построении запросов, операторах, которых не стоит использовать в конкретных случаях, хинтах, и собственно как посмотреть, что движок вытворяет с запросом и на что уходят драгоценные секунды. Из зала были также слышны ценные дополнения.
Завершил нашу встречу Андрей Солнцев(Hireright) с докладом “Evolutionary database design” о Эволюционном дизайне баз данных, проще говоря, об Agile разработке применительно к базам данных и о инструментах, которые позволяют внести порядок в процедуру разработки, установки и отката скриптов, версионирование. В частности Андрей посоветовал литературу по рефакторингу баз данных и вкратце ознакомил с использованием библиотек DB Deploy и LiquiBase, построенных на принципах, изложенных в этой книге.
В конце я вскольз рассказал о линейке продуктов Redgate для синхронизации структуры и данных между базами.
В перерывах участники активно общались между собой. Кто-то встретил старых знакомых, кто-то завёл новых. Мы рады, что встреча оказалась настолько интересной и вы нашли в себе силы прийти, несмотря на летнюю погоду . Заполненные анкеты и собранные пожертвования помогут нам успешно провести следующее заседание.
Пользуясь случаем хотелось бы выразить благодарность
- Арсению Григорьеву(Aqris) и команде Aqris’a за гостепреимство
- Кириллу Линнику(Skype) за модераторство и конкурс с призами
- Захару Кириллову за неоценимую помощь с призами
- Александру Моченову(Tallink) за предоставление Devclub-у в пользование мега-пульта дял презентаций с лазерной указкой
- Евгению Холодкову(Ericsson) за диктофон с head-set’ом.
Домашнее задание.
Дабы поддержать добрую традицию приятных призов за вопросы, Кирилл предлагает вашему вниманию простую, но интересную задачку.
Итак, имеется следующая бизнес-логика: Пользователь блокируется различными системами, которые находят его поведение небезопасным. Если тревога ложная, то разблокируется он один раз.
В итоге имеем простую табличку: status_log: id (int)
user (varchar)
reason (varchar)
is_blocked (int 0-1)
change_time (datetime). Проблема:в табличке записей крайне много. Вопрос:как одним запросом найти всех пользователей, с временем и причиной первой блокировки, а так же временем и причиной разблокировки. Ремарка: блок-разблок может происходить несколько раз.
Диалект решения – стандартный 92. Если вы знаете, что на другом диалекте можно это сделать еще эффективней – можете добавить и это решение, что добавит вам призовых баллов. Победитель будет объявлен на следующей встрече и без приза ему будет не уйти Ответы можно постить в комменты, или отправлять на e-mail – kirill точка linnik собака mail точка ee.
P. S. для тех, кто так и не уловил смысл ремарки, показываю на данных. допустим, у нас такая временная дата по одному юзеру (число – в блок?):
1 – 1
2 – 1
3 – 0
4 – 0
6 – 1
7 – 1
8 – 0
9 – 0
скрипт в конечном итоге по этому юзеру должен выдать 2(!!) записи:
даты 1 и 3 + даты 6 и 8. т.е. те даты, в период которых пользователь был заблочен. в период 3-6 и другие он в блоке не был