• Сколько стоит час веб-разработчика-фрилансера?

    @deliro
    Ты веcь такой кругом молодец, то знаешь, это знаешь. А теперь представь себе среднестатистический проект, который должен приносить бизнесу деньги. За две недели работы ты едва напишешь хлипкий CRUD для данных, неправильно смаппив бизнес-сущности в объекты ORM, ещё через месяц натянешь какой-то слайдер на jQ, попутно захватив 2мб JS кривых библиотек, а через два заказчик поставит тебе плохую оценку, потому что твой ценник он оплатил не за то, что ему нужно, а потому что ты знаешь монады, которые ему даром не сдались.

    А теперь давай представим простого программиста. Из алгоритмов он с трудом вспоминает сортировку пузырьком, а двусвязный список — предел его знаний о структурах данных, и даже этим списком он пользовался два раза в жизни. Хаскель он никогда не видел в глаза, C++ учил только в школе, вместо этого пишет неэффективный код на PHP. И у него есть опыт. За день он распишет сущности, за второй сделает универсальный CRUD, на третий день поднимет фронт на React'е с SSR. Да, внутренности проекта будут "медленными". Вместо O(logN) что-то будет выполняться за O(N) или даже O(N^2), но всем похер. Пока всё работает на приемлемом уровне — бизнес радуется.

    Кстати, к чему эта поучительная лапша? Я хотел сказать, что всеми этими модными словами можно пугать друзей и преподавателей, но в реальной жизни все алгоритмы уже реализованы, все типы данных уже подобраны оптимально. Знать их полезно для себя (чтобы мозг не атрофировался), но не для работы. Для работы тебе нужны такие навыки как:

    * Оптимальный баланс между говнокодом и идеальным кодом
    * Оптимальный баланс между скоростью разработки и оптимизацией кода
    * Оптимальный баланс между поддерживаемым кодом и костылями
    * Умение использовать те инструменты, с которыми ты работаешь. Опять же, для того, чтобы писать быстро, при этом имея минимальное количество говнокода и обеспечивая максимальную поддерживаемость (в пределах сроков). Например, можешь выкинуть в помойку свой Vim, как бы круто ты себя не чувствовал, разрабатывая в консольном редакторе, если продукты от JetBrains позволят за это же время сделать что-то лучше или чего-то больше
    * Чувство "знаю больше менеджеров". Это то чувство, когда тебе кажется, что "вот эта фича скоро изменится" и надо сделать архитектуру заранее более гибкой. Или "вот эту фичу мы через месяц выпилим" и не надо тратить на неё силы — напиши костыль и через месяц с чистой совестью удали его
    * Знания, как сделать ту или иную фичу. Потому что фичи повторяются (немного видоизменяясь) от проекта к проекту. И если ты сделал что-то за два дня, в следующий раз ты похожее сделаешь за три часа

    Что касается инструментов, выбери любой полноценный фреймворк, который умеет решать 90%+ потребностей "из коробки": Symfony, Django, Laravel

    Всякие "минималистичные" поделия вроде Falcon, Flask (в PHP не знаю, я на питоне пишу) оставь хипстерам. Пусть они говорят: "Мой фалкон такой быстрый, он написан на Cython". Тебя это не должно волновать, потому что бизнес с твоей скоростью разработки уже заработал достаточно денег, чтобы купить ещё десять серверов, пока фалконисты неделю гуглили, как прикрутить миграциии и запустить юнит-тесты на VPSке за пять баксов.
    Ответ написан
    5 комментариев
  • Каким образом вы храните реквизиты от разных хостингов и прочие приватные данные не фиксированной структуры?

    @1337
    KeePass умеет всё то, что вам нужно. Для каждой заметки можно создать дополнительные поля (хост, бд, юзер и т.д.), помимо логина, и пароля. Можно просто добавлять текстовую информацию без полей, можно вкладывать файлы.
    Поиск присутствует по всем полям. Приложение на Android есть.
    Синхронизация базы решается Dropbox'ом или любым другим подобным сервисом.
    Ответ написан
    6 комментариев
  • Как хранить текст статей для сайта на github?

    opium
    @opium
    Просто люблю качественно работать
    В вики уже все давно реализованно, зачем вам это засовывать в гит?
    Ответ написан
    5 комментариев
  • Красиво ли поступает фрилансер?

    shadowalone
    @shadowalone
    Да он по сути никак не поступает. Он выполняет ту же работу, при этом получает на 10% больше.
    Надо заранее обговаривать с фрилансером такие обстоятельства — вот тогда можете предъявлять ему притензии и говорить о «красиво/некрасиво», да и то, только предъявлять, не более.
    Он же не имеет перед Вами каких-то обязательств, помимо выполнения самой работы.
    Надо было мотивировать его изначально, например, гарантируя определенный фронт работ на будущее — в таком случае, он бы 100 раз подумал перед тем как работать с этим заказчиком напрямую, лишая себя возможности выполнить другие Ваши заказы.

    Это бизнес, а не соревнование «кто поступает красивее».
    Ответ написан
    3 комментария
  • Странное поведение favicon на сайте?

    Anonym
    @Anonym
    Программирую немного )
    Видно, что html генерируется, и скорее всего с ошибкой. Похоже, что где-то незакрытый тэг. Браузер интерпретирует как может, но не факт, что правильно. Скорее всего, favicon в body не обрабатывается и браузер запрашивает стандартный из корня домена.
    Ответ написан
    Комментировать
  • Покупка залоченного Blackberry Z10: в чём подвох?

    IvanFF
    @IvanFF
    Как интересно Вы живете. Не знаете зачем, за сколько, где купить гаджет и что с ним потом делать :)
    Ответ написан
    1 комментарий
  • «шпионское» ПО для Win7?

    ipswitch
    @ipswitch
    IT-инженер
    Когда ставили аналогичную задачу — применяли StaffCop
    www.staffcop.ru/
    Ответ написан
    1 комментарий
  • Что плохого в вёрстке таблицами?

    @egorinsk
    Начнем с того, что все, что делается таблицами, делается и CSS (просто надо не лениться и прочитать соответствующие руководства). У таблиц есть недостатки:

    — нельзя перегруппировать блоки для узких страниц или в версии для печати только с помощью CSS
    — если мы выводим список картинок таблицей, каждая картинка в ячейке, то при добавлении или удалении картинки оставшиеся не сдвигаются, а остается пустое место
    — у ячеек width работает как min-width, при этом алгоритмы ратяжения ячеек не документированы и ведут себя непредсказуемо, из-за этого они могут непредсказуемо растягиваться, и хуже того, при динамической замене контента они не всегда сжимаются обратно и остаются дыры. Одно длинное слово или картинка может растянуть всю страницу.
    — фиксированное, абсолютное и относительное позиционирование неюзабельно в таблицах
    — ячейки не получится перетаскивать drag-n-drop
    — трудно манипулировать DOM (надо хитро вставлять и убирать дополнительные элменеты)
    — верстка получается замусоренная кучей лишних тегов, которые тяжело читать и в которых тяжело разобраться. Это не HTML, а лапша. Особенно тяжело, когда таблицы вложены друг в друга и раскиданы по куче шаблонов.
    — нельзя поместить контент в коде первым, а меню в шапке — вторым (некоторые сеошники считают, что это улучшает индексацию)
    — верстка таблицами всегда была костылем (и это несемантично), с поддержкой CSS2 (появилась более 10 лет назад) таблицы стали не нужны. 10 лет назад они уже стали ненужными.

    Давайте, расскажите хоть одну причину использовать устаревшую много лет назад технологию. Поддержка IE4? Верстальщик-пенсионер?
    Ответ написан
    4 комментария
  • Когда прохожу мимо роутера теряется wi-fi связь

    @fuzz1on
    Не проходить мимо роутера.
    Ответ написан
    Комментировать
  • Необходим платежный агрегатор принимающий платежи в России и с возможностью вывода средств в Европе

    @lavel
    merchant.w1.ru/checkout/site/

    Оплата почти всеми доступными в РФ способами, вывод на Visa или SWIFT.
    Ответ написан
    Комментировать
  • Зачем в твиттере меня фоловят совершенно непонятные люди?

    Nickel3000
    @Nickel3000
    Такой же, как вам писать куда сходил и че пожрал.
    Ответ написан
    Комментировать
  • Зачем в твиттере меня фоловят совершенно непонятные люди?

    AloneCoder
    @AloneCoder
    [object Object]
    Массфолловинг в надежде, что вы зафолловите обратно, быть может
    Ответ написан
    Комментировать
  • Помещение русскоязычного .text() в переменную?

    Urvin
    @Urvin
    Давайте сверять
    jsfiddle.net/Urvin/sKF98/
    Ответ написан
    Комментировать
  • Перестал работать переход от одного нового комментария к другому: баг Хабрахабра или мои личные глюки?

    Haoose
    @Haoose
    Тоже самое и у меня. Проверил на двух браузерах.
    Ответ написан
    Комментировать
  • Помещение русскоязычного .text() в переменную?

    den1n
    @den1n
    Код страницы и код if($currentCat.text()==='Кафе') в одной и той же кодировке?
    Ответ написан
    Комментировать
  • Должен ли я возвратить предоплату

    calg0n
    @calg0n
    Я ответил ему, что не собираюсь возвращать предоплату, он в свою очередь ответил тем, что будет решать это в суде.

    Вы также можете стать в позу и сказать что никакой предоплаты не получали и будете решать это в суде :)
    Вообще если ничего не подписывали, расписок он с вас не брал — можете не беспокоиться, тем более если работали удаленно, просто забейте на заказчика, забудьте и живите дальше :)
    Ответ написан
    1 комментарий
  • Сколько времени должно занять подключение робокассы у программиста на php?

    @kolesnikov
    Написать кусок кода который будет тупо работать — за полчаса можно, но вот время сверху будет зависеть от того куда ее подключать, как сие творение написано, реализация всяких там биллингов-шмилингов и прочей трихомудии… Плюс отладка. Почему-то у всех кто говорит «хочу подключить робокассу» дальше идет строка «написать историю пополнений», «написать API по работе с финансами внутри проекта (переводы, конвертации, ф-ии получить остаток и т.д. )» и вот это уже не 2 часа делается… ну а если все есть и надо только вызвать уже готовую в апи ф-ю пополнить баланс на стока-то и указать из какой платежной системы поступила оплата — то да, полчаса-час…
    Ответ написан
    10 комментариев