GitHub — это платформа, дающая программистам отличные инструменты для организации работы над кодом. Но в GitHub-репозиториях, помимо кода, можно найти массу ценных учебных материалов. Я, например, занимаюсь разработкой ПО и постоянно ищу репозитории, которые могут чем-то мне пригодиться. Вот 10 моих любимых GitHub-проектов.
Пользователь
Как мы проверяли производительность новых процессоров в облаке для 1С по тесту Гилёва
3 мин
22KАмерику не откроем, если скажем, что виртуальные машины на новых процессорах всегда производительнее оборудования на процессорах старого поколения. Интереснее другое: при анализе возможностей систем, казалось бы, очень близких по своим техническим характеристикам, результат может быть совершенно различным. Мы в этом убедились, когда протестировали процессоры Intel в нашем облаке, чтобы проверить, какие из них дают наибольшую отдачу при работе систем на 1С.
Спойлер: как показал наш тест, всё зависит от поставленной задачи. Нам удалось из всей линейки новых процессоров Intel выбрать тот продукт, который дал кратный прирост производительности благодаря тому, что в Intel Xeon Gold 6244 меньшее количество ядер, на каждое ядро приходится большее количество L3 кэш-памяти и назначена большая тактовая частота — как базовая, так и в режиме Turbo Boost. Иными словами, именно эти процессоры лучше справляются с ресурсоёмкими задачами в пересчёте на единицу производительности/рубль. Для 1С это подходит как нельзя лучше: с новыми процессорами приложения на 1С в нашем облаке начали буквально «дышать».
А теперь расскажем, как мы проводили тестирование. Ниже — результаты синтетических тестов Гилёва. На них можно ориентироваться, но в любом случае нужно проверять реальную утилизацию самостоятельно на своих задачах.
+25
Как представители разных профессий вас пробивают
10 мин
29KЧтобы проводить расследования по открытым данным в интернете, совершенно не обязательно обладать сверхтехническими познаниями.
Раньше возможности таких расследований были доступны только крупным корпорациям. Сейчас малый бизнес и вообще любой человек с интернетом может воспользоваться благами открытых данных.
Компании используют открытые данные, чтобы принимать важные решения, получать конкурентные преимущества и обеспечивать безопасность. Открытую информацию дешевле собирать и исследовать, она доступна — нужен только интернет и компьютер, а большинство инструментов можно использовать бесплатно. Такие данные легко распространять: они открытые, у всех к ним сразу будет доступ. Кроме того, OSINT ускоряет поиск и позволяет проводить исследования в режиме реального времени.
В этом материале мы приводим несколько простых примеров, как можно использовать OSINT в работе. Возможно, что-то из описанного ниже вы уже активно применяете, а что-то покажется вам интересной идеей и подтолкнет к новым.
+23
Как бросить школу и перевести ребенка на удалёнку
7 мин
37KПривет, Хабр!
На днях моя дочь закончила 6й класс полностью в удалённом формате. Сразу несколько моих друзей обратились за обратной связью, потому что также задумываются о переводе детей на подобный формат обучения.
Пандемия внесла свои корректировки в привычный и давно изживший себя процесс обучения в современной (считай – еще советской) школе. И многие ГБОУ (ну и словечко) оказались к этому совершенно не готовы. Попытки организовать какие-то уроки в скайпе, зуме с треском провалились и детей отправили просто по домам учиться на усмотрение родителей.
Многие мои знакомые, которые год назад крутили пальцем у виска, когда я переводила ребенка на удаленку, стали задаваться вопросом, а так ли страшен чёрт.
Расскажу…
На днях моя дочь закончила 6й класс полностью в удалённом формате. Сразу несколько моих друзей обратились за обратной связью, потому что также задумываются о переводе детей на подобный формат обучения.
Пандемия внесла свои корректировки в привычный и давно изживший себя процесс обучения в современной (считай – еще советской) школе. И многие ГБОУ (ну и словечко) оказались к этому совершенно не готовы. Попытки организовать какие-то уроки в скайпе, зуме с треском провалились и детей отправили просто по домам учиться на усмотрение родителей.
Многие мои знакомые, которые год назад крутили пальцем у виска, когда я переводила ребенка на удаленку, стали задаваться вопросом, а так ли страшен чёрт.
Расскажу…
+87
Как убивать зомби эффективнее с ZeroTier
8 мин
12KУ вас есть сервер под кроватью, умный дом на даче, а еще IP-камера в гараже. Как их всех объединить в одну сеть чтобы иметь доступ ко всем устройствам? В таких ситуациях принято использовать VPN, но есть решение эффективнее — ZeroTier. Он создает одноранговую (P2P) сеть между устройствами при этом настраивается сильно проще, чем VPN.
У нас уже выходил цикл статей про организацию P2P сети для удаленной поддержки пользователей. В ней мы рассматривали вариант построение децентрализированной виртуальной сети при помощи ZeroTier. В отличии от традиционных решений VPN в ZeroTier отсутствует центральный управляющий сервер и соединение устанавливается напрямую между устройствами.
Я часто использую ZeroTier для двух кейсов: подключаться к устройствам клиентов, чтобы оказать поддержку и убивать зомби в шутерах. Мне стало интересно сравнить альтернативные способы подключения по локальной сети.
+37
ТАУ для самых маленьких: пример реализации ПИД-регулятора в Unity3D
24 мин
85KТуториал
Вместо введения
Системы автоматического управления (САУ) предназначены для автоматического изменения одного или нескольких параметров объекта управления с целью установления требуемого режима его работы. САУ обеспечивает поддержание постоянства заданных значений регулируемых параметров или их изменение по заданному закону либо оптимизирует определенные критерии качества управления.
+23
Почему в мозгах есть баги?
14 мин
7.6KКогда мы используем любую программу, у нас есть две причины для получения неправильных результатов:
Тоже самое можно сказать и про нас.
Иногда необходимая информация — отсутствует и мы не можем предотвратить ошибку.
Например, мы даем оценку времени на решение какого-то списка задач. В процессе оказывается, что список должен был быть в 3 раза больше. Ожидаемо, что наша первая оценка будет ошибочна. От нас здесь ничего не зависело. Garbage In — Garbage Out.
Но если мы уже 20 раз подряд наблюдали как количество задач вырастает в 3 раза от начального, странно предполагать, что на 21-й раз все пойдет как по маслу.
Если бы моя программа 20 раз подряд выдала результат, который не совпал с реальностью, я бы предположил, что с ней что-то не так. Зачем она мне, если при ее использовании я все равно получаю неверный ответ? Она должна учитывать факт, что количество задач может вырасти. Ее надо починить и адаптировать к таким условиям работы.
Когда я наблюдаю такую ошибку за собой — я делаю тот же вывод.
Ситуация, описанная выше — называется «Ошибкой планирования». Она — один из пунктов большого списка «Когнитивных искажений». На эту тему много статей, книг, ресурсов — но ни один из них не ответил на мой простой вопрос: «Откуда ошибки берутся и как лучше их исправлять?». Что не так с мозгом, что он предсказуемо выдает неверные результаты? Как накатить на это патч? Если так нельзя, то где подпирать костылями?
Я начал изучать основные принципы работы мозга, чтобы выяснить на каком этапе возникают ошибки, чем они обусловлены и как лучше их чинить.
- Неправильные/недостаточные входные данные. Если на входе программа получает бред, на выходе мы тоже получим бред, даже если внутри все отработало идеально. Такой концепт называется Garbage In, Garbage Out. Исправить это мы не сможем — проблема не в программе.
- Из правильных данных мы получили неправильный ответ. Тогда мы считаем, в программе есть баг и пытаемся его чинить.
Тоже самое можно сказать и про нас.
Иногда необходимая информация — отсутствует и мы не можем предотвратить ошибку.
Например, мы даем оценку времени на решение какого-то списка задач. В процессе оказывается, что список должен был быть в 3 раза больше. Ожидаемо, что наша первая оценка будет ошибочна. От нас здесь ничего не зависело. Garbage In — Garbage Out.
Но если мы уже 20 раз подряд наблюдали как количество задач вырастает в 3 раза от начального, странно предполагать, что на 21-й раз все пойдет как по маслу.
Если бы моя программа 20 раз подряд выдала результат, который не совпал с реальностью, я бы предположил, что с ней что-то не так. Зачем она мне, если при ее использовании я все равно получаю неверный ответ? Она должна учитывать факт, что количество задач может вырасти. Ее надо починить и адаптировать к таким условиям работы.
Когда я наблюдаю такую ошибку за собой — я делаю тот же вывод.
Ситуация, описанная выше — называется «Ошибкой планирования». Она — один из пунктов большого списка «Когнитивных искажений». На эту тему много статей, книг, ресурсов — но ни один из них не ответил на мой простой вопрос: «Откуда ошибки берутся и как лучше их исправлять?». Что не так с мозгом, что он предсказуемо выдает неверные результаты? Как накатить на это патч? Если так нельзя, то где подпирать костылями?
Я начал изучать основные принципы работы мозга, чтобы выяснить на каком этапе возникают ошибки, чем они обусловлены и как лучше их чинить.
+10
Как украсть Macbook
14 мин
112KУ меня несколько раз воровали макбуки, и ни разу антикражные средства Apple вроде Find My Mac не помогли мне вернуть компьютер. Действительно ли они бесполезны? Можно ли доверять встроенному шифрованию FileVault? Как повысить шансы вернуть компьютер? Эта статья результат моих страданий в безрезультатных попытках вернуть украденные компьютеры.
В статье подробно описываются механизмы защиты глазами атакующего, в нашем случае вора. Это дает более наглядное представление о том, как они работают. Повествование в статье ведется от лица вора — это только художественный прием для лучшего понимания материала.
Внимание!
Материалы в статье представлены исключительно в ознакомительных целях. Все описания мошеннических действий инсценированы и выполнены с согласия владельцев ноутбуков. Автор не призывает к мошенническим действиям, и единственная цель статьи — показать, как лучше настраивать систему, чтобы защитить свои данные.
+184
Чему нас научило тестирование государственной информационной системы
27 мин
13KВсем привет!
Я руковожу сектором тестирования в отделе системного анализа и тестирования департамента корпоративных систем ЛАНИТ. В этой сфере я уже 14 лет. В 2009 году я впервые столкнулась с тестированием государственной информационной системы. И для ЛАНИТ, и для заказчика — это был огромный и значимый проект. Он более девяти лет находится в промышленной эксплуатации.
Источник
Я руковожу сектором тестирования в отделе системного анализа и тестирования департамента корпоративных систем ЛАНИТ. В этой сфере я уже 14 лет. В 2009 году я впервые столкнулась с тестированием государственной информационной системы. И для ЛАНИТ, и для заказчика — это был огромный и значимый проект. Он более девяти лет находится в промышленной эксплуатации.
Источник
+65
Пиши, не сокращай. Чего мне стало не хватать в публикациях Хабра
2 мин
30KИзбегаем оценочных суждений! Дробим предложения. Выкидываем ненужное. Не льем воду.
Факты. Цифры. И без эмоций.
«Информационный» стиль, прилизанный и гладкий, накрыл технические порталы с головой.
Привет постмодерн, теперь наш автор мертв. Уже взаправду.
Факты. Цифры. И без эмоций.
«Информационный» стиль, прилизанный и гладкий, накрыл технические порталы с головой.
Привет постмодерн, теперь наш автор мертв. Уже взаправду.
+204
Новые данные опровергают ключевое предположение о наличии темной энергии
3 мин
29KПеревод
Рисунок 1. Эволюция светимости, имитирующая темную энергию в сверхновой (SN) космологии. Остаток Хаббла — это разница в светимости SN относительно космологической модели без темной энергии (черная пунктирная линия). Голубые круги — это бинированные данные SN. Красная линия — это кривая эволюции, основанная на нашей возрастной датировке галактик-хозяев раннего типа. Сравнение нашей эволюционной кривой с данными SN показывает, что эволюция светимости может имитировать остатки Хаббла, использованные при открытии и выводе темной энергии (черная сплошная линия). Предоставлено: Университет Ёнсе
+46
Kubernetes — это новый Linux? Интервью с Павлом Селивановым
8 мин
8.6KРасшифровка:
Азат Хадиев: Здравствуйте. Меня зовут Азат Хадиев. Я разработчик PaaS направления Mail.ru Cloud Solutions. Со мной здесь Павел Селиванов из компании Southbridge. Мы находится на конференции DevOpsDays. Он здесь выступит с докладом о том, что с Kubernetes можно построить DevOps, но скорее всего у вас ничего не получится. Почему такая мрачная тема?
+10
Функторы, аппликативные функторы и монады в картинках
5 мин
190KПеревод
Вот некое простое значение:
И мы знаем, как к нему можно применить функцию:
Элементарно. Так что теперь усложним задание — пусть наше значение имеет контекст. Пока что вы можете думать о контексте просто как о ящике, куда можно положить значение:
Теперь, когда вы примените функцию к этому значению, результаты вы будете получать разные — в зависимости от контекста. Это основная идея, на которой базируются функторы, аппликативные функторы, монады, стрелки и т.п. Тип данных
Позже мы увидим разницу в поведении функции для
И мы знаем, как к нему можно применить функцию:
Элементарно. Так что теперь усложним задание — пусть наше значение имеет контекст. Пока что вы можете думать о контексте просто как о ящике, куда можно положить значение:
Теперь, когда вы примените функцию к этому значению, результаты вы будете получать разные — в зависимости от контекста. Это основная идея, на которой базируются функторы, аппликативные функторы, монады, стрелки и т.п. Тип данных
Maybe
определяет два связанных контекста:data Maybe a = Nothing | Just a
Позже мы увидим разницу в поведении функции для
Just a
против Nothing
. Но сначала поговорим о функторах!+166
Как «научиться учиться» — советы, рекомендации и научные исследования
6 мин
136KЧасть 1. «Очевидные» советы
Большинство рекомендаций для желающих учиться лучше выглядит довольно банально: помимо посещения лекций и выполнения домашних заданий важно правильно питаться, вести здоровый образ жизни, высыпаться, и следить за режимом дня.
Все это, безусловно, хорошо, но чем конкретно эти прописные истины могут помочь студенту? Как организовать режим дня так, чтобы больше успевать и лучше запоминать материал? Есть ли реальная связь между чувством жажды и когнитивными способностями? Правда ли, что спорт помогает в учебе (и речь не только о дополнительных баллах к ЕГЭ за значок ГТО)?
Попробуем разобраться со всем ниже.
+20
Ликбез по памяти: какой она бывает, и что нам это дает
6 мин
24KХорошая память — неоспоримое преимущество для студентов и тот навык, который уж точно пригодится в жизни — вне зависимости от того, какими были ваши учебные дисциплины.
Сегодня мы решили открыть серию материалов о том, как прокачать память — начнем с короткого ликбеза: какой бывает память и какие методы запоминания работают наверняка.
Сегодня мы решили открыть серию материалов о том, как прокачать память — начнем с короткого ликбеза: какой бывает память и какие методы запоминания работают наверняка.
+19
Тройка полезных монад
4 мин
47KПеревод
Внимание: перед тем как читать текст ниже, вы уже должны иметь представление о том, что такое монады. Если это не так, то прежде прочитайте вот этот пост!
Перед нами функция
И мы можем применить её несколько раз:
Всё работает как и ожидалось. Но вот вы решили, что хорошо бы иметь лог того, что происходит с этой функцией:
Что ж, отлично. Но что будет если вы теперь захотите применить
Вот то, что мы хотели бы, чтобы происходило:
Спойлер: автоматически так не сделается. Придётся всё расписывать ручками:
Фу! Это ни капли не похоже на лаконичное
А что, если у вас есть ещё функции, имеющие лог? Напрашивается такая схема: для каждой функции, возвращающей вместе со значением лог, мы бы хотели объединять эти логи. Это побочный эффект, а никто не силён в побочных эффектах так, как монады!
Перед нами функция
half
:И мы можем применить её несколько раз:
half . half $ 8
=> 2
Всё работает как и ожидалось. Но вот вы решили, что хорошо бы иметь лог того, что происходит с этой функцией:
half x = (x `div` 2, "Я только что располовинил " ++ (show x) ++ "!")
Что ж, отлично. Но что будет если вы теперь захотите применить
half
несколько раз?half . half $ 8
Вот то, что мы хотели бы, чтобы происходило:
Спойлер: автоматически так не сделается. Придётся всё расписывать ручками:
finalValue = (val2, log1 ++ log2)
where (val1, log1) = half 8
(val2, log2) = half val1
Фу! Это ни капли не похоже на лаконичное
half . half $ 8
А что, если у вас есть ещё функции, имеющие лог? Напрашивается такая схема: для каждой функции, возвращающей вместе со значением лог, мы бы хотели объединять эти логи. Это побочный эффект, а никто не силён в побочных эффектах так, как монады!
+53
Подборка книг о том, как учиться, мыслить и принимать эффективные решения
4 мин
36KВ нашем блоге на Хабре мы публикуем не только рассказы о разработках сообщества Университета ИТМО, но и фотоэксурсии — например, по нашей лаборатории робототехники, лаборатории киберфизических систем и DIY-коворкингу Фаблаб.
Сегодня мы собрали подборку книг, которые рассматривают возможности для повышения эффективности работы и учебы с точки зрения паттернов мышления.
Сегодня мы собрали подборку книг, которые рассматривают возможности для повышения эффективности работы и учебы с точки зрения паттернов мышления.
+14
Запоминать, но не зубрить — учеба «по карточкам»
4 мин
37KМетод изучения различных дисциплин «по карточкам», который еще называют системой Лейтнера, известен уже около 40 лет. Несмотря на то, что чаще всего он применяются, чтобы пополнить лексический запас, выучить формулы, определения или даты, сам метод — не просто очередной способ «зубрежки», а инструмент поддержки учебного процесса. Он позволяет сэкономить время, требующееся для запоминания большого объема информации.
+25
Как «Матрица» создала пуленепробиваемое наследие
23 мин
58KПеревод
До выхода этого фильма зрители не видели ничего, подобного этому научно-фантастическому творению Вачовски, и не знали, насколько сильное потрясение их ждёт
Фильму «Матрица» в этом году исполнилось 20 лет
Однажды в 1992 году Лоуренс Мэттис, раскрывая свою почту, обнаружил непрошеное письмо со сценарием от двух неизвестных авторов. Это была тёмная, отвратительная, вызывающе некоммерческая история классовой борьбы и каннибализма – как раз такая история, которую в Голливуде захотело бы рассказать крайне малое количество директоров студий. Однако Мэттис искал именно такое кино.
Всего за несколько лет до этого Мэттис, которому тогда было немногим менее 30, бросил многообещающую юридическую карьеру, и основал компанию по поиску талантов Circle of Confusion, чтобы раскрывать новых авторов и представлять их интересы. Он открыл офис в Нью-Йорке, несмотря на то, что ему постоянно твердили, что больше всего шансов отыскать таланты было в Лос-Анджелесе. И до того, как у него появился этот странный сценарий, Мэттис уже начал сомневаться, не следовало ли ему прислушаться к тем советам. «Я к тому времени продал немножко опционов по $500 каждый, — говорит Мэттис. – Я уже начал задумываться о том, чтобы вернуться в юриспруденцию. А потом я получил письмо от двух этих ребят, с подписью ’Не могли бы вы, пожалуйста, прочесть наше письмо?’»
+103
Привет, люди с аутистическими нарушениями
16 мин
76KВ смысле, привет, Хабр! Если вы можете сказать про себя слово «интроверт» (как и я) то вас, скорее всего, можно заносить в эту категорию. Другое дело, что категория, мягко говоря, размыта. И в неё от души навалено сразу несколько синдромов.
Но сначала главное. Итак, есть версия, что мозг приматов развился до невероятных высот рода Homo из-за социальных взаимодействий. Это когда надо думать за себя, потом как вон та обезьяна-вожак, потом его ближайшее окружение, потом как все омеги (можно посчитать их за одного, ладно), нужно продумать действия, понять, что они сделают в ответ, учесть, что они могут предсказать такой ход наших мыслей. В общем, кончается это рекурсией и высокой вычислительной сложностью. Механизмы, позволяющие прогнозировать реакции других — начиная от зеркальных нейронов — так плотно в нас вшиты, что если мы посмотрим видео про зубного и его пациента, то почувствуем сами отголосок его реакции.
Плюс отклонений аутистического спектра — это когда вся вот эта мощность, направленная на выявление тысяч закономерностей в социальной жизни, была переброшена на что-то другое. Например, на анализ сложных систем в математике или разработке. Или на теоретическую физику. Или на музыку. Или на искусство. Гипотеза, разумеется, пока не так чтобы очень доказуемая, и не факт, что эта «мощность» была вообще. Но, тем не менее, этой моделью легко пользоваться, рассуждая про лёгких аутистов.
А теперь давайте разбираться в деталях.
+166
Информация
- В рейтинге
- 2 927-й
- Зарегистрирован
- Активность