Типичный программист
81.6K subscribers
2.34K photos
770 videos
8 files
7.27K links
Всё самое интересное по программированию

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Сайт: https://tprg.ru/site

VK: vk.com/tproger

Другие проекты Tproger: https://tprg.ru/media
Download Telegram
Провожаем #кодревьюль и встречаем новый месяц нашего программистского календаря — #фичавгуст.

Желаем, чтобы баги легко превращались в фичи, а фичи приносили как можно меньше багов.

Бесплатно получить электронную версию календаря можно в личном кабинете на нашем сайте: https://tproger.ru/
Ещё не подписаны на Soft Skillz? Это новый Telegram-канал от Tproger, где мы помогаем прокачивать soft skills для работы и жизни.

11/10 годнота не только для айтишников, но и для тех, кто просто хотел бы повысить свою продуктивность.

Подписывайтесь: @soft_skillz
Предлагаем вам немного размять мозги и решить одну логическую задачку

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

Каким образом?

#задачки
This media is not supported in your browser
VIEW IN TELEGRAM
Процессор Raspberry Pi можно использовать как физическую кнопку

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

Чтобы реализовать такую функциональность, разработчик создал скрипт, фиксирующий нажатие на чип Raspberry Pi за счёт постоянного отслеживания его температуры. Во время прикосновения температура чипа незначительно понижается, но этого достаточно, чтобы программно его обнаружить. А когда палец убирается с чипа, тепловые параметры меняются в обратную сторону почти моментально.

В комментариях на Reddit программисту уже предложили использовать молоток для того, чтобы сделать кнопку одноразовой. И подумать о применении бананов в качестве устройства ввода.

#кек #raspberry
Может ли юрист с гуманитарным складом ума стать разработчиком?

Алёна Гневушева работала в международной юридической фирме, где занималась правовым сопровождением инвестиционной деятельности. А уже сейчас она — фронтенд-разработчик в калифорнийской компании Sayana.

О том, как ей удалось так резко поменять профессию и почему у мифа о техническом и гуманитарном складе ума мало общего с реальностью, читайте в этой статье: https://tprg.ru/2p4m

#карьера
Как выглядит ноутбук, которому команда iFixit поставила 10 из 10 за ремонтопригодность?

Это тот самый модульный ноутбук от компании Framework, о котором мы рассказывали ещё в марте. Его можно не только полностью разобрать на части, но и заказать девайс в разобранном виде, чтобы собрать его самому. Так, например, на замену аккумулятора уйдёт всего 5 минут, а дисплей вообще держит магнитная рамка, которая снимается без особого труда.

Интересно, что изначально Framework хотела присылать только запчасти. Но ввозить целые ноутбуки из Китая в США оказалось гораздо дешевле, ведь за доставку комплектующих по отдельности пришлось бы заплатить большой налог. Но что ещё интереснее, это открытая платформа и производить детали для неё может вообще кто угодно.

В видео — большой обзор девайса от команды iFixit.

#hardware
Современный программист — ремесленник или мастер?

Случалось ли вам выпускать работающий, но некачественный код, чтобы уложиться в сроки? Чувствуете ли вы удовлетворение от своей работы и гордость за свой код?

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

https://tprg.ru/rZF1

#работа #мотивация
46% пакетов PyPI содержат хотя бы одну уязвимость

PyPI — это каталог ПО, написанного на Python, содержащий уже больше 216 000 пакетов. А проверить их на уязвимости взялись исследователи из Финляндии. И всего им удалось найти 749 тысяч проблем, из которых 442 тысячи (59%) посчитали незначительными, 227 тысяч (30%) — средней тяжести, а 80 тысяч (11%) обозначили как тяжёлые.

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

Так, только 8 из недавно удалённых из PyPI вредоносных пакетов успели загрузить более 30 тысяч раз. А в пакетах noblesse, genesisbot, are, suffer, noblesse2 и noblessev2 вообще выявили код для перехвата номеров кредитных карт, а также паролей, сохранённых в браузерах Chrome и Edge.

#безопасность #python
Об этих инструментах JavaScript говорят незаслуженно мало

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

В этой статье собрали самые удобные инструменты JavaScript, о которых вы могли не знать: https://tproger.ru/articles/instrumenty-javascript-o-kotoryh-nezasluzhenno-malo-govorjat/

#javascript #инструменты
Глава Xsolla объяснил, из-за чего на самом деле уволили 147 «невовлечённых и малопродуктивных сотрудников»

Напомним, 4 августа произошло массовое увольнение из компании под предлогом того, что сотрудники недостаточно хорошо вовлекались в работу. Эти выводы сделали на основе их активности в рабочих чатах, почте, документах и дашбордах. Под увольнение попали в том числе бариста и хостес.

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

На ней он рассказал, что в компании решили уволить 10% сотрудников, так как она перестала показывать 40-процентный рост. Также Агапитов уточнил, что из 147 человек после разговоров с менеджерами планировалось оставить примерно 60. А остальные получили бы компенсацию в 4—6 окладов и сохранили бы медицинскую страховку. Агапитов считает, что это «те люди, которые ничего не делали, и в принципе ничего не изменится, если их не будет».

По словам основателя Xsolla, методом оценки стала база знаний Confluence компании: «В Confluence мы делимся нашими знаниями, планами и идеями. И есть люди, которые не интересуются нашими планами и идеями, и в принципе с ними невозможно коммуницировать». Также трудолюбие оценивали по показателям в таск-менеджерах. А вот активность в IDE и Git в KPI не попала.

Интересно, сколько тасков должны были закрывать бариста с хостесом, чтобы бигдата посчитала их достаточно «вовлечёнными»? 🧐

#карьера
13 вопросов, которые точно стоит задать работодателю на собеседовании, чтобы потом не иметь дело с его «бигдатой»

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

А с каких вопросов лучше начать — рассказываем в этой статье: https://tprg.ru/8tYC

#советы #собеседование
Ближайшие события для айтишников

Интенсив «Как перестать бояться и полюбить DevOps»
9–11 августа, онлайн

За 3 дня разберётесь в DevOps-инженерии, научитесь использовать методологию CI, работать с Docker и Docker Compose, освоите Kubernetes и получите подарки за успешное окончание курса.

Интенсив «Чат-бот с искусственным интеллектом на Python»
9–11 августа, онлайн

На бесплатном трёхдневном интенсиве новички в программировании и начинающие разработчики изучат искусственный интеллект и основы Python. За успешное окончание курса Skillbox вручит подарки.

Демо-урок «Введение в теорию тестирования и обзор систем ведения тест-кейсов и багов»
10 августа, онлайн

На демо-занятии курса «QA Automation Engineer» расскажут о том, что такое тестирование, как оно появилось, и чем занимается тестировщик. Рассмотрят жизненный цикл тестирования, чек листы и тест-кейсы, познакомят с актуальными системами ведения тест-кейсов и баг-трекером.

Вебинар «Межсетевые экраны, песочницы и WAF. И их роль в ИБ»
12 августа, онлайн

На открытом вебинаре в рамках курса «Внедрение и работа в DevSecOps» рассмотрят современные средства обеспечения ИБ, их роль в ландшафте ИБ и роль в контексте безопасной разработки.

Design Line Intensive
9—15 августа, онлайн

Неделя лекций, мастер-классов, разборов работ и ответов на вопросы по веб-дизайну и брендингу от ведущих дизайнеров и арт-директоров. В финале — сертификат об окончании интенсива и подарки от партнёров.

GitHub: открытый урок для начинающих веб-разработчиков
10 августа, онлайн

Преподаватели HTML Academy познакомят с системой контроля версий Git, рассмотрят основы работы и базовые понятия. Участников ждут скидки на курсы и полезные материалы по теме.

#ивенты
Спустя несколько месяцев тестирования, в ядро Raspberry Pi OS наконец-то была добавлена встроенная поддержка SATA

До этого можно было использовать HDD и SSD через переходники SATA – USB, но это решение отнимало 10-20% от их скорости и не давало возможности собрать RAID-массив. А если вы хотели использовать SATA HDD или SSD нативно, требовалось перекомпилировать ядро Linux.

#raspberrypi
Да кому нужно столько форматов изображений? И почему бы не разработать один идеальный формат для всех картинок?

А такой пытались создать уже несколько раз и даже почти успешно. Например, сейчас большая часть картинок Интернета хранится в одном из таких форматов — JPEG. Том самом формате, который многие недолюбливают и даже оценивают степень его сжатия в «шакалах».

Как так получилось, для чего используются разные форматы и чем они отличаются — разбираемся в статье: https://tprg.ru/Q2pL

#начинающим
Forwarded from IT Юмор
​​JavaScript против Вселенной
Крупный IT-проект ищет разработчика GoLang

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

Что ожидают от откликнувшихся:
— 2+ года коммерческой разработки на языке GoLang, уверенное владение языком и библиотеками sync, atomic, io, net, flag.
— Знания профилирования приложений на Golang
— Уверенное владение JavaScript.
— Опыт работы с базами данных (MySQL/Manticore/Clickhouse).
— Опыт написания микросервисов, понимание микросервисной архитектуры.
— Опыт разработки Rest API.
— Опыт коллективной разработки (GitLab).

Будет плюсом:
— Работа с метриками и анализом работы приложения.
— Понимание работы TCP/IP.
— Опыт разработки тестов.

Задачи:
— Разработка сервисов proxy, VPN, monitoring.
— Взаимодействие с командой разработчиков.
— Оптимизация производительности, поиск узких мест, рефакторинг.

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

Контакт для связи:
— Телеграм: @flrd0

#работа #вакансия
Сервер или клиент: где производить рендеринг, чтобы ваш веб летал?

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

В статье разобрали преимущества и недостатки разных видов рендеринга, а также рассказали, как улучшить время до интерактивности и на что нужно обращать внимание, если вам важно SEO:

https://tprg.ru/gbWL

#веб
This media is not supported in your browser
VIEW IN TELEGRAM
Энтузиаст превратил старый 35-миллиметровый плёночный фотоаппарат в цифровой с помощью Raspberry Pi

Усовершенствованный Cosina Hi-Lite теперь может снимать фото и видео, хранить их на SD-карте и даже передавать по Wi-Fi. А чтобы сделать такой же, достаточно запастись Raspberry Pi Zero W, модулем камеры и распечатать на 3D-принтере картридж. Картридж также вмещает небольшой аккумулятор и преобразователь тока.

Подробнее о своём опыте, парень рассказал в статье: https://tprg.ru/Qdb7

#diy #raspberry