В тему закоммитил не то, забыл что-то закоммитить, хочется поправить коммит мессадж. Оказывается об этом уже подумали и не нужно и извращаться.
#skills
#skills
Хабр
Поддержание аккуратной истории в Git с помощью интерактивного rebase
Прим. перев. : эта статья была написана автором Git-клиента Tower, Tobias Günther, и опубликована в блоге GitLab. В ней просто и наглядно рассказывается об основных возможностях интерактивного...
🔥2❤1👍1
Любая работа по программированию начинается с анализа предметной области. Рекомендуется пара этих ресурсов - для русского и английского поиска.
https://cyberleninka.ru
https://www.researchgate.net
https://scholar.google.com/
В начале ищутся самые популярные статьи, потом следует подкрутить фильтры и взять самые свежие (не старше 5 лет, не старше 3 лет). Большую часть усилий стоит сосредоточить на англоязычных источниках. Очень важно изучить существующие открытые проекты на гитхабе.
Видео можно искать так
https://research.google.com/youtube8m/explore.html
Интересные рассмотренные статьи необходимо заносить в список с небольшой аннотацией.Такой список позволит в большей степени понимать и ориентироваться в предметной области. Например,
1. <ссылка>. Работа на "хорошо". В работе есть данные по нейросети, которая с 80% точностью распознаёт человека в маске. Ссылка на программу есть, на датасет нет. Напрямую применить нельзя, но можно взять часть про нормализацию кадра
2. <ссылка>. Выглядела на "отлично", по факту бред. Литературы нет, написано на коленке
Пример:
1. https://cyberleninka.ru/article/n/mnogokriterialnaya-otsenka-kachestva-fotografiy/viewer В статье рассматриваются различные критерии качества изображений, а также их количественная оценка. Из полезного: оценка резкости изображения, что может быть полезно для выделения одного наиболее информативного кадра в потоке на заданном промежутке времени. Есть математические операции по подсчету, а также примеры использования OpenCV для получения количественных оценок
2. https://cyberleninka.ru/article/n/algoritmy-predobrabotki-izobrazheniy-v-sisteme-identifikatsii-lits-v-videopotoke/viewer В статье описывается алгоритмы предобработки изображений для их последующей обработки. Сюда входит
- Обесцвечивание
- Выравнивание гистограммы яркости изображения
- Выравнивание изображения относительно вертикальной оси симметрии лица (по возможности)
- Масштабирование
3. https://www.researchgate.net/publication/341892534_VIDEO_DATA_QUALITY_IMPROVEMENT_METHODS_AND_TOOLS_DEVELOPMENT_FOR_MOBILE_VISION_SYSTEMS В статье производится сравнение подходов однопоточной и многопоточной мобильной обработки видео, зависимость скорости обработки видео от его разрешения, а также приводятся примеры перехода из пространства RGB в YUV на OpenCV с целью оценки освещенности изображения
4. https://github.com/shubham0204/Age-Gender_Estimation_TF-Android Приложение под Android, определяющее пол и возраст человека на изображении. Прилагаются скриншоты результатов распознавания. Если с точностью определения пола все хорошо, то c определением возраста как-то не очень (числовые оценки не приводятся). Есть ссылки на датасет и блокноты в Colab, которые экспортируют модели TFLite (используется в приложении для Android). Из полезного можно вынести на мобилку модель для определения пола.
#sudo #edu #devfm
https://cyberleninka.ru
https://www.researchgate.net
https://scholar.google.com/
В начале ищутся самые популярные статьи, потом следует подкрутить фильтры и взять самые свежие (не старше 5 лет, не старше 3 лет). Большую часть усилий стоит сосредоточить на англоязычных источниках. Очень важно изучить существующие открытые проекты на гитхабе.
Видео можно искать так
https://research.google.com/youtube8m/explore.html
Интересные рассмотренные статьи необходимо заносить в список с небольшой аннотацией.Такой список позволит в большей степени понимать и ориентироваться в предметной области. Например,
1. <ссылка>. Работа на "хорошо". В работе есть данные по нейросети, которая с 80% точностью распознаёт человека в маске. Ссылка на программу есть, на датасет нет. Напрямую применить нельзя, но можно взять часть про нормализацию кадра
2. <ссылка>. Выглядела на "отлично", по факту бред. Литературы нет, написано на коленке
Пример:
1. https://cyberleninka.ru/article/n/mnogokriterialnaya-otsenka-kachestva-fotografiy/viewer В статье рассматриваются различные критерии качества изображений, а также их количественная оценка. Из полезного: оценка резкости изображения, что может быть полезно для выделения одного наиболее информативного кадра в потоке на заданном промежутке времени. Есть математические операции по подсчету, а также примеры использования OpenCV для получения количественных оценок
2. https://cyberleninka.ru/article/n/algoritmy-predobrabotki-izobrazheniy-v-sisteme-identifikatsii-lits-v-videopotoke/viewer В статье описывается алгоритмы предобработки изображений для их последующей обработки. Сюда входит
- Обесцвечивание
- Выравнивание гистограммы яркости изображения
- Выравнивание изображения относительно вертикальной оси симметрии лица (по возможности)
- Масштабирование
3. https://www.researchgate.net/publication/341892534_VIDEO_DATA_QUALITY_IMPROVEMENT_METHODS_AND_TOOLS_DEVELOPMENT_FOR_MOBILE_VISION_SYSTEMS В статье производится сравнение подходов однопоточной и многопоточной мобильной обработки видео, зависимость скорости обработки видео от его разрешения, а также приводятся примеры перехода из пространства RGB в YUV на OpenCV с целью оценки освещенности изображения
4. https://github.com/shubham0204/Age-Gender_Estimation_TF-Android Приложение под Android, определяющее пол и возраст человека на изображении. Прилагаются скриншоты результатов распознавания. Если с точностью определения пола все хорошо, то c определением возраста как-то не очень (числовые оценки не приводятся). Есть ссылки на датасет и блокноты в Colab, которые экспортируют модели TFLite (используется в приложении для Android). Из полезного можно вынести на мобилку модель для определения пола.
#sudo #edu #devfm
КиберЛенинка
КиберЛенинка предоставляет возможность читать тексты научных статей бесплатно. Приглашаем к сотрудничеству научные журналы и издательства…
Научная электронная библиотека КиберЛенинка предоставляет возможность читать тексты научных статей бесплатно. Приглашаем к сотрудничеству научные журналы и издательства для публикации научных работ в открытом доступе (Open Access) и популяризации науки в…
🔥6
Паттерн декоратор часто применяется в разработке для динамического добавления или изменения функциональнеости объекта.
В питоне декораторы - встроенная фича языка. Даже не будучи погруженным в тему декораторов разработчики часто с ними сталкиваются - сделать метод статическим, объявить абстрактный метод, настроить роутинг в веб фреймворке.
Помимо встроенных декораторов возникает необходимость реализовать свой, например для какого-то хитрого измерения времени работы функции.
В серии из двух статей (раз, два) очень детально рассказывается о декораторах в питоне, объясняется, как написать свой декоратор. А главное после изучения материала использование встроенных декораторов в повседневной разработке не будет казаться какой-то магией.
#python
В питоне декораторы - встроенная фича языка. Даже не будучи погруженным в тему декораторов разработчики часто с ними сталкиваются - сделать метод статическим, объявить абстрактный метод, настроить роутинг в веб фреймворке.
Помимо встроенных декораторов возникает необходимость реализовать свой, например для какого-то хитрого измерения времени работы функции.
В серии из двух статей (раз, два) очень детально рассказывается о декораторах в питоне, объясняется, как написать свой декоратор. А главное после изучения материала использование встроенных декораторов в повседневной разработке не будет казаться какой-то магией.
#python
Хабр
Понимаем декораторы в Python'e, шаг за шагом. Шаг 1
На Хабре множество раз обсуждалась тема декораторов, однако, на мой взгляд, данная статья (выросшая из одного вопроса на stackoverflow) описывает данную тему на...
🔥3
Автор в художественном стиле выплёскивает свою боль от входа в ИТ и сложности перехода от решения хорошо формализованных задач к решению неформализованных.
Хорошо показана разница между выполнением уже решённой задачи (как тренировка - лабораторная работа, выполняемая студентом), понятной задачей (формата практики - уже есть понимание результата или даже MVP, осталось реализовать) и непонятной задачей (формата курсовой или дипломной работы - когда надо понять, можно ли вообще это сделать, какие есть способы, попробовать и выбрать).
Собственно, аналогично можно иллюстрировать разницу между junior (могу писать код, скажите куда) и middle (могу решить задачу) разработчиками. Senior в этой линейке за счёт широкого кругозора умеет решить задачу эффективно или показать, что задачу решать вовсе не требуется.
PS: в комментариях многократно подчёркивают важность навыка "чтение чужого кода". Писать все могут, ты попробуй прочитать...
#edu
Хорошо показана разница между выполнением уже решённой задачи (как тренировка - лабораторная работа, выполняемая студентом), понятной задачей (формата практики - уже есть понимание результата или даже MVP, осталось реализовать) и непонятной задачей (формата курсовой или дипломной работы - когда надо понять, можно ли вообще это сделать, какие есть способы, попробовать и выбрать).
Собственно, аналогично можно иллюстрировать разницу между junior (могу писать код, скажите куда) и middle (могу решить задачу) разработчиками. Senior в этой линейке за счёт широкого кругозора умеет решить задачу эффективно или показать, что задачу решать вовсе не требуется.
PS: в комментариях многократно подчёркивают важность навыка "чтение чужого кода". Писать все могут, ты попробуй прочитать...
#edu
Хабр
Начинающие программисты боятся темноты
Не могу больше. Это не моё. Я не тяну. Всю ночь не спал, ворочался, вставал, курил, читал, пытался смотреть телевизор, снова ложился… Ненавижу. Всех, кто пишет эти радужные истории «войти в айти»....
🔥4
Чем отличается программирование от кодирования?
Представлен авторский взгляд на разницу написания небольшого скриптика и сложной программной системы. В первом комментарии поднимается вопрос важности анализа предметной области, про который и вам забывать не следует. Выше мы предлагали наш подход.
PS: Кстати, недавно вышла статья, как стать senior-разработчиком на курсах по программированию
#procode
Представлен авторский взгляд на разницу написания небольшого скриптика и сложной программной системы. В первом комментарии поднимается вопрос важности анализа предметной области, про который и вам забывать не следует. Выше мы предлагали наш подход.
PS: Кстати, недавно вышла статья, как стать senior-разработчиком на курсах по программированию
#procode
Хабр
Не путайте разработку ПО и программирование
Каждый разработчик ПО умеет программировать, но не каждый программист может разрабатывать ПО Большинство может легко научиться готовить, но когда нужно накормить большое число людей, мы нанимаем...
🔥3
Давно Джоел Спольски рассказал о "законе дырявых абстракций". В современном мире, чтобы починить проблему, часто надо уметь работать на уровень ниже текущего уровня абстракции. Проблема может быть с compose, docker, конкретной библиотекой, python, операционной системой, сетью, железом... Чем больше абстракций вы знаете, тем больше вероятность, что вы сможете решить проблему следующего уровня.
Нельзя в один момент освоить десяток нужных инструментов и абстракций. Нужно плавно расширять используемый инструментарий. Освоили git? Ни строчки кода далее без него. Научились тестам? В каждом проекте их нужно писать с самого начала. Теперь Docker в копилке? Применяем, если это уместно. Чем больше опыта в разных технологиях, тем вы сильнее как специалист
#edu
Нельзя в один момент освоить десяток нужных инструментов и абстракций. Нужно плавно расширять используемый инструментарий. Освоили git? Ни строчки кода далее без него. Научились тестам? В каждом проекте их нужно писать с самого начала. Теперь Docker в копилке? Применяем, если это уместно. Чем больше опыта в разных технологиях, тем вы сильнее как специалист
#edu
Хабр
Закон дырявых абстракций
Текст, который установил «закон дырявых абстракций», был написан в 2002 году. Почему я перевожу его спустя почти 20 лет? Он до сих пор не потерял своей актуальности и достоин прочтения. Протокол TCP...
👍3⚡1🔥1
Задумывались ли вы, как работает ценообразование? Почему Microsoft Windows 10 домашняя стоит 200$, pro версия 289$, а pro for workstations уже 439$? В статье Джоела Спольски Верблюды и резиновые уточки поэтапно рассказано, как производитель может извлекать выгоду из различного подхода к покупателям не только в сфере программного обеспечения, но и в других бизнес-вопросах.
Да-да, это тот же Джоел. У него много достойных статей на разные темы. Часть статей объединены в книги - "Джоел о программировании", "Джоел. И снова о программировании". Рекомендую
PS: а про баланс спроса и предложения неплохо написано на пикабу
#edu
Да-да, это тот же Джоел. У него много достойных статей на разные темы. Часть статей объединены в книги - "Джоел о программировании", "Джоел. И снова о программировании". Рекомендую
PS: а про баланс спроса и предложения неплохо написано на пикабу
#edu
vc.ru
Верблюды и резиновые уточки
Перевод статьи Camels and Rubber Duckies из блога основателя Trello и сооснователя Stack Overflow Джоэла Спольски о том, как выбрать цену для своего продукта.
👍5🤔3
Пятничное развлекательное.
Один из самых известных скетчей на тему постановки задачи неспециалистом – 7 красных линий, в оригинале The Expert.
PS: а решение задачи существует
PPS: современное образование - вообще проблема
#fun #edu #sudo
Один из самых известных скетчей на тему постановки задачи неспециалистом – 7 красных линий, в оригинале The Expert.
PS: а решение задачи существует
PPS: современное образование - вообще проблема
#fun #edu #sudo
👍6🔥4
В любой сфере деятельности встаёт вопрос об измерении результата. Для линейного персонала иногда можно внедрить простую метрику (KPI), например, число закрученных рабочим гаек на заводе. Даже в этом случае сразу есть проблемы. А если гайка закручена не до конца? А если гайка поцарапана и некрасиво выглядит? Решить можно внедрением ограничений - например, учитывать только принятые на приёмке гайки. И, если закрученные гайки являются основным продуктом, то KPI работает хорошо. Но как быть с работниками более творческих профессий?
Всё ломает эмпирический Закон Гудхарта с формулировкой "что измеряешь – то и получаешь".
Будем измерять преподавателя по оценкам студентов – все поголовно станут отличниками. Будем измерять программиста по числу коммитов - будет много коммитов, а не результата. Будем платить за строки кода - получим индусский код со стихами в комментариях и ветками кода, которые никогда не будут выполнены. Доводя до абсурда, можно нейросетью проанализировать кучу метрик и уволить бармена за низкую активность в Jira.
В этом случае любые метрики могут выступать только косвенным индикатором проблемы. Программисту нужно думать, что вообще измерить затруднительно. А по производительности разработчики различаются в десятки раз, о чём напомнили в статье 10x developer.
#edu
Всё ломает эмпирический Закон Гудхарта с формулировкой "что измеряешь – то и получаешь".
Будем измерять преподавателя по оценкам студентов – все поголовно станут отличниками. Будем измерять программиста по числу коммитов - будет много коммитов, а не результата. Будем платить за строки кода - получим индусский код со стихами в комментариях и ветками кода, которые никогда не будут выполнены. Доводя до абсурда, можно нейросетью проанализировать кучу метрик и уволить бармена за низкую активность в Jira.
В этом случае любые метрики могут выступать только косвенным индикатором проблемы. Программисту нужно думать, что вообще измерить затруднительно. А по производительности разработчики различаются в десятки раз, о чём напомнили в статье 10x developer.
#edu
🔥5👍1
Продолжаем разбирать вопрос разработчиков с десятикратной производительностью – 10х-разработчиков.
В статье говорится, что основной драйвер на пути становления 10х-разработчиком – это эффективность.
— задавайте вопросы
— избегайте отвлечения (cколько времени вы тратите на соцсети и игры? Попробуйте измерить в часах в неделю. "Пока вы спите, враг качается")
— используйте инструменты для ускорения (особенно хоткеи и CLI)
— учитесь. Читайте. Слушайте подкасты. Смотрите туториалы и проходите обучающие курсы. Я тоже всегда так советую, но тут надёжнее – совет случайного человека из интернета
— найдите ментора
— помогайте остальным
PS: в первом же комменте автору подсказали, как стать 11х-разработчиком, превратив его 4 строки CLI и одну короткую
git stash branch new_feature
#edu
В статье говорится, что основной драйвер на пути становления 10х-разработчиком – это эффективность.
— задавайте вопросы
— избегайте отвлечения (cколько времени вы тратите на соцсети и игры? Попробуйте измерить в часах в неделю. "Пока вы спите, враг качается")
— используйте инструменты для ускорения (особенно хоткеи и CLI)
— учитесь. Читайте. Слушайте подкасты. Смотрите туториалы и проходите обучающие курсы. Я тоже всегда так советую, но тут надёжнее – совет случайного человека из интернета
— найдите ментора
— помогайте остальным
PS: в первом же комменте автору подсказали, как стать 11х-разработчиком, превратив его 4 строки CLI и одну короткую
git stash branch new_feature
#edu
DEV Community
What makes a 10x Developer?
10x developers are the mythical creatures of our times. What are they? What do they do to be so...
👍4🔥2❤1
Пятничное развлекательное.
Есть такое понятие, как "культурный код". Это объединяющий некоторую социальную группу набор понятий, терминов, отсылок и мемов. В культурный код входят разные художественные произведения. Сегодня поговорим о фильмах.
Вы знаете, почему Томми ненавидит цыган? Что значит "посмотри в собаке"? Кто такой Борис-хрен-попадёшь?
Встречайте — фильм "Большой куш" 2000 года от Гая Ричи. Смотреть строго в переводе Гоблина.
Достоин просмотра фильм "Джентельмены" 2019 года от того же режиссёра — оба входят в top40 из 250 лучших фильмов по версии кинопоиска. И, конечно же, Шерлок Холмс 2009 и 2011 годов занимают достойное место в домашней библиотеке фильмов.
#fun #films
Есть такое понятие, как "культурный код". Это объединяющий некоторую социальную группу набор понятий, терминов, отсылок и мемов. В культурный код входят разные художественные произведения. Сегодня поговорим о фильмах.
Вы знаете, почему Томми ненавидит цыган? Что значит "посмотри в собаке"? Кто такой Борис-хрен-попадёшь?
Встречайте — фильм "Большой куш" 2000 года от Гая Ричи. Смотреть строго в переводе Гоблина.
Достоин просмотра фильм "Джентельмены" 2019 года от того же режиссёра — оба входят в top40 из 250 лучших фильмов по версии кинопоиска. И, конечно же, Шерлок Холмс 2009 и 2011 годов занимают достойное место в домашней библиотеке фильмов.
#fun #films
Кинопоиск
«Большой куш» (Snatch, 2000)
🎬 Фрэнки Четыре Пальца должен был переправить краденый алмаз из Англии в США своему боссу Эви, но, сделав ставку на подпольный боксерский поединок, он попал в круговорот весьма нежелательных событий. Вокруг него и его груза разворачивается сложная интрига…
👍6🔥2🥰2
Есть такой вид DoS-атаки — forkbomb. Запускается процесс, который бесконечно порождает сам себя, пожирая все ресурсы системы. Попробуем на авторском видео поковырять forkbomb внутри docker-контейнера, чтобы почувствовать себя капитаном тонущего судна.
Будьте осторожны. Неаккуратное обращение с forkbomb чревато ребутом.
#youtube
Будьте осторожны. Неаккуратное обращение с forkbomb чревато ребутом.
#youtube
👍4🔥3
Сегодня рассмотрим плохую статью про выбор способа изучения программирования. За неделю статья получила 20 минусов, а автор 7 минусов в карму. Давайте критически посмотрим, где есть проблемы.
Актуальность является смесью шаблонов вроде космические корабли бороздят просторы большого театра и откровенной лжи, когда ставится знак равенства между "достаточно просто уметь пользоваться компьютером" и "карьерой в программировании". Но это мелочи.
Самое мясо начинается дальше. Автор формирует таблицу сравнения "самых популярных языков". Сразу возникает много вопросов, которые следует учесть студентам в рамках работы над курсовыми и дипломными работами.
1. Выбор ЯП. Почему эти 6 языков и по какой метрике они самые популярные? Например, по TIOBE шестым по популярности идёт Visual Basic. По версии PYPL С и С++ объединены, а в топ шесть входят JavaScript (третий) и PHP (шестой). Согласно обзору от stackoverflow в лидерах JavaScript, SQL, Python, Java, C#, bash. HTML я убрал как язык разметки, а не программирования, а TypeScript грубо считаю диалектом JS.
Кстати, по этому же обзору Docker — самая популярная технология в 2022 году, отмеченная как fundamental tool for Professional Developers, как и git в обзоре 2021 года.
Как можно выбирать?
— сослаться на рейтинг
— взять набор, например, разных представителей — один компилируемый язык, один интерпретируемый, один с типизацией, второй без
— субъективно отобрать произвольные 6 языков. Почему эти? Я автор, я так вижу. Но не надо говорить тогда, что это самые популярные ЯП. Вы взяли их, так как они в вашем информационном поле
2. Критерии для сравнения. Вот тут совсем дичь. "Скорость обработки"? А в чём мы измеряем и на какой задаче? Например, Python из-за GIL в многопоточном варианте для cpu-intensive задач — просто ужас.
Как минимум, критерии должны отвечать двум требованиям:
— полнота, то есть все важные характеристики должны быть учтены
— достаточность, то есть никакой критерий выкинуть нельзя
Критерии должны быть подробно описаны и словами с обоснованием полноты и достаточности. Например, если мы ищем ЯП для формирования программы обработки таблицы со 100 записями и 5 полями каждая, то критерий "производительность" нам не нужен. Если все альтернативы по критериям имеют одинаковую оценку, то критерий плохой и должен быть удалён.
Если мы говорим о выборе ЯП для начинающих разработчиков, то скорость обработки нам тоже не требуется как критерий. Что нам может быть важно? Небольшое количество конструкций для запоминания, отсутствие магии, доступность IDE для работы, понятные сообщения об ошибках и быстрая обратная связь (когда компилятор бьёт по рукам и говорит, где конкретно ошибка), доступность литературы и иных обучающих материалов. Вот эти пункты могут выступать кандидатами в критерии.
3. Оценки по критериям. Читабельность у C# 7, а у Python 6? Мммм? А у C++ тоже 6? А вы видели крестики-нолики на шаблонах? Как это оценивалось? Идеальный критерий имеет объективную численную оценку. В Python 33 ключевых слова, в С++ таких слов 92. Это факты. Субъективная оценка — зло, которого следует избегать. Если что-то надо-таки оценивать, то требуется множество экспертов и какой-то формализованный способ сбора мнений, например, метод парных сравнений, который использовали в фильме "Социальная сеть" 2010 года (сайт для сравнения девушек как студенческий проект Цукерберга).
Выбор и обоснование критериев — трудозатратная задача. Но без толковых критериев весь сравнительных обзор становится бесполезным и идёт в /dev/null.
#sudo #edu #devfm
Актуальность является смесью шаблонов вроде космические корабли бороздят просторы большого театра и откровенной лжи, когда ставится знак равенства между "достаточно просто уметь пользоваться компьютером" и "карьерой в программировании". Но это мелочи.
Самое мясо начинается дальше. Автор формирует таблицу сравнения "самых популярных языков". Сразу возникает много вопросов, которые следует учесть студентам в рамках работы над курсовыми и дипломными работами.
1. Выбор ЯП. Почему эти 6 языков и по какой метрике они самые популярные? Например, по TIOBE шестым по популярности идёт Visual Basic. По версии PYPL С и С++ объединены, а в топ шесть входят JavaScript (третий) и PHP (шестой). Согласно обзору от stackoverflow в лидерах JavaScript, SQL, Python, Java, C#, bash. HTML я убрал как язык разметки, а не программирования, а TypeScript грубо считаю диалектом JS.
Кстати, по этому же обзору Docker — самая популярная технология в 2022 году, отмеченная как fundamental tool for Professional Developers, как и git в обзоре 2021 года.
Как можно выбирать?
— сослаться на рейтинг
— взять набор, например, разных представителей — один компилируемый язык, один интерпретируемый, один с типизацией, второй без
— субъективно отобрать произвольные 6 языков. Почему эти? Я автор, я так вижу. Но не надо говорить тогда, что это самые популярные ЯП. Вы взяли их, так как они в вашем информационном поле
2. Критерии для сравнения. Вот тут совсем дичь. "Скорость обработки"? А в чём мы измеряем и на какой задаче? Например, Python из-за GIL в многопоточном варианте для cpu-intensive задач — просто ужас.
Как минимум, критерии должны отвечать двум требованиям:
— полнота, то есть все важные характеристики должны быть учтены
— достаточность, то есть никакой критерий выкинуть нельзя
Критерии должны быть подробно описаны и словами с обоснованием полноты и достаточности. Например, если мы ищем ЯП для формирования программы обработки таблицы со 100 записями и 5 полями каждая, то критерий "производительность" нам не нужен. Если все альтернативы по критериям имеют одинаковую оценку, то критерий плохой и должен быть удалён.
Если мы говорим о выборе ЯП для начинающих разработчиков, то скорость обработки нам тоже не требуется как критерий. Что нам может быть важно? Небольшое количество конструкций для запоминания, отсутствие магии, доступность IDE для работы, понятные сообщения об ошибках и быстрая обратная связь (когда компилятор бьёт по рукам и говорит, где конкретно ошибка), доступность литературы и иных обучающих материалов. Вот эти пункты могут выступать кандидатами в критерии.
3. Оценки по критериям. Читабельность у C# 7, а у Python 6? Мммм? А у C++ тоже 6? А вы видели крестики-нолики на шаблонах? Как это оценивалось? Идеальный критерий имеет объективную численную оценку. В Python 33 ключевых слова, в С++ таких слов 92. Это факты. Субъективная оценка — зло, которого следует избегать. Если что-то надо-таки оценивать, то требуется множество экспертов и какой-то формализованный способ сбора мнений, например, метод парных сравнений, который использовали в фильме "Социальная сеть" 2010 года (сайт для сравнения девушек как студенческий проект Цукерберга).
Выбор и обоснование критериев — трудозатратная задача. Но без толковых критериев весь сравнительных обзор становится бесполезным и идёт в /dev/null.
#sudo #edu #devfm
Хабр
Какой способ лучше всего подходит, чтобы начать изучать программирование?
Актуальность Профессия программиста не нуждается в рекламе. Никто даже не задумывается, что один терминал самообслуживания может сократить количество сотрудников банка. Выдать наличку и принять...
👍10❤1🔥1💩1
Некоторые ресурсы при копировании текста с сайта вставляют в буфер обмена ссылку на себя. Например, такое поведение будет при копировании первого абзаца со страницы КонсультантПлюс.
Как это технически работает?
В JS можно на событие copy навесить свой обработчик, который что-то модифицирует. Есть более современное Clipboard API.
Этот функционал позволяет осуществить атаку на целостность данных через манипуляцию с содержимым буфера обмена. Результат - страничка, где написано
echo "not evil"
Скопируйте этот фрагмент и вставьте в терминал. Поздравляю, вас хакнули.
Не копируйте команды сразу в терминал. Лучше перепечатать (так ещё и запомнится лучше) или идти по пути сайт — блокнот — анализ глазками.
#skills #devfm
Как это технически работает?
В JS можно на событие copy навесить свой обработчик, который что-то модифицирует. Есть более современное Clipboard API.
Этот функционал позволяет осуществить атаку на целостность данных через манипуляцию с содержимым буфера обмена. Результат - страничка, где написано
echo "not evil"
Скопируйте этот фрагмент и вставьте в терминал. Поздравляю, вас хакнули.
Не копируйте команды сразу в терминал. Лучше перепечатать (так ещё и запомнится лучше) или идти по пути сайт — блокнот — анализ глазками.
#skills #devfm
👍5😱4🤯2
Как ещё можно обидеть любителей копировать ответы в терминал? Сделаем явно подозрительную команду на bash с конструкцией eval. Внутренний параноик решит выполнить в терминале команду без eval как безопасный вариант. Ведь безопасный, да? padme.jpg
Встречайте — форк-бомба нового уровня. В комментариях есть интересные истории из жизни.
#skills
Встречайте — форк-бомба нового уровня. В комментариях есть интересные истории из жизни.
#skills
Хабр
Обман обманщиков: форк-бомба нового уровня
Сразу предупреждаю: не копируйте примеры кода из этой статьи и не запускайте их в своей командной оболочке.Есть люди, которые развлекают себя жестокими шутками н...
🔥3
Почти 24 минуты анализа 12 типовых ошибок в Python-проектах от канала Диджитализируй. Сжато и по делу описаны важные аспекты разработки от именования переменных до состава репозитория.
Видео, конечно, проигрывает тексту по скорости восприятия. Для повышения КПД большинство обучающих видео можно смотреть в ускорении 1.25 или 1.5. Кто-то умеет и на двойной скорости, но у меня так не получается.
#youtube #python
Видео, конечно, проигрывает тексту по скорости восприятия. Для повышения КПД большинство обучающих видео можно смотреть в ускорении 1.25 или 1.5. Кто-то умеет и на двойной скорости, но у меня так не получается.
#youtube #python
YouTube
Исправьте СРОЧНО эти 12 ошибок в ваших Python проектах
Мой курс «Хардкорная веб-разработка» — https://course.to.digital
Telegram: https://t0digital.t.me
Сказать спасибо за это видео можно здесь — https://boosty.to/digitalize.team
Практически в каждом Python проекте, который вы присылали на Code Review, были…
Telegram: https://t0digital.t.me
Сказать спасибо за это видео можно здесь — https://boosty.to/digitalize.team
Практически в каждом Python проекте, который вы присылали на Code Review, были…
👍8🔥1
Есть разные точки зрения на общение в личном чате. В выпуске 796 radio-T в 25:30 обсуждают "холодные пинги". Это сообщения в чате вида "Привет" и всё. В IT-тусовке принято сразу излагать цель общения. Даже отдельный сайт есть.
Привет, случилось то-то и то-то
hi, как сделать такую штуку?
Если диалог поддерживается постоянно, то возможно вообще опускать приветствия. Зачем нужны постоянные приветствия и прощания? Они бессмысленно растягивают диалог и не привносят пользы. Естественно, если вторая сторона ни считает пропуск приветствия проявлением грубости.
Телеграмм многие считают средством асинхронного общения. Что это значит? Ожидайте, что вторая сторона будет читать и отвечать тогда, когда ей удобно, а не мгновенно. Нужно мгновенно - звоните.
Для разработчика постоянные прерывания — это ужасное зло, подрывающее производительность. Наибольшая продуктивность идёт в состоянии потока. По аналитике из этой статьи выходит, что вхождение в поток требует 10+ минут. Когда речь про создание Quake, то хорошо бы обеспечить 4 часа без отвлечения. Поэтому разработчики выключают уведомления и работают. Когда настало время перерыва, проверяются мессенджеры и почта. Почта не утратила актуальности на текущий момент. Можете посмотреть рабочий день разработчика из gitlab — его рабочий день начинается именно с почты.
#edu #devfm
Привет, случилось то-то и то-то
hi, как сделать такую штуку?
Если диалог поддерживается постоянно, то возможно вообще опускать приветствия. Зачем нужны постоянные приветствия и прощания? Они бессмысленно растягивают диалог и не привносят пользы. Естественно, если вторая сторона ни считает пропуск приветствия проявлением грубости.
Телеграмм многие считают средством асинхронного общения. Что это значит? Ожидайте, что вторая сторона будет читать и отвечать тогда, когда ей удобно, а не мгновенно. Нужно мгновенно - звоните.
Для разработчика постоянные прерывания — это ужасное зло, подрывающее производительность. Наибольшая продуктивность идёт в состоянии потока. По аналитике из этой статьи выходит, что вхождение в поток требует 10+ минут. Когда речь про создание Quake, то хорошо бы обеспечить 4 часа без отвлечения. Поэтому разработчики выключают уведомления и работают. Когда настало время перерыва, проверяются мессенджеры и почта. Почта не утратила актуальности на текущий момент. Можете посмотреть рабочий день разработчика из gitlab — его рабочий день начинается именно с почты.
#edu #devfm
Radio-T
Радио-Т 796
Еженедельные разговоры на темы хайтек, высоких компьютерных технологий, гаджетов, облаков, программирования и прочего интересного из мира ИТ.
🔥2👍1
Пятничное развлекательное
Есть целый пласт фильмов, поднимающих вопросы реальности окружающего мира. Наверное, самым популярным фильмом жанра является Матрица с Киану Ривзом (1999, продолжения 2003). Классический фильм обязателен к просмотру. Продолжения Перезагрузка и Революция вполне достойны просмотра. Как хорошо, что они сняли только три фильма и четвёртый никогда не выходил.
В прошлом году вышел отличный фильм Главный герой (2021) с Райаном Рейнольдсом. Вышло позитивно и легко. В фильме много отсылок к современной культуре.
Думаю, Начало (2010) с Леонардо Ди Каприо тоже на слуху. Подсознание человека как объект атаки - это красиво.
Завершает список известных фильмов Шоу Трумена (1998) с Джимом Керри. Тут авторы вне компьютерной тематики показывают жизнь человека "у всех на виду".
У каждого из упомянутых фильмов свыше 400к оценок на кинопоиске. Они известны широкой аудитории. А я хочу поделиться с вами куда более малоизвестными, но очень крутыми картинами.
Встречайте Тринадцатый этаж (1999) про создание совершенной модели виртуальной реальности. Категорически рекомендуется к просмотру.
И, конечно, фильм Трон (1982 и 2010). Вы когда-нибудь хотели попасть в компьютерную игру? Фильм позволит вам это сделать. Картина 82 года, конечно, не отличается спецэффектами и костюмы местами вызывают улыбку, но она невероятно хороша.
#fun #films
Есть целый пласт фильмов, поднимающих вопросы реальности окружающего мира. Наверное, самым популярным фильмом жанра является Матрица с Киану Ривзом (1999, продолжения 2003). Классический фильм обязателен к просмотру. Продолжения Перезагрузка и Революция вполне достойны просмотра. Как хорошо, что они сняли только три фильма и четвёртый никогда не выходил.
В прошлом году вышел отличный фильм Главный герой (2021) с Райаном Рейнольдсом. Вышло позитивно и легко. В фильме много отсылок к современной культуре.
Думаю, Начало (2010) с Леонардо Ди Каприо тоже на слуху. Подсознание человека как объект атаки - это красиво.
Завершает список известных фильмов Шоу Трумена (1998) с Джимом Керри. Тут авторы вне компьютерной тематики показывают жизнь человека "у всех на виду".
У каждого из упомянутых фильмов свыше 400к оценок на кинопоиске. Они известны широкой аудитории. А я хочу поделиться с вами куда более малоизвестными, но очень крутыми картинами.
Встречайте Тринадцатый этаж (1999) про создание совершенной модели виртуальной реальности. Категорически рекомендуется к просмотру.
И, конечно, фильм Трон (1982 и 2010). Вы когда-нибудь хотели попасть в компьютерную игру? Фильм позволит вам это сделать. Картина 82 года, конечно, не отличается спецэффектами и костюмы местами вызывают улыбку, но она невероятно хороша.
#fun #films
Кинопоиск
«Матрица» (The Matrix, 1999)
🎬 Жизнь Томаса Андерсона разделена на две части: днём он — самый обычный офисный работник, получающий нагоняи от начальства, а ночью превращается в хакера по имени Нео, и нет места в сети, куда он бы не смог проникнуть. Но однажды всё меняется. Томас узнаёт…
👍9🔥2
Один из вариантов борьбы с отвлечениями — техника помидора. Суть техники в выделении непрерывных отрезков времени на работу. То есть начал работать — не отвлекаться какое-то время (по дефолту — 25 минут), потом прерваться.
Подходит также для борьбы с прокрастинацией. Легче заставить себя сесть поработать на 25 минут, чем сразу замахнуться на большой кусок работы. Я не знаю, сколько займёт разработка программы, и эта неизвестность отталкивает.
Лучше фильм посмотрю.
Новости почитаю.
Тик-ток полистаю.
А тут всего 25 минут... 25 минут у меня есть. Аппетит приходит во время еды, и дальше уже нет желания бросать писать начатую программу.
#edu
Подходит также для борьбы с прокрастинацией. Легче заставить себя сесть поработать на 25 минут, чем сразу замахнуться на большой кусок работы. Я не знаю, сколько займёт разработка программы, и эта неизвестность отталкивает.
Лучше фильм посмотрю.
Новости почитаю.
Тик-ток полистаю.
А тут всего 25 минут... 25 минут у меня есть. Аппетит приходит во время еды, и дальше уже нет желания бросать писать начатую программу.
#edu
Хабр
Почему pomodoro у разработчиков “не взлетает” и как с этим бороться?
Систему управления своим временем с использованием кухонного “помидорного” таймера пиарят все, кому не лень. Помогает она не всем. Но я вижу, что разочарованные...
🔥6
Одной из фундаментальных технологий на текущий момент технологий является Docker — платформа для разработки, доставки и управления контейнерными приложениями. Он повсеместно используется для разработки fronend и backend, в Data Science и много где ещё.
Неплохим способом войти в Docker является длинная презентация (англ), в которой излагается теория и практика работы с контейнерной виртуализацией на примере докера.
В дополнение можете почитать свежий пост от yandex.cloud о докере.
#skills
Неплохим способом войти в Docker является длинная презентация (англ), в которой излагается теория и практика работы с контейнерной виртуализацией на примере докера.
В дополнение можете почитать свежий пост от yandex.cloud о докере.
#skills
yandex.cloud
Как устроен Docker и почему он популярен
Docker — это платформа контейнеризации с открытым исходным кодом, с помощью которой можно автоматизировать создание приложений, их доставку и управление.
🔥4❤3