• Как подготовиться к олимпиаде?

    alexandret
    @alexandret
    Программист, программист, маркетолог
    Городской тур это уже хорошо :)
    Для начала выбрать язык. Есть несколько популярных вариантов: python, C, Pascal.
    Я бы рекомендовала python как самый быстрый.
    Требуется:
    1) Запомнить особенности ввода-вывода как с экрана так и из файла. Не поленитесь и разберитесь с тем как считывать из файла и как в файл записывать.
    2) Написать 3-4 задачек на if-elif-else mccme.informatics.ru в помощь
    3) Написать 3-4 задачки на циклы и массивы.
    4) Надо знать хотя бы один алгоритм сортировки. В python надо знать, что существует встроенная сортировка
    5) Если вдруг останется время почитайте алгоритмы на графах. Как графы хранятся в памяти, bfs, dfs.

    6) Будьте готовы читать внимательно.
    7) Высыпайтесь :)

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

    Я не могу гарантировать, что в вашем наборе задач этого будет достаточно. Просто расслабьтесь и получайте удовольствие :)
    Ответ написан
    1 комментарий
  • Как решить данную задачу за O(log(n)*n)?

    alexandret
    @alexandret
    Программист, программист, маркетолог
    Эту задачу можно решить методом сканирующей прямой. Добавьте для каждого круга на окружность 2 точки: точку первого пересечения с прямой и точку второго пересечения с прямой. Точка это на самом деле структура, которая знает свою координату, к какой окружности она относится и является ли она точкой с меньшей или с большей координатой х для этой прямой)
    За N log N сортируем окружности по значениям X.
    Далее просматриваем все окружности. На каждом шаге нам надо решить как обновить число пересечений. Далее порисуйте варианты на листочке и найдите решение :)
    Ответ написан
    Комментировать
  • Внутренняя сортировка. Как лучше реализовать сортировку по нескольким полям?

    alexandret
    @alexandret
    Программист, программист, маркетолог
    Почему бы не сделать просто процедуру сравнения объектов типа Node? обычно она реализуется функцией cmp или встроенными "магическими" методами, как в питоне.

    А потом скармливать в функцию сортировки как один из параметров эту сравнивающую функцию.

    Аналогично можно использовать результат этой функции при построении бинарного дерева для того чтоб решить к какому поддереву должна относиться текущая вершина.
    Ответ написан
  • Существует ли сообщество начинающих программистов?

    alexandret
    @alexandret
    Программист, программист, маркетолог
    Как верно посоветовали, stepic.org, если хотите решить именно ту задачу, которую поставили.

    Мой совет, который опробовала на своем опыте: решайте контесты на разных сайтах. Это может быть Codeforces, информатикс, timus или что-то ещё, а параллельно общайтесь с более сильными программистами. Не стоит ориентироваться на код других новичков, тянитесь к более сильным, тогда развиваться придется быстрее. Попытаться найти себе друга и крутого разработчика в одном лице можно на митапах и конференциях или в самой обычной группе разработчиков(не новичков!) в том же вк. Чаще всего это будет активный комментатор.

    Ещё интересный вариант: возьмите за правило читать хотя бы раз в пару месяцев код на github, разбирайтесь, пытайтесь контрибьютить.
    Ответ написан
    Комментировать
  • Может ли Api Контакта отправлять сообщения?

    alexandret
    @alexandret
    Программист, программист, маркетолог
    1. сможет отправить сообщение именно с моего личного аккаунта указанным пользователям контакта. Возможно ли это сделать без моего личного присутствия за компьютером, просто авторизоваться по прописанным данным и отправить

    Да, сможет, если пользователь позволяет отправлять сообщения с такими правами доступа как у вас. (друзья друзей/друзья/произвольный пользователь вк). Сейчас у многих стоит ограничение и не_друзья отправлять сообщения не могут.

    2. Отправить сообщение указанным пользователям контакта после авторизации в скрипте через свой аккаунт вконтакте

    Не понимаю чем этот вопрос отличается от первого.

    3. Получить список сообщений в моей личке также без моего личного присутствия за компьютером, просто по указаным логину и паролю проверить почту

    Да, без проблем. Но все таки в вк принято использовать не логин+пароль, а access_token. Насколько я знаю, все библиотеки, которые умели работать по связки логин+пароль сейчас не работают с этим методом.
    Получение токена дело простое, да и можно сделать так, чтоб обновлять его практически не надо было(только при смене пароля)
    Ответ написан
    Комментировать
  • Нужно ли добавлять в резюме на hh сертификаты «ИНТУИТ»?

    alexandret
    @alexandret
    Программист, программист, маркетолог
    В начале карьеры, после института, да.
    Когда карьера уже стабильная, есть опыт работы, то лучше пишите результаты по прошлой работе. Иначе многие сертификаты выглядят как "мне больше нечем заняться на рабочем месте, поэтому я провожу это время на INTUIT".
    Это не относится к серьезным сертификатам, типа CISCO, Oracle и так далее...
    Ответ написан
    Комментировать
  • Как привлечь аудиторию к боту в мессенджере?

    alexandret
    @alexandret
    Программист, программист, маркетолог
    Прежде всего составьте список целевых аудиторий. В вашем случае вряд ли она будет одна. Например, этот бот может быть интересен программистам, просто поиграться и кому-то ещё :)
    Для каждой ЦА определите какую проблему ваш бот решает и чем он лучше других решений, например, "всё в одном приложении, не надо устанавливать миллион других приложений", "техподдержка поможет, если вы боитесь не разобраться" и так далее.

    Для каждой ЦА определите где они обитают. Начните с групп в вк, например молодые мамы, путешественники, стартаперы и так далее. С огромным количеством небольших групп (до 3000 человек), можно договориться за спасибо или за плюшку для их пользователей, например "по секретной команде abacabadaba вы сможете установить приветствие от бота 'да, мой повелитель'". Пользуйтесь этим.

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

    Используйте силу слабых связей(Networking). Ну, и не забывайте параллельно рассказывать всем своим хорошим друзьям. Как говорил Карнеги, “ока­зы­вать вли­я­ние на дру­гих лю­дей мож­но лишь од­ним спо­со­бом – го­во­рить о том, че­го хо­тят они, и по­ка­зы­вать им, как по­лу­чить же­ла­е­мое.”. Ваше оказывать влияние -- привлекать к пользованию.

    Удачи!
    Ответ написан
    Комментировать
  • Обязательно ли в коде придерживаться стандарта ширины строки в 80 символов?

    alexandret
    @alexandret
    Программист, программист, маркетолог
    Давайте считать, что нет. Действительно, ширина в 80 символов задана для того, чтоб на небольших экранах строка кода полностью помещалась и можно было обойтись без горизонтального скрола. На моем опыте, это уменьшает число ошибок у начинающих программистов.
    Многие языки программирования поддерживаю спецсимволы физического перехода на новую строку без логического разрыва строки(например в python это символ \ перд enter)

    Ну и последнее, у меня коммиты для python производятся через code review в соответствии со стандартом PEP8. С длинными строками не заходит :)
    Ответ написан
    Комментировать
  • Какие методы продвижения сервиса с бюджетом, близким к 0, вы бы порекомендовали?

    alexandret
    @alexandret
    Программист, программист, маркетолог
    Делать всё собственными руками, а не руками мастеров.

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

    Эти методы небыстрые, трудоемкие, как и любые другие методы, они не дают никаких гарантий о том, что вы добьетесь успеха. Но если нет возможности платить и не хотите портить карму, эти пути вполне подойдут.
    Ответ написан
    Комментировать
  • Как получить данные об активности пользователя через VK API?

    alexandret
    @alexandret
    Программист, программист, маркетолог
    Что-то мне подсказывает, что API вк подобную(но всё равно не полную) информацию может выдавать только про пользователей, использующих приложение. Про случайную страницу -- доступ к лайкам и большинству активностей на сайте получить через официальный API не получится.
    Ответ написан
  • Как реализовать привязку модели User к постам?

    alexandret
    @alexandret
    Программист, программист, маркетолог
    Вот пример того, что вы хотите сделать, как я понимаю.
    Обратите внимание на строчку author = models.ForeignKey('auth.User')
    Она говорит, что пост будет привязан к одному из зарегистрированных на сайте пользователей.

    Дальше можете просто подредактировать модель auth.User и расширить ее так как надо вам
    Ответ написан
    Комментировать
  • Как попасть на чемпионат по спортивному программированию?

    alexandret
    @alexandret
    Программист, программист, маркетолог
    Чемпионатов много. В ближайшее воскресение начинается отбор на Russian Code Cup, например.
    В прошлое воскресение прошла квалификация на Google code jam
    Где-то с месяц назад был отбор VK cup
    Есть Top Coder, Challenge24, Facebook hacker cup
    Вариантов масса. Какие-то рассчитаны на студентов, например acm icpc, а какие-то организованы компаниями типа VK, google, yandex.

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

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

    В любом случае, следить за новостями этой области удобно на Codeforces там же и свои навыки олимпиадного программирования подтянуть можно
    Ответ написан
    Комментировать
  • Прошу совета в выборе приложения для GTD на Windows Phone 8.1?

    alexandret
    @alexandret
    Программист, программист, маркетолог
    Wunderlist очень удобен.
    У меня организовано GTD по принципу в моей личной папке есть отдельные списки
    1. входящее
    2. первоочередные шаги
    3. ожидание
    4. календарь
    5. когда-нибудь может быть
    • Удобно используя хештеги указывать кайросы, время которое дело займет и проект к которому относится.
    • Очень здорово что открыть можно и в web и в приложении на macbook, ipad, android.
    • Система повторяющихся дел не очень гибкая, но для большинства дел подходит. Например, можно сделать дело которое повторяется с определенной периодичностью, но сделать дело, которое повторно появится через N дней после выполнения этого дела настроить, вроде, не получится.
    • Списки можно шарить с другими людьми.
    • Древовидность структуры слабенькая. Есть папки, в папках есть списки, в списках есть задачи, в задачах есть подпункты. Например папки в папки запихнуть нельзя.
    Ответ написан
    Комментировать