• Почему числа в JS такие странные?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега JavaScript
    Javascript просто следует стандарту.

    Squeezing infinitely many real numbers into a finite number of bits requires an approximate representation. Although there are infinitely many integers, in most programs the result of integer computations can be stored in 32 bits. In contrast, given any fixed number of bits, most calculations with real numbers will produce quantities that cannot be exactly represented using that many bits. Therefore the result of a floating-point calculation must often be rounded in order to fit back into its finite representation.

    What Every Computer Scientist Should Know About Fl...

    P.S. Это вы еще 0,1 и 0,2 не складывали.
    Ответ написан
    3 комментария
  • Как создать сайт вроде спрашивай.ру?

    HoHsi
    @HoHsi
    Не стоит сразу же замахиваться на большой сервис, начните постепенно. Каждый начинающий программист первым своим проектом грезит сделать убийцу ВК / FB. Скажу сразу, это с первого раза не выйдет. Как не выйдет и с 10. Но! Это не повод, что-бы не развиваться и не учиться. Итак если вы все же решили потрать пару месяцев на обучение, или вы уверены, что пойдет меньше, начните так:

    Шаг первый
    Html. Это язык разметки, на котором написано 100% веба, то есть это необходимая вещь де-факто. Он позволит вам разместить текст на странице, оформить ее.
    В базовой аналогии, это ворд для интернета (кышь Ъ праграммысты, это довольно хорошая аналогия для новичка, продолжим...).

    Это займет +- 1 неделю

    Вам помогут:
    * htmlbook

    Шаг второй
    CSS. Это язык стилизации. Перекрасить текст, увеличить отступы, сделать тень у блоков это к нему. Все крависости в интернете делаются на нем. 99% веба использует для стилизации именно его, так что опять же это стандарт.

    Это займет +- 2 недели

    Вам помогут:
    * Sorax

    Шаг третий
    PHP. Это уже язык программирования (плохой, больной, уродливый, но язык. Да начнется холивар). Он поможет вам понять как это работает, как устроена кухня. Поковыряйте его, обучитесь начальной логике и алгоритмам. Он поможет вам выводить HTML более осмыслено, т.е. вы сможете уже составлять динамические страницы, которые могут подстраиваться под пользователя, добавлять посты, вопросы, картинки и т.д.

    Это займет +- 2 месяца

    Вам помогут:
    * php.net

    Шаг четвертый
    Wordpress. Это почти готовый сайт. В нем уже есть все, что вам нужно. Вы можете писать посты, делать обсуждения и т.д. На его основе вы сможете вылепить что угодно, даже тот самый вопросник. Он написан на PHP, так что он будет дополнять ваши знания. Как только научитись ставить WP, попробуйте написать для него шаблон, потом плагин, и еще и еще. Это закрепит и разовьет ваши предыдущие знания.

    Это займет +- 2 месяца

    Вам помогут:
    * wp-kama

    Шаг пятый
    MySQL. И в частности язык запросов SQL. Это база данных. Они нужны, что-бы хранить информацию вашего сайта в удобном виде. Т.е. по своей сути это таблица экселя, в ней есть поля и их значения. Это так же необходимые знания, так как ваши вопросы из вопросника будух храниться именно там.

    Это займет +- 1 месяц

    Переломный момент
    Наступает переломный, это значит что по истечению полу-года вы должны сесть и подумать, нравится ли вам, что вы делали. Это важно. Так как дальше не будет проще, не будет легче. Начнутся такие вещи как Асинхронность, Брокеры сообщений, ООП, MVC, и другие страшные слова, которые ровно как и предыдущие шаги по-началу будут вас пугать, но потом станут лучшими друзьями.

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

    Не спешите так же переходить к шагам ниже, если не уверены в своих силах. Нет ничего плохого, что-бы "посидеть" еще на предыдущих шагах.

    Шаг пятый
    JavaScript. Ура, вы решили, что вы хотите быть программистом, похвально. Этот язык позволит вам сделать ваши страницы более динамичными. Добавить на них анимацию, логику. Этот язык использует 90% веба, так что сомневаться в его значимости нет смысла. Он позволит вам добавить жизнь на ваш сайт.

    Это займет +- 2 месяц

    Вам помогут:
    * Sorax
    * learn.javascript.ru

    Шаг шестой
    Jquery. Это продолжение JS. Это фреймворк (набор готовых функций). Он облегчит вашу работу с JS и позволит делать ее более качественно и быстро.

    Это займет +- 1 месяц

    Шаг седьмой
    Распутье. Вы уже как год программист, отличная работа. Вы уже выросли из яслей и впереди бескрайний океан. И теперь вы должны понять, что вы хотите. Устраивают ли вас сейчас ваши текущие инструменты. Удобные ли они. Не стесняют ли они вас.

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

    Итак развилка:
    Мне нравится PHP, мама я женюсь!
    Ок, тогда вам стоит взглянуть на фреймворки Laravel, Yii 2, вполне хороши. Они довольно мощные и позволят много чего на себе сделать.

    PHP какой-то странный, но мне понравился JavaScript
    Шикарно, значит есть смысл попробовать NodeJS. Это версия языка (Да, я знаю, что нода это среда а не язык, дайте уже объяснить человеку) расчитаная на составление страниц, как PHP. Это очень мощный инструмент, поняв который, вы вряд ли захотите уйти с него. Он поможет вам писать не только сайты, но и приложения для телефонов / планшетов, программы для ПК, возможно игры (но не стоит. По крайней мере с текущим развитием инструментов), демоны, сервисы, консольные приложения и т.д.

    Они оба мне не нравятся
    Что ж, тогда вам могут приглянуться Python, Ruby - эти два языка более близки к PHP, чем JS.
    Или вы за год стали адептом скорости, и не видите большей радости в жизни чем оптимизация и быстрото рендеренга. Ну тогда вам точно понравятся GO и Rust.
    А может быть Dart к тому временем станет мейн стримом, это уже покажет время.

    Что-бы вы не выбрали, это будет хорошим решением.

    Шаг восьмой
    Как говорится, я просто оставлю это здесь. Сейчас нет смысла объяснять, что это, зачем оно и с чем его едет, вы просто взглянете через год на этот список и все поймете.

    CSS:
    * Sass / Less / Stylus

    JS:
    * CoffeeScript / LiveScript / TypeScript
    * Angular
    * Promise

    NodeJS:
    * NPM
    * Express

    Ускорение работы:
    * Gulp
    * Jade
    * Yo

    Остальное:
    * MongoDB
    * MariaDB
    * RabbitMQ

    Шаг 7 и 8 займут у вас всю жизнь
    Это не в коем случае не значит, что язык будет тем же, просто Язык / Технолигия будут заменяться на другую, а смысл будет тем же. Будут новые технологии, будут новые подходы, новые языки. Будет интересно и весело.
    Ответ написан
    15 комментариев
  • Как создать сайт вроде спрашивай.ру?

    @Div100
    Попробуй сделать декомпозицию.
    Разбей задачу от "сделать сайт" на много мелких, "регистрация", "авторизация", "добавление вопроса".
    А потом уже сможешь думать отдельно над каждой из задач. Это будет проще нежели думать, над тем как создать "спрашивай.ру" .
    Ответ написан
    1 комментарий
  • Где точнее буду производится математические операции с плавающей запятой на Java или на C++?

    @komjaga
    Программист встроенного ПО
    Точность будет одинаковая, это зависит не от языка, а от типа данных

    смотрите типы данных float и double
    Ответ написан
    1 комментарий
  • Как изменить данные в iframe?

    Iframe - это как отдельная вкладка в браузере, а из одной вкладки нельзя получить доступ к содержимому других.
    Ответ написан
    Комментировать
  • Будет ли на моём железе без проблем работать Линукс?

    VladimirAndreev
    @VladimirAndreev
    php web dev
    надо будет только поставить проприетарные драйвера от видеокарт - и все будет работать
    Ответ написан
    7 комментариев
  • Почему не удаляется первое значение из масива с ключем 0?

    VladimirAndreev
    @VladimirAndreev
    php web dev
    потому что 0 == false...
    любые функции, которые возвращают ключи массивов, позиции в строках и т.п. нужно проверять так:

    if(false !== array_search($form, $bad_block)) {
        // ...
    }
    Ответ написан
    Комментировать
  • Является ли нормой вести историю изменения всех свойств сущности приложения в mysql таблицу?

    @Riccky
    Тебе виднее зачем она нужна. По мне так разве что для всяческих разборок с читерами, накрутчиками и при проблемах с оплатами.
    Но в именно таком виде не хранил бы. Хранил бы историю отдельно, а последнее значение отдельно, чтобы выборку для текущего значения можно было бы делать без указания "последнего datetime". Поскольку для повседневной работы история не нужна, то и незачем нагружать сервер ненужной работой. Потом, по мере роста сложности игры и количества игроков у тебя будут проблемы с производительностью, если сделаешь как ты написал.
    И было бы из-за чего. Не из-за чего - просмотр истории не самая частая и не самая нужная операция.
    Ответ написан
    2 комментария
  • Почему не работает скрипт?

    alexanderkx
    @alexanderkx
    hover - устарел, вроде как начиная с 1.9. Следует использовать mouseenter/mouseleave

    var bar = $('.bar-text');
                
    bar.mouseenter(function() {
        $(this).css('background-color', 'black');
      })
      .mouseleave(function() {
        $(this).css('background-color', 'transparent');
      });
    Ответ написан
    Комментировать
  • Что значит node.js разработчик?

    @teslor
    Node.js это не веб-сервер и не CMS, это просто среда исполнения JavaScript, где можно сделать что угодно (в т.ч. написать свой веб-сервер, фреймворк и т.д.). Чтобы называться разработчиком Node.js нужно разбираться в тонкостях асинхронного JS, знать большую часть встроенных функций Node.js, уметь работать с основными модулями и создавать свои.
    В контексте фронтенд-разработки обычно хотят лишь, чтобы человек умел его установить и настроить сборщик. Это не разработчик Node.js.
    Ответ написан
    1 комментарий
  • На что обратить внимание, перед тем, как получать заказы от людей, стоит ли еще что-то нового узнать про HTML?

    webinar
    @webinar Куратор тега Веб-разработка
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Что бы ответить на вопрос что Вам нужно знать, надо понимать что Вы знаете. Сам по себе html нигде не используется. Он идет в связке, как минимум с css и jquery, если зарабатывать версткой.
    На базе чего Вы делаете сайты? Голый статичный HTML? За такое не платят.
    Ответ написан
    Комментировать
  • Требуется пояснение как связать фронт и бэк-энды?

    arutyunov
    @arutyunov
    Mooza.ru — Делаем сайты
    Вам нужно данные из формы куда-то отправить - верно? Например, на свой email.
    Отправить их может сервер. Для этого данные из вашего браузера (с вашего компьютера) надо отправить на сервер. Сервером может быть как ваш компьютер (если вы разрабатываете сайт локально), так и абсолютно другой компьютер в любой точке мира.

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

    Почитайте про то, как работает http протокол, что такое клиент-серверная архитектура.
    Можно посмотреть какие-нибудь лекции на эту тему.
    Как только поймете "фишку", без труда сделаете обработчик формы и отправку данных на почту)
    Ответ написан
    Комментировать
  • Надёжный офисный пакет для линукса?

    butteff
    @butteff
    Раз в тысячу лет заправляю свитер в носки
    > это ужас без конца, лажа то там, то сям, даже картинку вставить не можем
    Ну не знаю, я работаю в libreoffice и таких проблем не испытываю. Вы что-то делаете не так.
    Если Вас он не устраивает, то установите себе винду (обновление до 10-й бесплатное же, до лицензионной десятой версии даже с пиратской), а старые версии офиса недорогие, вроде как даже и бесплатные должны быть (я за продукцией мелгомягких не слежу), вон старый фотошоп бесплатен, к примеру.

    Я же использую libreoffice несколько лет и доволен оплностью. Даже на пк с виндой ставил именно его ранее.

    UPD:
    14038d88799a40e3923147082991553b.pngd1f98cc9fdcf4188959a1e1564d504f2.png
    Ответ написан
  • Как на NW.js реализовать работу с txt файлами?

    @dixoNich
    frontend developer
    Так же, как на nodejs.
    Ответ написан
    Комментировать
  • Как добавить элемент в элемент не содержащий заданного класса?

    FMars
    @FMars
    $('div.a ul').not('.c').append('<li>something</li>')
    Ответ написан
    Комментировать
  • Как правильно покупать сайт и какая ему АДЕКВАТНАЯ цена?

    Nekto_Habr
    @Nekto_Habr
    Чат дизайнеров: https://t.me/figma_life
    Если хочется гарантию, что не будет геморроя вроде "это было не оговорено и делайте сами" - по-моему, лучше обратиться в студию. На фрилансе нет гарантии. В идеале, ты сам должен чётко понимать, что хочешь, чтобы транслировать свои мысли исполнителю. Потому что очень часто имеет место недопонимание, и как следствие агрессия друг к другу. А корень зла - в плохой формализации требований. Дизайн - хорошая основа для ТЗ, но не его замена. Нужно максимально подробно описать буквально ВСЁ, это единственный способ доказать, что всё действительно было оговорено.
    Ответ написан
    5 комментариев
  • Верстать без фреймвороков это значит быть не професионалом?

    delphinpro
    @delphinpro Куратор тега CSS
    frontend developer
    Быть профессионалом - значит знать и правильно применять необходимые инструменты для наиболее эффективного решения задачи. А также НЕ применять, если в этом нет необходимости.
    Ответ написан
    4 комментария
  • Верстать без фреймвороков это значит быть не професионалом?

    Соглашусь с заказчиком, студент у нас работает, дали верстку, сразу сказали использовать бутстрап. Он долго упирался и тоже хотел написать все с нуля, в итоге пагинация у него вышла на 100 строк, а у меня на 30. Я затратил на это меньше времени и код чище, т.е. следующему разработчику не надо разбираться в портянке чужого кода. плюс в бутстрапе включена нормализация.

    Писать с нуля - это каменный век, так и будем на велосипедах ездить? Или уже на ракете полетим?
    Ответ написан
  • Верстать без фреймвороков это значит быть не професионалом?

    Serj-One
    @Serj-One
    i'm sexy and i know it
    Новички поступают как раз наоборот, т.е. лепят тот же бутстрап всюду, независимо от того, нужен ли он там на самом деле.
    Дело в том, что css фреймворки - скорей инструмент прототипирования, нежели основа проекта.
    Их применение оправдано в проекте без дизайна, какой-то технической вёрстке, админке, и т.д. Но в большинстве проектов с уникальным дизайном они попросту неуместны.
    Верстай с нуля, и не парься. Это будет только плюсом, наберёшься опыта.
    Ответ написан
    2 комментария
  • Прошу помочь с Regexp JavaScript для мобильного телефона?

    Попробуйте передать не строку а регулярку:
    $("input#phone").val().match(/(\+7)9[0-9]{9}/)
    Ответ написан
    Комментировать