Задать вопрос
Ответы пользователя по тегу Веб-разработка
  • Как эмулировать браузерный запрос к google при помощи cURL?

    @egorinsk
    Какая Гуглу выгода от того, что им пользуются боты? Они не смотрят рекламу, от них только нагрузка и вред. правильно Гугл делает, я бы тоже скрипты блокировал.
    Ответ написан
    Комментировать
  • Книги про человекопонятный и удобный интерфейс

    @egorinsk
    Джеф Раскин, «Интерфейс», книга с ручкой управления кораблем на обложке.
    Ответ написан
    1 комментарий
  • Как и где найти php программиста на работу «за идею»?

    @egorinsk
    В Стране Чудес.
    Ответ написан
    Комментировать
  • Как ускорить загрузку картинок в браузере?

    @egorinsk
    Быстрый сервер с толстым каналом, хорошим пирингом и маленьким пингом (пример: сервера вконтакте) мог бы быть эффективнее. Если с вашего хостинга картинки грузятся не так быстро, как хотелось бы, попробуйте найти хостинг лучше.
    Ответ написан
    Комментировать
  • Как обезопасить систему с полным клиентским доступом к HTML?

    @egorinsk
    Если вы даете полный доступ, что мешает злоумышленнику показать страницу «пожалуйста, в целях безопасности введите свой пароль заново»? Или установить на странице комплект вредоносных программ, внедряющихся в систему при открытии страницы за счет уязвимости в браузере?

    Даже технически грамотного пользователя можно поймать на этом.
    Ответ написан
    2 комментария
  • Эффективность труда: офис против аутсорса?

    @egorinsk
    Офис эффективнее. В плане коммуникации, мотивации, производительнсоти труда. Но также он эфективнее в плане «выжать все соки» из сотрудника. Если вы смотрели фильм Бойцовский Клуб, то видели, до чего может довести людей работа в офисе.

    От такой работы сильнее устаешь, а необходимость вставать по будильнику и жить по расписанию вообще вредно и приводит к усталости, повышенной сонливости, засыпаниям на работе и снижению производительности труда. Потому это не всем подходит.
    Ответ написан
    Комментировать
  • Sublime раздражающие обрамления

    @egorinsk
    Скорее всего, это ошибки и нарушения стиля кодирования (лишняя запятая в массиве, нет скобок в вызове конструктора), которые подсвечивает плагин SublimeLinter (если он у вас установлен).Чтобы прочесть текст ошибки, поставьте курсор внутрь прямоугольника. Чтобы просмотреть полный список, нажмите ctrl + Shift + P и введите linter show error. Чтобы от них избавиться, удалите плагин или исправьте их.

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

    После этого ваш код станет куда как качественнее и выбудете тратить меньше времени на отладку.

    Кстати, плагин может работать в 2 режимах: постоянно проверять по мере ввода (сильно ест процессор, так как запускает на каждую букву по процессу node.exe) и проверять только при сохранении.
    Ответ написан
    2 комментария
  • Как эффективно переучиться на веб-разработчика?

    @egorinsk
    Вообще, не увлекайтесь спецификациями. Марк Цукерберг как-то без них обошелся. Google тоже не следует строгим стандартам.

    Если вы хотите «эффективно» изучить матеиал, тогда вы должны читать статьи «для чайников» (которые вы с вашим опытом, наверняка освоите за кратчайшее время). HTML/CSS так устроены, что даже если вы сделаете 100 ошибок на странице, он все равно как-нибудь да отобразится. Ну если вы хотите более солидные знания, то параллельно смотрите непонятные моменты в спецификациях, это в общем-то полезно. А сэкономленное время посвятите практике. Она тут очень важна.

    Вот, что стоит изучить (в любом порядке):

    1) Начните с основ HTTP (только ради бога, не читайте спецификацию целиком, хватит общего представления о методах запросов, заголовках и теле запроса, кодах ответа 403/404/500/200/300)
    2) Изучите основы HTML (есть раздел на сайте htmlbook). SGML вам хватит в том объеме, в котором он упоминается в спецификации HTML. PCDATA не упоминается в ней и потому знать про отличия от CDATA вам не нужно (ну если так хотите узнать, найдите спецификацию SGML и почитайте).

    Обратите внимание, в некоторых (некачественных) статьях вы можете увидеть штуки вроде [br /] — самозакрывающиеся теги. Это ошибочный синтаксис, который употребляют авторы, путающие HTML и XHTML. В HTML такого синтаксиса нет (хотя в силу своей толерантности к ошибкам в HTML такой код как-то работает).

    3) Изучите CSS и позиционирование элементов. Вот хороший учебник, разъясняющий тонкости всяких флоатов: softwaremaniacs.org/blog/category/primer/ А спецификацию CSS2.1, думаю, вы нагуглите сами, она довольно понятно написана.

    4) Изучите яваскрипт (да, включая замыкания и прототипы) и DOM. Обратите внимание, jQuery — лишь обертка над DOM и не зная DOM, вы не сможете нормально пользоваться jQuery, вы лишь научитесь копипастить скрипты из интернета, не понимая, как они работают. После этого можете изучать jQuery, заодно советую заглянуть в исходный код, а не только читать документацию.

    5) Изучите один из серверных языков, хотя бы основы

    6) Изучите основы SQL

    7) Начинайте что-нибудь делать, так как в этот момент у вас будет очень много теоретических знаний и очень мало практических. Можете сделать простое веб-приложение, можете улучшить какое-нибудь существующее.

    8) Изучите ООП

    9) Изучите какой-нибудь серверный MVC-фреймворк

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

    > А есть ещё и XHTML, который тоже имеет свои отличия…

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

    > Клиентская разработка нынче редко обходится без всяких шаблонизаторов типа HAML/SASS

    Вы еще Coffescript забыли упомянуть. Это очень спорные вещи, есть мнения как за, так и против. Но в любом случае, согласитесь, как-то странно изучать SASS, не изучив вначале CSS, верно? Начинающему это не нужно.

    > а для эффективной серверной разработки всё и того сложнее: фреймворки, ORM, continuous integration, очереди задач и прочая-прочая.

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

    По вопросу, где брать информацию: авторитетные источники (для поиска ответа во всех подробностях) — это спецификации W3C, официальная документация фреймворков, неофициальные источники вроде htmlbook, stackoverflow или Хабра — для того, чтобы быстро получить представление о тех или иных возможностях HTML. Еще можете какую-нибудь книгу почитать, только не старую.
    Ответ написан
    5 комментариев
  • Как разобрать такой POST ответ? API интернет-магазина

    @egorinsk
    Выглядит, как будто кто-то отлаживает код и временно поставил var_dump(). Вы уверены, что это не временная проблема?

    Если не временная. то разбирать, видимо, при помощи регулярок и (возможно) html_entities_decode.
    Ответ написан
    Комментировать
  • Как ускорить работу Sublime Text 2 через FTP?

    @egorinsk
    Не проще ли работать с файлами на локалхост, а выгружать скриптом вручную или повешенным на inotify? Никогда не понимал тех, кто работает прямо через FTP.
    Ответ написан
    Комментировать
  • Что поизучать по Веб-разработке при наличии некоторых знаний Python?

    @egorinsk
    Подобный вопрос уже задавали недавно, я все ссылки, что вспомнил, там перечислил: habrahabr.ru/qa/26931/
    Ответ написан
    Комментировать
  • Что делать с объектом при удалении инфы из базы данных?

    @egorinsk
    Если задаваться целью предусмотреть любые ситуации, то видимо надо ставить флаг и при попытке что-то сделать с таким объектом выбрасывать исключение.
    Ответ написан
    1 комментарий
  • Программа блокирования развлекательных сайтов (и хабра)

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

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

    @egorinsk
    Вы, прежде чем жаловаться на хабр, Касперскому писали? Там вполне успешно исправляют ложные срабатывания.
    Ответ написан
    Комментировать
  • Создавать сессии только для залогиненых пользователей?

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

    Вам уже советовали хранить сессии в редисе, можно так же в БД их попробовать хранить.
    Ответ написан
    Комментировать
  • Как правильно спроектировать БД для френдленты?

    @egorinsk
    Написать демона на Си/Ява/.NET с точки зрения производительности выгоднее, чем мучать БД.
    Ответ написан
  • Как правильно спроектировать БД MySQL?

    @egorinsk
    Слишком много таблиц
    Ответ написан
    Комментировать
  • Как отгружать купленные электронные товары?

    @egorinsk
    > 1) Где лучше хранить сами материалы? FTP-сервер, файловый хостинг?

    На любом сервере с nginx с широким каналом. Ограничений типа качать только в 1 поток или ограничений на скорость скачивания ставить не надо — у вас же магазин, а не бесплатный рапидшеар. Думайте не как сделать проще вам, а как удобнее клиенту.

    > 2) Каким образом формировать уникальную для каждого покупателя, но постоянную относительно ресурса ссылку?

    Добавлять что-нибудь вроде key/session_id в ссылку, а в нгинксе использовать вызов внешнего скрипта для проверки ключа и учета. Например, storage.example.org/key-123456789/История римского права в 3 томах, т.1, Иванов А.А.pdf

    Key может быть привязан к логину, первым 3 цифрам IP и времени.

    Если key неправильный — не выводить непонятных ошибок HTTP 403, а возвращать в личный кабинет на страницу ошибки и выводить телефон, на который можно позвонить в случае проблем со скачиванием.

    У файла должно быть нормальное человекочитаемое имя, а не хеш md5.

    > 3) Какие использовать защитные механизмы для предотвращения расшаривания этой ссылки? Срок жизни, привязка к IP, SMS-подтверждения?

    См. ответ 2

    > 4) Как обезопасить продаваемые материалы в хранилище? Использовать права доступа?

    См. ответ 2
    Ответ написан
    Комментировать
  • Нужен ли Вам сервис для поиска битых ссылок на сайте?

    @egorinsk
    Кстати, кому нужен такой сервис бесплатно и сейчас, советую посмотреть на утилиту skipfish от Google. Она не только ищет битые ссылки, но и ищет уязвимости, а также одновременно проводит стресс-тест приложения. Что может быть лучше?
    Ответ написан
    Комментировать
  • Каким должен быть CTO в веб-стартапе?

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

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

    Замечание про новомодные архитектуры крайне важно — 90% разработчиков, получив возможность принимать решения и делать все чистого листа вам таких планов понастроят, что вы за 10 лет все это не реализуете. Если, услышав о вашей идее, у человека загораются глаза, и он начинает вам генерировать поток идей, пожеланий и дополнений — гоните его прочь. Если он разбрасывается баззвордами вроде «а вот здесь мы используем веб-сокеты, локалсторедж и очередь заданий на NoSQL» — гоните его прочь. И, кстати, в ИЕ нормально не работают ни сокеты, ни локалсторедж.

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

    Итого. Таланты и профессионалы в IT — один из основных бизнес-активов. Естественно, на дороге они не валяются и по собеседованиям давно не ходят. Если у вас таких нет под рукой, вам очень сложно будет их найти.

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

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

    Более того, сомневаюсь, что ваша идея чего-то стоит. Если это не клон успешного западного сервиса, это, скорее всего, бесперспективно. Каждый раз, когда на Хабре очередной стартап описывает свою «гениальную» идею, хочется закрыть ладонь лицом в жесте отчаяния.

    Если уместно в такой ситуации давать советы, то советую вам оставить вашу затею и заняться производством чего-нибудь другого, например пряничных котиков. Или хороших пирожных — в наши дни так трудно найти вкусное пирожное, с бисквитом в основе, с оригинальной кулинарной идеей, но при этом не перегруженное кремом и сливками, и без шоколада (не люблю шоколад). Мне кажется, это очень перспективная ниша.
    Ответ написан
    4 комментария