Pull to refresh
0
0
Paul Cookie @paulgray

Full stack js developer

Send message

Стивен Вольфрам: кажется, мы близки к пониманию фундаментальной теории физики, и она прекрасна

Reading time70 min
Views383K
В продолжение моего поста про вычислимую Вселенную я хочу представить вам свой перевод статьи Стивена Вольфрама, созданной в рамках его проекта The Wolfram Physics Project.


Неожиданное открытие


За прошедшие несколько веков произошел настоящий прорыв в наших знаниях о принципах работы окружающего нас мира. Но несмотря на это, у нас все еще нет фундаментальной теории физики, и мы все так же не имеем ответа на вопрос о том, как именно работает наша Вселенная. Я занимаюсь этой темой уже порядка 50-и лет, но только в последние несколько месяцев все кусочки пазла наконец-то начали складываться вместе. И получающаяся картина оказалась гораздо прекрасней, чем все, что я только мог себе представить.
Читать дальше →
Total votes 243: ↑238 and ↓5+307
Comments459

Компьютер в столе своими руками

Reading time3 min
Views145K
Приветствую, Habr! Я фанат ПК в столе, давно ими занимаюсь и сегодня хочу показать вам свой новый проект.

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


Читать дальше →
Total votes 119: ↑116 and ↓3+156
Comments139

Разбираем WTF задачки в JavaScript

Reading time2 min
Views34K


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


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


Задачка 1 — «BANANA»


Читать дальше →
Total votes 40: ↑34 and ↓6+41
Comments108

Российские ученые восстановили образы из мыслей человека по электрической активности мозга

Reading time3 min
Views21K


Ученые из россйской ГК «Нейробиотикс» и Лаборатории нейробототехники МФТИ сумели воссоздать изображения по электрической активности мозга. Правда, речь идет только о работе с изображениями, на которые смотрит человек, чей мозг анализируется.

Собственно, восстанавливать геометрические фигуры, на которые смотрит человек в определенный момент времени, по электрической активности его нервных клеток — вовсе не самоцель. Главное — понять, как мозг шифрует информацию, которую мы затем храним многие годы (ну или минуты, что не менее важно).
Total votes 77: ↑66 and ↓11+55
Comments37

Немецкая полиция взяла штурмом военный бункер, в котором разместился объявивший независимость дата-центр

Reading time8 min
Views131K

Схема бункера. Рисунок: полиция Германии

CyberBunker.com — пионер анонимного хостинга, который начал работу в 1998 году. Компания разместила серверы в одном из самых необычных мест: внутри бывшего подземного комплекса НАТО, построенного в 1955 году как защищённый бункер на случай ядерной войны.

Клиенты становились в очередь: все серверы обычно были заняты, несмотря на завышенные цены: VPS стоил от €100 до €200 в месяц, без учёта платы за установку, при этом планы VPS не поддерживали Windows. Зато хостер успешно игнорировал любые жалобы DMCA из США, принимал биткоины и не требовал от клиентов никакой личной информации, кроме адреса электронной почты.

Но теперь «анонимному беспределу» пришёл конец. Ночью 26 сентября 2019 года бойцы немецкого спецназа и полиции штурмом взяли защищённый и охраняемый бункер. Захват произведён под предлогом борьбы с детской порнографией.
Читать дальше →
Total votes 105: ↑102 and ↓3+99
Comments426

AWS Lambda — теория, знакомство

Reading time6 min
Views50K

Краткий экскурс в AWS Lambda


Что это?


AWS Lambda: это вычислительный сервис, который позволяет запускать код практически для любого типа приложения или серверной службы — и все это без необходимости администрирования. AWS Lambda выполняет все администрирование за вас, включая обслуживание сервера и операционной системы, выделение ресурсов и автоматическое масштабирование, мониторинг кода и ведение журнала. Все, что вам нужно сделать — это предоставить свой код на одном из языков, которые поддерживает AWS Lambda.

Зачем ее использовать?


  • Деньги. Вы платите только за то время, когда сервис работает.
  • Скорость. Сама по себе лямбда поднимается и работает очень быстро.
  • Удобство. Лямбда имеет много возможностей по интеграции с сервисами AWS.
  • Производительность. Параллельно может выполняться, в зависимости от региона максимально от 1000 до 3000 экземпляров. И при желании, этот лимит можно поднять, написав в поддержку.

У этого подхода есть и свои минусы, вы не можете управлять операционной системой на который выполняется код, не можете контролировать ЦП, память и ресурсы. Всем этим занимается AWS.

Все что вы можете, это выбрать язык, из поддерживаемых AWS Lambda.

Что могёт?


Ниже представлен краткий перечень основных функций AWS Lambda. Далее все рассмотрим по порядку.


Читать дальше →
Total votes 13: ↑11 and ↓2+9
Comments18

Apollo Client. Теперь — с хуками React

Reading time5 min
Views13K
Автор материала, перевод которого мы публикуем сегодня, говорит, что миссия разработчиков Apollo Client заключается в том, чтобы сделать этот инструмент самым современным и удобным решением для управления состоянием React-приложений. Сообщество React развивается и осваивает новые эффективные способы разработки пользовательских интерфейсов. Создатели Apollo Client стремятся к тому, чтобы их проект поддерживал бы всё самое актуальное из мира React. Следуя этой традиции, разработчики Apollo Client представляют новую версию системы, оснащённую поддержкой хуков React.

image

Хуки были представлены в React 16.8. Это — новый механизм, позволяющий создавать компоненты, обладающие состоянием, и при этом не сталкиваться с проблемами, характерными для компонентов, основанных на классах. Сейчас Apollo Client включает в себя три хука, которые можно использовать в приложениях — во всех тех местах, где используются компоненты высшего порядка или механизмы render props. Речь идёт о хуках useQuery, useMutation и useSubscription. Эти хуки просты в освоении, они обладают множеством преимуществ перед ранее существовавшим API. В частности, это касается уменьшения размеров бандла приложения и сокращение объёма шаблонного кода.
Читать дальше →
Total votes 24: ↑24 and ↓0+24
Comments4

Практические рекомендации по разработке крупномасштабных React-приложений. Часть 2: управление состоянием, маршрутизация

Reading time11 min
Views15K
Сегодня мы публикуем вторую часть перевода материала, который посвящён разработке крупномасштабных React-приложений. Здесь речь пойдёт об управлении состоянием приложений, о маршрутизации и о разработке интерфейсов.



Часть 1: Практические рекомендации по разработке масштабных React-приложений. Планирование, действия, источники данных и API

Часть 2: Практические рекомендации по разработке крупномасштабных React-приложений. Часть 2: управление состоянием, маршрутизация

Читать дальше →
Total votes 29: ↑29 and ↓0+29
Comments7

Шпаргалки по безопасности: JWT

Reading time9 min
Views57K


Многие приложения используют JSON Web Tokens (JWT), чтобы позволить клиенту идентифицировать себя для дальнейшего обмена информацией после аутентификации.

JSON Web Token – это открытый стандарт (RFC 7519), который определяет компактный и автономный способ безопасной передачи информации между сторонами в виде объекта JSON.
Читать дальше →
Total votes 21: ↑19 and ↓2+17
Comments40

Как устроен формат JPEG

Reading time13 min
Views102K

Изображения формата JPEG встречаются повсюду в нашей цифровой жизни, но за этим покровом осведомлённости скрываются алгоритмы, устраняющие детали, не воспринимаемые человеческим глазом. В итоге получается высочайшее визуальное качество при наименьшем размере файла – но как конкретно всё это работает? Давайте посмотрим, чего именно не видят наши глаза!




Легко принять, как само собой разумеющееся, возможность отправить фотку другу, и не волноваться по поводу того, какое устройство, браузер или операционную систему он использует – однако так было не всегда. К началу 1980-х компьютеры умели хранить и показывать цифровые изображения, однако по поводу наилучшего способа для этого существовало множество конкурирующих идей. Нельзя было просто отправить изображение с одного компьютера на другой и надеяться, что всё заработает.
Читать дальше →
Total votes 107: ↑102 and ↓5+97
Comments28

Полное руководство по useEffect

Reading time45 min
Views258K
Вы написали несколько компонентов с использованием хуков. Возможно — даже создали небольшое приложение. В целом результат вас вполне устраивает. Вы привыкли к API и в процессе работы обнаружили несколько неочевидных полезных приёмов. Вы даже создали несколько собственных хуков и сократили свой код на 300 строк, поместив в них то, что раньше было представлено повторяющимися фрагментами программы. То, что вы сделали, вы показали коллегам. «Отлично получилось», — сказали они о вашем проекте.


Но иногда, когда вы используете useEffect, составные части программных механизмов не особенно хорошо стыкуются друг с другом. Вам кажется, что вы что-то упускаете. Всё это похоже на работу с событиями жизненного цикла компонентов, основанных на классах… но так ли это на самом деле?
Читать дальше →
Total votes 30: ↑29 and ↓1+28
Comments6

Трюк с тригонометрией

Reading time4 min
Views28K

Скорее всего, вам известны следующие соотношения еще со школы:


$\sin(\alpha + \beta) = \sin\alpha \times \cos\beta + \cos\alpha \times \sin\beta \\ \cos(\alpha + \beta) = \cos\alpha \times \cos\beta - \sin\alpha \times \sin\beta$


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


Читать дальше →
Total votes 99: ↑96 and ↓3+93
Comments28

Хаки при работе с большим числом мелких файлов

Reading time7 min
Views43K
Идея статьи родилась спонтанно из дискуссии в комментариях к статье «Кое-что об inode».



Дело в том, что внутренней спецификой работы наших сервисов является хранение огромадного числа мелких файлов. На данный момент у нас порядка сотен терабайт таких данных. И мы натолкнулись на некоторые очевидные и не очень грабельки и успешно по ним прошлись.

Поэтому делюсь нашим опытом, может кому и пригодится.
Читать дальше →
Total votes 104: ↑103 and ↓1+102
Comments66

5 полезных плагинов для webpack

Reading time5 min
Views22K
Привет, Хабр!

У webpack'а есть много полезных плагинов, о которых многие не знают и не используют в своих проектах. Под катом я собрал 5 таких, они могут здорово упростить вам жизнь!


Читать дальше →
Total votes 31: ↑31 and ↓0+31
Comments5

Thinkpad T43: о компьютерной археологии, коллекционировании и тортах

Reading time7 min
Views37K
В 2009 году я публиковал обзор ноутбука ThinkPad 380ED, которому на тот момент было 12 лет от роду. Почему бы не продолжить традицию и не написать о ноутбуке, которому примерно столько же лет исполняется прямо сейчас? Решено, подумал я, и отправился искать подходящую модель.

То есть нет, все было не так. Я просто сидел на местной электронной барахолке и смотрел, что есть в продаже. Критерии были простые: Thinkpad, желательно еще разработанный в IBM, и как можно дешевле. Первым попался ThinkPad T40 за 20 евро (о нем как нибудь в другой раз). Вторым был T43 – за двадцать пять, в шикарной комплектации с IPS-экраном. Купить ноутбук по цене похода в кафе – отличный вариант подарка самому себе на Новый год.

В этом посте будет рассказ про покупку и освоение старого ноутбука в формате «дорогой дневничок», сравнение старых ThinkPad с новыми, а также немного диванной аналитики о коллекционировании, ностальгии и эволюции технологий.
Читать дальше →
Total votes 23: ↑22 and ↓1+21
Comments83

Подборка полезных слайдов от Джулии Эванс

Reading time1 min
Views53K
Перевели новую порцию слайдов. Права доступа в Unix, файловые дескрипторы, потоки, магия proc. И на закуску пара советов о том, как общаться, когда ты не согласен. А вдруг пригодятся =)



Читать дальше →
Total votes 115: ↑111 and ↓4+107
Comments42

5 заповедей TypeScript-разработчика

Reading time6 min
Views36K

image


Всё больше и больше проектов и команд используют TypeScript. Однако просто применять TypeScript и выжимать из него максимум пользы — это очень разные вещи.


Представляю вам список высокоуровневых передовых практик использования TypeScript, которые помогут получить максимум преимуществ от применения этого языка.

Читать дальше →
Total votes 51: ↑47 and ↓4+43
Comments26

Структурирование React-приложений

Reading time16 min
Views70K
Материал, перевод которого мы сегодня публикуем, раскрывает подходы, применяемые его автором при структурировании React-приложений. В частности, речь здесь пойдёт об используемой структуре папок, об именовании сущностей, о местах, где располагаются файлы тестов, и о других подобных вещах.

Одна из наиболее приятных возможностей React заключается в том, что эта библиотека не принуждает разработчика к строгому соблюдению неких соглашений, касающихся структуры проекта. Многое в этом плане остаётся на усмотрение программиста. Этот подход отличается от того, который, скажем, принят во фреймворках Ember.js или Angular. Они дают разработчикам больше стандартных возможностей. В этих фреймворках предусмотрены и соглашения, касающиеся структуры проектов, и правила именования файлов и компонентов.



Лично мне нравится подход, принятый в React. Дело в том, что я предпочитаю контролировать что-либо сам, не полагаясь на некие «соглашения». Однако много плюсов есть и у того подхода к структурированию проектов, который предлагает тот же Angular. Выбор между свободой и более или менее жёсткими правилами сводится к тому, что именно ближе вам и вашей команде.

За годы работы с React я испробовал множество различных способов структурирования приложений. Некоторые из применённых мной идей оказались более удачными, чем другие. Поэтому здесь я собираюсь рассказать обо всём том, что хорошо показало себя на практике. Я надеюсь, что вы найдёте здесь что-то такое, что пригодится и вам.
Читать дальше →
Total votes 30: ↑29 and ↓1+28
Comments13

Ответственный подход к JavaScript-разработке, часть 2

Reading time14 min
Views17K
В апреле этого года мы опубликовали перевод первого материала из цикла, посвящённого ответственному подходу к JavaScript-разработке. Там автор размышлял о современных веб-технологиях и об их рациональном использовании. Теперь мы предлагаем вам перевод второй статьи из этого цикла. Она посвящена некоторым техническим деталям, касающимся устройства веб-проектов.


Читать дальше →
Total votes 34: ↑34 and ↓0+34
Comments4

Атомное радио — выполнена первая в истории музыкальная передача

Reading time4 min
Views7.3K

Физики из США создали в лаборатории установку для атомного радио, в которой вместо антенн используются ридберговские атомы, просвечиваемые двумя парами лазеров, и провели первую в мире экспериментальную передачу стереофонической музыкальной композиции с помощью АМ-радиоволны.
Читать дальше →
Total votes 16: ↑14 and ↓2+12
Comments7
1
23 ...

Information

Rating
Does not participate
Location
Украина
Date of birth
Registered
Activity