• 15.12.19 с 12:00 МСК в Интернете прошел тридцатиминутный блэкаут в поддержку Игоря Сысоева, автора Nginx
    0
    • посещаемость. Не вижу кнопки редактирования комментария на мобильной версии: (
  • 15.12.19 с 12:00 МСК в Интернете прошел тридцатиминутный блэкаут в поддержку Игоря Сысоева, автора Nginx
    0

    У моего ресурса суточная поселаемость в районе 20к уникальных юзеров в сутки. Кто-то да сделает выводы.

  • 15.12.19 с 12:00 МСК в Интернете прошел тридцатиминутный блэкаут в поддержку Игоря Сысоева, автора Nginx
    0

    Я/Мы Nginx
    http://tesall.ru/

  • Интересные новинки Vue 3
    +3
    это всего лишь пример. Здесь инициализируется реактивная переменная-счетчик со стартовым значением 0.
  • История и наследие jQuery
    +10
    2009 год:
    — Я сделал слайдер на чистом JS
    — О_о (непонимающий осуждающий взгляд)

    2019 год:
    — Я сделал слайдер на jQuery
    — О_о (непонимающий осуждающий взгляд)

    Эх, как молоды мы были :)
  • Приходите и забирайте книги на английском
    0
    Спасибо. Могу забрать в понедельник?
  • Приходите и забирайте книги на английском
    0

    Learning GraphQL, пожалуйста, если остался

  • Всё что вам нужно знать о Node.js
    0
    Не работал с монгой, так что не дам комментариев по её поводу, но вот утверждение о том, что Оракл или постгрес блокируют поток — однозначно ложный. Если бы это было так, то применение этих СУБД с нодой было бы невозможным :)

    Если внешняя система не поддерживает неблокирующий I/O, нода использует пул потоков, о котором в статье как раз говорится.
  • Всё что вам нужно знать о Node.js
    +1
    Для I/O используется пул потоков, размер которого ограничен по-умолчанию 4-мя потоками, соответственно одновременно может выполняться только 4-ре I/O операции, остальные встают в очередь, так что это потенциальное узкое место. При необходимости размер пула можно увеличить. И не для всех операций этот пул используется, если внешний API поддерживает неблокирующий ввод-вывод, то пул не нужен.
  • Всё что вам нужно знать о Node.js
    0
    а вы статью точно внимательно читали? JS однопоточный, но неблокирующий ввод-вывод реализован путём запуска отдельных потоков (threads) через средства ОС, соответственно вся работа с сетью и файлами и запускается в отдельных потоках.
  • Всё что вам нужно знать о Node.js
    +1
    Спасибо за хороший перевод хорошей статьи!
  • Oculus Rift S полный обзор
    +1
  • Книга «CSS для профи»
    0
    За применение таких селекторов на продакшене надо лоботомию делать.
  • Выпускники американских университетов превосходят выпускников России, Китая и Индии
    +1
    Почему вы считаете изучение computer science и освоение конкретных технологий взаимоисключающими вещами? Почему не сделать обязательные профильные предметы по той самой computer science, а также возможность выбрать себе набор учебных курсов по прикладным вещам и набор непрофильных предметов?
    Я одного не понимаю, почему изучение computer scince должно происходить на устаревших инструментах и технологиях?
  • Выпускники американских университетов превосходят выпускников России, Китая и Индии
    0
    Понял вас. Согласен, синтаксис не принципиален, а вот алгоритмы важны. Но опять же это не противоречит установке, что нужно учить не только фундаментальные знания, но и как-то уметь применять их на практике и после выпуска из ВУЗа быть готовым к работе специалистом. С этой точки зрения, посвятить времени каким-то актуальным прикладным вещам было бы не плохо.
  • Выпускники американских университетов превосходят выпускников России, Китая и Индии
    +3
    А кому ВУЗ это должен?

    Студенту, который платит за своё обучение. Государству, которое платит за обучение специалистов.
    Иначе зачем он нужен? Образование ради образования?
    А если человек хочет после университета пойти в аспирантуру, а затем двигать науку в каком-нибудь лабе, почему он должен слушать курсы по node.js, с которым он ни разу в жизни не столкнется, вместо того, чтобы штудировать Кнута?

    А вот с этим категорично согласен. Вы совершенно правы, что студент, желающий «двигать науку» не обязан слушать node.js, значит ради этого студента все остальные должны вмести с ним штудировать Кнута и писать на паскале? Вот тут мы и подходим к тому, о чём я пытался написать выше, что у студентов должна быть определённая свобода выбора, как это и сделано в цивилизованных странах.

  • Выпускники американских университетов превосходят выпускников России, Китая и Индии
    +9
    то резко переписывать все учебные программы?

    Внезапно, но да, нужно переписывать учебную программу. И внезапно, это и есть работа преподавателей, методистов. И ещё более внезапно — они и так этим занимаются, сто раз переписываю одно и тоже по новым стандартам минобразования. А могли бы и актуализировать эту самую учебную программу. Замена одного языка на другой не должна вызывать какие-то неимоверные затраты на обновление.

    Университет дает фундаментальные знания в области

    Каким образом изучение паскаля или всё того же питона мешает освоению фундаментальных знаний? Они ведь на то и фундаментальные… Так почему их не получать на чём, что имеет прикладное применение? Что может мотивировать студентов, которые увидят вакансии на условном «питоне» и поймут, что учат что-то полезное и востребованное.
  • Выпускники американских университетов превосходят выпускников России, Китая и Индии
    +5
    Конкретным языкам в университете вообще учить не надо, ибо бесполезная трата времени. Для этого есть курсы. Ну или самому можно за полчаса проскроллить доки и изучить все.

    Поэтому будем все программы писать на абстрактном псевдокоде, а вместо освоения сопутствующего инструментария, будем просто набивать его на перфокартах.
    Да, вы правы, проблема не в delphi, проблема в том, что ВУЗ должен выпустить инженера (!), которые будет решать реальные задачи, а не теоретика, знакомого со всем и ничем одновременно. Сейчас же ВУЗы плохо справляются с этой задачей, потому что после выпуска с высокой вероятностью ты услышишь фразу «забудьте, чему вас там учили», если ты сам где-то уже не работал и сам что-то не учил, то попробуй найди работу, когда нет опыта и хоть как-то применимых знаний.

    А у вас почему-то получается, что студент должен учить «сферическое в вакууме» программирование, а не становится инженером по разработке ПО.
  • Выпускники американских университетов превосходят выпускников России, Китая и Индии
    +1
    глобально не согласен, независимо от специальности.

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

    Так вот почему вы решили, что работающий по специальности программист вдруг будет учить «нарушать» правила? И даже если будет, что в этом плохого-то?
  • Выпускники американских университетов превосходят выпускников России, Китая и Индии
    +6
    рыночном отношении к образованию

    Интересно, а какое оно должно быть по-вашему? «образование ради образования»? Ну просто потому что вы так привыкли? И да, если нужен английский язык, то его надо преподавать на должном уровне. А то по вашей логике все должны учить латынь, и не важно, что это мёртвый язык, который имеет очень узкое применение в современном мире. «Деды» учили, мы тоже должны, так? Не понимаю, честно :)
  • Выпускники американских университетов превосходят выпускников России, Китая и Индии
    +8
    сразу ассемблер, чего мелочиться? Перед тем как учить нечто аморфное а-ля питон — стоит все же попробовать что-то более со строгой типизацией. И да… Pascal->Delphi

    И сколько ваших студентов за последние пару лет устроились работать delphi-программистами?

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

    в отличие от вас, я не был столь категоричен в своих высказываниях… А ваши мысли шаблонны и ничем не обоснованы, более того, легко опровергаются эмпирическим путём даже без серьёзных исследований.

    Потому как это уже не высшее образование, а «курсы по ...»

    Нет, это «высшее» образование, после которого нужны «курсы по ...», потому что иначе никому ты не нужен со своим Delphi и без опыта работы.

    кафедра должна сама искать себе гранты на развитие

    Да что уж там! Студент вообще сам должен позаботиться о себе. Ведь задача ВУЗа «научить учиться», ведь как иначе-то? Разве ж «научишься учиться» без просиживания на парах культурологии, психологии, или ещё какой-нибудь «болтологии» в попытках сдать очередной зачёт престарелому маразматику, который хочет, чтобы ты знал наизусть названия всех полотен Рембрандта. Ведь всем известно: не один программист без этого не то что двух слов не свяжет, но и двух строчек кода не напишет. Вы правы.
  • Выпускники американских университетов превосходят выпускников России, Китая и Индии
    +36
    Можно ли еще как-то переломить данную тенденцию

    Конечно, можно. Достаточно:

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


    P.S. Хотя очень интересно, что там за задачи в тесте такие были. Вдруг студентов американских вызов всё время обучение натаскивали на решение чего-то подобного. Как у нас в школах «натаскивают» на ЕГЭ...
    Увидел ссылку выше…
  • Самые страшные яды
    0
    Но на самом деле это сейчас. Те же самые врачи вплоть до 1970-х годов очень активно использовали соединения ртути:

    Вот поэтому я напрягаюсь, когда врачи предлагают попробовать что-нибудь инновационное ради лечения всякой ерунды…
  • Обратите внимание на почтовых голубей: возможности этой технологии удивительны
    0
    3 пакета точно не дошли :)
  • Удобный БЭМ
    0
    Вопрос к автору. У вас на превью-картинке кусок кода с десятками тегов … вы это так серьёзно подключаете стили? Или сделали специально для статьи?
  • Если бы CRT модуль Паскаля был в JavaScript
    0
    Ох, вы правы, с генераторами вместо await delay() будет yield delay(), не знаю, какое помутнение рассудка случилось у меня в 4 утра :)

    Поэтому, видимо, или тормозить основной поток, как предлагал justboris, или вообще писать интерпретатор, а не просто аналоги функций из CRT.
  • Если бы CRT модуль Паскаля был в JavaScript
    0
    Это вряд ли, браузеры достаточно умны чтобы оптимизировать такие моменты.

    DocumentFragment в современных браузерах может замедлять добавление элементов, это факт. Но это не единственный способ реализовать отложенную вставку. По ссылке в моём комментарии можно запустить бенчмарк и пример кода. Он показывает отличия в скорости работы почти в 2 раза на Firefox 65.0, а вот в Chrome разницы практически нет.
  • Если бы CRT модуль Паскаля был в JavaScript
    +1
    async \ await всего лишь высокоуровневая абстракция над генераторами :)
    Да и вроде как задача — реализовать вызов delay(), а не await delay();
  • Если бы CRT модуль Паскаля был в JavaScript
    +2
    Здравствуйте, Игорь! Простите меня за занудство, но хочу указать на некоторые недостатки вашего модуля:

    1. Все ваши переменные и функции находятся в глобальном пространстве имён, что в реальном приложении может привести к большим неприятностям, особенно с учетом весьма распространенных названий вроде «bgcolor» или «loading». Я бы советовал прочитать о паттерне «модуль», он широко распространен в JS.

    2. Вы не используете строгий режим ("use strict"), поэтому не знаете о некоторых потенциально проблемных местах в коде, например, вот здесь вы неявно объявляете глобальную переменную.
    for (k = 1; k <= 80; k++) 


    3. Вы многократно выполняете поиск одного и того же элемента по id. Браузер, конечно, достаточно умён, чтобы выполнять эту выборку быстро, но код выглядит странно и громоздко. Лучше выбрать нужный элемент и сохранить в переменную.
    document.getElementById('x' + (xnow + k) + 'y' + ynow).style.background = bgcolor;
    document.getElementById('x' + (xnow + k) + 'y' + ynow).innerHTML = str.charAt(k);


    4. Советую немного почитать на тему множественной вставки элементов на страницу. Например, вот здесь. Потому что генерация большого количества DOM-элементов в цикле может приводить к просадкам производительности скрипта. Но вообще, выше вам уже подсказали, что лучше в такой задаче использовать элемент Canvas и рисовать всё на нём :)

    5. По поводу вашего вопрос о delay
    function delay(ms) {
      //нужна идея
    }

    могу посоветовать начать копать в сторону генераторов и вообще учиться работать с асинхронным кодом.

    Успехов в вашем начинании! :)
  • «Современный» C++: сеанс плача с причитаниями
    +4
    Простите за оффтоп, но меня очень забавляет, что вы меряетесь скоростью работы программ, запущенных на разных машинах и в разных окружениях… и никого это не смущает :)
  • Flexbox. Инфографика по технологии
    +1
    «Как простую вещь объяснить максимально сложно». Вот так это называется.
    Флексы вполне интуитивны, и краткого руководства типа вот этого, например, более чем достаточно.
  • Дайджест свежих материалов из мира фронтенда за последние две недели №330 (3 — 16 сентября 2018)
    +3
    Понедельник. Проснулся утром. По привычке, не вылезая из кровати, залез с телефона на хабр. Хотел прочитать дайджест. Дайджеста не обнаружил. Сильно волновался. Теперь спокоен.

    Спасибо! :)
  • BEM'a не должно существовать
    0
    Стоит отметить, что с БЭМ селекторы будут выглядеть гораздо лучше, и появится возможность создать любую вложенность.

    .nav__item{...}
    .nav__item--active {...}
    .subnav__item {...}
    .subnav__item--active {...}


    Но это, конечно, только если вы знаете, что БЭМ — это не только про нейминг классов, но еще и про определенные принципы написания стилей вообще.
  • Мне 57, и я scrum-мастер
    +2
    Столько лет в профессии, и не растеряли интерес. Заслуживает уважения!
    А были ли моменты, когда хотелось заняться чем-нибудь совершенно другим, не связанным с ИТ и математикой?
  • Возможности JavaScript, о существовании которых я не знал
    +1
    Использовать глобальные переменные по id элементов плохая практика по двум причинам:

    1. Потому что они глобальные. Если в вашем коде будет другая глобальная переменная person, то код, который работал с элементом #person, сломается.

    2. Изначально не все браузеры это поддерживали. Первым был IE, остальные подтянулись для совместимости.

    В общем не надо так делать. Знать об этом полезно, использовать — нет.
  • Возможности JavaScript, о существовании которых я не знал
    +1
    Да, видимо опечатка. А при отладке не заметили, потому что в браузере доступны глобальные переменные с именами по id у элементов. Т.е. для элемента с #person браузер автоматически создаёт глобальную переменную person.
  • Почему программисты не получают работу: четыре страшилки
    +17
    В инвалидизации кэша я сам некомпетентен
    Извините, вы нам не подходите
  • Вышла самая быстрая версия Firefox
    +3
    После обновления стал заметно быстрее. Неужели мозилла больше не «тормозилла»? :)
  • JavaScript: путь к ясности кода
    0
    и точно полезнее статей на тему «зачем нужны заголовки»
  • Как программисты-самоучки в реальности получают работу
    +1
    Например, сегодня каждый веб-разработчик (и его брат) используют WordPress.
    После этой фразы возникли сомнения в компетенции автора текста, и желание читать дальше поубавилось.

    Если по сути, то ты можешь что-то знать, только если понимаешь это и умеешь использовать. Академические знания без практического опыта — это лишь осведомленность. Что толку от «знания» какого-то алгоритма, если ты не способен его реализовать. А «умения» без знания и понимания (в случае с кодом) практически всегда означает бездумный копи-паст и велосипедостроительство.