TGViewer
Channel Public Channel
DevFM

DevFM

@devfm

О разработке: AI, технологии, инструменты, system design, процессы, команды

Для связи @sa_bul
Subscribers
3.05K
Photos
82
Videos
6
Links
556

Showing posts older than #59 · Back to latest

Older Posts 20 shown
Post #58 450
Зачем быть в курсе трендов? Вот начинаете программировать, хотите освоить систему контроля версий (СКВ). Вики насчитывает более 30 СКВ. Какую выбрать?

Нашёл опрос 2008 года, где лидер Subversion. В 2014 году на хабре был опрос по СКВ. Результат на скрине — 71% был за git, 32% за SVN, 16% за mercurial, 8% за TFS от Microsoft. Сейчас лидер де-факто Git со своими 97% в последнем опросе от Stackoverflow.

Технологии умирают. Вам в любом случае придётся изучать другие инструменты. Тренды позволят понять, какой инструмент выбрать для работы, а какой теряет популярность.
#skills #trends #devfm
  • 👍 13
  • 🔥 2
  • ⚡ 1
Post #57 474
Integrated development environment

Последнее на сегодня — IDE. Лидер на текущий момент VSCode. Популярность частично ложная, так как VSCode годится под любой язык программирования. Например, PyCharm только для Python, поэтому тут сравниваются несравнимые величины.

Удивительно много набрал Vim (24%+6% от Neovim) — наравне с IntelliJ. Это приятно. Можете присоединиться к этому сообществу бешеных людей.

28% у Notepad++. Я реально знаю таких людей. Из моего круга общения — это те, кто пишет небольшие скрипты на 30-300 строчек (автоматизация, Data Science). Им иногда даже подсветка синтаксиса не нужна.

Для большой кодовой базы без IDE никуда. И это инструмент, который требует времени на освоение. Горячие клавиши, автоматический рефакторинг (форматирование, extract method), кодогенерация, — IDE может вас существенно ускорить.
  • 👍 14
  • 🔥 3
Post #56 438
Interacting with version control systems

85% работают с Git из терминала. Что ж.
  • 👍 11
  • 🔥 3
Post #55 474
Version control systems среди Professional Developers

Git 97%, SVN 6%. Варианты "без системы контроля версий" и mercurial менее 3% в сумме.

Не умеешь в Git? Ты не разработчик

#sudo
  • 👍 15
  • 🔥 2
  • 👎 1
Post #54 432
Operating system

Среди разработчиков аномально много Linux. Учитывая, что macOS во многом Linux-подобная, а на серверах только Linux, то в профессиональной разработке без знания Linux никуда.
  • 👍 11
  • 🔥 2
Post #53 424
Other tools среди Professional Developers

Варианты, мягко говоря, странные. Менеджеры пакетов npm, yarn, homebrew я бы исключил (это что-то уровня IDE), как и платформы для игр Unity, Unreal Engine (они должны идти в frameworks).

Среди оставшегося доминирует контейнерная виртуализация Docker и система управления контейнерами Kubernetes. Без докера никуда, господа.

#sudo
  • 👍 11
  • 🔥 3
Post #52 422
Databases среди Professional Developers. Всегда переключаем на Professional Developers, потому что лучшее надо смотреть у лучших. Те, кто Learning to Code, вам подсказать не смогут

Неплохо бы знать парочку баз данных отсюда. Имеет смысл изучить реляционную (например, PostgreSQL) и документную (например, MongoDB) базы.

Во всех опросах можно было выбирать несколько галочек, так что сумма больше 100%

#sudo
  • 👍 10
  • 🔥 2
Post #51 454
Stackoverflow с 2011 года проводит масштабные опросы разработчиков. В 2022 году участвовало более 70к человек из 180 стран. Из-за большого числа участников получаются репрезентативные данные — что в трендах, куда в целом индустрия плывёт. Рассмотрим отдельные кусочки этого обзора.

#skills #trends
Stack Overflow Stack Overflow Developer Survey 2022 In May 2022 over 70,000 developers told us how they learn and level up, which tools they’re using, and what they want.
  • 👍 7
  • 🔥 1
Post #50 460
Online resources to learn how to code

Основной источник знаний — это техническая документация. В целом, man — всему голова. Отсюда возникает необходимость в английском языке, как интернациональном языке разработчиков. Это как латынь у медиков — в IT без английского никуда. По крайней мере, пока нас не поработят китайцы.

А ваш проект должен содержать подробное readme.

#sudo
  • 👍 13
  • 🔥 1
Post #49 500
Пятничное развлекательное

Batmetal — это невероятный сплав металла, кино, комиксов, мемов, игр и шуток. Это серия из 3 роликов от ArhyBES в антураже Бэтмана, и, надеюсь, мы дождёмся продолжения. Каждый кадр содержит огромное количество пасхалок, что доставляет немалое удовольствие внимательному зрителю.

Batmetal создаёт атмосферу. Batmetal returns начинает спорно. Но когда Робин в конце второй минуты начинает Спанч Боба... Это невозможно описать, только войти во вкус. И завершает пир духа Batmetal forever с появлением Джокера. Почти 150кк просмотров на три ролика, рекомендуется к просмотру.

#fun
YouTube BATMETAL Subscribe our socials: Telegram - https://t.me/arhybeschannel Twitch - https://www.twitch.tv/arhybes_live Instagram - https://www.instagram.com/arhybeschannel VK - http://vk.com/arhybeschannel Twitter - https://twitter.com/arhybeschannel song: Dethklok …
  • 🔥 8
Post #48 457
Ключевые аспекты хорошего Dockerfile

— Порядок команд важен. Вверху редко меняющиеся сущности (ставим зависимости apt-get, pip), внизу – часто меняющиеся (копируем ваш код)
— Слои нарастают и не удаляются. Если слой генерирует «мусор» – удалять нужно в этом же слое, иначе место не уменьшится
— Пользуемся готовыми образами на dockerhub

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

И помните – если docker вам мешает, скорее всего, вы что-то делаете неправильно.
#skills #sudo #devfm
  • 🔥 4
Post #47 562
Одной из фундаментальных технологий на текущий момент технологий является Docker — платформа для разработки, доставки и управления контейнерными приложениями. Он повсеместно используется для разработки fronend и backend, в Data Science и много где ещё.

Неплохим способом войти в Docker является длинная презентация (англ), в которой излагается теория и практика работы с контейнерной виртуализацией на примере докера.

В дополнение можете почитать свежий пост от yandex.cloud о докере.
#skills
yandex.cloud Как устроен Docker® и почему он популярен Рассказываем, как Docker упрощает развёртывание приложений, обеспечивает переносимость кода между разными системами и экономит ресурсы компании за счёт контейнеризации.
  • 🔥 4
  • ❤ 3
Post #46 584
Один из вариантов борьбы с отвлечениями — техника помидора. Суть техники в выделении непрерывных отрезков времени на работу. То есть начал работать — не отвлекаться какое-то время (по дефолту — 25 минут), потом прерваться.

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

А тут всего 25 минут... 25 минут у меня есть. Аппетит приходит во время еды, и дальше уже нет желания бросать писать начатую программу.
#edu
Хабр Почему pomodoro у разработчиков “не взлетает” и как с этим бороться? Систему управления своим временем с использованием кухонного “помидорного” таймера пиарят все, кому не лень. Помогает она не всем. Но я вижу, что разочарованные...
  • 🔥 6
Post #45 541
Пятничное развлекательное

Есть целый пласт фильмов, поднимающих вопросы реальности окружающего мира. Наверное, самым популярным фильмом жанра является Матрица с Киану Ривзом (1999, продолжения 2003). Классический фильм обязателен к просмотру. Продолжения Перезагрузка и Революция вполне достойны просмотра. Как хорошо, что они сняли только три фильма и четвёртый никогда не выходил.

В прошлом году вышел отличный фильм Главный герой (2021) с Райаном Рейнольдсом. Вышло позитивно и легко. В фильме много отсылок к современной культуре.

Думаю, Начало (2010) с Леонардо Ди Каприо тоже на слуху. Подсознание человека как объект атаки - это красиво.

Завершает список известных фильмов Шоу Трумена (1998) с Джимом Керри. Тут авторы вне компьютерной тематики показывают жизнь человека "у всех на виду".

У каждого из упомянутых фильмов свыше 400к оценок на кинопоиске. Они известны широкой аудитории. А я хочу поделиться с вами куда более малоизвестными, но очень крутыми картинами.

Встречайте Тринадцатый этаж (1999) про создание совершенной модели виртуальной реальности. Категорически рекомендуется к просмотру.

И, конечно, фильм Трон (1982 и 2010). Вы когда-нибудь хотели попасть в компьютерную игру? Фильм позволит вам это сделать. Картина 82 года, конечно, не отличается спецэффектами и костюмы местами вызывают улыбку, но она невероятно хороша.

#fun #films
Кинопоиск «Матрица» (The Matrix, 1999) 🎬 Жизнь Томаса Андерсона разделена на две части: днём он — самый обычный офисный работник, получающий нагоняи от начальства, а ночью превращается в хакера по имени Нео, и нет места в сети, куда он бы не смог проникнуть. Но однажды всё меняется. Томас узнаёт…
  • 👍 9
  • 🔥 2
Post #44 464
Есть разные точки зрения на общение в личном чате. В выпуске 796 radio-T в 25:30 обсуждают "холодные пинги". Это сообщения в чате вида "Привет" и всё. В IT-тусовке принято сразу излагать цель общения. Даже отдельный сайт есть.

Привет, случилось то-то и то-то
hi, как сделать такую штуку?

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

Телеграмм многие считают средством асинхронного общения. Что это значит? Ожидайте, что вторая сторона будет читать и отвечать тогда, когда ей удобно, а не мгновенно. Нужно мгновенно - звоните.

Для разработчика постоянные прерывания — это ужасное зло, подрывающее производительность. Наибольшая продуктивность идёт в состоянии потока. По аналитике из этой статьи выходит, что вхождение в поток требует 10+ минут. Когда речь про создание Quake, то хорошо бы обеспечить 4 часа без отвлечения. Поэтому разработчики выключают уведомления и работают. Когда настало время перерыва, проверяются мессенджеры и почта. Почта не утратила актуальности на текущий момент. Можете посмотреть рабочий день разработчика из gitlab — его рабочий день начинается именно с почты.
#edu #devfm
Radio-T Радио-Т 796 Еженедельные разговоры на темы хайтек, высоких компьютерных технологий, гаджетов, облаков, программирования и прочего интересного из мира ИТ.
  • 🔥 2
  • 👍 1
Post #43 437
Почти 24 минуты анализа 12 типовых ошибок в 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, были…
  • 👍 8
  • 🔥 1
Post #42 420
Как ещё можно обидеть любителей копировать ответы в терминал? Сделаем явно подозрительную команду на bash с конструкцией eval. Внутренний параноик решит выполнить в терминале команду без eval как безопасный вариант. Ведь безопасный, да? padme.jpg

Встречайте — форк-бомба нового уровня. В комментариях есть интересные истории из жизни.

#skills
Хабр Обман обманщиков: форк-бомба нового уровня Сразу предупреждаю: не копируйте примеры кода из этой статьи и не запускайте их в своей командной оболочке.Есть люди, которые развлекают себя жестокими шутками н...
  • 🔥 3
Post #41 437
Некоторые ресурсы при копировании текста с сайта вставляют в буфер обмена ссылку на себя. Например, такое поведение будет при копировании первого абзаца со страницы КонсультантПлюс.

Как это технически работает?

В JS можно на событие copy навесить свой обработчик, который что-то модифицирует. Есть более современное Clipboard API.

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

echo "not evil"

Скопируйте этот фрагмент и вставьте в терминал. Поздравляю, вас хакнули.

Не копируйте команды сразу в терминал. Лучше перепечатать (так ещё и запомнится лучше) или идти по пути сайт — блокнот — анализ глазками.
#skills #devfm
  • 👍 5
  • 😱 4
  • 🤯 2
Post #40 509
Сегодня рассмотрим плохую статью про выбор способа изучения программирования. За неделю статья получила 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
Хабр Какой способ лучше всего подходит, чтобы начать изучать программирование? Актуальность Профессия программиста не нуждается в рекламе. Никто даже не задумывается, что один терминал самообслуживания может сократить количество сотрудников банка. Выдать наличку и принять оплату...
  • 👍 10
  • ❤ 1
  • 🔥 1
  • 💩 1
Post #39 502
Есть такой вид DoS-атаки — forkbomb. Запускается процесс, который бесконечно порождает сам себя, пожирая все ресурсы системы. Попробуем на авторском видео поковырять forkbomb внутри docker-контейнера, чтобы почувствовать себя капитаном тонущего судна.

Будьте осторожны. Неаккуратное обращение с forkbomb чревато ребутом.

#youtube
  • 👍 4
  • 🔥 3
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →