• Оправдан ли переезд в Санкт-Петербург в нынешних реалиях?

    uam
    @uam
    Зарплаты точно не хватит. Опыта на мой взгляд мало и лично я бы не рискнул с таким опытом. Я бы остался на этой работе, а после нее развивал бы свои скилы. Возраст особо роли не играет. 30 рублей для хорошего андроид разработчика - ничто. И 30 рублей для питера это тоже не деньги. Квартиру только на нее где-нибудь на окраине снимать.
    Ответ написан
    6 комментариев
  • Фриланс android разработчик без опыта, смс и регистрации?

    @djay
    Умение быть психологом в некоторой мере, особенно когда это нужно, не повредит. Но обо всём по-порядку:

    > Реально ли стать фрилансером по android начиная без какого-либо опыта?
    Взлянем на этот вопрос со стороны заказчика - Ты владелец чего либо, у тебя проект, сроки ограничены и нужен результат в скором времени. Будешь ли ты давать этот заказ человеку без опыта, пусть даже если он просит цену ниже, чем остальные? Или же все таки предпочтение отдаётся тем что с опытом и с рыночной ценой?

    Мораль: Неопытные, начинающие программисты по очевидным причинам никому не нужны, особенно на трудовой бирже. Люди приходят на биржу работать, а не учится.

    > Вообще существуют ли фрилансеры среди android разработчиков?
    Конечно, как и для любой другой сферы. Вот например:
    ww.freelancer.com/find/Android‎

    > Сколько нужно проектов сделать самостоятельно и какого уровня проекты должны быть (желательно максимально описанные примеры)?

    Проект может быть и один, но крупный и популярный. Проектов может быть несколько - но средней сложности и не очень популярными. Самое главное не количество - а популярность и ценность среди аудитории.

    > Какая среди них конкуренция?
    Зависит от потребности аудитории, опять же.

    > Реально ли найти работу удалённо опять же учитывая отсутствие опыта в принципе?
    Нет, не реально. Удалённая работа - она сама по себе требует железной дисциплины и требует гораздо большего доверия к тебе со стороны работодателя. Даже допустим найдешь ты удаленного работодателя - его первый вопрос будет примерно такой : Сколько у вас опыта? Покажите проекты над которыми вы работали.
    Ответ написан
    1 комментарий
  • Фриланс android разработчик без опыта, смс и регистрации?

    IonDen
    @IonDen
    JavaScript developer. IonDen.com
    Ну, на самом деле, почти все приходят во фриланс не имея за спиной никакого вменяемого опыта. Дальше помогает усидчивость и удача отхватить какой-то мелкий не сложный проектик (например пока конкуренты спят :) Для этого нужно денно и нощно мониторить фриланс биржи и иметь регу везде. Так постепенно, капля по капле, накапливается портфолио и растет шанс получить заказы по круче.

    Помимо этого, многие пацаны пытаются что-то написать для себя, какую нибудь бесплатную программу (может видели в апп сторах и гугл плеях тонны почти одинаковых калькуляторов, мониторов валют и прочих простеньких приложений вроде фонарика с мигалкой?). Это тоже опыт и тоже портфолио.

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

    MarcusAurelius
    @MarcusAurelius
    автор Impress Application Server для Node.js
    Идея/концепция к проектированию не относится, это отдельный предварительный этап. Для проектов побольше, и в общем случае, проектирование включает такие шаги, многие из которых, конечно, можно пропустить или сократить до минимума, если задача не сложная:
    1. Системный анализ и изучение предметной области
    2. Формирование требований к разрабатываемой системе
    3. Архитектуная задача, которая сводится к простой формуле: разделять, называть и связывать подсистемы
    3.1. Декомпозиция сложных задач
    3.2. Слои (построение слоев абстракций)
    3.3. Планирование топологии системы, программной и серверной инфраструктур
    3.4. Решение вопроса интеграции подсистем, программные интерфейсы, контракты и связывание
    3.5. Интеграция с унаследованными приложениями
    3.6. Минимизация изменений, для случаев, когда постоянно происходят изменения в предметной области
    4. Выбор инструментов решения
    4.1. Выбор парадигм программирования и языков
    4.2. Выбор технологий и платформ
    4.3. Выбор моделей данных, алгоритмов и библиотек
    4.4. Выбор топологий и протоколов
    4.5. Выбор паттернов программирования
    5. Предварительные исследования
    5.1. Проверка гипотез, эксперименты
    5.2. Изучение особенностей технологий
    5.3. Прототипирование
    6. Задачи обеспечения надежности
    6.1. Планирование безопасности и защиты от несанкционированного доступа
    6.2. Планирование отказоустойчивости
    6.3. Планирование мер по обслуживанию системы в режиме эксплуатации
    6.4. Задачи высоких нагрузок, балансировки и масштабирования, если таковые предполагаются
    7. Организация процесса разработки
    7.1. Жизненный цикл программной системы
    7.2. Конвенции кода, соглашения и стандарты
    7.3. Оценка необходимых временных и финансовых ресурсов для разработки системы
    7.4. Календарный план
    7.5. Анализ и минимизация рисков, выявление слабых мест технологий и коллектива
    7.6. Закрепление принципов управления процессом разработки и корректировки задания в процессе
    8. Сборка технического задания из результатов всех предыдущих пунктов
    Ответ написан
    2 комментария
  • Какие руби фреймворки cтоит попробовать?

    2ord
    @2ord
    Здесь есть список: https://www.ruby-toolbox.com/categories/web_app_fr...
    RoR - самый функциональный из известных. Остальные предоставляют меньше удобств/сахара.
    Если нужно небольшое веб-приложение, то должно подойти Padrino (сам не пробовал).
    Если совсем маленькое, то Sinatra. Выбирал бы для написания сайта-визитки, API сервера.

    Есть ещё малораспространённые LotusRb, Volt.

    Кроме ActiveRecord стоит ознакомиться и с другими ORM. Например, squeel.
    Ответ написан
    Комментировать
  • Какой порядок технологий правильный?

    @Elizavetta
    Matroid: gamedev/js-разработка
    Вот эта цепочка

    html-css-jade-stylus-emmet-js-git-gulp-bower-ruby/python/php
    - что-то в ней не то, человек переходит на бэкенд, а где он научился программировать, не ясно ...

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

    1. учитесь программировать на любом языке (C/C++ ок), устраняете базовые пробелы в математике/CS, если есть,
    изучаете алгоритмы/структуры данных. Полгода раз в неделю можно писать контесты codeforces.com, там кстати Javascript поддерживается, можно прямо на JS писать, можно языки чередовать
    Подняв навык кодинга и решения задач, выбираете специализацию, в данном случае JS
    2. Изучаете язык Javascript, его особенности, тонкости, и нативный Javascript, в том числе среду исполнения-браузеры, можно по javascript.ru
    3. Изучаете лэйауты и CSS на уровне понимания как оно работает, но не более, разбираетесь в структурировании, модульности, методологии CSS, можно BEM и тп
    4. изучаете возможности HTML5, спецификации последние обновления, пишете какое-нибудь HTML5-приложение на native JS
    5. где-то в промежутке инструменты разработки, билда
    6. jQuery на уровне понимания, как все работает
    7. переходите собственно к современным фреймворкам, специализируетесь на чем-то
    Ответ написан
    Комментировать
  • Какой порядок технологий правильный?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Какой порядок технологий правильный?

    Тот, который помогает вам решать ваши прикладные задачи.

    Если вы хотите заниматься фронтом - на кой вам С? Изучайте препроцессоры CSS: Less, Stylus; препроцессоры JS: CoffeeScript; препроцессоры HTML: Jade, EJS. Так же покурите NodeJS обязательно.
    Изучите принципы проектирования фронт компонентов: БЭМ
    Изучите современные фреймворки: Bootstrap, Backbone, Angular, Ember, Foundation, ExtJS...
    Так же посмотрите сборщики: Grunt, Gulp.
    Пакетные менеджеры: NPM, Bower.
    Обязательно изучите GIT.

    В общем тут работы на несколько лет усиленного изучения))
    Ответ написан
    Комментировать
  • В чем суть философии проекта Django?

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

    Помимо этого если у вас фактически на одному инстансу джанги соответствует один сервис, разделение на пликейшены опять же имеет смысл, опять таки для борьбы со сложностью, так сказать инкапсуляция ооп в макромасштабе, разделяете проект по логическим составляющим и каждая пишется в своём апликешене, это очень удобно.
    Ответ написан
    Комментировать
  • Как продолжать с последнего id (auto_increment)?

    Да. Можно сбросить autoincrement до нужного значения.
    Если не ошибаюсь вот так:
    ALTER TABLE `table_name` AUTO_INCREMENT = <число>

    <Число> не может быть меньше текущего максимального id. Если например написать
    ALTER TABLE `table_name` AUTO_INCREMENT = 0
    будет сброшен на текущее максимальное значение.
    Ответ написан
    Комментировать
  • Куда двигаться дальше с Java?

    @bromzh
    Drugs-driven development
    До андроида на яве делали всё тоже самое - писали игры для мобильников на JavaME. И в вебе использовали. Только не для небольших проектов, а для крупных порталов. А из-за позиции разработчиков языка об сохранении обратной совместимости её любили и любят крупные корпорации, где на яве пишут те же веб-приложения, только для внутренних сетей.
    Плюс, в стандартной поставке самого языка есть кроссплатформенный GUI. Сам язык поддерживает нормальную многопоточность, имеется огромная куча библиотек на все случаи жизни.
    В итоге, ява и раньше и сейчас используется в самых разных областях, в отличие от узкоспециализированных языков. А сами вакансии обычно оплачиваются больше, нежели аналогичные для других языков.
    Ответ написан
    Комментировать
  • Куда двигаться дальше с Java?

    @Elizavetta
    Matroid: gamedev/js-разработка
    Вы как-то очень шаблонно мыслите, php=web, python=все подряд.
    Вот Java в принципе тоже = все подряд. Веб-бекенды, highload сервера, аналитика, банковские сервисы, игровые сервера, да, любая корпоративная тема подойдет.
    Ответ написан
    Комментировать
  • Оцените реальность планов?

    opium
    @opium
    Просто люблю качественно работать
    бери да делай че тут спрашивать то ?
    вопрос из разряда можно ли мне в туалет сходить?
    Ответ написан
    2 комментария
  • Удаленный работадатель требует сделать ИП, зачем это нужно?

    Prognosticator
    @Prognosticator
    TODO: Здесь будут ворованные умные мысли, типа мои
    • Если лично вам ИП не нужно, шлите в ..... заказчика (завуалированно и иносказательно, особенно если это порядочные люди).
    • Любая компания может найти способ платить физику, белая, серая, цвета детской неожиданности. Из копилки, из личных средств, как списание на средства для мытья окон. Вопрос захотят-ли.
    • Если без этого заказчика вам нечего будет кушать, откройте ИП.
    • ИП абсолютно никак не делает вас привлекательнее для заказчиков, привлекательным вас делают качественная работа, опыт и рекомендации людей. ИП несет потери времени и денег на бумажную возню и отчисления. Вычтите это время из вашего рабочего времени, получатся еще некоторые потери. Также есть категория заказчиков, которые предпочитают работать официально. Но тем не менее воруют другими способами.
    • ИП лично вам, может быть нужно в случае получения ипотеки или крупного кредита, для подтверждения доходов за последние полгода. Но при высоких доходах и разумных тратах с накоплениями и кредиты не нужны.
    • 99% удаленной работы оплачивается в серую. Никто не спрашивает. Всем срать на ваши 500-2000$, полученные из-за бугра или соседней страны, через 10 платежных систем или с карты на карту.
    • Пообщайтесь с такими же удаленщиками из этой фирмы, если это возможно, соберите данные на доброго дядю.
    • Спросите дядю напрямую, с кем можно поговорить о его репутации.
    • Спросите дядю напрямую, зачем ему ваше ИП.
    • Приостановить/закрыть ИП можно в любой момент.
    • Вдумчиво читайте договор, между вами и дядей, с усердием переписывайте мутные моменты и формулировки.
    • Заключая договор вы не продаете душу и тело в рабство. Вы не обязаны умирать на проекте и овертаймить. Вы можете договор расторгнуть. Особенно по случаю "вновь открывшихся обстоятельств". Мы можете и заболеть и форсмажорить другими путями, возвращаемся к пункту с договором.
    • Чтобы получить опыт в сфере предпринимательства, начните его получать.
    • Глубоко осознайте тот факт, что вы мужчина и вам многое по плечу.
    • Мир разработки в целом и удаленной в частности - это поле боя, учитесь конкурировать, драться и побеждать.
    DETAIL_PICTURE_676265_71935315.jpg

    PS
    Был на обеих сторонах баррикад. Если быть правдивым до конца - исполнители косячат на порядок больше.
    99% кода идет под нож или хранится будучи никогда не использованным. Написанного и запущенного, написанного и не дошедшего в продакшен. По разным причинам - раздолбайство, распил, экспериментальный юмор, невостребованность стартапов для лайканья котиков, моральное устаревание и банкротство. Просираются бюджеты сопоставимые с отправкой человека на марс. Такова эта отрасль.
    Успевайте во всем этом хаосе жить полной жизнью, получать опыт, творить ценное для людей.
    Ответ написан
    1 комментарий
  • Как командно разрабатывать php проект?

    copist
    @copist
    Empower people to give
    Инфраструктура
    * Создайте репозиторий на Bitbucket или GitHub.
    * Создайте себе локально копию репозитория и локально поднимите базу данных с одинаковой структурой
    * Если в базе требуются изменения, создавайте "миграции", которые обновят структуру данных или сами данные.
    * Свои изменения по коду, так же как и миграции, отправляйте в репозиторий

    Ещё есть возможность создания виртуальных серверов для разработки или использование online IDE. Решает кучу проблем, если интернет быстрый.
    * https://compilr.com/ Полноценная среда разработки
    * https://koding.com/ Среда разработки с предустановленным веб-сервером и элементами социальной сети
    * online-php.com Online IDE
    * https://codeanywhere.com/ Среда разработки. Код можно хранить в облаке, а также в Dropbox, Google Drive, FTP, github.
    Другие тулзы для совместной работы в online

    Промежуточные версии
    Если вы географически недалеко друг от друга, то просто периодически показывайте, что у вас получается.
    Если нет, пользуйтесь Skype Shared Screen, Join.me и другие аналогичные продукты, чтобы вместе смотреть и обсуждать голосом. А лучше TeamViewer, чтобы можно было вместе и посмотреть, и поправить.

    Обновление сервера
    Изменения на сервер устанавливайте из того-же репозитория. Не забудьте про миграции. Озаботьтесь вопросами безопасности. Хотя бы так: скрыть файлы .git
    Ответ написан
    Комментировать
  • Что необходимо установить для того, чтобы удобно программировать при изучении Python?

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    "Без труда не вынуть рыбку из пруда" (с) не мое.
    Я к тому, что избегая одних трудностей не надо создавать другие. При изучении язык для Вас должно быть важным изучить язык так, чтобы Вы могли им пользоваться и мыслить в его терминах. Чтобы голова думала о решении проблемы, а не о том, как это можно выразить с помощью языковых конструкций. Исходя из этого думайте не о том как бы проще написать, а как закрепить языковые конструкции и идиомы в Ваши пальцы!

    Моя рекомендация: Python 3.4 + Sublime Text 3 + Far3 . Консоль и метод "пристального взгляда" в качестве отладочного способа привьет Вам понимание языка. Рекомендую так, потому что на первых порах Вам врядли удастся сделать очень большие приложения. А при небольших по размеру приложений пристальный взгляд и printf-отладка куда лучше закрепляет навыки чем быстрое тыкание в IDE
    Ответ написан
    Комментировать
  • Кто-нибудь использует много веб-фреймворков в новой разработке?

    copist
    @copist
    Empower people to give
    Во-первых, это вопрос личных предпочтений и предпочтений команды.
    Во-вторых, это требования обстоятельств при промышленной эксплуатации.

    На старте, обычно, выбирается то, что лучше знаешь. Да хоть бы и без фреймворков. Переключаться на старте - это тратить время впустую. Главная задача - получить MVP.

    После получения MVP (Minimum Viable Product) и "зелёного света" на промышленную разработку, можно оценить результаты тестирования на потенциальных потребителях, выяснить предполагаемую нагрузку и, при необходимости, пересмотреть платформу. Сменить программную или аппаратную архитектуру, язык программирования или их комбинацию, фреймворк - стек технологий это называется.

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

    Есть проекты, которые жёстко костылят и они таким образом живут годы. Вплоть до того, что там PHP4 и отображение прямо в файлах с бизнес-логикой, зато страницы выдаются за миллисекунды.
    Есть проекты, которые уже несколько раз переписывали с нуля, потому что охренеть какая сложная штука получается и без достаточно высокого уровня абстракции его очень сложно наращивать.
    Есть те, где не костылили и не меняли платформу, а просто увеличили производительность сервера до небес.
    Ответ написан
    Комментировать
  • Что сделать, что бы наполнить портфолио?

    syschel
    @syschel
    freelance/python/django/backend
    Поищите ТЗ на всяких сайтах фриланса. Сделайте пару проектов, пускай только для себя, не на заказ. Ну или устройтесь на пол года в какую-нибудь компанию по разработке. Будет опыт и немного портфолио.
    Так же как говорили выше, возьмите готовые вещи и сделайте свой аналог.
    Но вообще, портфолио это плюс, но на фрилансе не всегда нужен, можно начинать и без портфолио. Главное скилы подтверждённые тестом. Хотя без опыта чего либо созданного, говорить об умениях - глупо. Все умения это опыт, а не прочитанные книжки.
    Ответ написан
    Комментировать
  • Что сделать, что бы наполнить портфолио?

    IonDen
    @IonDen
    JavaScript developer. IonDen.com
    Open Source проекты на GitHub. Занимайтесь, развивайте, если пойдёт, они будут лучшим портфолио, чем реальные тупые инет-магазины.
    Ответ написан
    4 комментария
  • Как объединить два цикла for?

    @ATNC
    Full-stack web\python developer
    вы можете получить объекты, которые "привязаны" к вашей модели добавив related_name.
    Например:

    models.py
    class ItemAttributeValue(models.Model):
        att1 = .....
        att2 = .....
        item = models.ForeignKey(ItemAttribute, related_name='attribute')


    views.py
    characteristics = ItemAttribute.objects.get(category=3)


    index.html
    {% for i in characteristics %}
    {{ i.name}}
    ...
    {{ i.attribute.att1}}
    ...
    {% endfor %}
    Ответ написан
  • Какой способ валидации в моделях Ruby on Rails является предпочтительным?

    Jeiwan
    @Jeiwan
    Второй способ устаревший. Стайлгайды не одобряют (https://github.com/bbatsov/rails-style-guide#sexy-...), Хаунд ругается.
    ИМХО, первый способ читать удобнее, так как все валидации, относящиеся к одному полю, лежат в одной строчке — удобнее искать, ведь если мы хотим проверить валидацию поля, то будем искать её по названию поля.

    Предпочтительнее использовать тот, который используют в вашем проекте. Если пилите что-то для себя, и код кто-то увидит (потенциальный работодатель), то лучше придерживаться наиболее распространенных стайлгайдов (опять же https://github.com/bbatsov/rails-style-guide), так как это может показать вашу дисциплинированность и желание следовать лучшим практикам. Если пилите для себя, и код никто не будет смотреть, то пишите, как хотите.
    Ответ написан
    1 комментарий