• Лучшие практики создания одностраничных сайтов?

    Раз уж вы упомянули Rails - то дам небольшую справку по этому вопросу.
    Для этого существует специальный gem trubolinks. В Rails 4.0 и выше он включён по-умолчанию. Его суть как-раз таки в том, что turbolinks.js перехватывает клик по ссылке, и на адрес, куда вы хотели перейти - отправляет запрос в json, получает ответ в json, после чего перерисовывает внешний вид страницы, и меняет в браузере её адрес.
    Но такой подход не подразумевает в принципе одностраничные сайты. Тут суть в том, что мы прогружаем с сервера только то, что нам нужно для отображения.
    А вообще самый общий ответ простой - сервер должен уметь отдавать по каждому адресу ответ в том виде, в котором он получает запрос: если это был обычный GET или POST запрос - возвращает HTML-страницу. Пришёл запрос на json - отдаёт json
    Например в Rails если по запросу /users/show/1 возвращается html страница, то json будет возвращаться по адресу /users/show/1.json, xml - /users/show/1.xml
    То есть самое простое правило выглядит так система по любому адресу сайта должна уметь отдавать как полный html, так частичный, так и json. Чтобы любой пользователь, открывший какую-то страницу мог взять её адрес, переслать другому, и тот увидел бы аналогичное (вне зависимости от истории его нахождения и действий на сайте)
    Но я не могу понять - как это соотносится с одностраничными сайтами? Это лишь методика перерисовки изображения страницы без полной её перезагрузки.
    Ответ написан
    Комментировать
  • Что почитать или посмотреть про развитие скорочтения?

    @TimeSoundzzz
    Обычно я готов выделить лишь пару часов

    Тренируйтесь весь день, для этого читать не обязательно. Смысл ведь в том, чтобы сразу видеть множество деталей? Книга всего лишь хороший пример последовательного изложения информации. Но только не за рулем машины или подобным действием.
    Переферическое зрение

    Это не периферическое зрение. Это фокусное зрение. Если верить википедии, то у человеческого глаза обзор примерно 190 градусов. Область наилучшего видения 1.5 градуса. Зона ясного видения 15 градусов. Максимальная зона видения 35 градусов.
    На себе не проверял, только для примерной оценки привожу. Сомнения вызваны возможностью одновременно читать 2 книги, как могут делать некоторые пилоты самолетов/вертолетов, после пары лет тренировок с аналогом google glass.
    Отсутствие проговаривания текста

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

    Книга: "Олег Андреев. Учитесь быстро читать." Ни в каких других книгах и ни на каких других курсах ничего действительно более полезного вы не узнаете. Но, возможно, это некий способ заставить себя работать.
    Ответ написан
    7 комментариев
  • Теория эволюции: как генерируются мутации?

    @potan
    Функциональный программист
    Есть редкие примеры наследования приобретенных признаков. Основной - иммунитет бактерий (CRISP-система), когда потомки бактерий приобретают устойчивость к фагу, неуспешно пытавшегося заразить их предка.
    У эукариот (типа людей) наблюдается эпигенетическое (цитоплазматическое) наследование, когда геном оказывается не мутировавшим, а унаследованные признаки, выраженные уровнем экспрессии разных генов, закодированы в составе цитоплазмы (факторы регуляции экспрессии) и метилировании ДНК. Например, если женщина во время беременности голодала, ребенок может отличаться большим аппетитом. Роль эпигенетики в эволюции спорна. большинство считают, что она незначительно. Тем не менее есть эпигенетическая теория эволюции, которая утверждает, что обычно приспособительные признаки появляются именно за счет эпигенетики, а потом идет отбор мутаций, наиболее подходящих для данной эпигенетической ситуации.
    Ответ написан
    Комментировать
  • Теория эволюции: как генерируются мутации?

    @dom3d
    Директор Дом-3D
    Мутация возможная только для сегмента данных.
    Сегмент кода не может мутировать.
    Все мутации для сегмент кода разрушительны.
    Ответ написан
    5 комментариев
  • Где грани между быдлокодом, промежуточной стадией и профессиональным программированием?

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

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

    По этому я стараюсь избегать слов "говнокод" и "красивый код". Есть код который имеет хорошие или плохие характеристики, в контексте выполняемой задачи. Характеристик много, от функциональных:
    Выполнение поставленной задачи.
    Отсутствие багов.
    Скорость работы.
    До качественных:
    Цикломатическая сложность, Связность, Сфокусированность, Тестабельность, Читабельность, Понимабельность, и.т.д.

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

    donkaban
    @donkaban
    Умею рисовать тени
    Я вам щас дам четкое определение говнокода. Если хотите.
    Говнокод - это изобретение плохой реализации там, где есть хорошие всем известные образцы. Использование собственного кода вместо стандартной библиотеки. Изобретение заново сортировки пузырьком. Собственной интепретации "что такое MVC". NIH синдром и отсутствие базовых знаний.
    Ответ написан
    Комментировать
  • Что почитать о JavaScript уровня PRO?

    MDN
    You don't know JS
    www.nczonline.net/blog
    www.2ality.com
    Книги:
    Cody Lindley - DOM Enlightenment
    Nicholas C. Zakas - The Principles of Object-Oriented JavaScript
    Michael McMillan - Data Structures and Algorithms with JavaScript
    David Herman - Effective JavaScript
    Ответ написан
    2 комментария
  • Как не утонуть в океане информации?

    @TimeSoundzzz
    1. Изучи основные методы расширения сознания:
    1.1. Подавление вербальной системы, когда рот закрыт. Не забудь, что основное преимущество ее использования - остановка, подумай зачем и как оно помогает стать умнее и выжить, а потом - выкинь). Нужно это делать все время, а не когда захочется или край наступил вселенной.
    1.2. Шире глаза, понижай фрагментацию зрения, самый стабильный источник данных. Попутно перевод обработки данных с подсознания на сознание, т.е. больше мозгов работают полезно. Можно использовать скорочтение. Скорочтение не работает потому, что не соблюдается 1.1 и 1.3 во всей жизни, используются разные системы, образная и вербальная.
    1.3. Порождай ассоциации всего, что видишь
    2. Изучи физику и эффективность:
    2.1. СТО и основные выводы о движении частиц или того, что мы называем частицами, хотя на самом деле не знаем, что это такое.
    2.2. Теорему Геделя о невозможности полного физического самопознания, использую самого себя
    2.3. Русский язык, чтобы понять, что не сможешь одинаково написать одно и то же слово с бесконечной вероятностью. Сделай вывод почему скорее всего никто никого не понимает и почему это работает (эффективно?).
    3. Стань патриотом)) эффективно же)
    4. Подумай почему развитие науки замедляется, а поток информации становится больше.

    А потом уж начинайте применять эффективность) все полетит, может и вкладки в топку улетят.
    Разумеется это всего лишь догадки)) но ничего нового
    Ответ написан
    6 комментариев
  • Как организуется техподдержка в софтверных компаниях?

    @Mikhael1979
    админ в крупной компании
    Саппорт обычно делят на линии. Обычно на 3.
    1-я линия - можно нанимать девочек, тупо для регистрации/маршрутизации обращений.
    2-я линия - можно нанимать студентов и давать им в зубы базу знаний + у них должен быть некий бэкграунд.
    3-я линия - это программисты. Желательно прямо из проекта. Они должны создать базу знаний и минимально обучить 2-ю линию.
    Это оптимизирует затраты на персонал. Самая высокооплачиваемая 3-я линия обычно состоит из 2-3 человек, а самая многочисленная 1-я - самая низкооплачиваемая.

    По мере накопления опыта сотрудники растут - с 1-й линии до 3-й и выше. Накапливается информация и в базе знаний. Как держать её актуальной - см. статьи про KPI поддержки - их много и они подробные.

    В общем, курите ITIL - там всё расписано более чем грамотно. Можете сходить на курсы по ITIL - на собственном опыте знаю, что это полезное вложение денег и времени.
    Ответ написан
    1 комментарий
  • Теория эволюции: как генерируются мутации?

    maaGames
    @maaGames
    Погроммирую программы
    Весь смысл генетических алгоритмов именно в том, что мутации случайны, а не контролируются программистом по каким-то аспектам. Выборка происходит не перед мутацией (с выбором того, что следует изменить), а уже в мутировавшем поколении. Весь смысл в том, что непредсказуемое решение может оказаться более эффективным, чем предсказуемое.
    Это как если программист подумает, что для увеличения скорости передвижения нужно наращивать число ног и через N поколений получит 100500 ножку, а случайные мутации "научат" тараканчика сворачивать тело в колесо (это я типа сравнил многоножку с какой-нибудь макрицей).
    Т.е. происходят случайные мутации и алгоритм оценивает, привели ли они к какому-то улучшению по заданным признакам. В примере с огородом, можно ожидать рождение ребёнка с конечностями в форме лопат, который будет очень быстро пахать огород, но не один вменяемый программист не будет специально программировать такое создание.
    Ответ написан
    Комментировать
  • Теория эволюции: как генерируются мутации?

    tuccar
    @tuccar
    Теория эволюции уже давно опровергнутая теория. Это уже мертвая теория, от которой ученые отказались повсеместно. Даже несколько лет назад по всему ученому миру проходил сбор подписей за отречение от этой несостоятельной теории.

    Далее.. Мутации положительные не бывают. Мутации бывают только отрицательные. В биологическом мире нет такого примера, чтобы мутация улучшила состояние организма или добавила к нему новые функции и/или свойства. А вот примеров наоборот, когда мутация ухудшает организм, есть. Пожалуйста, сколько хочешь примеров, хоть отбавляй.
    Ответ написан
  • Теория эволюции: как генерируются мутации?

    @xandox
    Обрати внимание на то, что все женщины рождаются девственницами.
    Мутация - это случайный процесс, то что мы сейчас имем объясняется естественным отбором. Другое дело, что сейчас в принципе (более или мение) можно влиять на свойства будещего ребенка посредством генной инженерии, но это ни как не связано с качалкой или паханием огорода.
    Ответ написан
    Комментировать
  • Почему в мобильной версии Тостера комментарии к ответу открываются на новой странице, а не разворачиваются?

    globuzer
    @globuzer
    gezgrouvingus progreszive ombusgrander greyderzux
    Вчера пытался написать вопрос в тостере с планшета (самсунг), все вроде нормально. Отметил капчу даже. А вот на кнопку ОПУБЛИКОВАТЬ так и не получилось нажать. Вернее нажать то получилось, но никакой реакции не происходит. Короче какой-то глюк. Пришлось включить компьютер и реализовать задуманное с десктопа. За сим, сомнительный мобильный тостер на данный момент, либо в некоторых местах глючный. В моем случае и в этот момент когда я захотел нажать главную кнопочку, она не сработала :(
    Ответ написан
    1 комментарий
  • Как вы считаете время необходимое программисту для решения задачи?

    effetto
    @effetto
    .Net разработчик
    Мой прикладной способ оценки временных затрат следующий.
    1) Произвести максимальную декомпозицию задачи (разбить на подзадачи) до такой степени, чтобы каждая подзадача либо уже выполнялась вами, либо вы имели четкое представление как решить подзадачу.
    2) Составьте список факторов риска в виде множетилей. Например: новая платформа - 1,2 от базы, сложный клиент - 1,5 от базы и т.д.
    3) Перемножьте подзадачи на применимые к ним риски, затем сложите полученные результаты.
    Такой подход обеспечивает мне дисперсию в 10% от фактической суммы затрат.
    Ответ написан
    Комментировать
  • Как вы считаете время необходимое программисту для решения задачи?

    azrail_dev
    @azrail_dev
    Вобще есть формулы по расчетам сроков, но насколько они эффективны - большой вопрос. Если интересно - погугли на тему "Широкополосный дельфийский метод", "PERT"
    У нас обычно практикуется 2 метода: разработчик указывает колличество часов, за сколько он сделает доработку - например от 4 до 8, руководитель пишет менеджеру 6-10.
    Еще один метод - менеджер сказал - мы это сделаем за 3 дня, может сделать разработчик это или нет - его трудности. Обычно успеваем, но после этого код становится грязным, сопровождать потом не очень хорошо, программисты крайне недовольны работой руководства и менеджеров.

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

    От того, кто указал срок, зависит и понятие готовности задачи. Если срок указал программист - это разработка + внутреннее тестирование, если менеджер - срок запуска доработки.
    Ответ написан
    1 комментарий
  • Как Apple продвигает свою продукцию? Что такое оставить впечатление от продукта?

    lopata
    @lopata
    full stack
    Посмотрите видео, думаю тут вы найдете ответы на свои вопросы. https://www.ted.com/talks/simon_sinek_how_great_le...
    Ответ написан
    Комментировать
  • Как Apple продвигает свою продукцию? Что такое оставить впечатление от продукта?

    evnuh
    @evnuh
    Поиск Гугл помог мне, впусти и ты его в свой дом
    www.lookatme.ru/mag/people/icon/205735-john-maeda
    Внизу сразу и его книга, которая почти вся о том, о чём вы спрашиваете.

    Ну и из той же тематики, только ближе к бизнесу:
    Tim Waterstone - Swimming Against The Stream
    Ответ написан
    Комментировать
  • Как Apple продвигает свою продукцию? Что такое оставить впечатление от продукта?

    buttersmai
    @buttersmai
    Почитайте биографию Стива Джобса, очень хорошо можно прочувствовать через нее философию маркетинга компании. А книжки по маркетингу с фундаментальными знаниями(Котлер) тоже очень даже хороши.

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

    Insaned
    @Insaned
    Для себя использую музыку+технику помидорки. Ну и минимальное планирование, чтобы в любой момент знать что делать дальше.
    Ответ написан
    Комментировать
  • Есть сервис для того, чтобы научиться бегло понимать английскую речь?

    @JackBauer
    Куча советов но все слабоэффективны.
    Просмотр фильмов это хорошо, но там язык-дженерик.

    Только телевидение, только британское, минимум 3-4 часа в день. Без субтитров по возможности. Метод погружения. Главное найти, чтобы картинка и сюжет нравились, остальное мозг обработает.
    Также обязательна изоляция от русского контента (радио, телевидение, песни - ни в коем случае!).

    6 месяцев и вы сможете обсудить приемущества лейбористов в лондонском пабе с местным жителем после 4 пайнтс.
    Проверено на себе и уже двух 'выпускниках'.
    Ответ написан
    11 комментариев