Telegram Web
Forwarded from Метод утёнка
«Пишу код на слух»: история Java-разработчика, который потерял зрение, но не строчки кода

Вы нажимаете Build, смотрите на консоль — а Константин Евтеев слушает её. После полной потери зрения он собрал «аудио-IDE»:

— диктор NVDA читает символы и ошибки;
— обычный Блокнот служит редактором;
— собственные Bash-скрипты шлют файлы по SSH на Linux-машину, где Maven собирает проект.

У нас во флудилке поделились его рассказом. В статье он рассказал, как «выглядит» код, когда его слышишь: короткие методы вместо длинных полотен, оглавление программы в TXT и отладка по тональности голоса синтезатора.

Материал цепляет даже далёких от разработки: он показывает, насколько гибкими бывают цифровые инструменты и как «невидимая» инженерия делает технологии доступнее всем.

А вы бы справились бы без монитора?

#java #доступность #истории
👍168🔥6
Кто-то: идеального летнего UI не существует

Идеальный летний UI:
This media is not supported in your browser
VIEW IN TELEGRAM
4
Go быстрее, чище, эффективнее: 6 приёмов для оптимизации кода

Go известен своей скоростью, но даже на нём можно написать неэффективный код. В этом материале — шесть приёмов, которые помогут улучшить производительность без магии и хаков:

strings.Builder для конкатенации строк без лишних аллокаций.
sync.Pool для переиспользования объектов и снижения нагрузки на сборщик мусора.
— Правильное обрезание слайсов и пересоздание мап для предотвращения утечек памяти.
— Задание размера слайсов и мап для уменьшения количества аллокаций.
— Буферизированные каналы для передачи данных между горутинами.
— context для управления временем жизни операций и своевременной отмены задач.

Материал с примерами, бенчмарками и понятными объяснениями — подойдёт, если вы уже пишете на Go или только учитесь.

#golang #оптимизация
Media is too big
VIEW IN TELEGRAM
Копаемся в Overgrowth

Overgrowth — это экшен с антропоморфными животными и рукопашным боем, который разрабатывался более 9 лет. В 2022 году его исходный код стал доступен на GitHub под лицензией Apache 2.0. Запустить игру из него не получится, так как здесь не хватает некоторых важных данных. Зато с помощью него можно:

— изучить архитектуру движка и боевой системы;
— создать модификации и «тотальные конверсии» с собственными ассетами;
— поэкспериментировать с физикой, анимацией и AI;
— воспользоваться фрагментами кода в других проектах.

Репа будет полезна геймдев-разработчикам, а также разработчикам на С++ и AngelScript.

#cpp #angelscript #gamedev
простымисловами: Как «откатить» последний коммит в Git

❗️ Важно. Прежде чем что-то отменять, убедитесь, что понимаете, нужно ли изменять историю и синхронизирован ли ваш коммит с удалённым репозиторием (GitHub, GitLab и т. д.). Для приватных веток это обычно безопасно, но в общей ветке лучше быть осторожным.


Существует несколько способов сделать это. Давайте рассмотрим каждый из них:

1. Вернуть изменения в рабочие файлы, но убрать коммит из истории

Если вы хотите переделать сообщение или добавить файлы, используйте git reset --soft HEAD~1. Он убирает «снимок» последнего коммита, но все ваши изменения остаются в индексе (staging). Дальше можно поправить файлы, написать новое сообщение и закоммитить снова.

2. Убрать коммит из истории, но оставить изменения «распакованными» (не в индексе)

Если нужно сначала ещё раз глянуть на файлы, а потом решать, что с ними делать: git reset --mixed HEAD~1 или просто git reset HEAD~1. Он удаляет последний коммит, а файлы раскладывает в рабочую директорию. Индекс очищен — придётся снова добавлять нужные файлы через git add.

3. Полностью стереть и коммит, и изменения

Если коммит «не тот» и вам не нужны даже изменения: git reset --hard HEAD~1. Он возвращает ветку и рабочую директорию к состоянию до коммита. Восстановить потом будет непросто, поэтому используйте осторожно.

Коммит уже ушёл на сервер (GitHub, GitLab):

а) Историю изменять нельзя (например, в общей ветке)

Используйте «отменяющий» коммит: git revert HEAD. Git создаст новый коммит, который инвертирует изменения последнего. История остаётся линейной, а коллегам не нужно ничего форс-пушить.

б) Историю нужно перезаписать и вы уверены, что можно force-push

git reset --hard HEAD~1
git push --force # или --force-with-lease, чтобы не затереть чужие коммиты


Такой подход стирает коммит на сервере. Договоритесь с командой, чтобы никто не успел на основе старой истории создать новые коммиты.

Чтобы точно избежать проблем, воспользуйтесь этим коротким чек-листом перед «откатом»:

1. Проверьте, пушили ли вы коммит.
2. Выберите подходящее действие:
reset --soft — оставить всё в индексе;
reset --mixed — убрать из индекса, но сохранить файлы;
reset --hard — удалить всё;
revert — отменить «по-честному», если история уже общая.
3. При force-push предупредите коллег!

#git
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Когда строки тормозят: как колоночные базы данных ускоряют аналитику

В традиционных базах данных информация хранится построчно, что затрудняет выполнение сложных запросов на больших объёмах данных. Колоночные базы данных решают эту проблему, храня данные по колонкам, что позволяет:

— ускорить выборки, обрабатывая только нужные колонки;
— эффективно сжимать данные, так как каждая колонка содержит однотипные значения;
— быстро добавлять или удалять колонки без переработки всей таблицы.

Однако стоит учитывать, что обновление и удаление данных в колоночных базах может быть более ресурсоёмким по сравнению со строчными базами.

Подробнее об этом можно почитать в статье, которую недавно выложили в нашей флудилке.

#базыданных #аналитика #производительность
Как превратить аудиозапись встречи в структурированный отчёт с помощью Python и ИИ

Порой после онлайн-встречи сложно вспомнить, кто что сказал и какие задачи были поставлены. В статье представлен пошаговый гайд по созданию Python-приложения, которое:

— распознаёт речь с аудиозаписей с помощью модели Whisper-1;
— извлекает ключевые моменты и задачи, обсуждённые на встрече, используя Claude 3.5 Sonnet;
— формирует структурированный отчёт в формате PDF.

Да, сейчас существуют готовые решения. Но помогут ли они вам прокачать навыки программирования? Вряд ли. А тут используются API BotHub и библиотеки openai, fpdf, dotenv, подробно описан процесс настройки окружения, взаимодействия с API и обработки ошибок. В общем, мастхэв.

#python #ии #продуктивность
2
7 самых нелепых хакерских атак в истории

В мире кибербезопасности не все атаки — дело рук гениев. Иногда злоумышленникам даже не нужно сильно напрягаться. А бывает, что цель взлома настолько тупа, что в это трудно поверить. В этом материале собраны семь самых нелепых хакерских атак:

— взлом казино через термометр в аквариуме;
— загрузка собственных отпечатков пальцев в систему безопасности;
— воспроизведение AC/DC на ядерном объекте Ирана;
— соискатель, взломавший Marriott, чтобы получить работу;
— взлом дорожных знаков с сообщением о нападении Годзиллы;
— «этичный хакер», сливавший данные клиентов;
— кража топлива с АЗС с помощью пульта и пароля «0000».

Какая из этих историй вас удивила больше всего?

#кибербезопасность #хакеры
🔥4
Forwarded from Веб-страница
Как выучить CSS и HTML и стать фронтендером бесплатно, не покупая курсы от онлайн-школ

Можно ли выучить CSS и HTML и стать фронтендером бесплатно, не покупая курсы от онлайн-школ? Узнали у экспертов, какими источниками пользоваться, чтобы начать карьеру во фронтенде: https://tproger.ru/articles/kak-besplatno-vyuchit-html-i-css

#фронтенд
🔥42🌭1
Гайд: Как использовать ChatGPT, чтобы стать программистом

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

В этой статье — о том, как использовать ChatGPT в обучении программированию с умом.

Что спрашивать? Как ставить задачи? Чем он может заменить ментора, а в чём точно не стоит полагаться на ИИ?

Практичные советы, примеры и важные нюансы, которые помогут использовать нейросеть не просто как генератор кода, а как учебный инструмент.
3😁21
Пугающая типизация
🤣18😁62
Конец эры ручного кода: как вайб-кодинг изменит ИТ–индустрию

Сегодня программирование меняется — и на глазах. Всё больше задач берут на себя ИИ-ассистенты: они предлагают куски кода, исправляют баги, тестируют.

Вайб-кодинг — это не модный термин. Это новый способ писать код, когда разработчик задаёт направление, а ИИ дописывает детали. Это может кардинально изменить и то, как мы учимся, и то, как строим карьеру в IT.

В материале — размышления о том:

— как изменится роль начинающих разработчиков;
— почему важно не терять контроль над кодом, даже если его пишет нейросеть;
— какие новые навыки становятся важнее, чем знание синтаксиса наизусть.

Для тех, кто только входит в профессию, это не повод паниковать, а шанс адаптироваться раньше других.

#вайбкодинг #будущееразработки #ai
🥰3😁3👎1
Regexp Garden: учим RegEx играя в сад

Регулярные выражения часто кажутся страшными, но это зря. Этот интерактивный мини-гейм помогает учиться RegEx, словно поливать нужные растения в саду:

— вы получаете сад и задачу — например, «полить розы между строк А и Б»;
— вместо того чтобы бежать по всей грядке, вы пишете регулярку, чтобы точно попасть нужные «растения»;
— при каждом шаге даётся подсказка и объяснение, так что вы постепенно учитесь понимать синтаксис.

Сделано на React / Next.js, опенсорсно и доступно всем. Идеально тем, кто уже знаком с основами, но хочет использовать RegEx без головной боли.

Открыть игру: https://regexp-garden.madewith.fun/

Код (если захотите внести свой вклад): https://github.com/avfirsov/regexp-garden

#regex #обучение #игрыдляразработчика
2👍1🔥1🥰1
Hacksplaining: учимся кибербезопасности через реальные атаки

Hacksplaining — это интерактивный тренажёр для изучения уязвимостей веб-приложений. Каждый урок — это не лекция, а реальная атака, которую вы проводите сами в браузере — и сразу же учитесь, как её предотвратить.

Идеально, если вы имеете хоть какой-то опыт программирования и хотите понять, какие дыры реально ломают сайты и как их закрыть.

#безопасность #тренажер
😁4
20 игр, которые научат программированию

Подходов к обучению много, но через игры учиться не так скучно. Ловите целую подборку таких игр. Вот лишь некоторые из них:

CodeCombat — RPG, где нужно использовать различные ЯП, чтобы проходить уровни, головоломки и сражаться с врагами.

Ruby Warrior — игрок управляет воином, который проходит различные уровни. Управлять персонажем можно только на Ruby.

Untrusted — управляете персонажем и решаете головоломки через Java.

Check IO — здесь предлагается решать различные задачки с помощью Python или TypeScript. Тут также есть возможность соревноваться с другими игроками.

Dungeons & Developers — здесь нужно путешествовать по пещерам и выполнять задания, связанные с HTML, CSS и JavaScript.

Ещё больше игр в подборке.

@prog_point
👍72
Бэкенд без боли: что нужно знать фронтендеру

Вы начали разбираться во фронтенде, уже пишете интерфейсы и подключаете данные. Но тут появляется слово вроде «rate limiting» — и всё, паника.

На этом этапе многим не хватает простой вещи — базового словаря. Понять, что происходит «на той стороне», помогает даже знание пары ключевых терминов.

Этот материал — как мини-гид по миру бэкенда для тех, кто с ним только начинает сталкиваться. Без лишней теории, коротко, по делу, простыми словами. Чтобы не просто копировать чужие fetch-запросы, а понимать, как всё устроено.

#фронтенд #бэкенд
3🔥2
А как вы решили стать айтишником? Пишите в комментарии
🔥12👌9😁1👻1
2025/07/08 12:49:45
Back to Top
HTML Embed Code: