• Как ускорить код на Python в тысячу раз

    • Перевод


    Обычно говорят, что Python очень медленный


    В любых соревнованиях по скорости выполнения программ Python обычно занимает последние места. Кто-то говорит, что это из-за того, что Python является интерпретируемым языком. Все интерпретируемые языки медленные. Но мы знаем, что Java тоже язык такого типа, её байткод интерпретируется JVM. Как показано, в этом бенчмарке, Java намного быстрее, чем Python.
    Читать дальше →
  • Виртуальные личности, анонимность, одноразовые симки — суровая реальность в мире тотальной слежки


      Кадр из игры Digital Resistance

      В публичных чатах Telegram редко встретишь человека под настоящим именем. Показывать личные фотографии и номер телефона в профиле теперь не принято. И это совершенно нормально — похоже, раскрывать свою личность становится опасно. Даже если вам «нечего скрывать».

      Виртуальные личности, анонимные аккаунты, запасные симки — раньше эти понятия ассоциировались с даркнетом и киберпреступностью. Но сейчас ситуация полностью изменилась. Анонимность стала базовым правилом информационной гигиены, когда все находятся под наблюдением.
      Читать дальше →
    • Как написать проект для продакшена командой из одного человека (или небольшой командой)

      • Перевод


      Соло-разработка проекта ПО — непростая задача. Никто не будет подталкивать тебя, проверять код и обеспечивать руководство, ты сам по себе путешествуешь в неизведанное.

      Чаще всего неопытные разработчики попадают в одну из следующих ловушек:

      1. Пользуются этим как возможностью наплевать на стандарты качества кода и не уделять внимания формату кодинга.
      2. Делают совершенно противоположное и переусложняют всё намного сильнее необходимого.

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

      Примечание: если вы ищете практические советы, то сразу переходите к разделу «Конкретные рекомендации».
      Читать дальше →
      • +21
      • 3,1k
      • 2
    • Малоизвестные, но крутые атрибуты в HTML



        Спросите случайного фронтендера, какие атрибуты HTML он использует — и услышите что-то вроде «src, href, style, class...» и прочую чепуху, которую всем ещё в младенчестве вживили на чипе агенты IETF. Между тем, стандарты веба не стоят на месте, и с каждым годом в браузерах появляются всё более крутые фичи не только для монструозного CSS, но и для обычных элементов HTML. Вы знали, что с помощью атрибутов можно пинговать* произвольный адрес, а элементы формы могут многократно переопределять её поведение? Вряд ли.
        Читать дальше →
        • +50
        • 11,1k
        • 6
      • Крупные компании, использующие Node.js

        • Перевод


        Node.js — это серверная среда выполнения JavaScript, исполняющая код вне браузера. Эта технология идеально подходит для многих веб-сайтов, специализирующихся на стриминге, играх, тайм-трекерах, приложениях соцсетей и т.п. Она обеспечивает масштабируемое и быстрое решение для приложений реального времени.

        Она написана на самом популярном в мире языке программирования JavaScript, поэтому открывает новые возможности для многих бизнесов. Неудивительно, что она стала высокоактуальной технологией, выбранной многими компаниями, в том числе такими крупными, как Netflix и PayPal. Какие компании используют технологию Node.js и какие выгоды она им даёт? Об этом мы расскажем в статье.
        Читать дальше →
      • ARM серверы подходят для облачного хостинга лучше чем x86? Проверим



          Если вам нужна была высокая производительность, то вам нужно было выбирать процессор на x86 для своих решений. В последнее время, все больше и больше говорят о закате архитектуры x86 и переходе на ARM. В прошлом году компания Apple впервые представила Mac на процессорах ARM. Но подойдет ли процессор ARM для дата-центров, сможет ли ARM навсегда отправить x86 на скамью запасных?
          Читать дальше →
        • Когда дефицита GPU ещё не было

          • Перевод


          Большую часть времени GPU были не важны


          Как, наверно, понимает большинство людей, компьютеры считают числа. Обычно «интуитивным» способом работы с компьютерами является взаимодействие с какой-нибудь графикой. Или, что более важно, с более красивым отображением чисел.
          Читать дальше →
        • Как 17 обезьян спасли тысячи людей



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

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

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

            • Перевод


            Большинство новичков в программировании рано или поздно сталкивается с такой чарующей фразой: «Программирование — это просто, ему может научиться любой». Эта фраза сопровождается угрожающим сообщением о том, что людям, занимающимся гейткипингом, надо прекратить. Этой статьёй я хочу сказать, что это неправда. Программирование — это сложно, оно не для каждого, и хотя сейчас им может заняться каждый, большинству определённо не стоит писать код.

            Программирование легкодоступно


            Когда глупые люди говорят, что программировать просто, что им может заниматься каждый, они на самом деле имеют ввиду доступность сферы программирования. Если у вас есть простейшее средство доступа к Интернету, то достаточно легко получить доступ к ресурсам для изучения. Ни одна из наук не доступна настолько, как компьютерная наука, и большинство работ по ней выложено в открытый доступ — компьютерная наука процветает в Интернете, и хотя отдельные её ветви закрыты, большинство контента доступно свободно и процветает благодаря этой доступности. Вы можете скачивать компиляторы, редакторы, IDE, даже получить доступ к документации, обсуждать с другими людьми свои проблемы, и так далее. Это огромное сообщество, уровень гостеприимности и открытости которого несравним с любой другой наукой в истории человечества.
            Читать дальше →
          • Чему я научился, разрабатывая биллинговую систему

            • Перевод


            Полгода назад я устроился в финтех-стартап, имеющий примерно 15 тысяч клиентов. Моя задача заключалась в развитии биллинговой инфраструктуры. Когда я пришёл в компанию, меня немного беспокоила узость задач моей новой должности и нового отдела. Я думал: ну какая глубина может быть в биллинге? Разве у нас не закончатся задачи спустя 3-4 месяца? Клиент регистрируется, ежемесячно оплачивает подписку, вот и всё, правда ведь?

            … правда?

            Вообще да, но на самом деле нет. Это только самый простой сценарий, а кроме него существует множество пограничных случаев и тонкостей.

            Поиск всех этих пограничных случаев один за другим был не самым приятным процессом. Было бы здорово, если бы кто-то составил краткое руководство о том, что мне нужно знать. Поэтому вот и оно, моё руководство! Если вы размышляете о создании (или даже об использовании) системы биллинга, то читайте внимательно.
            Читать дальше →
          • Поучительная история про китайских производителей микросхем


              В 2019 году правительство США наложило санкции на две крупные китайские телекоммуникационные компании, отрезав их от жизненно важных поставок полупроводниковых микросхем. Компания Wuhan Hongxin Semiconductor Manufacturing Co. тогда пообещала выйти на путь самообеспечения перед лицом все более жестких ограничений, накладываемых со стороны США. Частная компания заявила на своем веб-сайте, что привлечет в общей сложности 20 миллиардов долларов, чтобы производить 60 000 передовых чипов год.

              Спойлер: компания Hongxin обанкротилась.

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

              Компания — один из шести многомиллиардных проектов, потерпевших крах за последние два года. Их взлет и падение — поучительная история в отрасли, которая переполнена государственными деньгами, но все еще испытывает дефицит опыта, и является предварительным обзором дорогостоящего и извилистого пути, по которому Китаю придется идти к полупроводниковой самодостаточности, которая теперь является приоритетом национальной безопасности.
              Читать дальше →
            • Как и почему эмодзи портят онлайн-переписку

              • Перевод

              Разве могут эти милые значки испортить ваши отношения с подписчками или навредить в личной переписке? А что на счёт онлайн-переписки с коллегами в условиях дистанционной работы? Автор статьи на всё отвечает «да». Более того, между многобукаф и многосмайлоф он выбирает первое, считая это за меньшее зло. Почему?

              Чтобы ответить на этот вопрос, он вводит критерии качества общения и выстраивает соответствующую аргументацию.

              Несколько недель назад я опубликовал в Instagram Stories саморекламы пост. Через полчаса я обнаружил, что подписчики положительно отреагировали на него. Вроде бы всё хорошо, но давайте посмотрим внимательнее.
              Читать дальше →
            • Персональный интернет-архив без боли

              • Tutorial


              Каждый веб-разработчик, да и многие пользователи рано или поздно сталкиваются с Internet Archive и необходимостью сохранить или восстановить вид важного им сайта в определённое время. С каждым годом всё очевиднее, что поговорка «интернет помнит всё» ошибочна — форумы закрываются, старые сайты тихо исчезают, информация пропадает без следа (вот хорошая статья по теме). При этом пока не существует общепринятого способа на лету сохранять важный контент без лишних телодвижений (представьте, что будет с серверами archive.org, если, скажем, в следующем обновлении Chrome будет при загрузке страницы отправлять адрес на архивацию). Спасение утопающих — дело рук самих утопающих, поэтому в этой статье мы разберём инструмент, позволяющий не просто сохранять нужные сайты, но и встраивать этот процесс в повседневную работу.
              Читать дальше →
              • +34
              • 7,7k
              • 1
            • Что я узнал, потратив 5 000 долларов на эксперименты с Facebook Ads

              • Перевод


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

              С июня по ноябрь 2020 года я потратил больше 5 000 долларов на проведение различных мелких кампаний. Я провёл сотни экспериментов, тестируя рекламные тексты, изображения, аудитории и стимулы. Планировалось отметить наиболее успешные эксперименты и создать на их основе новую маркетинговую кампанию.

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

              К концу эксперимента я получил фундаментальные уроки о том, как работает Facebook и что нужно для получения в нём хороших результатов.
              Читать дальше →
              • +30
              • 8,9k
              • 5
            • Гиганты неба возвращаются? Зачем Сергей Брин строит самый большой дирижабль



                Соучредитель Google Сергей Брин любит дирижабли. Он так их любит, что его выступление в 2012 году для Google Glass сопровождался прыжками из дирижабля над Сан-Франциско профессиональными парашютистами. Поэтому неудивительно, что с тех пор, как он ушел из Google, девятый по списку самый богатый человек в мире сосредоточился именно на построении гигантской «небесной яхты».

                СМИ впервые узнали о масштабном проекте дирижабля Брина в исследовательском центре NASA в Маунтин-Вью в 2017 году. В то время все это было очень секретно, но за последние несколько лет появилось больше деталей. А недавно в LTA Research and Exploration (Lighter Than Air), который принадлежит Сергею Брину, появилась вакансия для специалиста по созданию новых революционных дирижаблей. Вот все, что на данный момент известно о дирижаблях Брина.
                Читать дальше →
              • Font size бесполезен, давайте это исправим

                • Перевод
                Что происходит, когда вы указываете в редакторе "font_size": 32? Я бы вам всё равно рассказал, но хорошо, что спросили.

                Попробуем догадаться. Я пользуюсь Sublime Text 4 под macOS:


                Если мы измерим сами буквы, то нигде не найдём числа 32:

                32 — это не ширина и не высота буквы, и не высота заглавной буквы, и не рост строчных знаков, и не высота верхних или нижних выносных элементов. Что за дела?
                Читать дальше →
              • Да, синдром самозванца на самом деле полезен для разработчиков

                • Перевод


                Ощущение того, что ты недостаточно опытен для выполнения своей работы, знаком многим из нас. Это чувство время от времени посещает каждого, и от него сложно избавиться. Оно заставляет думать, что ты слишком мало делаешь, учишься или знаешь. Вот некоторые из признаков синдрома самозванца:

                • Вы не выступаете на совещаниях и всегда занимаете роль пассивного слушателя.
                • Считаете, что все находящиеся в комнате знают больше, чем вы.
                • Всегда подвергаете сомнениям ценность своего вклада.
                • На больших совещаниях вы никогда не сидите в переднем ряду.
                • Для подтверждения своего мнения вы оглядываетесь на остальных.

                Никогда не забуду совещания, на которых я был так испуган, что не мог сказать ни слова, а когда говорил, в словах не было никакой логики. И так всегда происходило не потому, что я не знал, что сказать. Мысленно я мог произнести сотню слов в ответ на вопрос, но в реальности это было неловкое молчание и странные фразы.

                На каком-то уровне я ощущал, что мне здесь не место и что я самозванец.
                Читать дальше →
              • На каких серверах держится Архив Интернета?


                  Фото 1. Один из дата-центров Internet Archive в Сан-Франциско

                  Internet Archive — некоммерческая организация, которая с 1996 года сохраняет копии веб-страниц, графические материалы, видео- и аудиозаписи и программное обеспечение. Каждый может зайти в Wayback Machine и посмотреть, как выглядел Хабр в 2006 году или «Яндекс» в 1998 году, хотя загрузка архивных копий занимает около минуты (это не для реализма 90-х, а по техническим причинам, см. ниже).

                  Архив быстро растёт. Сейчас объём всех накопителей достиг 200 петабайт. Но Internet Archive принципиально не обращается к стороннему хостингу или облачному сервису вроде AWS. У некоммерческой организации собственные дата-центры, свои серверы и свои инженеры. Это гораздо дешевле, чем услуги AWS.
                  Читать дальше →
                • Распределённое хранение данных в IPFS Cluster

                  • Tutorial


                  Дисклеймер: эта статья рассчитана на понимание основных принципов работы InterPlanetary File System. Если вы не знакомы с IPFS, начните с этой статьи или загляните на ipfs.io.

                  Самый известный и труднопреодолимый недостаток IPFS в скорости её работы. Так как все данные разбиваются на блоки и распределяются по пирам, скорость загрузки упирается в скорость интернета (и вообще доступность) сразу нескольких машин, которые мы не контролируем. Частично это решается локальным закреплением (pin) нужных хэшей, что поможет в случае отказа отдельных пиров, но не гарантирует загрузку именно с нашего сервера (например, если запрос поступит с другой части планеты). А ещё зашифрованные и разрезанные данные гипотетически невозможно восстановить, не имея хэша, но ведь и его теоретически можно подобрать, так как вся сеть по сути публична…

                  Всех этих неприятностей можно избежать, запустив собственный кластер IPFS. Новичку легко запутаться и решить что IPFS это децентрализованная сеть, но на самом деле это протокол, обёртка над p2p — и на нём можно поднимать свои приватные подсети, недоступные извне, сохраняя плюсы децентрализации и все фишки основной сети.
                  Читать дальше →
                • Я пользуюсь Excel, чтобы писать код

                  • Перевод


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

                  Всегда задавайтесь вопросом: а можно ли использовать для этого Excel?


                  Забудьте о тесте Тьюринга — проходит ли ваша гениальная идея программы тест Excel? Например, все пользовались простыми табличными формулами для генерации отчётов, но знаете ли вы что Excel может запросто выполнять замены регулярными выражениями, применять операторы if, и даже можно вызывать онлайн-функции, чтобы подгружать актуальные цены онлайн-сервисов?

                  Excel может подключаться к реальным базам данных, создавать файлы .csv и JSON, его можно запрашивать снаружи с помощью Python или других языков программирования. Можно использовать электронные таблицы в качестве базы данных, применять их для генерации контента и импортировать их на сайты Wordpress для массового создания тысяч постов агрегатора новостей или веб-сайтов с видео.

                  И всё это у вас под рукой, так что пользуйтесь этим инструментом и не бойтесь насмешек более слабых разработчиков, ведомых чувством превосходства, но на самом деле не знающих, что они просто тратят впустую время.
                  Читать дальше →

                Самое читаемое