Представьте себе такую ситуацию. Прекрасное солнечное утро. Вы собираетесь выпить чашечку свежего кофе, едете к кофеварке и вдруг понимаете: а кофе-то осталось всего на пару чашек.
«Ну ничего», — думаете вы, — «Сейчас попрошу жену пополнить наши запасы», и открываете Telegram, чтобы написать ей сообщение. Однако вместо нежного «Кофе закончился, дорогая!» вы отправляете «КОФЕ ЗАКОНЧИЛСЯ, ДОРОГАЯ!"
Катастрофа, объявлено чрезвычайное положение. А все из-за случайно нажатого Caps Lock.
Нужна ли миру эта кнопка? Как она вообще появилась? Обсуждаем в этой статье.
Читать далееВ Главе 4 мы упомянули, что большинство веб-сайтов используют имя пользователя и пароль для аутентификации учетных данных. Мы также обсудили, что повторное использование этих учетных данных для доступа к API небезопасно, поэтому API часто требуют другой набор учетных данных, нежели те, которые используются для входа на веб-сайт. Распространенным примером являются ключи API. В этой главе мы рассмотрим другое решение — открытую авторизацию (OAuth), которая становится наиболее широко используемой схемой аутентификации в Интернете.
Читать далееВ нашем понимании API все начинает проясняться. Мы знаем, кто такие клиент и сервер, мы знаем, что они используют HTTP для общения друг с другом, и мы знаем, что они используют в определенные форматы данных, чтобы понимать друг друга. Однако знание того, как общаться, оставляет важный вопрос: как сервер узнает, что клиент — тот, за кого себя выдает? В этой главе мы рассмотрим два способа, которыми клиент может доказать свою идентичность серверу.
Читать далееЗащита DNS при помощи TLS позволяет скрыть состав DNS-трафика, который обычно передаётся в открытом виде. Соединения DNS-over-TLS не так распространены, как DNS-over-HTTPS, но зато могут прозрачно применяться не только для доступа к резолверам, но и на авторитативных серверах. Посмотрим, вооружившись консольными утилитами, как всё это работает на практике.
Читать далееВнутренние хакатоны — отличный способ протестировать новые идеи. Мы не только экспериментируем, но и получаем практический опыт. Однажды, работая над CRM для управляющей компании (УК) в Дубае, мы задумались:
Мы сделали систему для работы с заявками для УК. А почему бы не создать свою Jira для работы с задачами? Почему еще никто не напилил полноценную Open Source Jira для бедных?
Сначала это звучало как шутка. Но мысль возвращалась снова и снова — особенно когда Jira начинала тормозить или раздражать.
Поэтому мы решили собрать велосипед
Полгода назад Notion ушёл из России, оставив многих пользователей без удобного инструмента для работы и ведения заметок. Использовать VPN? Не вариант — продуктивность сразу падает. Я тоже столкнулся с этой проблемой, но вместо того, чтобы искать обходные пути, я решил найти достойную замену.
Так я открыл для себя Obsidian — и теперь уже точно не вернусь назад. В этой статье расскажу, как я настроил его под себя, организовал синхронизацию, собрал удобную систему ведения заметок и почему теперь мне больше не страшны блокировки и сбои в облаке.
Читать далееГлава 3: Типы и форматы API
До сих пор мы узнали, что HTTP (протокол передачи гипертекста) (Hyper-Text Transfer Protocol) является основой API в сети и что для их использования нам нужно знать, как работает HTTP. В этой главе мы рассмотрим данные, предоставляемые API, как они форматируются и как HTTP делает это возможным.
Читать далееПривет, коллеги и доброжелательные критики! Сегодня я решил отвлечься от своей громоздкой работы, чтобы написать что-то простое, но с изюминкой — калькулятор с графическим интерфейсом на C++20 и SFML. Этот проект — не претензия на что-то грандиозное, а скорее лёгкий эксперимент, чтобы вспомнить, как приятно писать код, который сразу видно на экране. Заодно я поделюсь с вами своими мыслями, подходами и парой советов. Давайте разберём, как я это закрутил и почему выбрал именно SFML.
Читать далееПривет, Хабр! В этом туториале разобран метод для анализа внутренних представлений "логит-линза" (Logit Lens).
В результате практики по туториалу, вы:
1. Изучите подход и концепцию Logit Lens;
2. Реализуете Logit Lens для Visual Transformer;
3. Познакомитесь с анализом результатов применения логит-линзы.
Как всегда, весь код будет на гитхаб — step by step. Welcome!
Привет, Хабр!
В этой статье создадим HTTP-сервер на чистом Java NIO, без всяких Spring Boot, Jetty и прочих фреймворков. Будем разбираться, как работает неблокирующее I/O, что такое Selector, SocketChannel, и как заставить сервер обрабатывать тысячи запросов одновременно без запуска тысяч потоков.
Читать далееНе встречал такой новости и вообще описания функционала, поэтому решил написать заметку об этом.
Желтый банк, по-видимому, начал тестировать в своем приложении для android функционал voip клиента. То есть банк может позвонить клиенту прямо в приложение на смартфоне, минуя сотовую сеть.
Читать далееНикакого кликбейта. Прокрастинация, лень, апатия, зависание на одном уром уровне, сложности с масштабированием, “знаю, но не делаю”, недостаток мотивации, отсутствие правильных действий, километровые списки дел, с которыми из виду упускается главное - всё это разные последствия одной и той же проблемы.
Кроме того, то, о чем я расскажу сейчас, напрямую влияет на то, как вам достается деньги, какими усилиями, и сколько их в итоге остается у вас на руках.
Читать далееИстория создания «Терминатора» (1984). От концепт-арта до обвинений в плагиате.
Сорок два дня съёмок, пять дней досъёмок, ограниченный бюджет, споры с продюсерами и многое другое. Создание фильма было подобно долгому, тревожному сну. Который, наконец, закончился.
Несмотря на слабый маркетинг, зрители активно смотрят творение Джима, а профильные критики просто в восторге. Он доказал самому себе, что может быть режиссёром. Провал с историей о летающих рыбах-убийцах можно было забыть.
Джиму казалось, что теперь ничто не сможет испортить ему настроение. Пока он не получил телеграмму с отзывом о «Терминаторе»...
I'll be backЕсли в компании есть сотрудники, работающие из дома через удалённый доступ, можно усилить безопасность, ограничивая разрешенные IP адреса.
На первый взгляд, можно разрешить только адреса из одной страны если все сотрудники в одной стране. И такие решения есть.
Второй вариант, ограничить доступ только адресами провайдеров через которых сотрудники подключаются.
Эта задача разбивается на две. Во первых, нужен список всех провайдеров. Во вторых, нужны все IP префиксы этих провайдеров.
Выполнение всех этих шагов вручную может оказаться сложной и трудоёмкой задачей. Однако с помощью автоматизации и Python-программы весь процесс можно упростить и ускорить, сведя рутинную работу к минимуму.
Читать далееВаш кластер снова ведёт себя как капризный ребёнок? Ошибки, зависшие поды, бесконечные деплои, которые идут не туда, куда нужно? Значит, пора прокачать свои навыки работы с kubectl! Мы собрали в этой подборке самые полезные команды с подробным описанием, которые помогут держать Kubernetes в узде и решать любые инциденты одной кнопкой!
Читать далее1 Proxychains4
В сегодняшней статье я покажу простейшие примеры использования файерволла на примере ufw а также настрою соединение с конечным сервером через прокси.
И вновь повторюсь, что я пишу статью лишь для тех, кто только начал изучение Линукс, а не для тех кто уже гуру. Мои статьи скорее шпаргалка по базовым примерам использования программ. В конце статьи будет небольшой бонус.
Итак начнем с утилиты proxychains4. В Кали Линукс установка ее предельно проста:
sudo apt update; sudo apt install proxychains4
Читать далее«Сделай удобно» #1. «Сделай удобно» #2. «Сделай удобно» #3. «Сделай удобно» #4, «Сделай удобно» #5, «Сделай удобно» #6, «Сделай удобно» #7, «Сделай удобно» #8.
Продолжаю изучать различные UI/UX/CX кейсы в мобильных приложениях, веб-сайтах и в реальном мире. Дизайнерам и менеджерам по продукту, чтобы вдохновиться и добавить в заметки.
Под катом: Intsagram, Amie, Glovo, Flowwow, Иви.
Читать далееИдут значит: Redis, Docker и Postgres.
R: Как вы собираетесь надругаться над нами сегодня?
D: Я буду вертеть вас на GPU!
P: Ого, прямо на GPU?
D: Да, ресурсов - не жалею!
В данной статье мы:
1. Cравним Redis и Postgres (в качестве системы кеширования).
2. Запустим их на GPU.
3. Оценим их быстродействие.
Эта статья изначально родилась как ответ на эту статью. В ней автор рассказал, как его отправили в "кармический бан". В комментариях началось обсуждение, почему саморегуляция на Хабре не работает, хабр уже не торт, а модерация несправедливая. За одно обозначили, что корпоративные блоги и ссылки на Telegram каналы — зло.
Я предлагаю посмотреть на пункты выше со стороны развития Хабра. С учётом того, что мир сложный, простых решений нет и всегда кто-то будет недоволен. В том числе, подумать:
- почему кармический бан — не самое плохое решение;
- как корпоративные блоги помогают авторам и читателям;
- из-за чего Telegram каналы — это выгодный для Хабра компромисс между контентом и рекламой (*с оговорками).
Уточню: на Хабре я один из авторов, не имею отношения к команде Хабра и мне не платят корпоративные блоги. Просто смотрю на ситуацию с учётом более широкого контекста и через призму моего опыта. Все-таки неоднократно приходилось балансировать между разными стейкхолдерами со своими интересами в крупных проектах.
Читать далее