Media is too big
VIEW IN TELEGRAM
⚙️ Язык Си++, Rust не победит. Статический анализ и компиляторы
00:00 Вступление
00:59 Приветствие Филиппа
01:46 Как нашел первую работу Си++ программистом
02:27 Про учебу в ВУЗе
03:02 Самообучение кроме ВУЗа
04:27 Что готовил к первому собеседованию на Си++ разработчика
06:18 Тула, как лайфхак для джунов
06:57 Сколько времени нужно, чтобы воспитать джуна Си++
08:50 Си++ как первый язык, имеет смысл?
11:11 Какие демо проекты можно сделать на Си++
13:35 Написать операционную систему или идти от того, что нравится
14:56 Пробовал писать свой язык программирования?
15:21 Неочевидности в языках
17:32 Про Yacc и Bison / парсинг языков и грамматика языка
19:18 Имеет ли смысл идти в Си++ сейчас?
23:22 500 мегабайт исходников и почему мало браузеров
24:20 Отличие Си и Си++. Использование в микроконтроллерах
27:06 Тенденции роста популярности Си++
30:16 Почему Си и Си++ быстрее других языков
31:22 Ошибки в компиляторах
31:43 Стандарты, засахаривание Си++
34:56 Может лучше добавить статический анализ?
38:05 Бесплатная лицензия для opensource
38:30 Что такое статический анализ
40:32 Подарок для зрителей
40:46 Этапы компиляции кода
44:18 Как придумывают правила
47:32 Общение с программистами на поддержке
50:28 Rust убийца Си++
56:53 Какой язык взять вторым к Си++?
59:26 Статический анализ JavaScript
01:06:00 Как в этом разобраться
01:14:20 Где искать Филиппа
01:15:35 АНОНС ПРОДОЛЖЕНИЯ Байки про Си++
🔵 Эпсилон
00:00 Вступление
00:59 Приветствие Филиппа
01:46 Как нашел первую работу Си++ программистом
02:27 Про учебу в ВУЗе
03:02 Самообучение кроме ВУЗа
04:27 Что готовил к первому собеседованию на Си++ разработчика
06:18 Тула, как лайфхак для джунов
06:57 Сколько времени нужно, чтобы воспитать джуна Си++
08:50 Си++ как первый язык, имеет смысл?
11:11 Какие демо проекты можно сделать на Си++
13:35 Написать операционную систему или идти от того, что нравится
14:56 Пробовал писать свой язык программирования?
15:21 Неочевидности в языках
17:32 Про Yacc и Bison / парсинг языков и грамматика языка
19:18 Имеет ли смысл идти в Си++ сейчас?
23:22 500 мегабайт исходников и почему мало браузеров
24:20 Отличие Си и Си++. Использование в микроконтроллерах
27:06 Тенденции роста популярности Си++
30:16 Почему Си и Си++ быстрее других языков
31:22 Ошибки в компиляторах
31:43 Стандарты, засахаривание Си++
34:56 Может лучше добавить статический анализ?
38:05 Бесплатная лицензия для opensource
38:30 Что такое статический анализ
40:32 Подарок для зрителей
40:46 Этапы компиляции кода
44:18 Как придумывают правила
47:32 Общение с программистами на поддержке
50:28 Rust убийца Си++
56:53 Какой язык взять вторым к Си++?
59:26 Статический анализ JavaScript
01:06:00 Как в этом разобраться
01:14:20 Где искать Филиппа
01:15:35 АНОНС ПРОДОЛЖЕНИЯ Байки про Си++
🔵 Эпсилон
❤7👍4💯1👨💻1
👨🏻💻 Что нужно знать Data Scientist
Data Science — дисциплина, которая лежит на стыке математики, статистики и компьютерных наук. Поэтому обычно Data Scientist должен:
▪️ Знать математику и статистику.
▪️ Писать код, обычно на языках R и Python.
▪️ Работать с базами данных и знать язык SQL.
▪️ Владеть инструментами для работы с большими данными: Hadoop, Spark, Hive, Kafka.
▪️ Отлаживать код и готовить к выкатке в продакшен.
▪️ Работать с программами для визуализации и презентации результатов работы: PowerPoint, Shiny/Dash, Power BI, Tableau, Qlik
▪️ Знать технологии машинного и глубокого обучения.
◽️ Data Scientist — это специалист, который с помощью математических алгоритмов и программных инструментов анализирует данные, которые собрала компания.
◽️ С помощью данных Data Scientist помогает компаниям принимать правильные бизнес-решения, экономить деньги, улучшать клиентский сервис и автоматизировать рутинные задачи.
◽️ Вашей компании нужен Data Scientist, если вы не знаете, что делать с собранными данными, или хотите увеличить прибыль, используя для этого собранную информацию о клиентах и бизнесе.
◽️ Для работы Data Scientist нуждается в данных, инфраструктуре для их обработки и помощи других смежных специалистов.
◽️ Data Scientist должен разбираться в математике, статистике, программировании, базах данных и построении предсказательных моделей.
💡 Что почитать по статистике, чтобы начать её понимать?
🔵 Эпсилон
Data Science — дисциплина, которая лежит на стыке математики, статистики и компьютерных наук. Поэтому обычно Data Scientist должен:
▪️ Знать математику и статистику.
▪️ Писать код, обычно на языках R и Python.
▪️ Работать с базами данных и знать язык SQL.
▪️ Владеть инструментами для работы с большими данными: Hadoop, Spark, Hive, Kafka.
▪️ Отлаживать код и готовить к выкатке в продакшен.
▪️ Работать с программами для визуализации и презентации результатов работы: PowerPoint, Shiny/Dash, Power BI, Tableau, Qlik
▪️ Знать технологии машинного и глубокого обучения.
◽️ Data Scientist — это специалист, который с помощью математических алгоритмов и программных инструментов анализирует данные, которые собрала компания.
◽️ С помощью данных Data Scientist помогает компаниям принимать правильные бизнес-решения, экономить деньги, улучшать клиентский сервис и автоматизировать рутинные задачи.
◽️ Вашей компании нужен Data Scientist, если вы не знаете, что делать с собранными данными, или хотите увеличить прибыль, используя для этого собранную информацию о клиентах и бизнесе.
◽️ Для работы Data Scientist нуждается в данных, инфраструктуре для их обработки и помощи других смежных специалистов.
◽️ Data Scientist должен разбираться в математике, статистике, программировании, базах данных и построении предсказательных моделей.
💡 Что почитать по статистике, чтобы начать её понимать?
🔵 Эпсилон
👍12💯2👨💻1
👾 Есть ли emergent properties у LLM?
Emergent properties или возникающиие свойства — новые способности нейросети к решению новых задач, возникающие без заведомо заложенных данных во время обучения. У языковых моделей emergent properties обычно связываются с промпт инжинирингом и способностью легко подстраиваться под новые сложные задачи, например, машинный перевод или игру в шахматы, после модели на большом корпусе. Впервые свойства были замечены в статье GPT-2, где описаны способности моделей решать совершенно новые задачи при наличии нескольких примеров в затравке (few-shot learning, in-context learning).
🟣 Но существуют ли emergent properties вообще?
Вполне возможно, что нет. Может быть, в огромных веб-корпусах уже были все возможные форматы задач, и этого совершенно достаточно, чтобы никаких обобщений навыков от нейросети не требовалось вообще? С какого процента качества на задаче, размера нейросети и объема данных вообще проводить границу и считать, что новое свойство "возникло"?
🟣 Аргументы против
— Разговоры во многом напоминают 17 век, когда считалось, мухи на мясе "самозарождались". Эмерджентностью в нейронауках и эволюционной психологии иногда объясняют возникновение языка и даже сознания, но фальсифицировать это, конечно, затруднительно. Чего не скажешь о нейросетях! Многое можно смоделировать и проверить.
— Работа "Searching for Needles in a Haystack" на примере задаич машинного перевода и PaLM наглядно показала, что если тщательно профильтровать корпус и удалить все примеры параллельного переовода из данных, а затем повторить обучение модели, то способность к машинному переводу значительно ухудшается.
— Насколько сильное влияние на конечный результат оказывают few-shot (примеры в затравках) и instruction tuning базовых моделей? Эксперименты с их исключением показывают, что именно few-shot примеры и in-context learning вносят основной вклад в итоговое качество на новых задачах. Instruction tuning не оказывает такого существенного влияния, а только улучшает уже имевшиеся ранее у моделей способности.
— Работа "Data Distributional Properties Drive Emergent In-Context Learning in Transformers" показывает, что обобщение у языковых моделей хорошо работает на уровне токенов, не увиденных при обучении, но способность не подтверждается для новых последовательностей, т.е. новых формулировок задач.
— Многие заявленные примеры из работы "Sparks of Artificial General Intelligence" сообществу не удалось воспрозвести от слова совсем.
🟣 Аргументы за
— С момента выхода первых крупных языковых моделей было заявлено 137 emergent properties для разных архитектур: GPT-3, PaLM, Chinchilla, бенчмарк BigBench... от игры в шахматы до пословиц на суахили — языковые модели показывали способности к обобщению на новых тематиках, областях знаний, языках, задачах.
— Многие заявленные emergent properties завязаны не только на работу с затравками: это и способности к факт-чекингу (Gopher 7B), и ризонинг (PaLM, LaMDa), и построение индекса информации (T5) — чего нельзя объяснить запоминанием примеров изобучения.
— Нестабильность качества объясняется воспроизведением распределения самих людей — кто-то отвечает лучше, кто-то хуже, в зависимости от подготовки и мотивации.
#nlp #про_nlp #nlp_papers #ai_alignment #ИИ #AI #машинное_обучение #искусственный_интеллект
🔵 Эпсилон
Emergent properties или возникающиие свойства — новые способности нейросети к решению новых задач, возникающие без заведомо заложенных данных во время обучения. У языковых моделей emergent properties обычно связываются с промпт инжинирингом и способностью легко подстраиваться под новые сложные задачи, например, машинный перевод или игру в шахматы, после модели на большом корпусе. Впервые свойства были замечены в статье GPT-2, где описаны способности моделей решать совершенно новые задачи при наличии нескольких примеров в затравке (few-shot learning, in-context learning).
Вполне возможно, что нет. Может быть, в огромных веб-корпусах уже были все возможные форматы задач, и этого совершенно достаточно, чтобы никаких обобщений навыков от нейросети не требовалось вообще? С какого процента качества на задаче, размера нейросети и объема данных вообще проводить границу и считать, что новое свойство "возникло"?
— Разговоры во многом напоминают 17 век, когда считалось, мухи на мясе "самозарождались". Эмерджентностью в нейронауках и эволюционной психологии иногда объясняют возникновение языка и даже сознания, но фальсифицировать это, конечно, затруднительно. Чего не скажешь о нейросетях! Многое можно смоделировать и проверить.
— Работа "Searching for Needles in a Haystack" на примере задаич машинного перевода и PaLM наглядно показала, что если тщательно профильтровать корпус и удалить все примеры параллельного переовода из данных, а затем повторить обучение модели, то способность к машинному переводу значительно ухудшается.
— Насколько сильное влияние на конечный результат оказывают few-shot (примеры в затравках) и instruction tuning базовых моделей? Эксперименты с их исключением показывают, что именно few-shot примеры и in-context learning вносят основной вклад в итоговое качество на новых задачах. Instruction tuning не оказывает такого существенного влияния, а только улучшает уже имевшиеся ранее у моделей способности.
— Работа "Data Distributional Properties Drive Emergent In-Context Learning in Transformers" показывает, что обобщение у языковых моделей хорошо работает на уровне токенов, не увиденных при обучении, но способность не подтверждается для новых последовательностей, т.е. новых формулировок задач.
— Многие заявленные примеры из работы "Sparks of Artificial General Intelligence" сообществу не удалось воспрозвести от слова совсем.
— С момента выхода первых крупных языковых моделей было заявлено 137 emergent properties для разных архитектур: GPT-3, PaLM, Chinchilla, бенчмарк BigBench... от игры в шахматы до пословиц на суахили — языковые модели показывали способности к обобщению на новых тематиках, областях знаний, языках, задачах.
— Многие заявленные emergent properties завязаны не только на работу с затравками: это и способности к факт-чекингу (Gopher 7B), и ризонинг (PaLM, LaMDa), и построение индекса информации (T5) — чего нельзя объяснить запоминанием примеров изобучения.
— Нестабильность качества объясняется воспроизведением распределения самих людей — кто-то отвечает лучше, кто-то хуже, в зависимости от подготовки и мотивации.
#nlp #про_nlp #nlp_papers #ai_alignment #ИИ #AI #машинное_обучение #искусственный_интеллект
🔵 Эпсилон
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🤔1👨💻1
⚙️ Сложение двух чисел с плавающей запятой без потери точности
🔢 Можно ли сложить N чисел типа double наиболее точно?
✏️ Наглядное объяснение чисел с плавающей запятой
🎲 Что нужно знать про арифметику с плавающей запятой
Как вы думаете, если мы напишем такой код:
то не кажется ли вам, что в результате его выполнения получится, что t = 0? С точки зрения привычной математики действительных чисел это и правда так, а вот с точки зрения двоичной арифметики с плавающей запятой в переменной t будет кое-что другое. Там будет то, что спасает нас от потери точности при сложении чисел a и b.
#полезное #теория_чисел #программирование #информатика
🔵 Эпсилон
🔢 Можно ли сложить N чисел типа double наиболее точно?
✏️ Наглядное объяснение чисел с плавающей запятой
🎲 Что нужно знать про арифметику с плавающей запятой
Как вы думаете, если мы напишем такой код:
s = a + b;
z = s - a;
t = b - z;
то не кажется ли вам, что в результате его выполнения получится, что t = 0? С точки зрения привычной математики действительных чисел это и правда так, а вот с точки зрения двоичной арифметики с плавающей запятой в переменной t будет кое-что другое. Там будет то, что спасает нас от потери точности при сложении чисел a и b.
#полезное #теория_чисел #программирование #информатика
🔵 Эпсилон
👍8❤1🤔1🏆1👨💻1
This media is not supported in your browser
VIEW IN TELEGRAM
Диагностика видеокарты за 1 сек
5 признаков того, что ваша видеокарта умирает:
▪️ 1. Появление графических дефектов — Графические дефекты в основном наблюдаются в играх, проявляясь в виде плохо загруженных текстур, глюков экрана, разрывов или случайных артефактов, появляющихся на экране в середине игры. Но иногда дефекты могут наблюдаться и вне игр, в меню операционной системы или других приложениях, где можно увидеть плохо отрендеренный текст и другие графические артефакты.
▪️ 2. Странный шум вентилятора — Если эти вентиляторы не работают, они могут изнашивать другие вентиляторы в GPU, заставляя их вращаться еще быстрее, чтобы компенсировать потерянную производительность, что приводит к еще большему износу.
▪️ 3. Многочисленные краши — ваш компьютер выходит из строя и перезагружается чаще, чем обычно. Если ваша игра зависает и сбоит, и кажется, что это происходит чаще, вам следует немедленно обратить на это внимание.
▪️ 4. Значительное падение кадров — Еще один способ определить, что ваш графический процессор умер или вот-вот умрет, — это если ваши игры внезапно стали работать медленнее, чем обычно. Если во время игры вы заметите, что она работает со скоростью 10 кадров в секунду вместо обычных 60 кадров в секунду, это может быть плохим знаком.
▪️ 5. Синий экран смерти — основной признак отказа графического процессора является также главным предупреждением о том, что с вашим компьютером что-то серьезно не так: синий экран смерти. По крайней мере, так он выглядит в Windows. Он может появиться по любой причине, и да, он также может появиться, если ваш GPU вышел из строя. В других операционных системах критические ошибки проявляются иначе, чем в Windows.
🔵 Эпсилон
5 признаков того, что ваша видеокарта умирает:
▪️ 1. Появление графических дефектов — Графические дефекты в основном наблюдаются в играх, проявляясь в виде плохо загруженных текстур, глюков экрана, разрывов или случайных артефактов, появляющихся на экране в середине игры. Но иногда дефекты могут наблюдаться и вне игр, в меню операционной системы или других приложениях, где можно увидеть плохо отрендеренный текст и другие графические артефакты.
▪️ 2. Странный шум вентилятора — Если эти вентиляторы не работают, они могут изнашивать другие вентиляторы в GPU, заставляя их вращаться еще быстрее, чтобы компенсировать потерянную производительность, что приводит к еще большему износу.
▪️ 3. Многочисленные краши — ваш компьютер выходит из строя и перезагружается чаще, чем обычно. Если ваша игра зависает и сбоит, и кажется, что это происходит чаще, вам следует немедленно обратить на это внимание.
▪️ 4. Значительное падение кадров — Еще один способ определить, что ваш графический процессор умер или вот-вот умрет, — это если ваши игры внезапно стали работать медленнее, чем обычно. Если во время игры вы заметите, что она работает со скоростью 10 кадров в секунду вместо обычных 60 кадров в секунду, это может быть плохим знаком.
▪️ 5. Синий экран смерти — основной признак отказа графического процессора является также главным предупреждением о том, что с вашим компьютером что-то серьезно не так: синий экран смерти. По крайней мере, так он выглядит в Windows. Он может появиться по любой причине, и да, он также может появиться, если ваш GPU вышел из строя. В других операционных системах критические ошибки проявляются иначе, чем в Windows.
🔵 Эпсилон
👍8⚡2😱1
👨🏻💻 Открытые проекты с GitHub, заслуживающие вашего внимания.
▪️ Nidhogg — Разработанный для «красных» команд руткит типа «всё в одном», включающий в себя целый спектр возможностей. Для интеграции с C2-фреймворком достаточно одного заголовочного файла.:
• совместим с 64-разрядными версиями Windows 10 и Windows 11.
• в репозитории: драйвер ядра и заголовочный файл C++ для обращения к нему.
▪️ RedEye — Аналитический инструмент (разработки CISA) с открытым исходным кодом, созданный для поддержки «красных» в анализе и отчетности о действиях. Помогает операторам оценивать стратегии управления рисками (смягчения последствий их реализации), визуализировать сложные данные и принимать решения на основе результатов оценки «красной» команды.:
• парсинг журналов (в частности, касается Cobalt Strike), и представления данных в удобовоспринимаемом формате.
• метки (tags) и комментарии к отображаемым действиям.
• режим презентации (позволяет операторам. продемонстрировать свои результаты и рабочий процесс заинтересованным сторонам).
▪️ SpiderFoot — Инструмент автоматизации сбора и анализа открытых источников информации (OSINT) с открытым исходным кодом. Развивается с 2012 г.:
• интегрируется практически со всеми доступными источниками данных.
• использует широкий диапазон методов для анализа данных и облегчения навигации.
• имеет встроенный сервер с дружелюбным веб-интерфейсом, но также может использоваться полностью через командную строку (UI/CLI).
• написан на Python 3 и распространяется под лицензией MIT
• более 200 модулей.
• корреляционный движок (YAML, с 37 предопределенными правилами).
• экспорт в форматах CSV/JSON/GEXF.
• экспорт/импорт API-ключей.
• высокая настраиваемость, полная документация, средства визуализации.
• интегрируется с TOR для поиска в дарквэбе.
• Dockerfile для развертывания в Docker.
• может обращаться к другим инструментам (DNSTwist, Whatweb, Nmap, CMSeeK и т.д.).
▪️ System Informer — Бесплатный многофункциональный инструмент для мониторинга ресурсов системы, отладки «хорошего» ПО и обнаружения вредоносных программ. Разработано Winsider Seminars & Solutions, Inc. Только Windows 10 или более новая версия ОС:
• детальный обзор активности в системе (процессы, доступ к диску, использование ресурсов) в режиме реального времени.
• подсветка аномалий, статистические выкладки и графики.
• портативный (не требует установки).
• создание, редактирование, удаление служб (services).
• поддержка режима ядра, WOW64 и .NET.
🔵 Эпсилон
▪️ Nidhogg — Разработанный для «красных» команд руткит типа «всё в одном», включающий в себя целый спектр возможностей. Для интеграции с C2-фреймворком достаточно одного заголовочного файла.:
• совместим с 64-разрядными версиями Windows 10 и Windows 11.
• в репозитории: драйвер ядра и заголовочный файл C++ для обращения к нему.
▪️ RedEye — Аналитический инструмент (разработки CISA) с открытым исходным кодом, созданный для поддержки «красных» в анализе и отчетности о действиях. Помогает операторам оценивать стратегии управления рисками (смягчения последствий их реализации), визуализировать сложные данные и принимать решения на основе результатов оценки «красной» команды.:
• парсинг журналов (в частности, касается Cobalt Strike), и представления данных в удобовоспринимаемом формате.
• метки (tags) и комментарии к отображаемым действиям.
• режим презентации (позволяет операторам. продемонстрировать свои результаты и рабочий процесс заинтересованным сторонам).
▪️ SpiderFoot — Инструмент автоматизации сбора и анализа открытых источников информации (OSINT) с открытым исходным кодом. Развивается с 2012 г.:
• интегрируется практически со всеми доступными источниками данных.
• использует широкий диапазон методов для анализа данных и облегчения навигации.
• имеет встроенный сервер с дружелюбным веб-интерфейсом, но также может использоваться полностью через командную строку (UI/CLI).
• написан на Python 3 и распространяется под лицензией MIT
• более 200 модулей.
• корреляционный движок (YAML, с 37 предопределенными правилами).
• экспорт в форматах CSV/JSON/GEXF.
• экспорт/импорт API-ключей.
• высокая настраиваемость, полная документация, средства визуализации.
• интегрируется с TOR для поиска в дарквэбе.
• Dockerfile для развертывания в Docker.
• может обращаться к другим инструментам (DNSTwist, Whatweb, Nmap, CMSeeK и т.д.).
▪️ System Informer — Бесплатный многофункциональный инструмент для мониторинга ресурсов системы, отладки «хорошего» ПО и обнаружения вредоносных программ. Разработано Winsider Seminars & Solutions, Inc. Только Windows 10 или более новая версия ОС:
• детальный обзор активности в системе (процессы, доступ к диску, использование ресурсов) в режиме реального времени.
• подсветка аномалий, статистические выкладки и графики.
• портативный (не требует установки).
• создание, редактирование, удаление служб (services).
• поддержка режима ядра, WOW64 и .NET.
🔵 Эпсилон
👍11😍2❤1
This media is not supported in your browser
VIEW IN TELEGRAM
🔐 Slow Motion Inside Perspective of Lock Getting Bumped Open. 🔨
( Замедленная съемка с точки зрения открывания замка изнутри ударным методом )
Бампинг (англ. bump «удар, толчок, столкновение») — метод вскрытия замков, основанный на передаче кинетической энергии штифтам вследствие ударов по специально выточенному ключу. Штифты хаотически подбрасываются, и, повернув бамп-ключ в нужный момент, можно открыть замок. Такой метод взлома не оставляет видимых следов и работает на тумблерно-штифтовых системах и замках с вертикальной фрезеровкой секрета.
Антибампинг — технология защиты замка от вскрытия методом бампинга. Высокую степень защиты от взлома обеспечивает наличие в цилиндре замка телескопических пинов, секретность которых составляет 2-2,5 миллиона комбинаций. Ключ для такого цилиндра имеет дополнительные бороздки. Принцип действия антибампинга следующий: штифты подходят к ключу в двух плоскостях. Два параллельно расположенных ряда пинов снизу и один сверху считывают ключ с двух сторон. Внутри цилиндра находятся дополнительные пружины. В случае попытки открывания бамп-ключом они не дают штифтам встать в положение «открыто». Поймать нужную комбинацию очень сложно. Корпус цилиндра и штифты могут быть сделаны из термозакалённого материала, свойства которого превосходят латунь. Его прочность даёт высокую степень защиты от высверливания и воздействия различных отмычек.
В сумме система антибампинга делает несанкционированное вскрытие замка методом бампинга практически невозможным. Некоторые современные антибампинговые системы могут быть перекодированы в случае, если ключ был утерян.
🔵 Эпсилон
( Замедленная съемка с точки зрения открывания замка изнутри ударным методом )
Бампинг (англ. bump «удар, толчок, столкновение») — метод вскрытия замков, основанный на передаче кинетической энергии штифтам вследствие ударов по специально выточенному ключу. Штифты хаотически подбрасываются, и, повернув бамп-ключ в нужный момент, можно открыть замок. Такой метод взлома не оставляет видимых следов и работает на тумблерно-штифтовых системах и замках с вертикальной фрезеровкой секрета.
Антибампинг — технология защиты замка от вскрытия методом бампинга. Высокую степень защиты от взлома обеспечивает наличие в цилиндре замка телескопических пинов, секретность которых составляет 2-2,5 миллиона комбинаций. Ключ для такого цилиндра имеет дополнительные бороздки. Принцип действия антибампинга следующий: штифты подходят к ключу в двух плоскостях. Два параллельно расположенных ряда пинов снизу и один сверху считывают ключ с двух сторон. Внутри цилиндра находятся дополнительные пружины. В случае попытки открывания бамп-ключом они не дают штифтам встать в положение «открыто». Поймать нужную комбинацию очень сложно. Корпус цилиндра и штифты могут быть сделаны из термозакалённого материала, свойства которого превосходят латунь. Его прочность даёт высокую степень защиты от высверливания и воздействия различных отмычек.
В сумме система антибампинга делает несанкционированное вскрытие замка методом бампинга практически невозможным. Некоторые современные антибампинговые системы могут быть перекодированы в случае, если ключ был утерян.
🔵 Эпсилон
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥6👏1🤯1😱1
👨🏻💻 8 лекций по рефакторингу и оптимизации
Рефакторинг (англ. refactoring), или перепроектирование кода, переработка кода, равносильное преобразование алгоритмов — процесс изменения внутренней структуры программы, не затрагивающий её внешнего поведения и имеющий целью облегчить понимание её работы. В основе рефакторинга лежит последовательность небольших эквивалентных (то есть сохраняющих поведение) преобразований. Поскольку каждое преобразование маленькое, программисту легче проследить за его правильностью, и в то же время вся последовательность может привести к существенной перестройке программы и улучшению её согласованности и чёткости.
Цель рефакторинга — сделать код программы более легким для понимания; без этого рефакторинг нельзя считать успешным.
Рефакторинг следует отличать от оптимизации производительности. Как и рефакторинг, оптимизация обычно тоже не изменяет поведение программы, а только ускоряет её работу. Но оптимизация часто затрудняет понимание кода, что противоположно рефакторингу.
С другой стороны, нужно отличать рефакторинг и от реинжиниринга, который осуществляется для расширения функциональности программного обеспечения. Как правило, крупные рефакторинги предваряют реинжиниринг.
🔵 Эпсилон
Рефакторинг (англ. refactoring), или перепроектирование кода, переработка кода, равносильное преобразование алгоритмов — процесс изменения внутренней структуры программы, не затрагивающий её внешнего поведения и имеющий целью облегчить понимание её работы. В основе рефакторинга лежит последовательность небольших эквивалентных (то есть сохраняющих поведение) преобразований. Поскольку каждое преобразование маленькое, программисту легче проследить за его правильностью, и в то же время вся последовательность может привести к существенной перестройке программы и улучшению её согласованности и чёткости.
Цель рефакторинга — сделать код программы более легким для понимания; без этого рефакторинг нельзя считать успешным.
Рефакторинг следует отличать от оптимизации производительности. Как и рефакторинг, оптимизация обычно тоже не изменяет поведение программы, а только ускоряет её работу. Но оптимизация часто затрудняет понимание кода, что противоположно рефакторингу.
С другой стороны, нужно отличать рефакторинг и от реинжиниринга, который осуществляется для расширения функциональности программного обеспечения. Как правило, крупные рефакторинги предваряют реинжиниринг.
🔵 Эпсилон
👍13❤🔥2🔥1
📄 Наверное видели такой прикол в интернете — загрузочный лист Windows 95
Недавно набрёл на интересную программку, она переносит двоичное содержимое файлов в растровую графику для распечатки на принтере, и наоборот (распознаёт со сканера картинку в бинарник). Этакий бумажный носитель для бэкапа данных. Понятно, что таким способом большие объёмы не сохранишь, но вот например для критически важных элементов этот способ годится. Пример: микросхема БИОС современного ПК. Там гигабайтов не нужно. Бумага проживёт дольше оптических дисков, если её не мочить, не мять и защитить от огня.
👩💻 Вопрос такой: Кто-нибудь занимался этой идеей серьёзно?
Мне кажется что сейчас в мире нету ни одного надёжного носителя информации, кроме каменной глыбы. Но на глыбу много не запишешь. А на лист бумаги можно закодирвать много интересного. Было бы классно создать автономный "сканнер-принтер-компьютер", который может преобразовывать информацию между носителями разных типов: бумажными листами А4, оптическими дисками CD/DVD, в миросхему DRAM или эмуляцию ПЗУ распространённых форматов. Меня всегда интересовали вопросы совместимости различных приборов во времени, так сказать, совместимость старья и новых вещей. К сожалению, в нашем мире на совместимость все "плюют". Может быть когда-нибудь на материнской плате компа будет специальный удобный разъём, к которому можно подсоединить сканнер бумажных листов и загрузиться с "загрузочного листа Виндоус 95"
// Программа называется "PaperBack"
🔵 Эпсилон
Недавно набрёл на интересную программку, она переносит двоичное содержимое файлов в растровую графику для распечатки на принтере, и наоборот (распознаёт со сканера картинку в бинарник). Этакий бумажный носитель для бэкапа данных. Понятно, что таким способом большие объёмы не сохранишь, но вот например для критически важных элементов этот способ годится. Пример: микросхема БИОС современного ПК. Там гигабайтов не нужно. Бумага проживёт дольше оптических дисков, если её не мочить, не мять и защитить от огня.
Мне кажется что сейчас в мире нету ни одного надёжного носителя информации, кроме каменной глыбы. Но на глыбу много не запишешь. А на лист бумаги можно закодирвать много интересного. Было бы классно создать автономный "сканнер-принтер-компьютер", который может преобразовывать информацию между носителями разных типов: бумажными листами А4, оптическими дисками CD/DVD, в миросхему DRAM или эмуляцию ПЗУ распространённых форматов. Меня всегда интересовали вопросы совместимости различных приборов во времени, так сказать, совместимость старья и новых вещей. К сожалению, в нашем мире на совместимость все "плюют". Может быть когда-нибудь на материнской плате компа будет специальный удобный разъём, к которому можно подсоединить сканнер бумажных листов и загрузиться с "загрузочного листа Виндоус 95"
// Программа называется "PaperBack"
🔵 Эпсилон
Please open Telegram to view this post
VIEW IN TELEGRAM
👍28🤔5❤2😁1
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
🕹 Уроки по Arduino 🎚
0101. Видеоуроки по arduino. Первые шаги
0201. Видеоуроки по arduino. Кнопки pwm функции
0202. Видеоуроки по arduino. Кнопки pwm функции
0301. Видеоуроки по arduino. Основы схемотехники
0302. Видеоуроки по arduino. Основы схемотехники
0401. Видеоуроки по arduino. Аналоговые входы
0402. Видеоуроки по arduino. Аналоговые входы
0501. Видеоуроки по arduino. Моторы и транзисторы
0502. Видеоуроки по arduino. Моторы и транзисторы
🔵 Эпсилон
0101. Видеоуроки по arduino. Первые шаги
0201. Видеоуроки по arduino. Кнопки pwm функции
0202. Видеоуроки по arduino. Кнопки pwm функции
0301. Видеоуроки по arduino. Основы схемотехники
0302. Видеоуроки по arduino. Основы схемотехники
0401. Видеоуроки по arduino. Аналоговые входы
0402. Видеоуроки по arduino. Аналоговые входы
0501. Видеоуроки по arduino. Моторы и транзисторы
0502. Видеоуроки по arduino. Моторы и транзисторы
🔵 Эпсилон
👍13🔥3❤🔥2👏1😍1