Ядро Linux, факты:
- Ядро Linux представлено своим исходным кодом
- Ядро развивается, поэтому существует множество версий (можно сказать, что одно и то же ядро представлено множеством версий)
- Скомпилировать его можно используя разные опции (опций очень много несколько тысяч, поэтому вариантов компиляции огромное количество)
- Ядро скомпилированное из оригинальных исходников, независимо от опций, называют "ванильным" ядром
- На ядро перед компиляцией можно наложить разные патчи, это позволяет создавать разные варианты ядер
- Бывают патчи для поддержки нового оборудования, увеличения безопасности, увеличения производительности, для поддержки реального времени и т.д.
- Ядра Линукса с разными наборами патчей имеют свои названия (например, Zen-ядро)
- В дистрибутивах линукса редко используется ванильное ядро, вместо этого авторы дистрибутива поддерживают свой набор патчей, с помощью которых выпускают свои версии ядер
#linux
- Ядро Linux представлено своим исходным кодом
- Ядро развивается, поэтому существует множество версий (можно сказать, что одно и то же ядро представлено множеством версий)
- Скомпилировать его можно используя разные опции (опций очень много несколько тысяч, поэтому вариантов компиляции огромное количество)
- Ядро скомпилированное из оригинальных исходников, независимо от опций, называют "ванильным" ядром
- На ядро перед компиляцией можно наложить разные патчи, это позволяет создавать разные варианты ядер
- Бывают патчи для поддержки нового оборудования, увеличения безопасности, увеличения производительности, для поддержки реального времени и т.д.
- Ядра Линукса с разными наборами патчей имеют свои названия (например, Zen-ядро)
- В дистрибутивах линукса редко используется ванильное ядро, вместо этого авторы дистрибутива поддерживают свой набор патчей, с помощью которых выпускают свои версии ядер
#linux
👍104✍6🤯2❤1
Купил книгу на вечер, открыл на рандомной странице и прочитал совет "никогда не используйте switch", а знаете почему? Потому что это ведёт к багам!
Думаю, я готов пойти дальше - никогда не используйте языки программирования! Ведь это тоже ведёт к багам.
Но выводы о книге по одному совету делать не буду. Буду "почитать".
Думаю, я готов пойти дальше - никогда не используйте языки программирования! Ведь это тоже ведёт к багам.
Но выводы о книге по одному совету делать не буду. Буду "почитать".
😁160👍19🔥11🤡4❤1🤔1🫡1
Пять строк кода
Если коротко, то большая часть книги - "Демагогия". Несколько дельных советов, на тонны ненужной местами вредной воды.
Некоторые мысли после прочтения:
1. Автор взял чисто процедурный код и начал рефакторить его в объектный вид. Очень странный подход, понятно что процедурные языки - это одно, объектные - другое. Смысл два подхода мешать в одну кучу? Есть огромные кодовые базы, написанные в процедурном стиле. На ООП будем их все переводить?
2. На практике трудно найти кодовую базу, построенную в соответствии со всеми советами книги. Для собственного развлечения можете посмотреть реальные проекты на гитхабе, и в истории поисать "refactor", а потом сравнить с советами в книге. Спойлер: совпадений будет минимум.
3. Про комментарии стандартная дичь, тут могу только передалать слова классиков: "чтобы вам код только без комментариев читать". Я много читаю кода, могу твердо сказать: "комментарии - это как глоток свежего воздуха, без них код сухой и скучный".
Авторам книги могу посоветовать писать книги без примеров кода, или наоборот без строчки текста. Сразу поймете, что есть мысли "для текста", есть мысли "для кода". Одно другого не исключает.
4. Книга написана для объема, куча воды и рассуждений автора. Опять же, ради интереса можете посмотреть список источников, используемых в "Совершенном коде" Маконнела и здесь. Не зря у Роберта Мартина книга вызвала одобрение, он тоже не любит работать с источниками, но любит рассуждения.
"Совершенный код" на порядок "практичнее", чем "Пять строчек кода". Нужно учиться работать с источниками, а не просто рассуждать.
5. На практике использовать все советы крайне сложно, реальные проекты на гитхабе тому доказательство, такой уровень грануляции как "пять строчек кода" - это просто невыполнимо. Можно БЛ написать с таким подходом, но библиотечный, утилитарный, инфраструктурный код писать в таком стиле смысла нет.
Книгу стоит прочитать, если вы любите порассуждать о коде где-нибудь за кружечкой чая в баре. На практике мало пользы будет.
P.S. но одну закладку все же поставил, там где мысль про локальные инварианты. Это дельный совет - смысл в том, что инварианты должны быть ближе к месту их использования. Глобальных инвариантов не должно быть много.
#книга #отзыв
Если коротко, то большая часть книги - "Демагогия". Несколько дельных советов, на тонны ненужной местами вредной воды.
Некоторые мысли после прочтения:
1. Автор взял чисто процедурный код и начал рефакторить его в объектный вид. Очень странный подход, понятно что процедурные языки - это одно, объектные - другое. Смысл два подхода мешать в одну кучу? Есть огромные кодовые базы, написанные в процедурном стиле. На ООП будем их все переводить?
2. На практике трудно найти кодовую базу, построенную в соответствии со всеми советами книги. Для собственного развлечения можете посмотреть реальные проекты на гитхабе, и в истории поисать "refactor", а потом сравнить с советами в книге. Спойлер: совпадений будет минимум.
3. Про комментарии стандартная дичь, тут могу только передалать слова классиков: "чтобы вам код только без комментариев читать". Я много читаю кода, могу твердо сказать: "комментарии - это как глоток свежего воздуха, без них код сухой и скучный".
Авторам книги могу посоветовать писать книги без примеров кода, или наоборот без строчки текста. Сразу поймете, что есть мысли "для текста", есть мысли "для кода". Одно другого не исключает.
4. Книга написана для объема, куча воды и рассуждений автора. Опять же, ради интереса можете посмотреть список источников, используемых в "Совершенном коде" Маконнела и здесь. Не зря у Роберта Мартина книга вызвала одобрение, он тоже не любит работать с источниками, но любит рассуждения.
"Совершенный код" на порядок "практичнее", чем "Пять строчек кода". Нужно учиться работать с источниками, а не просто рассуждать.
5. На практике использовать все советы крайне сложно, реальные проекты на гитхабе тому доказательство, такой уровень грануляции как "пять строчек кода" - это просто невыполнимо. Можно БЛ написать с таким подходом, но библиотечный, утилитарный, инфраструктурный код писать в таком стиле смысла нет.
Книгу стоит прочитать, если вы любите порассуждать о коде где-нибудь за кружечкой чая в баре. На практике мало пользы будет.
P.S. но одну закладку все же поставил, там где мысль про локальные инварианты. Это дельный совет - смысл в том, что инварианты должны быть ближе к месту их использования. Глобальных инвариантов не должно быть много.
#книга #отзыв
👍72❤5👏1
Я переодически делаю видео где смотрю реальные репозитории на гитхаб. Наверное, будет интересно сделать пару видосов, чтобы показать какой рефакторинг делается на практике, а что существует только на страницах книг о красивом коде.
Можно будет опробовать на стриме, если не забуду. )
Можно будет опробовать на стриме, если не забуду. )
🔥150👍41
Чтобы не быть голословным, вот пример реального кода из Angular (https://github.com/angular/angular/commit/0d9705be0b2b9df22934c8a3aad8c65201b305ad) который жестко нарушает несколько принципов из книги: запрет на switch, ограничение размера, запрет на комментарии, запрет на сеттеры и геттеры, правило "вызов или передача".
P.S. поставьте клоуна если вы считаете, что такой "ужасный код" команда ангуляра в ближайшее время отрефакторит, и любую другую эмоцию, если считаете, что на самом деле все с кодом ок.
P.S. поставьте клоуна если вы считаете, что такой "ужасный код" команда ангуляра в ближайшее время отрефакторит, и любую другую эмоцию, если считаете, что на самом деле все с кодом ок.
😁160🤡90👌75👍21🐳17🌚5🔥2🌭2👏1🍌1🎄1
Forwarded from Терабит: айти технологии
Инженер Google Дэн Рева обнаружил в Telegram для macOS уязвимость, которая позволяет злоумышленникам использовать камеру и микрофон ноутбука.
Более того, запись видео и звука будет работать, даже если соответствующие разрешения отключены.
Это стало возможно, потому что Telegram для macOS не использует встроенный механизм безопасности Apple Hardened Runtime.
Более того, запись видео и звука будет работать, даже если соответствующие разрешения отключены.
Это стало возможно, потому что Telegram для macOS не использует встроенный механизм безопасности Apple Hardened Runtime.
😱70🤡21👍15🫡3🔥2👎1
У ITYouTubers есть папка с телеграм-каналами людей, которые входят в сообщество. Сегодня меня обвинили в лицемерии потому что я ее не опубликовал (весь разговор можно посмотреть на канале "Круги на полях IT", который есть в этой папке) - https://t.iss.one/addlist/I8prigGqDr5kYjBi
Upd. может кто не знает, можно удалять из папки каналы, которые не нравятся
Upd. может кто не знает, можно удалять из папки каналы, которые не нравятся
Telegram
IT YouTubers
Дима Рожков invites you to add the folder “IT YouTubers”, which includes 53 chats.
😁21🤡11❤🔥4🤮4👍3🥱2🔥1👏1🤯1
Ребята запускаю сбор тем на субботний стрим:
1. ЗЭН - пишите в комментариях вопросы (буду выбирать самые популярные или которые понравятся мне) - ответ будет в субботнем стриме
2. Ревью кода и проектов - может быть вам интересно узнать мое мнение по вашему репозиторию (можно от фрагментов кода, до своих проекто) на github - тогда можно написать ссылку в комментариях и примерно чего вы ожидаете, буду выбирать на свое усмотрение и желание и в субботу на стриме будет обзор
3. Как всегда все что будет на https://donate.s0er.ru буду рассматривать в обязательном порядке (если по АйТи, все провакационные вопросы и подколы не рассматриваю).
Как обычно проходят субботние стримы можно посмотреть вот здеь - https://www.youtube.com/watch?v=6opSSjokwm4
1. ЗЭН - пишите в комментариях вопросы (буду выбирать самые популярные или которые понравятся мне) - ответ будет в субботнем стриме
2. Ревью кода и проектов - может быть вам интересно узнать мое мнение по вашему репозиторию (можно от фрагментов кода, до своих проекто) на github - тогда можно написать ссылку в комментариях и примерно чего вы ожидаете, буду выбирать на свое усмотрение и желание и в субботу на стриме будет обзор
3. Как всегда все что будет на https://donate.s0er.ru буду рассматривать в обязательном порядке (если по АйТи, все провакационные вопросы и подколы не рассматриваю).
Как обычно проходят субботние стримы можно посмотреть вот здеь - https://www.youtube.com/watch?v=6opSSjokwm4
YouTube
Программирование: монолиты vs микросервисы
#soer #itubeteam
Чтобы задать вопрос вне очереди используйте донаты - https://donate.s0er.ru
1:30 Начало
31:05 Как уйти от ООП в DOD
43:55 книжка (про тестирование)
50:19 про ChatGPT (с гостем)
Основной канал для общения и публикации новых видео - Телегарм…
Чтобы задать вопрос вне очереди используйте донаты - https://donate.s0er.ru
1:30 Начало
31:05 Как уйти от ООП в DOD
43:55 книжка (про тестирование)
50:19 про ChatGPT (с гостем)
Основной канал для общения и публикации новых видео - Телегарм…
👍9🤡3
Субботний стрим начинается в пятницу! ) В честь 10к подписчиков запускаю стрим досрочно https://youtube.com/live/ee7wqFTU9Ug?feature=share
YouTube
Программирование: вкатиться в АйТи
#soer #itubeteamЧтобы задать вопрос вне очереди используйте донаты - https://donate.s0er.ruОсновной канал для общения и публикации новых видео - Телегарм -...
⚡15🤡9👍8🤔5🍾2🥱1
Начинаю набор в Naris (III Сезон)!
Сейчас я делаю проект soer.pro, в котором делаю движок Naris, в этом проекте я реализую концепцию взаимодействия по общей шине и сервисный подход. В нем сейчас есть хороший инфраструктурный слой, который построен на микрокубере, с мониторингом и всеми плюшками. Для меня принципиально чтобы проект был учебным, особенно с позиции архитектуры, т.е. все о чем я говорю в архитектурных стримах в нем используется.
Я решил возродить концепцию devs2devs и набрать людей, которые хотят подтянуться в командной разработке с использованием нормальных архитектурных практик. Поэтому открываю 3 набор со сроком участия 3 месяца (1 июня - 1 сентября).
Сам проект строится на nestjs+angular2, требование к кандидатам простые - базовые знания JS (TS) и желание учиться, учитывая опыт devs2devs обязательно требование - иметь возможность уделять проекту 8 часов в неделю.
Общение будет идти в отдельном закрытом чате в телеге, там же буду публиковать всю необходимую инфу. Если хотите участвовать, то напишите мне на почту [email protected] письмо с темой "Участие в Naris", где нужно указать почему вы хотите поучаствовать в проекте и какие знания у вас есть. А так же обязательно указать есть ли у вас возможность тратить время на проект и по какому графику (например, "в выходные по паре часов".)
Работа строится так:
1. Вы присылаете письмо, я его рассматриваю
2. Приглашаю тех кто подходит в чат телеги
3. Вы регистрируете на сайте с гит-репозиторием
4. Выполняете любой вступительное задание
5. Если задание выполнено и принято, то начинаем работу (если нет, то прощаемся)
6. Работа строится двухнедельными спринтами, в рамках которого нужно выполнять таски
В чем польза для участников: практика разработки в команде, использование современных методик разработки, разбор проблемных мест проекта, прокачка навыков писать код, обсуждения и фан от разработки.
P.S. набор будет 20 человек, отвечать буду 29-31 мая. Если ответа нет, значит не взял в команду. Участие бесплатное.
Сейчас я делаю проект soer.pro, в котором делаю движок Naris, в этом проекте я реализую концепцию взаимодействия по общей шине и сервисный подход. В нем сейчас есть хороший инфраструктурный слой, который построен на микрокубере, с мониторингом и всеми плюшками. Для меня принципиально чтобы проект был учебным, особенно с позиции архитектуры, т.е. все о чем я говорю в архитектурных стримах в нем используется.
Я решил возродить концепцию devs2devs и набрать людей, которые хотят подтянуться в командной разработке с использованием нормальных архитектурных практик. Поэтому открываю 3 набор со сроком участия 3 месяца (1 июня - 1 сентября).
Сам проект строится на nestjs+angular2, требование к кандидатам простые - базовые знания JS (TS) и желание учиться, учитывая опыт devs2devs обязательно требование - иметь возможность уделять проекту 8 часов в неделю.
Общение будет идти в отдельном закрытом чате в телеге, там же буду публиковать всю необходимую инфу. Если хотите участвовать, то напишите мне на почту [email protected] письмо с темой "Участие в Naris", где нужно указать почему вы хотите поучаствовать в проекте и какие знания у вас есть. А так же обязательно указать есть ли у вас возможность тратить время на проект и по какому графику (например, "в выходные по паре часов".)
Работа строится так:
1. Вы присылаете письмо, я его рассматриваю
2. Приглашаю тех кто подходит в чат телеги
3. Вы регистрируете на сайте с гит-репозиторием
4. Выполняете любой вступительное задание
5. Если задание выполнено и принято, то начинаем работу (если нет, то прощаемся)
6. Работа строится двухнедельными спринтами, в рамках которого нужно выполнять таски
В чем польза для участников: практика разработки в команде, использование современных методик разработки, разбор проблемных мест проекта, прокачка навыков писать код, обсуждения и фан от разработки.
P.S. набор будет 20 человек, отвечать буду 29-31 мая. Если ответа нет, значит не взял в команду. Участие бесплатное.
👍50🔥14🤣7❤1😁1
Про абстракции
Когда вы становитесь архитектором и работаете в АйТи, то очень быстро учитесь видеть абстракции, в абстракциях, которые навернуты сверху других абстракций.
Вот так, например, выглядит температура и влажность в моей комнате, если смотреть глазами осцилографа.
И это тоже абстракция. Чем глубже вы можете погрузиться в абстракции, тем глубже вы можете погрузиться в кроличью нору, тем более крутым специалистом вы являетесь.
Когда вы становитесь архитектором и работаете в АйТи, то очень быстро учитесь видеть абстракции, в абстракциях, которые навернуты сверху других абстракций.
Вот так, например, выглядит температура и влажность в моей комнате, если смотреть глазами осцилографа.
И это тоже абстракция. Чем глубже вы можете погрузиться в абстракции, тем глубже вы можете погрузиться в кроличью нору, тем более крутым специалистом вы являетесь.
👍50🥱12💊11🔥10❤3😁1🤯1🍌1
Учёные научились с помощью МРТ считывать активность мозга и воссоздавать изображение, которое видит человек. В процессе активно используются нейронные сети. Ну что ещё один маленький шаг для человека, но огромный для человечества.
Природе никогда не надо было обеспечивать криптографическую стойкость ваших мыслей. Все наши мысли хранятся в "открытом" виде - бери и читай.
Конечно, воспроизвести то что ты видишь - это штука полезная разве что для ревнивых жён. Но ведь понятно, что это первый этап.
Природе никогда не надо было обеспечивать криптографическую стойкость ваших мыслей. Все наши мысли хранятся в "открытом" виде - бери и читай.
Конечно, воспроизвести то что ты видишь - это штука полезная разве что для ревнивых жён. Но ведь понятно, что это первый этап.
🤯36❤14👍8😁6🔥4🤔1
Ещё одна утечка данных, на этот раз Ситилаб.
Помню когда под новый год утекли данные спортмастера, я при очередном посещении этого магазина услышал от продавца, что все это неправда, и им бы первым сообщили, что данные утеряны.
Меня тогда это очень позабавило, ведь компании скрывают эти факты, как позор позоров. Если бы не публичные публикации данных, то сама компания будет морозиться до последнего.
В страшном мире мы живём, дамы и господа.
Помню когда под новый год утекли данные спортмастера, я при очередном посещении этого магазина услышал от продавца, что все это неправда, и им бы первым сообщили, что данные утеряны.
Меня тогда это очень позабавило, ведь компании скрывают эти факты, как позор позоров. Если бы не публичные публикации данных, то сама компания будет морозиться до последнего.
В страшном мире мы живём, дамы и господа.
XAKEP
Хакеры сливают данные сети клинико-диагностических лабораторий «Ситилаб»
ИБ-специалисты сообщили, что хакеры из группировки UHG публикуют в открытом доступе данные пользователей «Ситилаб». В открытом доступе находится 1,7 ТБ данных с отсканированными результатами анализов и исследований, договорами и чеками в PDF-файлах.
👍25🤡5🤔3
На канале Диджитализируй была прикольная попытка показать как создаются проекты с нуля. Получилось два видоса и усё.
Это супер иронично, потому что именно так в 99 случаев из 100 происходит в реальности.
Начали, сделали пару архитектурных набросков, деньги/энтузиазм закончились или появились другие заботы, и "всем спасибо, все свободны".
Как говорится, добро пожаловать в реальный мир.
Это супер иронично, потому что именно так в 99 случаев из 100 происходит в реальности.
Начали, сделали пару архитектурных набросков, деньги/энтузиазм закончились или появились другие заботы, и "всем спасибо, все свободны".
Как говорится, добро пожаловать в реальный мир.
YouTube
#1 Покажем, как создаются ИТ продукты с нуля. Идея, разработка ТЗ и прототипов интерфейса. Стартуем!
Этим видео открывается новая рубрика на Диджитализируй! Мы разработаем настоящий ИТ продукт и покажем весь процесс его создания здесь на канале. От идеи до готовой реализации, которой пользуются люди — весь процесс. Покажем всё.
Залетай в Телеграм канал…
Залетай в Телеграм канал…
😁88👍24😢9🤷♀1👾1
Завел Boosty для тех кто не может оплатить подписку на soer.pro, но очень хочет получить доступ к контенту есть уровень "S0ER" всем кто на него подпишется направляю сертификат с доступом "WORKSHOP" на soer.pro
boosty.to
Соер.Клуб - Обмен опытом, менторство, встречи, карьера в IT
Soer - это сокращение от "software engineer". Т.е. это человек, который обладает квалификацией инженера в области создания программного обеспечения.
Мы ищем способы делать качественно и эффективно свою работу, а так же как заработать на знаниях программиста.…
Мы ищем способы делать качественно и эффективно свою работу, а так же как заработать на знаниях программиста.…
👍11😁1🖕1
Ребята запускаю сбор тем на субботний стрим:
1. ЗЭН - пишите в комментариях вопросы (буду выбирать самые популярные или которые понравятся мне) - ответ будет в субботнем стриме
2. Ревью кода и проектов - может быть вам интересно узнать мое мнение по вашему репозиторию (можно от фрагментов кода, до своих проекто) на github - тогда можно написать ссылку в комментариях и примерно чего вы ожидаете, буду выбирать на свое усмотрение и желание и в субботу на стриме будет обзор
3. Как всегда все что будет на https://donate.s0er.ru буду рассматривать в обязательном порядке (если по АйТи, все провакационные вопросы и подколы не рассматриваю).
1. ЗЭН - пишите в комментариях вопросы (буду выбирать самые популярные или которые понравятся мне) - ответ будет в субботнем стриме
2. Ревью кода и проектов - может быть вам интересно узнать мое мнение по вашему репозиторию (можно от фрагментов кода, до своих проекто) на github - тогда можно написать ссылку в комментариях и примерно чего вы ожидаете, буду выбирать на свое усмотрение и желание и в субботу на стриме будет обзор
3. Как всегда все что будет на https://donate.s0er.ru буду рассматривать в обязательном порядке (если по АйТи, все провакационные вопросы и подколы не рассматриваю).
👍16❤2
В 10:00 по Мск начинаем - https://youtube.com/live/QsxW5zA9DYA?feature=share
YouTube
Программирование: ESB vs Микросервисы, Плагины vs Микрофронтенд
#soer #itubeteam
Чтобы задать вопрос вне очереди используйте донаты - https://donate.s0er.ru
Основной канал для общения и публикации новых видео - Телегарм - https://t.iss.one/softwareengineervlog
Сайт платным контентом - https://soer.pro
Зеркало для…
Чтобы задать вопрос вне очереди используйте донаты - https://donate.s0er.ru
Основной канал для общения и публикации новых видео - Телегарм - https://t.iss.one/softwareengineervlog
Сайт платным контентом - https://soer.pro
Зеркало для…
👍20
Принцип "Общие типы для параметров, специфичные типы для результатов функции"
Хороший принцип, который помогает выстраивать прозрачную логику - начинаем с общего, заканчиваем конкретным. Можно воспринимать и как многослойную абстракцию, и как практический совет на уровне кода.
#принцип #ссылки #теория
Хороший принцип, который помогает выстраивать прозрачную логику - начинаем с общего, заканчиваем конкретным. Можно воспринимать и как многослойную абстракцию, и как практический совет на уровне кода.
#принцип #ссылки #теория
Enterprise Craftsmanship
Generic types are for arguments, specific types are for return values
Today, we’ll discuss the following guideline: you should use the most generic types possible for arguments and the most specific types possible for return values.
👍21❤3