Заметки Техдира
541 subscribers
20 photos
24 links
Мир разработки глазами технического директора. Рассказываю о глобальных трендах в мире IT и делюсь личным опытом

По поводу сотрудничества пишите: @Tehjoy

Сайт: https://ag-soft.ru
Download Telegram
Какой язык программирования был использован выше?
Anonymous Quiz
33%
Scala
8%
Lisp
56%
Lisaac
4%
Smalltalk
​​​​Что такое паттерны ООП ?

Паттерн (от англ. «pattern» - шаблон) – алгоритм действий, который можно применить при решении той или иной задачи. Паттерны ООП – это набор рекомендаций, который придумали опытные программисты и который не накладывает на программиста никаких обязательств.

Рассмотрим паттерн «singleton» (одиночка) - описание какого-то класса в системе, который будет создан всего один раз. Набор правил, которых нужно придерживаться и которые обязывают программу создавать только один экземпляр.

Простым языком: пусть у нас есть некое множество овец. Определенные внешние факторы требуют, чтобы у этих овец был только один пастух. Если же пастухов становится 2 и более, овцы теряются. В данном контексте singleton – это пастух. Это значит, что система, которая создается программистом, должна обеспечить уникальность пастуха и не должна позволять другим программистам ставить еще одного или более пастухов для выпаса овец. Таким образом, программист будет обращаться все время к одному пастуху.

Паттерны объекто-ориентированного программирования важны с точки зрения построения архитектуры приложений. Данные рекомендации сильно помогают в работе программистам.

PS: данный пост уже выходил на моем канале. На данный момент мы с командой изменили дизайн и движемся в новом направлении и начать решили именно с поста про ООП и овец :)
Алгоритм Хаффмана

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

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

Ответ на этот вопрос дает один из самых важных и изящных алгоритмов в компьютер сайнс - алгоритм Хаффмана.

Также этот алгоритм дает ответ на вопрос «как построить оптимальный код?», то есть тот код, в котором каждый из элементов алфавита кодируется наименее возможным количеством бинарных символов.
Всем привет! На связи Aero QA. В декабре мы наблюдаем, что CTO наших клиентов стало сложнее защищать бюджеты нового года на разработку, сохраняя ресурсы на текущем уровне. В этих условиях необходимо дойти до нужного результата, сократив Time to market.

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

Начинаем с DevOps аудита — это бесплатно. В этом году готовы взять еще два проекта от целевых клиентов.

По срокам займет от 2 до 4 недель. В итоги аудита включим:

1. Отчет, где покажем:
- Анализ окружений
- Точки роста по каждому направлению
- Практические рекомендации по воздействия
2. Семинары, где расскажем, как использовать полученные наработки.

За подробностями — в директ @dmitri_marin. Мы покажем на конкретных кейсах экспертизу и то, как помогли клиентам значительно сократить time2market активных проектов.

#промо
​​​​Недавно состоялась одна из самых громких свадеб года – свадьба Джигана. Давайте разберем, как работает нагрузочное тестирование на данном примере.

Но для начала давайте ответим на вопрос, что такое нагрузочное тестирование? Нагрузочное тестирование является эмулированием нагрузки, создаваемой большим количеством пользователей или операций. А целью является нахождение предельных возможностей тестируемого ПО, при превышении которых начинаются сбои.

Свадьба Джигана транслировалась в ВКонтакте в онлайн-формате, общее число зрителей трансляции перевалило за 7,5 млн человек. Общая длительность трансляции составила более 5 часов. И ВКонтакте все это выдержал. Перед этим, конечно же, проводилось нагрузочное тестирование.

По сути нагрузочное тестирование — это определение качества работы продукта под определённой нагрузкой на заданном интервале времени.

Главной задачей является определение того, насколько хорошо продукт выдерживает повышенные нагрузки
Что такое протоколы встреч и зачем они нужны?

Протоколы встреч – это такая формальная письменная документация, которая содержит в себе ход обсуждения вопросов, итоги собрания, совещания или конференции.

В крупных компаниях они как правило ведутся секретарем и подписываются обеими сторонами по всем канонам.

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

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

Можно долго перечислять пользу от протоколов , но есть одна важная причина, по которой я обязательно составляю протоколы – это безопасность обеих сторон. Все, что обсуждалось – утверждено и подписано.
Заметки Техдира
Какой язык программирования в примере выше?
Недавно проводил опрос про языки программирования. Конечно же, правильный ответ - Rust.
​​Rust, он же “ржавый”, уже почти 7 лет подряд (с 2016 по 2022) считается любимым языком программирования по версии Stack Overflow среди разработчиков, да и это не удивительно, потому что он модный, надежный и весьма перспективный.

Разрабатывает его компания Mozilla, автором его является Грэйдон Хор, а основан он на “трех китах” - безопасности, скорости и эргономике. Впервые возник он в 2015 году и до сих пор модернизируется. Ходят слухи, что это полноценный приемник С++ и С.

Язык Rust отличается особой безопасностью в работе с памятью (помогает не допускать ее утечек), которая осуществляется во время компиляции путем проверки ссылок, отслеживания владения объектами, учёт времени жизни объектов и оценку корректности доступа к памяти во время выполнения кода.

К слову, Rust также предоставляет средства для защиты от целочисленных переполнений, имеет мощную статистическую типизацию и имеет лаконичный синтаксис, похожий на синтаксис C.

Rust рассматривается как перспективный язык для разработки ядер операционных систем.
Какой здесь язык программирования ?

Transcript show: 'Hello, world!'
Anonymous Quiz
10%
Pascal
11%
Basic
74%
Smalltalk
5%
Fortran
​​Как избежать выгорания сотрудников в IT?

IT специалист - та профессия, которая наиболее подвержена выгоранию (от англ. «burn out») из-за огромного количества проектов и темпов их развития, с которыми приходится справляться сотрудникам.

Забавно, что в массы образ разработчика транслируется следующим образом: солнце, море, прекрасный пляж Бали, куча денег и кокосовый смузи. На деле это скорее выглядит так: постоянный недосып, просевшее зрение и постоянно открытый компьютер. Локация в данной ситуации значения не имеет, ты все равно ее не видишь.

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

Почему выгорают IT-специалисты?

На самом деле, по той же причине, что и люди из других профессий - работа перестает нести смысл. Не всегда проекты - это вау-опыт, чаще рутинные задачи без весомого прироста в зарплате.

Я стараюсь поддерживать своих сотрудников следующим образом:

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

Бизнес - это, в первую очередь, люди, о которых нужно заботиться, которых нужно развивать и направлять. Иначе не будет смысла ни в бизнесе, ни в работе.
Понравилось
С Новым годом! 🎄
Найдено на просторах интернета 😁
​​Smalltalk – это не просто объектно-ориентированный язык программирования, впервые выпущенный в 1970-ых, это динамическая среда исполнения, в которой объекты постоянно создаются, развиваются и уничтожаются. Кстати, этот язык также известен тем, что содержит минимум ловушек для разработчика и имеет стабильный внешний интерфейс основных классов.

Smalltalk оказал огромное влияние на развитие таких языков, как: Objective-C, Java и Ruby, а его создателем считается ученый по имени Алан Кей. Несмотря на современное название, Смолток - известный на слух, но уже сильно устаревший язык, который очень редко используется.

Основная идея Алана Кея заключалась в том, чтобы создать простой и изящный язык для программирования на микрокомпьютере Dynabook, который будет развиваться и поддерживать следующие модели. По мере совершенствования языка была создана версия Small- talk-78, которая широко использовалась внутри фирмы Xerox.

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

Приглашаем вас принять участие в создании Russia Quality Report — исследования российского рынка тестирования и обеспечения качества.

Ежегодно мы опрашиваем ведущих специалистов в индустрии и публикуем подробную аналитику о трендах. Журнал выходит в электронном формате — выпуски прошлых лет можно посмотреть здесь.

Пожалуйста, пройдите наш небольшой опросник.

▪️Это займет не больше 25 минут;
▪️Ваши данные останутся конфиденциальными — мы публикуем только сводную информацию по всем респондентам;
▪️Ответы помогут вам и другим профессионалам понять, куда движется индустрия QA, и вместе найти передовые решения.
Мы ожили!

Сегодня с утра наткнулся на интересную статью.
Пишут, что Xiaomi представит новый складной смартфон 14 августа.

Я разглядел на фото, что задняя панель будет выполнена из нанокожи. А рядом с камерой виден логотип Leica.

Кстати, Xiaomi является лидером по поставкам смартфонов в Россию. А РФ, в свою очередь, входит в 10-ку крупнейших рынков смартфонов в мире

Параллельный импорт работает? 🧐
На днях с коллегами обсуждали Unity, кстати, у них выпуск первого движка состоялся в 2005 году.

Помните, когда-то была популярная игра Temple Run? Так вот она тоже была сделана на Unity. Благодаря этому движку было создано свыше 50% всех мобильных игр, а также около 60% всего контента для AR и VR.

А вот несколько знаменитых игр, где использовался Unity:

🔹 Pokémon go
🔹 Monument Valley
🔹 Slender: the arrival
🔹 Hearthstone
🔹 Ori and the Blind Forest (за год, кстати, продали более 420 млн копий игры)

Мы в работе тоже активно используем Unity. Вот один из наших последних проектов, сделанных на блокчейне. Полюбуйтесь :)
Есть такой бот в Telegram от компании Silero, который умеет озвучивать текст голосами персонажей из видеоигр.

Silero синтезирует нужный голос и воспроизводит набранный текст. К слову, русский язык поддерживается.

В последнем обновлении добавили поддержку голосов из Dota 2 и League of Legends. Сам бот доступен здесь

Ранее в боте Silero же появилась поддержка голосов из: Warcraft 3, Reforged, Half-Life 2, S.T.A.L.K.E.R, Call of Pripyat и Portal 2

Чат-боты используют 39% фирм, чтобы сделать свои сайты более привлекательными. Компании SaaS составляют 65.1% предприятий, внедривших чат-ботов.

Почитать подробнее можно по ссылкам:

https://www.bloggersideas.com/ru/chatbot-statistics/

https://vgtimes.ru/news/92984-bot-v-telegram-nauchili-ozvuchivat-tekst-golosami-personazhey-iz-dota-2-i-league-of-legends.html
Актуальные зарплаты в IT

Ну что, доллар уверено пока держится в районе 100 рублей.

Повлияет ли нынешний курс доллара на зарплаты, узнаем позже, а пока предлагаю посмотреть на актуальный график зарплат на июль 2023 года.

На картинке представлен график зарплат по мнению Head Hunter
Предлагаемые зарплаты сильно зависят от знаний и опыта работы кандидатов.

Но уже из этого графика можно увидеть, что нуждаются в IT специалистах больше всех Москва, Питер и Дальний восток.

Даже для Juniorов самые высокие зарплаты будут в Москве и на Дальнем Востоке — в среднем 67 360  и 59 970 рублей соответственно.
А вот самый низкий доход для новичков в ИТ указывают работодатели из Сибири — порядка 46 100 рублей. 
👨‍💻 72% россиянок хотят выйти замуж за IT-специалиста.

В основном о таком желании заявили девушки 20-35 лет из Москвы и Санкт-Петербурга.

Востребованность IT-специалистов на рынке труда — основной фактор, почему россиянки хотят заполучить такого жениха (61%). Больше половины (57%) опрошенных привлекает возможность айтишников работать из любой точки мира, а каждую десятую — что они много путешествуют.

Также девушки отметили эрудированность: 35% привлекает то, что такие парни «дружат» с техникой и могут помогать в этих вопросах, а 34% — их ум и умение решать сложные задачи.

При этом у 10% россиянок уже есть подруги, которые вышли замуж за IT-специалиста. Подругам девушки обычно завидуют — ведь такие пары «хорошо живут и регулярно посещают разные страны», — говорится в отчете по результатам опроса.
​​В офисе часто просят поделиться полезной литературой. Делюсь :)

Моя настольная книга – это «Язык программирования С», написанная Брайаном Керниганом и Деннисом Ричи (кстати, он является одним из авторов языка С).

Можно сказать, это классическая литература в области IT, задающая стандарты языка.

С момента публикации в 1978 г. книги "Язык программирования Си" в мире компьютеров произошла революция. Большие машины стали еще больше, а возможности персональных ЭВМ теперь сопоставимы с возможностями больших машин десятилетней давности.

Первоначально Си был создан Деннисом Ритчи как инструмент написания операционной системы UNIX для машины PDP-11 и реализован в рамках этой операционной системы. И операционная система, и Си- компилятор, и, по существу, все прикладные программы системы UNIX (включая и те, которые использовались для подготовки текста этой книги1) написаны на Си. Фирменные Си-компиляторы существуют и на нескольких машинах других типов, среди которых IBM/370, Honeywell 6000 и Interdata 8/32. Си не привязан к конкретной аппаратуре или системе, однако на нем легко писать программы, которые без каких- либо изменений переносятся на другие машины, где осуществляется его поддержка.

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

Рекомендую 👍🏼