• Какие привычки могут сэкономить время?

    Symphony
    @Symphony
    • еще можно не одеваться
    • не здороваться и не прощаться
    • Не переносить код на новую строчку, если не требуется
    • Отключить интернет
    • Не брать отпуск
    • если хочется по большому, не ходить в туалет, а в пакетик и потом выкинуть
    Ответ написан
    Комментировать
  • Какие привычки могут сэкономить время?

    GavriKos
    @GavriKos
    - не ставить знаки препинания в сообщениях (sms, соцсети, мессенджеры);
    - сокращать некоторые слова и выражения;

    Это не лайфхаки. Это неуважение к собеседнику. А экономия - копеечная в данном случае.
    Ответ написан
    Комментировать
  • Какой дизайн сайта сейчас впереди?

    @iliyaisd
    Сейчас в тренде флет и метро. Посмотрите айфон и вин8, яркий пример. Также посмотрите топ на темфорест.
    Ответ написан
    Комментировать
  • Какой дизайн сайта сейчас впереди?

    Nekto_Habr
    @Nekto_Habr
    Чат дизайнеров: https://t.me/figma_life
    См. Metro-дизайн в стиле Microsoft - они были основоположниками и законодателями плоского дизайна, подчеркивающего контент, и за ними будущее и сейчас я думаю.
    Ответ написан
    Комментировать
  • Web-разработка. Уровень погружения в язык программирования: PHP vs JavaScript. Где "глубже"?

    Deroy
    @Deroy
    Senior Developer, Software Architect
    Многое несомненно зависит от того как позиционируется PHP бэкенд в составе проекта,
    однако в целом если говорить про разработку приложений на PHP как такового (без зоопарка вокруг)
    список инструментов примерно следующий (представлены самые популярные)

    Стандарты - по хорошему надо прочитать и понять всё что издает php-fig в сфере юзерленд кода,
    самые важные - PSR 0-4

    Вспомогательные (обязательные) технологии - YAML, XML, CSV, JSON;
    Библиотеки "все-в-одном" - на бэкенде не водятся (да здравствует linux-way);
    Фремворки общего назначения, скелеты приложений - Yii (1,2), Symphony2, ZendFramework2;
    CMS-фреймфорки - Drupal, ... Wordpress? ищите под задачу;
    Модульность, Зависимости - Composer и все что с ним связано, PEAR/PECL (потихоньку отмирает);
    Сборка - Phing (хотя я собираю php-проект gulp'ом - у него API приятнее);
    Тестирование - PHPUnit, Behat, CodeCeption;
    Деплой(Развертывание релизов) - Mage (aka Magallanes), Deployer
    Помощники - Vargant, Docker (тестирование и разработка в готовых окружениях)

    Здесь я не упоминал того что нужно знать о самом языке и его компонентах.

    теперь поговорим о зоопарке..

    технологии и зоопарк специфичный только для PHP:

    Сервера приложений - php-fpm, apache-mod-php;
    Кэш и быстродействие - APC (APCu для PHP >= 5.5)
    дебаг - ZendDebug, XDebug, XHProf

    Далее то что не отличается от одного серверного языка к другому.
    это часть ответа безгранично велика на самом деле =)

    Сервера и прокси - Nginx, Apache, Varnish, etc.
    Кэши и NoSQL - Memcached, Redis, Mongo, etc.
    СУБД - MySQL, PostreSQL, etc..
    Поисковые индексы - ElasticSearch, Sphinx
    Очереди и межпроцессовое взаимодействие - RabbitMQ, ZeroMQ, linux-sockets, posix-treads
    Протоколы взаимодействия (4 уровень OSI) - HTTP(во всех его подробностях! просто MUST HAVE), POP, SMTP, IMAP, REPL.
    Траспортные Протоколы (3 уровнь OSI) - TCP, UDP
    Библиотеки уровня системы - cURL (абсолютный MUST HAVE - большинство взаимодействия поверх HTTP строится на этой библиотеке в абсолютном большинстве серверных скриптовых языков)
    Ответ написан
    Комментировать
  • Как супер эргономично организовывать работу?

    ColCh
    @ColCh
    Веб разработчик
    Хааа, кто-то обязательно задумывается об этом. Хотя бы когда-нибудь.

    Вопрос затрагивает всё - от выбора программ и способа ввода пароля от сервера (запоминать, запись на листочек или в базу)

    Я храню пароли в запароленной базе KeePass. Для того, чтобы не копировать пароли в\из браузера, есть плагин для Chrome.

    Для SSH и GIT использую запароленные ключи RSA.

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

    Я кое-где читал, что секрет написания больших приложений заключается в том, что "нет никаких больших приложений".
    Нужно уметь разделять функционал по маленьким модулям - тогда всё будет даваться легче.

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

    Ну и ещё хочу посоветовать ... тестировать свой код. Раньше я не тестировал ничего - х*як х*як и в продакшн, как говорится.
    Поначалу было все хорошо - вручную прошелся по функционалу сайта; все работает.
    Но потом, в один прекрасный момент, число используемых модулей достигло числа ~1300, а число фишек (функционал) во много раз увеличилось...
    Ну и как сами поняли, тестировать вручную этот ад нереально. Раньше я тестировал сайт от руки около 30 минут, когда тесты выполняются 3 секунды. Чувствуете разницу?

    Так что я советую параллельно с изучением разделения кода на независимые модули изучать так же и тестирование кода.

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

    Исчо, советую автоматизировать всё, что можно. Например, сборку проекта, сжатие, тестирование, непрерывная интеграция и т.д.

    Также рассмотрю советы по поводу составления плана работы, времени работы (если график свободный), цели работы и прочее, прочее.

    Я приноровился работать по технике Помидора - 25 минут работаю, 5 отдыхаю. Под конец для себя уставшим почти не чувствую. Когда работал "взахлёб" , т.е. в режиме потока, под конец дня чувствал себя, как выжатый лимон ...

    Ну и изучаёте GIT, GitHub (или BitBucket), учитесь Git Flow и разделению разработки по фичам. Тоже очень полезная вещь.

    Насчёт стульев и т.д. - из-за зарядки, которую я делаю за 5 минут отдыха (между Помидорами), мягкие места не болят :)

    Надеюсь, не сильно от темы потрепался, и мои псевдосоветы будут полезными.
    Ответ написан
    Комментировать
  • Как не утонуть в океане информации?

    noys
    @noys
    красноглазик
    Мозг и ЖКТ очень похожи по функцианалу.

    Маю Плесецкую как-то спросили "Как вам удается сохранять такую фигуру, у вас особая диета?", на что она ответила: "Диета проста - не жрать".

    "Не съим так понадкусываю" Хохлятская поговорка.

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

    Принципы: диета, раздельное питание, разгрузочный день, рыбный день, выходные.
    Ответ написан
    Комментировать
  • Как не утонуть в океане информации?

    @timfactory
    1. для организации и систематизации давно использую mindmaps (FreeMind, XMind, Mindjet) - при навыке, позволяет огромное количество информации разгрести и структурировать. Читать документацию и тех.литературу, одновременно с составлением mindmap - это очень полезно.

    2. после того, как понял, что эмоционально прилипаю к хабру/LOR/вконтактику в поисках новостей - поставил TT-RSS на локальном сервере и перетащил все источники информации туда - через какое-то время, освободилось внимание, т.к. пропала масса чисто эмоционального/маркетингового/политического мусора, который обычно сопровождает полезную информацию при "лобовом" поиске. Ещё есть готовые решения, типа Feedly и т.п.

    3. после того, как надоело делать бесконечные TODO где попало, поставил Redmine на локальном сервере - даже для проектов не касающихся IT. Ещё есть Trac.

    4. когда понял, что, во всех браузерах, количество закладок зашкаливает, при полной невозможности найти нужную информацию, поставил SemanticScuttle на локальный сервер (ещё есть готовые GoogleBookmarks, Evernote и т.п.) и продумал тэги, а после разгребания закладок, появилась привычка минуту подумать над тэгами и положить закладку на своё место сразу-же.
    Ответ написан
    2 комментария
  • Давайте соберем джентльменский набор паттернов проектирования и алгоритмов для прохождения собеседований?

    globuzer
    @globuzer
    gezgrouvingus progreszive ombusgrander greyderzux
    дак запросто на собеседовании могут спросить, так ради прикола и это:
    - почему крышки у канализационных люков круглые
    - сколько шариков от пинг-понга может вместиться в автобус
    - как сдвинуть гору Фудзи
    - как взять производную икс в степени икс в степени икс
    - куда едет автобус
    - три основных кита дизайна
    и т.д....
    :)
    Ответ написан
    Комментировать
  • Как не утонуть в океане информации?

    globuzer
    @globuzer
    gezgrouvingus progreszive ombusgrander greyderzux
    ответ прост, ответ кроется в психологии и физиологии человека.
    любой человек не может одновременно держать в голове 7-10 элементов.
    ну это в большинстве случаев.
    есть индивидуумы, исключения, которые могут и больше.
    но это исключения, а не правило.
    чтобы не утонуть в океанах информации, нужно научиться ставить для себя цели, цель (что хочешь сделать сейчас, что почитать, что ты ищешь, что хочешь найти, какой вопрос). после целей научиться структурировать информацию, определять ее важность. тут уже нужно аналитически мыслить. ну и чтобы не утонуть в этих океанах, нужно выцеплять в результате всех анализов и выборок самое необходимое, в количестве не более 10 элементов (страниц, статей, вкладок если вам так удобнее). если же будет больше, то по важности откладывать кое-какие на сейчас, а кое-какие на потом. все. и всегда так делать. приучить к этой системе. тем самым вы не обманете человеческую природу, а только приучитесь к правильному усваиванию.
    ну и естественно, в процессе, может быть, будете прокачиваться до возрастания элементов в одновременный момент времени, но не перегибайте палку
    Ответ написан
    Комментировать
  • Как не утонуть в океане информации?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    0. На хабре мир не замкнулся так же, как и на вконтакте)
    1. Когда "наткнулись" при "рабочем" поиске (когда делаете работу по текущему проекту) на интересную информацию - кладите статью (+линк) в папку рядом с проектом, применительно к которому Вы на нее набрели или отталкиваясь от темы статьи (рядом с другим проектом).
    2. По тематически-узконаправленному ("лучевому") поиску - вы найдете не более 5 статей. Это первоисточники и образовательные (примеры, производительность и т.д.) Все другие - "адский trash" и плагиат.
    3. Не ищите "от нечего делать": время потратите - толку 0.
    4. Используйте всю мощь поисковой строки гугла (символы управления приоритетами и т.д.) для отсеивания "мусорных" ссылок.
    5. На любую тему обсуждений - есть только 1 ресурс-лидер, который цитируют во всем интернете. Интересна тема - станьте участником такого сообщества и получайте уведомления по почте.
    6. Сначала планируете цель, затем идёте "в лес по грибы" за информацией. Если наоборот - всё...: Вас "засосёт" чёрная дыра технологий и читать Вы будете ВЕЧНО!!!
    7. Главное правило: статья должна прочитываться сразу или "привязываться" к вашей цели и отправляться в папку (см. п.1)
    И помните:
    тостер - для отдыха
    гугл - для работы

    UPD: Как правильно искать информацию
    Ответ написан
    14 комментариев
  • За сколько с полного 0 можно подняться до 50$ на Odesk?

    butteff
    @butteff
    Раз в тысячу лет заправляю свитер в носки
    Всегда в интеренете находится много людей, которые утверждают, что они работают 10+ часов в день по 50$ в час.

    На самом деле, 8 часов из 10 они откликаются на отклики и еще 2 часа работают за 5 долларов в час. Т.е. на самом деле они работают по 1$ в час. И таких 90%. Потому что смысл заказчику платить 50 долларов Васяну, когда господин из Индии готов сделать то же самое за 2-5$?

    Только действительно опытным и гуру могут предложить задачи по 50$ в час, что сильно дешевле специалиста в США, к примеру. Но и таких уже ищут не на одеске, а по рекомендациям, имхо.

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

    Конечно, сейчас многие начнут спорить со мной. Уже годами люди спорят со мной на эту тему. Что еще раз подтверждает мою правоту. Спорить со мной тем, у кого 50$ в час цена - дорого, столько времени тратить на меня, доказывая что-то. Значит спорят те, кто 50$ не видят никогда. Такие вот дела.
    Ответ написан
    15 комментариев
  • Каким должен быть собственный проект для устройства на работу?

    5angel
    @5angel
    Фронтенд-лид
    Свои проекты показывать можно и нужно. А лучше всего – не просто показать, а рассказать о том, как шла разработка, с какими проблемами вы столкнулись и как их решали. Если вы таким образом хотите повысить свои шансы на получение работы, то проект должен показать, что вы хорошо владеет предметом как с теоретической, так и с практической точки зрения. Я говорю здесь даже не о Ruby, интересные вещь можно написать на любом языке.

    На что нужно обратить внимание:
    Архитектура. Грамотно спроектированная система – залог успеха всего предприятия.
    Производительность. Здесь можно показать как алгоритмическую подготовку и умение работать с базами данных, так и знание особенностей конкретного языка.
    Тестирование и документация. Покрытие тестами и описание функционала, начиная от основных модулей и заканчивая отдельными функциями – тот идеал, которого стараются (но не могут) достигнуть во всех уважающих свою разработку компаниях.

    Если у коллег есть какие-либо дополнения, прошу (:
    Ответ написан
    11 комментариев
  • Как начать уважать свой труд?

    sim3x
    @sim3x
    Стоит сьехать от родителей в сьемную квартиру и завести требовательную девушку

    И начни общаться с людьми, у которих дневная сумма на мелочи указана в толщине пачки с долларами
    Ответ написан
    1 комментарий
  • Как определить свой уровень программирования?

    opium
    @opium
    Просто люблю качественно работать
    1000 часов Джуниор
    5000 часов мидл
    10000 часов сеньор
    Ответ написан
    6 комментариев
  • На каком языке(фреймворке) лучше писать бекэнд для сервиса бронирования?

    voidnugget
    @voidnugget
    Программист-прагматик
    Сейчас требования на рынке возросли в 3-4 раза по сравнению с тем что было 2-3 года назад. PUSH-нотификации по вэбсокетам (или comet'у) и в мобильные приложения требуют асинхронности и в случае с PHP / Python / Ruby реализовуются довольно костыльно - прикручивают очереди Celery / Beanstalkd / Gearmand / RabbitMQ. В итоге умирает вертикальное масштабирование решения в рамках одного сервера из-за накладных расходов на коммуникацию. Микросервисную архитектуру стоит внедрять в рамках нескольких машин, и профилировать накладные расходы на коммуникацию.

    Также существует очень много проблем с PHP / Python / Ruby / Node.js c долгосрочной поддержкой - слишком часто отваливается обратная совместимость у существующих библиотек и зависимостей. Часто меняется API самой платформы.

    Из фреймворков сейчас веселее всего с Play2 / Xitrum / Grails.
    У них есть свои недостатки, но они будут шустрее всего остального в десятки,а в случае с рельсами - в сотни, раз.

    С Node.js куча проблем.

    Опять же там много заморочек с архитектурой - нужно внедрять SOA и CQRS-ES для реактивностей, и это уже не банальное MVC к которому все так привыкли. Подобный подход просто требует TDD/BDD и приёмочных тестов для фронтенда.
    Ответ написан
    4 комментария
  • Зачем в yii2 классы и объекты для генерации html?

    как раз неделю назад, делая данный виджет, вспоминал подобный вопрос на форуме yii.
    https://github.com/zelenin/yii2-recaptcha-widget/b...
    представьте как бы вы собирали этот div и его атрибуты в зависимости от указания их в настройках.
    div' . (isset($this->dataKey) ? ' data-key="blabla"' : ''). ' и так еще все атрибуты, классы, айдишники итд. Это неудобно, неюзабельно, трудно отслеживать ошибки.
    Ответ написан
    Комментировать
  • На каком языке(фреймворке) лучше писать бекэнд для сервиса бронирования?

    htmlcssverstka
    @htmlcssverstka
    Верстка сайтов
    Спецы должны писать на любом фрейморке круто!
    Ответ написан
    Комментировать
  • Как здесь найти ошибку ?

    viktorvsk
    @viktorvsk
    Где здесь?
    Какую ошибку?
    Вам сюда, наверное.
    Ответ написан
    Комментировать
  • Взломан skype. Как это случилось?

    sayber
    @sayber
    Да, я программирую на PHP и еще асинхронно!
    Как то в 2003г. я жил с девушкой. Мы оба были геймерами. Ну я естественно тогда начинал свой путь программирования.
    Был у меня сайтик на обычном хостинге. По тем временам, код был сильно защищен. В один из прекрасных дней я увидел в логах необычное поведение. Прошерстил код, нашел спамбота.
    Конечно все почистил и т.д.

    Но мне стало интересно как и вам, кто и как меня взломал. Своими скромными силами я не смог определить.
    В итоге создал в корне сайта файлик forHacker.txt
    В нем задал вопрос - собственно как вы меня хакнули?
    на следующий день в аську стучится человек, я спрашиваю
    - Мол чего вам надобно? - в ответ
    - Товарищ Иван, вы же сами просили меня вам рассказать как я вас хакнул
    - Спасибо что откликнулись, просветите плз
    - Ваша девушка Света была не аккуратна, скачала мой файлик. В связи с чем я смог получить доступ к ее компу. Далее по локальной сети обнаружил доступ к вашему. Подсадил кейлогер и просто подождал ввода пароля.
    ....
    Всего вам хорошего и удачи. Ваш сайт оставляю в покое =)

    Это примерный наш разговор.
    Так что способов получения ваших данных велик )
    Ответ написан
    Комментировать