Categories

Checkio.ORG

Subscribe to Posts

Email:

  • 08Mar
    Под капотом у нас Python, Django и Twisted.

    Немного о проекте: CheckiO это соревновательный портал для программистов. Мы растим хакеров :) Так что креативность приветствуется.

    Из последних новостей – мы прошли в TechStars Boston. Нас ждут новые знакомства и приключения.

    Сейчас нас уже 9. Разробы, дизайнеры, райтеры. И мы продолжаем расти!

    Деньгами не обидим. Пишите a.lyabah [at] checkio [dot] org . Буду рад пообщаться!

    Share and Enjoy:
    • Facebook
    • LinkedIn
    • Twitter
    • del.icio.us
    • StumbleUpon
    • MySpace
    • Reddit
    • Digg
    • Google Bookmarks
    • Technorati
    • email
    • Print
    • Sphinn
    • Mixx
    • Blogplay
    • Add to favorites
    • Linkter
    • Live
    • MSN Reporter
    • NewsVine
    • RSS
    • Yahoo! Bookmarks
    • Yahoo! Buzz
    • Yigg
    Rating 3.00 out of 5
    [?]

    Tags:

  • 18Nov


    (На фотографии – великий учитель и великий ученик. Ип Ман и Брюс Ли)

    Если вы хотите учиться программировать — берите и учитесь. Серьезно. В интернете — море, просто масса, литературы на разных языках о разных языках. Масса интерактивных курсов. Зачем создавать еще один.

    Куда более важные вопросы для новичка — с чего начать? Как выйти из тупика? И мне кажется — решения именно такого рода вопросов является более важным на пути от новичка к профи.

    Поэтому одна из идей — это введение на портале CheckiO двух новых ролей — ученик ( падаван, … ) и адваизер ( советник, мастер )

    Кто такой ученик?

    На самом деле — все мы постоянно учимся. Я считаю, что скил самообучения — это самый ценный скил разработчика сейчас. Поэтому каждый из нас сейчас ученик, и даже тот, кто учит. Ученик – это тот, у кого есть желание стать лучше, чем он есть сейчас.

    Кто для ученика адваизер?

    Во-первых — это тот, кто будет направлять, кто поможет выйти из тупика или сложившейся проблемы. Это тот кто не дает правильные ответы, а тот, кто помогает их найти самому.

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

    В третьих — он даже может быть тем, который напишет ученику первую рекомендацию о приеме на работу.

    Кто такой адвайзер?

    Это уже разработчик с опытом, который не плохо ориентируется в области и возможно даже своими знаниями уже зарабатывает себе на жизнь.

    Таким образом сразу можем ответить на вопрос — кем адваизер не является? Он не нянька для ученика :) Простите, за возможно излишнюю грубость. Но мое мнение такое, что главное в разработке — начать пробовать писать самому сначала, набить свои шишки, и если уж вы решили стать разробом, то будьте готовы к падениям, а адвайзер поможет вам быстрее встать и быть готовым сделать это еще раз.

    Кто для адвайзера ученик?

    С профессиональной точки зрения еще не сразу понятно — кто кого учит. Я считаю, и имею примеры из своего опыта, хороший ученик быстро начнет генерить интересные идеи и задавать интересные вопросы :)

    Отвечая на вопросы — сортируешь свои собственные идеи и знания в голове.

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

    Адвайзер может рекомендовать Software или HR компаниям своих лучших учеников, и при этом платятся очень хорошие деньги. И профит будет у вас обоих :)

    Что в результате хочу увидеть?

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

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

    Сейчас я нахожусь на этапе проверки идеи, поэтому интересуюсь вашим мнением.

    Что думаете о такой системе построения обучения?

    Стали бы Вы учеником или адвайзером на CheckiO?

    Спасибо.

    PS: Ученик – термин из классической системы образования, и я подумываю, на что его можно поменять. Есть идеи?

    Share and Enjoy:
    • Facebook
    • LinkedIn
    • Twitter
    • del.icio.us
    • StumbleUpon
    • MySpace
    • Reddit
    • Digg
    • Google Bookmarks
    • Technorati
    • email
    • Print
    • Sphinn
    • Mixx
    • Blogplay
    • Add to favorites
    • Linkter
    • Live
    • MSN Reporter
    • NewsVine
    • RSS
    • Yahoo! Bookmarks
    • Yahoo! Buzz
    • Yigg
    Rating 3.00 out of 5
    [?]

    Tags: ,

  • 12Apr

    Желательно в офис на полную, Днепропетровск. Но можно и удаленка. Работа над проектом CheckIO.org

    Можно писать сюда support@lyabah.com или звонить сюда +380503625288

    Share and Enjoy:
    • Facebook
    • LinkedIn
    • Twitter
    • del.icio.us
    • StumbleUpon
    • MySpace
    • Reddit
    • Digg
    • Google Bookmarks
    • Technorati
    • email
    • Print
    • Sphinn
    • Mixx
    • Blogplay
    • Add to favorites
    • Linkter
    • Live
    • MSN Reporter
    • NewsVine
    • RSS
    • Yahoo! Bookmarks
    • Yahoo! Buzz
    • Yigg
    Rating 3.00 out of 5
    [?]

    Tags: ,

  • 05Apr

    Главное, чтоб был хороший и добрый :)

    Знания ангийского – ОК, знания python – ОК. Но главное чтобы был хороший…. и добрый…

    Оплата договорная после собеседования. Рабоать можно как удаленно, так и в офисе Днепропетровск, Украина, так и парттайм :)

    Можно писать, а можно звонить +380503625288

    Share and Enjoy:
    • Facebook
    • LinkedIn
    • Twitter
    • del.icio.us
    • StumbleUpon
    • MySpace
    • Reddit
    • Digg
    • Google Bookmarks
    • Technorati
    • email
    • Print
    • Sphinn
    • Mixx
    • Blogplay
    • Add to favorites
    • Linkter
    • Live
    • MSN Reporter
    • NewsVine
    • RSS
    • Yahoo! Bookmarks
    • Yahoo! Buzz
    • Yigg
    Rating 3.00 out of 5
    [?]

    Tags:

  • 22Mar

    Добавляя задачу UCSVLOG Reader на CheckIO я столкнулся с тем, что мне приходилось часто тестировать функцию на предмет все новых и новых ( и каждый раз разных ) входных значений. Когда я отмучился и добавил таки это решение – мне пришла в голову еще одна замечательная функция для CheckIO – Run in console

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

    Через несколько часов кнопочка появилась в продакшене. Тыцаю – тыцаю, нарадоваться не могу. Наш Editor в CheckIO становится удобнее того, что у меня на десктопе.

    Share and Enjoy:
    • Facebook
    • LinkedIn
    • Twitter
    • del.icio.us
    • StumbleUpon
    • MySpace
    • Reddit
    • Digg
    • Google Bookmarks
    • Technorati
    • email
    • Print
    • Sphinn
    • Mixx
    • Blogplay
    • Add to favorites
    • Linkter
    • Live
    • MSN Reporter
    • NewsVine
    • RSS
    • Yahoo! Bookmarks
    • Yahoo! Buzz
    • Yigg
    Rating 3.00 out of 5
    [?]
  • 22Mar

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

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

    Речь идет о UCSVLOG Reader, и я уже не раз упоминал о нем тут, а на предыдущем uapycon даже 5 минут про них рассказал. В одном из моих текущих проектов – сами логи и их аналитика – заняли важное место. А наработки в виде апы django_ucsvlog_analytics собираюсь в скором времени подчистить и выложить в сеть.

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

    Пробуйте… Пробуйте решить… Пробуйте добавить свое решение… Вам понравится :)

    PS: Добавляя эту задачу я столкнулся с тем, что мне приходилось часто тестировать функцию на предмет все новых и новых ( и каждый раз разных ) входных значений. Когда я отмучился и добавил таки это решение – мне пришла в голову еще одна замечательная функция для CheckIO, о которой расскажу в следующей статье…..

    Share and Enjoy:
    • Facebook
    • LinkedIn
    • Twitter
    • del.icio.us
    • StumbleUpon
    • MySpace
    • Reddit
    • Digg
    • Google Bookmarks
    • Technorati
    • email
    • Print
    • Sphinn
    • Mixx
    • Blogplay
    • Add to favorites
    • Linkter
    • Live
    • MSN Reporter
    • NewsVine
    • RSS
    • Yahoo! Bookmarks
    • Yahoo! Buzz
    • Yigg
    Rating 3.00 out of 5
    [?]

    Tags:

  • 19Mar

     Мы не писали о Checkio уже довольно давно. Уйдя в очень глубокий девелоп, мы старались учесть все пожелания пользователей прежде, чем представлять следующий релиз. Но проект не прекращал работать. Мы все так же радушно принимаем постоянных посетителей и новичков ( ~ 1k ), которые не перестают удивлять нас интересными и неординарными решениями ( ~ 3k ). Мы обсуждаем с ними новые идеи и вместе внедряем их в жизнь. А теперь тем, что у нас получилось, хотим поделиться с вами.

     Я решил не перегружать статью информацией обо всех сервисах сразу, а создать серию статей о CheckIO в своем блоге.

     Начнем с раздела “Catalog of tasks” ( далее для простоты – просто Таски ) – своеобразного фундамента Checkio, ведь именно с него начинался наш проект. Таски представляют собой задачи, собранные в каталоге и разделенные по тематикам. Любой пользователь Checkio может выбрать задачу по душе и проверить свои силы в ее решении. На первый взгляд ничего сверхъестественного, и кажется, что CheckIO ничем не отличается от миллиона других интернет “решалок”. Но давайте взглянем поглубже на процесс решения, и вы поймете, в чем вся соль.

     Итак, алгоритм решения задач сводится к следующему:
    * Выбираем задачу, изучаем ее условие, примеры. В большинстве случаев Вашей задачей является написание правильной функции checkio, ее то система и будет проверять, чтобы определить правильность Вашего решения.

    * Нажимаем “Solve It“ и переходим к построению кода. В редакторе Вы видите небольшую заготовку для Вашего решения. Это пустая функция checkio с описанием того, что нужно сделать, и ряд тестов для нее.

    * Если после запуска программы под всеми асертами в коде вы видите вывод “All ok”, – значит предварительно у Вас все хорошо, и пора отправлять программу на тестирование – т.е. нажать Check. Система будет тестировать Вашу программу на аналогичных примерах, плюс еще на одном скрытом, который очень похож на остальные и нужен лишь для того, чтобы отсечь возможность мошенничества.

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

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

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

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

     Такой алгоритм дает целый ряд преимуществ.

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

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

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

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

     Мне кажется, эти особенности нашего портала превращают решение задач в непрерывную и интересную игру, в которой вы совершенствуете свои навыки и набираете очки :)

    А решать задачи на CheckIO теперь можно, используя любую из версии питона – Python 2.7 и Python 3.2 – для каждого из них составляется отдельный рейтинг задач, решений и пользователей.

     Хотим также обратить Ваше внимание на то, что у нас есть несколько особенных разделов каталога Тасков. Задачи в каждом разделе отличаются дополнительными правилами и особенностями, что делает их решения еще интереснее.

     Например, раздел Shorts содержит задачи, которые нужно решить как можно короче, ведь Питон имеет столько разных плюшек для сведения задачи в одну линию. В разделе Funny нужно решить задачи как можно более необычно, – забавнее, если хотите, а пользователи будут оценивать, насколько интересно и неординарно это у Вас получилось. А в разделе Games собраны классические игры-головоломки. Например, попробуйте написать решение игры “Сапер”.

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

    Спасибо и жду Ваших отзывов.

    PS: Напомню, что это лишь первая статья из запланированного цикла, так что если хотите первым узнать о новинках и особенностях CheckIO – подписывайтесь на запланированного цикла, так что если хотите первым узнать о новинках и особенностях CheckIO – подписывайтесь на RSS или следите за нами в соц.сетях.

    Share and Enjoy:
    • Facebook
    • LinkedIn
    • Twitter
    • del.icio.us
    • StumbleUpon
    • MySpace
    • Reddit
    • Digg
    • Google Bookmarks
    • Technorati
    • email
    • Print
    • Sphinn
    • Mixx
    • Blogplay
    • Add to favorites
    • Linkter
    • Live
    • MSN Reporter
    • NewsVine
    • RSS
    • Yahoo! Bookmarks
    • Yahoo! Buzz
    • Yigg
    Rating 3.00 out of 5
    [?]

   

Recent Posts

Recent Comments

  • Благодарю, начал изучать fabric с вашей статьи....
  • Идея действительно отличная и очень радует то, что подобн...
  • Спасибо...
  • Там четыре круглых кнопочки. Подразумевается, что каждая ...
  • А в чем заключатеся неправильна работа?...