• Vivaldi 1.13 – всё под рукой
    +1

    Спасибо про инструменты для работы с кучей вкладок. Это для меня было первичным фактором для использования Vivaldi. Из-за него пришёл и остался. Хотя ускоренный Firefox с tree style tabs теперь вновь может составить конкуренцию.

  • Russian AI Cup 2017 — отчет о бета-тесте, старт чемпионата. Хотели StarCraft, получили странный Total War
    0

    Завезите Node.JS, пожалуйста.
    А вообще странно, что не сделали просто работу через некое http API.

  • Промисы в ES6: паттерны и анти-паттерны
    0

    Как-то не возникало мысли так писать, гораздо логичнее


     q
    .then(() => this.loading = true)
    .then(() => doSmth())
    .then(() => this.loading = false)
  • Промисы в ES6: паттерны и анти-паттерны
    0
    Про promisify написано в первом же комменте этого треда

    Да я видел, но мне не нравится мне использовать его из util. Из Promise гораздо логичнее и чище.


    cancel — успешно решается на уровне библиотек

    Ага, например, на уровне request-promise это решается через cancel от bluebird. Зачем плодить лишние сущности?


    finally есть в обычном try/catch, который можно использовать в асинхронных функциях.

    Ээээ. Так мне нужно его в цепочке использовать, finally от обычного try catch вот ни разу не поможет. Или вы имели в виду — использовать его в связке с async/await?


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

  • Промисы в ES6: паттерны и анти-паттерны
    0

    delay, cancel, spread, promisify, timeout, inspection — там есть огромное количество фич, без которых, конечно, жить можно, но гораздо печальнее. В нативных, кажется, даже finally нет.

  • Промисы в ES6: паттерны и анти-паттерны
    0

    Если мне не изменяет память, то нативные были в 5-7 раз медленее bluebird. Ускорение нативных в два раза будет маловато (кроме того, подозреваю, что bluebird при этом тоже ускорился). Свежих бенчмарков ни у кого нет?

  • Как необразованная молодежь становится образованной. Ответ университета
    0

    Вы убедились в качестве образования МГИУ и МГИУ, насколько я понял — вы же шли по той же образовательной программе, что при поступлении? Естественно, что после вхождения в состав МАМИ в вашей учебной программе ничего не могло резко поменяться.


    Относительно того, имеет ли смысл поступать сейчас — я не знаю, со свечкой не стоял, но есть вероятность того, что с объединения прошло 3 года, и за это время программа и преподаватели первых курсов изменились. Просто хочу верить в хорошее.

  • Как необразованная молодежь становится образованной. Ответ университета
    0

    Помидор "превращается" в салат, или "входит в состав" салата? Или можно сказать и так и так, и это будет иметь один смысл?

  • Как необразованная молодежь становится образованной. Ответ университета
    0
    я лично убедился в качестве образования в этих вузах (мой развернутый комментарий)

    Вы убедились в качестве образования во всех трёх вузах сразу?


    И работают они исключительно за зарплату

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


    Ну и не совсем понятно — вы ожидали, что после объединения в один момент сменится учебная программа? Что всех преподавателей разгонят одномоментно и наймут новых? Ну это наивно как-то. В лучшем случае, можно ожидать, что первый курс пойдёт по какой-то новой программе и с новыми преподавателями. И то скорее через год-два. Это ж адовое количество людей и работы бюрократической машины.

  • Как необразованная молодежь становится образованной. Ответ университета
    0
    P.S. Чтобы вы понимали, МГИУ вначале превратился в МАМИ, потом в Московский политех. 90% преподавателей осталось.

    МГИУ никогда не превращался в МАМИ, это два разных ВУЗа, и "войти в состав" это совершенно не то же самое, что "превратиться". К тому же, МГИУ, насколько я успел прочитать, входил в состав уже Политеха, а не МАМИ.

  • Как необразованная молодежь становится образованной. Ответ университета
    0
    А в чем разница между Политехом и МГУ

    Наверное, вы хотели написать "МГИУ", иначе совсем абсудно звучит.


    Разница между Политехом и МГИУ — в том, что Политех это МАМИ, МГИУ, МГУП (и возможно я ещё кого-то не знаю, лень было википедию до конца читать). И судить по всему вузу на основании отзывов 2014 года на одно из учреждений, которое в него влилось — это по меньшей мере странно.

  • Промисы в ES6: паттерны и анти-паттерны
    0

    Забыли про генераторы и про то, что даже с нативной поддержкой промисы, bluebird быстрее и обладает чудесным богатым api. Пользуюсь им в разработке на восьмой ноде.

  • Как необразованная молодежь становится образованной. Ответ университета
    0

    На всякий случай ещё раз уточню, что в статье пишут про Политех, а не МГИУ...

  • Как необразованная молодежь становится образованной. Ответ университета
    +1

    Ваши отзывы про МГИУ 2014 года. Да, я читал, что он был присоединён к Политеху, но это произошло в 2016 году.

  • Что последует за вебом?
    +1

    Да, как раз хотел написать то же самое. Жесть на жести. Но про SQL и webAssembly круче всего. Уровень некомпетентности зашкаливает разумные пределы.

  • Selenium и Node.js: пишем надёжные браузерные тесты
    +2

    Для того, чтобы оттестировать на десятках браузеров — нет.

  • HR-робот обзванивает тысячи людей одновременно: рассказываем, как
    +1

    Ненавижу таких роботов всеми фибрами души и принципиально с ними не разговариваю.


    У меня указано штук 5 способов связи с ними, и телефон всегда является вторичным. Мне можно написать по почте, в Скайп, телеграмм, возап — куда угодно. И мне будет приятно и удобно общаться с роботом. Так нет — они начинают мне звонить. Для меня это сразу признак того, что потенциальный работодатель демонстративно чхать хотел на время соискателя. Кладу трубку. Так этот робот мне ещё и перезванивает! По несколько раз! И ни разу со мной потом робот не пытался связаться по остальным каналам. Не уверен, что это была именно Вера, таких было уже довольно много — уверен только в том, что один из звонков был от Альфа банка.


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


    Нет, я не дикий человек, который считает, что общаться нужно только с живыми людьми. Наоборот — я люблю использование роботов везде, где только можно. Но роботы должны использоваться таким образом, чтобы как минимум не увеличивать затраты времени вашего контакта. Иначе это бытовое хамство, скрытое под маской инноваций. Ещё один пример — робот Юлмарта. Пока ты не дослушаешь до конца его сообщение о заказе, ты не можешь подтвердить заказ. А если у тебя там много позиций, то ты так и будешь, как идиот, несколько минут слушать робота.


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

  • Тайминговая атака на Node.js — когда время работает против вас
    +3

    Отличный пример, как взломать приложение, в котором пароли сравниваются прямо в ноде, и к которому имеет доступ только один пользователь. Больше, больше сферических коней в вакууме! И каждый раз помечать их как проблемы в node.js.

  • По следам highloadcup: php vs node.js vs go, swoole vs workerman, splfixedarray vs array и многое другое
    +1

    Будет здорово, если попробуете — интересно, пока не видел внятных бенчмарков с кластером.

  • По следам highloadcup: php vs node.js vs go, swoole vs workerman, splfixedarray vs array и многое другое
    +1

    del

  • По следам highloadcup: php vs node.js vs go, swoole vs workerman, splfixedarray vs array и многое другое
    +1

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

  • По следам highloadcup: php vs node.js vs go, swoole vs workerman, splfixedarray vs array и многое другое
    0

    Непонятно, как именно запускались проекты, так что уточню — нода у вас была в один поток, как все обычно делают на подобных бенчмарках?

  • Создатель Node.js: «Для серверов я не могу представить другой язык кроме Go»
    +1

    Будут. Количество велосипедов прямо пропорционально количеству багов.

  • Создатель Node.js: «Для серверов я не могу представить другой язык кроме Go»
    +1

    Видел. Они менее заметны, потому что менее агрессивны. Ну или страдают меньшим максимализмом.

  • Создатель Node.js: «Для серверов я не могу представить другой язык кроме Go»
    +1
    Я знаю многих людей, которые пишут на node.js, просто потому, что даже не знают про другие технологии.

    Если они не знают про другие технологии, то для их веб магазина и PHP отлично сойдёт. Да и писать статью для этих людей в хабр это какое-то лукавство.

  • Создатель Node.js: «Для серверов я не могу представить другой язык кроме Go»
    +11

    Разработчики на Go мне яро напоминают воинствующих мусульман в мире IT. Аллах сказал им писать на Go, и дальше они под это будут агрессивно проталкивать любую ложь и переворачивать любую истину. За всё время не встречал более упоротых поклонников технологии, чем эти ребята. Подозреваю, там где-то есть зомбирующие коды и мануалы.


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


    По теме — Райан нашёл себе новую игрушку. Он четыре года занимался нодой — сколько же можно? Плох тот разработчик, который не хочет пробовать новое. И даже если это те же яйца в профиль, они кажутся лучше, потому что не так затёрты на проблемных ранее местах.

  • Как звезда бразильских сериалов случайно помогла открыть IT-компанию в России
    +1

    Конечно же, "получаться". Автокоррект на телефоне.

  • Как звезда бразильских сериалов случайно помогла открыть IT-компанию в России
    +1

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

  • О переводе книги «Kali Linux Revealed»
    +4

    Преподаю студентам инфобез с использованием Kali, но здесь вердикт однозначный — не переводить. Kali имеет смысл только как готовый набор хороших инструментов для пентеста. Судя по оглавлению, о самих инструментах там не сказано примерно ничего. Так что в сухом остатке имеем книгу "Debian для чайников". Если так, то перевод это лишь увеличение энтропии этой маленькой вселенной.

  • Paraquire, или Перестаньте доверять библиотекам
    +1

    Ну элементарно же! Нужно ограничивать права этого пакета другим пакетом для ограничения прав!

  • Paraquire, или Перестаньте доверять библиотекам
    +1

    А вы часто устанавливаете зависимости, которые потом никак не используете? Если нет, то разницы никакой.

  • Paraquire, или Перестаньте доверять библиотекам
    +2

    Проблема не только и не столько в командах (настолько "в лоб" хакер вряд ли будет что-то делать), сколько в содержимом зависимостей, которые могут помимо целевого назначения делать всё что угодно. Как пример — недавняя статья по поводу пакета, который переменные оружения отправлял на сервер хакера. Зависимость из мавена может делать это точно так же. И никто по этому поводу почему-то не переживает.

  • Paraquire, или Перестаньте доверять библиотекам
    +1

    Таки большие модули отличаются только тем, что вы сразу отказываетесь от идеи проверять, что там внутри: )


    Ну и нет — что джава, что PHP приложения сейчас обычно тоже тащат с собой кучу сторонних модулей. Но про это почему-то никто не пишет.

  • Paraquire, или Перестаньте доверять библиотекам
    +2

    Nuget — всё то же самое
    Composer — всё то же самое
    Maven — то же самое
    В последнее время всё больше компонентов используется напрямую с гитхаба — тем более всё то же самое. И это только примеры с тех языков, с которыми я непосредственно работал.


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


    Более того — даже наличие специальных людей не гарантирует, что в пакете случайно не будет функции, которая разнесёт всю систему (привет яндекс диску, один из релизов которого делал rm /rf).


    И ещё одна бочка дёгтя в вашу каплю мёда — проверка разрешений никоим образом не гарантирует то, что нельзя некорректно воспользоваться выданными разрешениями. Например, пакету может требоваться доступ к файловой системе для записи логов\картинок\кеша\чего угодно. Естественно, этим можно злоупотребить как угодно. Или, к примеру, вы дали права на внешние коннекты. Получите сразу возможность использования зловреда, который отсылает на левый сервер ваши переменные окружения или что угодно ещё.


    Так что такой подход очень вреден — это иллюзия безопасности вместо осознанного принятия рисков и принятия корректных мер по борьбе с ними.

  • Реверс-инжиниринг вредоносного мошеннического скрипта
    0

    Абсолютно некорректная догадка о том, что историю засоряют, чтобы back не отработал. Может и за этим тоже, но не 100000000 раз же! Этот цикл просто вешает ваш хром таким образом, чтобы он этого не смог явно отследить. Ну и остальной текст статьи на том же уровне… Уважаю питонистов, но не сажайте их писать статьи про джаваскрипт.

  • Paraquire, или Перестаньте доверять библиотекам
    +1

    Да что же все так привязались к бедному npm. Можно подумать, с другими менеджерами пакетов что-то по другому. Вопрос безопасности решается легко — отсматривай, что ты включаешь, и фиксируй версию. Всё. Не надо делать вид, что у вас там чёрный ящик, который надо ограничивать.


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

  • Retrofit на Android с Kotlin
    0

    Так и не нашёл плюсов по сравнению с Apache httpComponents.

  • Редизайн Хабрахабра и Гиктаймс. Финишная прямая
    +1

    В целом нравится, хотя, как ни странно, для меня самое заметное изменение — разнесение кнопок голосования. Читаю на ходу с планшета, регулярно промахивался.


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


    Понятно, что есть всякие скриншотеры и прочие автоматические тесты, но… Ресурс здесь специфический, и у заметного процента пользователей, например, стоит Android Studio с приползшими оттуда шрифтами. Так что живое ламповое тестирование здесь не заменить. Вопрос только в том, как сделать тестирование наименее… Инвазивным… Для всех пользователей.

  • Вызов управляемого кода из неуправляемого
    +1

    Аналогично. Managed и unmanaged гораздо понятнее. А если русифицировать, тогда уж вместо


    Также для компилируемости необходимо добавить директиву препроцессора INSIDE_MANAGED_CODE:

    Так же для для преобразования в машинный нулёво-еденичковый код необходимо добавить указание преобработчика В_УПРАВЛЯЕМОМ_КОДЕ.

  • Comedy. Встречайте акторы в Node.JS
    0

    Для балансировки чего попало можно использовать, например, haproxy, еслт вам nginx не хватает. А если вы не можете выделить "горячие точки" без серьёзных трудозатрат, то вероятно у вас проблемы с модульностью кода.


    А что там низкоуровневого в node-cluster? Полторы функции, под которые можно сделать любую обёртку.


    Код в асинхронному виде или с генераторами — перестанет вешать полностью event loop. Понятно, конечно, что задача от этого быстрее выполняться не станет.


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


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