Как стать автором
Обновить
0
@Pawvelread⁠-⁠only

Пользователь

Отправить сообщение

Wireshark — подробное руководство по началу использования

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров152K

Wireshark – это широко распространённый инструмент для захвата и анализа сетевого трафика, который активно используется как для образовательных целей, так и для устранения неполадок на компьютере или в сети. Wireshark работает практически со всеми протоколами модели OSI, обладает понятным для обычного пользователя интерфейсом и удобной системой фильтрации данных. Помимо всего этого, программа является кроссплатформенной и поддерживает следующие операционные системы: Windows, Linux, Mac OS X, Solaris, FreeBSD, NetBSD, OpenBSD.

Читать далее
Всего голосов 41: ↑39 и ↓2+37
Комментарии21

Создаём и настраиваем собственную CDN

Время на прочтение18 мин
Количество просмотров19K

Задача этого репозитория — создать свод знаний о том, как работают CDN, написав одну из них «с нуля». CDN, которую мы будем проектировать, использует следующие технологии: Nginx, Lua, Docker, docker-compose, Prometheus, Grafana и wrk.

Мы начнём с создания одного бэкенд-сервиса, а затем расширим его до многоузловой CDN с симуляцией задержек, а также возможностью наблюдений и тестирования. В каждом из разделов мы обсудим сложности и компромиссы при создании/управлении/эксплуатации CDN.
Читать дальше →
Всего голосов 46: ↑46 и ↓0+46
Комментарии23

Вся правда о том как стать web разработчиком после online курсов

Время на прочтение3 мин
Количество просмотров24K

Вся правда о том как стать web разработчиком после online курсов

Статья рекомендована для людей, интересующихся изучением веб разработки с 0 и об эффективности онлайн школ с заголовком "Купи курс за 150 тысяч рублей с гарантированным трудоустройством и зарплатой от 100 тысяч рублей". В статье не будет подробностей по программам и тому как идёт учеба, будут только важные тезисы, которые на мой взгляд необходимо понимать прежде чем пойти обучаться.

Читать дале
Всего голосов 16: ↑7 и ↓9-2
Комментарии34

Память в браузерах и в Node.js: ограничения, утечки и нестандартные оптимизации

Время на прочтение32 мин
Количество просмотров41K

Интро: почему я написал эту статью


Меня зовут Виктор, я разрабатываю страницу результатов поиска Яндекса. Несмотря на внешнюю простоту, поисковая выдача — сложная штука: на каждый запрос генерируется своя уникальная страница, на которой в зависимости от запроса может присутствовать блок Картинок, Карты, Переводчик, видеоплеер и многие другие компоненты. Все они должны запускаться и работать в памяти обычных бюджетных телефонов, которые использует большинство наших пользователей. Браузерам должно хватать ресурсов, чтобы пользователь не видел вот такого:



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


Разрабатывая проект на JavaScript (TypeScript, ClojureScript или каком-то другом языке, транслируемом в JavaScript), мы привыкли создавать объекты, массивы, строки и вообще писать код, как будто память бесконечна. Это не так. Я расскажу о видах проблем с памятью, о том, какие ограничения мы часто забываем и как их можно преодолеть. В ответ браузеры и пользователи скажут вам спасибо.


Читать дальше →
Всего голосов 55: ↑55 и ↓0+55
Комментарии12

Коротко о главном: Clean Architecture, Robert C. Martin

Время на прочтение6 мин
Количество просмотров46K
Это будет рассказ о впечатлении о книге, а также будут рассмотрены некоторые понятия и знания, которые, благодаря этой книге, были изучены

Архитектура


Можете ли вы, читая эту публикацию, дать четкий ответ на вопрос, что такое архитектура? Что такое архитектура в контексте программирования и проектирования? Какую роль она играет? Достаточно много неясностей есть в этом термине. И вроде бы все понятно, но как-то абстрактно, и без точности. Мартин считает, и я с ним солидарен, что приложение имеет две составляющих:

  1. Поведение (behavior) — функции и задачи, которые программа (компонент, сервис) выполняет.
  2. Архитектура — этот термин в большей мере о изменении приложения.

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

И вот как строить эту архитектуру, как избавится от головной боли при маленьком изменении требований от PM’а, или от стейкхолдера: об этом и поведает книга
Читать дальше →
Всего голосов 16: ↑14 и ↓2+12
Комментарии246

Поиграл == покодил

Время на прочтение3 мин
Количество просмотров72K
image

Мой рекорд скорости написания кода «на C» был в консоли Quake II. Причем абсолютно без ошибок. В темноте, не глядя, трясущимися руками надо было набрать примерно такое:

bind SHIFT "+snipe"
alias +snipe "sensitivity 2.5; fov 30"
alias -snipe "fov 90; sensitivity 4"

Боги умели прописывать RocketJump.

RocketJump
bind t "superrjr"

bind a "superrjn"

alias superrjr "echo SuperRocketJump enabled; bind a +srj; bind t superrjc"

alias superrjn "echo SuperRocketJump disabled"

alias superrjc "echo SuperRocketJump disabled; bind a superrjn; bind t superrjr"

alias +srj "lookdown1;hand 2;rjump"

alias -srj "lookdown2"

alias lookdown1 "cl_pitchspeed 999999;+lookdown"

alias lookdown2 "-lookdown;cl_pitchspeed 200;-attack;-moveup;wait;wait;wait;centerview;hand 2;cl_maxfps 80"

alias rjump "+moveup;+attack;wait;wait;wait;wait;cl_maxfps 0"

alias +QLD "+lookdown;cl_pitchspeed 999"

alias -QLD "-lookdown;cl_pitchspeed 200"

alias +RocketJump "hand 2;+QLD;wait;wait;+attack;+moveup"

alias -RocketJump "hand 2;-QLD;-attack;-moveup"

alias SuperRocketJump "hand 2;+QLD;wait;wait;wait;wait;+attack;+moveup;wait;cl_maxfps 0;LWX3;cl_maxfps 90;-QLD;-attack;-moveup;hand 2" 


Под катом — подборка дюжины проектов, которые заточены на то, чтобы играючи повысить кодерское мастерство.
Всего голосов 57: ↑51 и ↓6+45
Комментарии41

Онтол(=самое полезное) про удаленную работу [подборка 100+ статей]

Время на прочтение5 мин
Количество просмотров14K
«Если не стыдно за первую версию продукта — вы вышли на рынок слишком поздно»

image

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

Многие слышали о пирамиде «data-information-knowledge-wisdom».
Интересно, что количество проектов про data несколько миллионов, про information — сотни тысяч, про knowledge — сотни, а по-хорошему, десятки, про wisdom — не встретил ни одного.

За год я просматриваю от 10 000 до 50 000 текстов на русском и английском. Тексты из категории «wisdom» иногда встречаются на Хабре и в блоге Пола Грэма, и чтобы систематически отлавливать (а позже и создавать) «черных лебедей» среди текстов, я придумал проект "Ontol.org". Сейчас мы опенсорсно пилим прототип MVP и параллельно я делаю некоторую работу вручную. Кому интересно — регистрируйтесь на Ontol.org, как только выкатим MVP, пригласим на закрытую бету.

В идеале «Онтол» — это подборка топ-10 самых крутых материалов на суперважную тему (многомерно проранжированная сообществом и экспертами), так, чтобы за 1 час человек мог ознакомиться с самыми полезными материалами человечества на эту тему. (+ top100 longlist менее важных материалов для дальнейшего изучения)

А пока — очень сырая подборка самых полезных материалов про удаленную работу на Хабре (UPD + vc.ru). (у кого есть ссылки на англоязычные материалы или с других ресурсов — пишите в комментариях.)
Читать дальше →
Всего голосов 19: ↑16 и ↓3+13
Комментарии14

Выразительный JavaScript: Модули

Время на прочтение17 мин
Количество просмотров84K

Содержание




Начинающий программист пишет программы так, как муравьи строят муравейник – по кусочку, без размышления над общей структурой. Его программы как песок. Они могут недолго простоять, но вырастая, они разваливаются.

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

Мастер-программист знает, когда нужна структура, а когда нужно оставить вещи в простом виде. Его программы словно глина – твёрдые, но податливые.

Мастер Юан-Ма, Книга программирования


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

В случае больших программ отдельные функции уже теряются в коде, и нам необходима единица организации кода больших масштабов. Модули группируют программный код по каким-то определённым признакам. В этой главе мы рассмотрим преимущества такого деления и техники создания модулей в JavaScript.
Читать дальше →
Всего голосов 30: ↑29 и ↓1+28
Комментарии3
Всем привет, на связи Microsoft! Мы давно обратили внимание, что читатели видят в Хабре образовательный ресурс и приходят сюда затем, чтобы повысить свой профессиональный уровень. Для тех хабравчан, кто пользуется инструментами и продуктами от Microsoft, мы решили систематизировать наши обучающие, справочные и триал-материалы. Итак, под катом наш виртуальный лекторий, где собраны ссылки по работе с Azure, последние курсы на платформе Learn и материалы для получения сертификатов от компании.
Посмотреть, что мы для вас собрали
Всего голосов 32: ↑30 и ↓2+28
Комментарии2

VMware NSX для самых маленьких. Часть 6. Настройка VPN

Время на прочтение8 мин
Количество просмотров18K


Часть первая. Вводная
Часть вторая. Настройка правил Firewall и NAT
Часть третья. Настройка DHCP
Часть четвертая. Настройка маршрутизации
Часть пятая. Настройка балансировщика нагрузки

Сегодня мы посмотрим на возможности настройки VPN, которые предлагает нам NSX Edge.

В целом мы можем разделить VPN-технологии на два ключевых вида:

  • Site-to-site VPN. Чаще всего используется IPSec для создания защищенного туннеля, например, между сетью главного офиса и сетью на удаленной площадке или в облаке.
  • Remote Access VPN. Используется для подключения отдельных пользователей к частным сетям организаций с помощью ПО VPN-клиента.

NSX Edge позволяет нам использовать оба варианта.
Настройку будем производить с помощью тестового стенда с двумя NSX Edge, Linux-сервера с установленным демоном racoon и ноутбука с Windows для тестирования Remote Access VPN.
Читать дальше →
Всего голосов 21: ↑21 и ↓0+21
Комментарии6

Автоматизация работы с проектом Python

Время на прочтение11 мин
Количество просмотров9.7K

Сегодня делимся с вами переводом статьи DevOps инженера из IBM, об автоматизации сборки быстро собираемых и удобно отлаживаемых образов Docker для проектов на Python с помощью Makefile. Этот проект не только упрощает отладку в Docker, но и заботится о качестве кода вашего проекта. Подробности, как всегда, под катом.
Приятного чтения!
Всего голосов 22: ↑21 и ↓1+20
Комментарии7

Мелкая питонячая радость #11: реактивное программирование, парсинг страниц и публикация моделей машинного обучения

Время на прочтение4 мин
Количество просмотров7K

image


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

Читать дальше →
Всего голосов 16: ↑16 и ↓0+16
Комментарии4

Разработка приложения с использованием Python и OpenCV на Android устройстве

Время на прочтение4 мин
Количество просмотров12K


В это статье я хочу показать пример того, как андроид устройство можно использовать для разработки на таких языках программирования как python с библиотекой opencv в среде VSCode (будет использован code-server). В конце статьи приведено небольшое сравнение производительности Termux на моем Android устройстве и Raspberry Pi 3B.

Все действия описанные статье выполнялись на:
Huawei MediaPad M5 10.8
4GB ОЗУ, Hisilicon Kirin 960s, EMUI 9, без root
Читать дальше →
Всего голосов 7: ↑7 и ↓0+7
Комментарии5

Zettelkasten: как один немецкий учёный стал невероятно продуктивным

Время на прочтение18 мин
Количество просмотров369K
Изображение предоставлено автором. Основано на фотографии Патрика Томаса с Ансплэша

Это перевод статьи Дэвида Клира о методе ведения заметок Zettelkasten, благодаря которому немецкий социолог Никлас Луман написал более 70 книг и 400 научных статей. Стоит читать, если вы хотите создать собственную базу знаний, систематизировать идеи и перестать забывать важные мысли.

Статья бережно перенесена из блога бегущего редактора. Кстати, следить за анонсами новых статей можно в моём телеграм-канале. Подписывайтесь, чтобы ничего не пропустить!
Читать дальше →
Всего голосов 52: ↑48 и ↓4+44
Комментарии82

Полное практическое руководство по Docker: с нуля до кластера на AWS

Время на прочтение39 мин
Количество просмотров1.6M



Содержание



Вопросы и ответы


Что такое Докер?


Определение Докера в Википедии звучит так:


программное обеспечение для автоматизации развёртывания и управления приложениями в среде виртуализации на уровне операционной системы; позволяет «упаковать» приложение со всем его окружением и зависимостями в контейнер, а также предоставляет среду по управлению контейнерами.



Ого! Как много информации.

Читать дальше →
Всего голосов 125: ↑124 и ↓1+123
Комментарии44

Ричард Хэмминг: Глава 14. Цифровые фильтры — 1

Время на прочтение16 мин
Количество просмотров14K
«Цель этого курса — подготовить вас к вашему техническому будущему.»


imageПривет, Хабр. Помните офигенную статью «Вы и ваша работа» (+219, 2372 в закладки, 375k прочтений)?

Так вот у Хэмминга (да, да, самоконтролирующиеся и самокорректирующиеся коды Хэмминга) есть целая книга, написанная по мотивам его лекций. Мы ее переводи, ведь мужик дело говорит.

Это книга не просто про ИТ, это книга про стиль мышления невероятно крутых людей. «Это не просто заряд положительного мышления; в ней описаны условия, которые увеличивают шансы сделать великую работу.»

Мы уже перевели 16 (из 30) глав.

Глава 14. Цифровые фильтры — 1


(За перевод спасибо Максиму Лавриненко и Пахомову Андрею, которые откликнулись на мой призыв в «предыдущей главе».) Кто хочет помочь с переводом — пишите в личку или на почту magisterludi2016@yandex.ru

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

Большая часть того, что компьютеры обрабатывают, — это сигналы из разных источников, и мы уже обсуждали, почему они часто бывают в виде потока чисел, полученного из системы дискретизации. Линейная обработка, единственная, на которую у меня хватает времени в рамках этой книги, подразумевает наличие цифровых фильтров. Чтобы продемонстрировать, как всё происходит в реальной жизни, сначала я расскажу вам о том, как я стал работать с ними, и далее о том, чем я занимался.
Читать дальше →
Всего голосов 22: ↑22 и ↓0+22
Комментарии5

Ричард Хэмминг: Глава 15. Цифровые фильтры — 2

Время на прочтение14 мин
Количество просмотров6.7K
«Цель этого курса — подготовить вас к вашему техническому будущему.»

imageПривет, Хабр. Помните офигенную статью «Вы и ваша работа» (+219, 2372 в закладки, 375k прочтений)?

Так вот у Хэмминга (да, да, самоконтролирующиеся и самокорректирующиеся коды Хэмминга) есть целая книга, написанная по мотивам его лекций. Мы ее переводи, ведь мужик дело говорит.

Это книга не просто про ИТ, это книга про стиль мышления невероятно крутых людей. «Это не просто заряд положительного мышления; в ней описаны условия, которые увеличивают шансы сделать великую работу.»

Мы уже перевели 17 (из 30) глав. И ведем работу над изданием «в бумаге».

Глава 15. Цифровые фильтры — 2


(За перевод спасибо Пахомову Андрею, который откликнулся на мой призыв в «предыдущей главе».) Кто хочет помочь с переводом — пишите в личку или на почту magisterludi2016@yandex.ru

Когда цифровые фильтры только появились, они рассматривались как разновидность классических аналоговых фильтров; люди не рассматривали их как-что то принципиально новое и отличающееся от уже существующего. Точно такая же ошибка была распространена во время появления первых компьютеров. Мне неустанно твердили, что компьютер — это всего лишь быстрый калькулятор, и все, что может посчитать машина, может посчитать и человек. Это утверждение просто игнорирует различия в скорости, точности, надежности и стоимости между ручным и машинным трудом. Обычно, изменение какой-либо величины на порядок (в 10 раз) приводит к фундаментальным изменениям, а компьютеры во много-много раз быстрее, чем ручные вычисления. Те, кто утверждал, что нет никакой разницы, так и не сделали ничего значимого для развития компьютеров. Те же, кто внес значительный вклад, видели в компьютерах что-то новое, что-то, что следует оценивать совсем другим образом, а не просто как те же самые старые калькуляторы, только может быть чуть-чуть более быстрые.
Читать дальше →
Всего голосов 16: ↑15 и ↓1+14
Комментарии0

Ричард Хэмминг: Глава 13. Теория информации

Время на прочтение15 мин
Количество просмотров12K
Мы это сделали!

«Цель этого курса — подготовить вас к вашему техническому будущему.»

imageПривет, Хабр. Помните офигенную статью «Вы и ваша работа» (+219, 2588 в закладки, 429k прочтений)?

Так вот у Хэмминга (да, да, самоконтролирующиеся и самокорректирующиеся коды Хэмминга) есть целая книга, написанная по мотивам его лекций. Мы ее переводим, ведь мужик дело говорит.

Это книга не просто про ИТ, это книга про стиль мышления невероятно крутых людей. «Это не просто заряд положительного мышления; в ней описаны условия, которые увеличивают шансы сделать великую работу.»

За перевод спасибо Андрею Пахомову.

Теория Информации была разработана К. Э. Шенноном в конце 1940х годов. Руководство Лабораторий Белла настаивало, чтобы он назвал ее «Теория Связи», т.к. это намного более точное название. По очевидным причинам, название «Теория Информации» обладает значительно большим воздействием на публику, поэтому Шеннон выбрал именно его, и именно оно известно нам по сей день. Само название предполагает, что теория имеет дело с информацией, это и делает ее важной, поскольку мы все глубже проникаем в информационную эпоху. В этой главе я затрону несколько основных выводов из этой теории, приведу не строгие, а скорее интуитивно понятные доказательства некоторых отдельных положений этой теории, чтобы вы поняли, чем на самом деле является «Теория Информации», где вы можете ее применять, а где нет.
Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии1

Ричард Хэмминг: Глава 22. Обучение с помощью компьютера (CAI)

Время на прочтение16 мин
Количество просмотров3.5K
«What you learn from others you can use to follow;
What you learn for yourself you can use to lead.»
— Ричард Хэмминг
imageОсталось опубликовать 1 главу…

Сomputer-aided instruction (CAI) — машинное обучение. Применение ЭВМ в учебном процессе. ЭВМ в диалоговом режиме предлагает учащемуся материал в виде текстов и графических изображений, дает задания и проверяет их выполнение, позволяет выполнять учебные эксперименты.
Перевод Islam Rasulov

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

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

Истории известно огромное количество людей, которые искали легкие способы обучиться чему-либо. Олдос Хаксли в своей книге «О дивный новый мир» обсуждает идею обучения во время сна, когда под подушку вам подкладывается микрофон и через него происходит воспроизведение чего-либо. Он также раскрывает и серьёзные ограничения такого процесса.
Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии7

Ричард Хэмминг: Глава 26. Эксперты

Время на прочтение13 мин
Количество просмотров7.1K
«То, что привело вас к успеху, может стать неэффективным в будущем.»

imageПривет, Хабр. Помните офигенную статью «Вы и ваша работа» (+219, 2244 в закладки, 351k прочтений)?

Так вот у Хэмминга (да, да, самоконтролирующиеся и самокорректирующиеся коды Хэмминга) есть целая книга, написанная по мотивам его лекций. Давайте ее переведем, ведь мужик дело говорит.

Это книга не просто про ИТ, это книга про стиль мышления невероятно крутых людей. «Это не просто заряд положительного мышления; в ней описаны условия, которые увеличивают шансы сделать великую работу.»

Мы уже перевели 8 (из 30) глав.

Глава 26. Эксперты


(За перевод спасибо Mitroshin Evgeny, который откликнулся на мой призыв в «предыдущей главе».) Кто хочет помочь с переводом — пишите в личку или на почту magisterludi2016@yandex.ru

Как было отмечено в пятой главе, количество проблем предстающих перед нами растёт экспоненциально, и в качестве решения, мы справляемся с этим с помощью специализации. Это высказывание с годами становится лишь более правдивым:

Эксперт — это тот, кто знает всё в чём-то малом, эрудит — это тот кто знает мало, зато обо всём.

В споре между экспертом и эрудитом эксперт обычно побеждает, просто потому что использует никому не понятные термины и ссылается на свой специфический опыт, который, часто вообще не имеет отношения к предмету спора. Однако, с мнением экспертов нужно считаться. Поскольку эксперты одновременно играют очень важную роль и, иногда, мешают развитию отрасли, их мнение нужно оценивать со всех сторон. Часто эксперт недооценивает поставленную проблему, а эрудиту не справиться с задачей в силу отсутствия глубоких знаний. Тот, кто думает, что он понимает поставленную задачу, а на самом деле нет, является настоящей напастью, по сравнению с тем, кто знает, что ничего не понимает в поставленном вопросе.
Читать дальше →
Всего голосов 19: ↑19 и ↓0+19
Комментарии0

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность