Pull to refresh
0
0.1
Send message

Будущее наступило, восстание машин уже идёт. Просто ползучим методом

Level of difficultyEasy
Reading time16 min
Views2.7K
В отличие от большинства своих статей, сегодня я не буду рассказывать ни о каких своих находках в области разработки железа или программ. Сегодня меня тянет пофилософствовать о глобальной проблеме – отношению ряда ответственных работников к внедрению программных систем в повседневную жизнь.

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

Но так получилось, что довелось мне заглянуть в мир ИИ не через популярные статьи, а покопаться во всём руками… И пообщаться с теми, кто там давно копается… Тут-то и полезли в голову разные интересные мысли. Возникло у меня ощущение, что восстание машин уже идёт, но оно не такое, что разом все машины восстали, а просто имеется медленный и незаметный процесс. О том, что я вижу и какие, как мне кажется, есть пути решения, сейчас и буду рассказывать.


Читать дальше →
Total votes 24: ↑19 and ↓5+21
Comments9

Принципы SOLID на примерах из жизни и разработки

Level of difficultyEasy
Reading time8 min
Views6.5K

Задача этой статьи только одна - попробовать уложить принципы SOLID на понятных «бытовых» примерах, а уже потом посмотреть, как оно может работать на практике - в коде.

Итак, SOLID - это 5 принципов, которые используются при разработке приложений. На каждый принцип по букве:

1. S — Single Responsibility Principle (Принцип единственной ответственности)

Определение: Каждый класс должен выполнять только одну задачу.

Пример из жизни:

Например, мы купили шкаф для одежды. 

Читать далее
Total votes 20: ↑14 and ↓6+12
Comments23

Как завалить проект и карьеру: 10+ вредных советов разработчику от менеджеров и сеньоров

Level of difficultyEasy
Reading time3 min
Views18K
Недавно мы в «Лаборатории Касперского» провели онлайн-митап, где технические менеджеры и разработчики из команды Mobile Dev давали вредные советы про работу и карьеру. В частности, коллеги объясняли, что нужно сделать, чтобы поджечь релиз и затормозить свое развитие, и какие рабочие сигналы игнорировать, чтобы постоянно жить в хаосе.



В этом посте — краткая выжимка эфира в нескольких ключевых тезисах. Если же вам интересно послушать более развернутую дискуссию и аргументы участников, посмотрите запись митапа здесь или в виджете ниже.
Читать дальше →
Total votes 58: ↑36 and ↓22+20
Comments13

Отстаньте от подчинённых: 4 критические ошибки начинающих IT-руководителей

Reading time13 min
Views15K

На управленца-новичка сваливается масса забот. И дело не только в ином уровне ответственности и новых, более значительных бизнес-целях. Главная сложность – люди в команде. 

Как выстраивать грамотную коммуникацию с подчинёнными? По мнению автора статьи Cindy Sridharan*, многие новоиспечённые начальники, стремясь завоевать расположение людей, слишком вовлекаются в заботу о них и пренебрегают другими важными задачами. В итоге, любовь сотрудников может стать опасной штукой, которая принесёт вред и убытки всей организации. Во всём нужно искать баланс. 

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

*Обращаем ваше внимание, что позиция автора может не всегда совпадать с мнением МойОфис.

Читать далее
Total votes 25: ↑21 and ↓4+19
Comments7

Типы в программировании как математические множества

Level of difficultyEasy
Reading time5 min
Views6.6K

Типы в программировании можно(и нужно) рассматривать как математические множества.

Мысль хоть и очевидная, но из моей головы давно выветрилась.

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

Читать далее
Total votes 13: ↑12 and ↓1+15
Comments24

Полное руководство по CSS Flex + опыт использования

Reading time6 min
Views54K

Как и CSS Grid, Flex Box довольно сложен, потому что состоит из двух составляющих: контейнера и элементов внутри него.

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

Читать!
Total votes 14: ↑11 and ↓3+13
Comments13

Полный гайд по CSS Flexbox с примерами из практики

Level of difficultyEasy
Reading time10 min
Views12K

Привет! Сегодня мы поговорим про flexbox в css. Это очень важная тема, в которой должен разбираться каждый фронтенд-разработчик или верстальщик. Я покажу вам как flexbox работает на реальных примерах. А в конце статьи покажу лайфхаки, которыми сам постоянно пользуюсь на работе.

Читать далее
Total votes 30: ↑28 and ↓2+30
Comments8

Что делает ChatGPT… и почему это работает?

Level of difficultyMedium
Reading time75 min
Views155K

То, что ChatGPT может автоматически генерировать что-то, что хотя бы на первый взгляд похоже на написанный человеком текст, удивительно и неожиданно. Но как он это делает? И почему это работает? Цель этой статьи - дать приблизительное описание того, что происходит внутри ChatGPT, а затем исследовать, почему он может так хорошо справляться с созданием более-менее осмысленного текста. С самого начала я должен сказать, что собираюсь сосредоточиться на общей картине происходящего, и хотя я упомяну некоторые инженерные детали, но не буду глубоко в них вникать. (Примеры в статье применимы как к другим современным "большим языковым моделям" (LLM), так и к ChatGPT).

Читать далее
Total votes 248: ↑248 and ↓0+248
Comments121

Стек с поиском максимума

Level of difficultyEasy
Reading time9 min
Views1.4K

Несколько раз мне попадалась задача из разряда «собеседование в Google»:
нужно реализовать стек, хранящий целые числа, в котором дополнительно должна существовать операция max(), возвращающая максимальный элемент за O(1) времени и с использованием O(1) дополнительной памяти (в сравнении со стеком без этой операции).

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

Читать далее
Total votes 13: ↑11 and ↓2+16
Comments35

Gitlab и Specification-as-Code: спасение от хаоса и кофеиновой зависимости

Reading time6 min
Views4K

Для компании SimpleOne управление спецификациями требований было настоящей головной болью, требующей унификации подходов и учета потребностей разных команд. Мы стояли перед выбором: сделать свое решение для управления требованиями и сбора спецификаций или попробовать уже существующие практики. Концепция DocOps привлекла внимание тем, что помогает стандартизировать инструменты и навести порядок в хранении артефактов. В этой статье мы расскажем, как внедрили подход на основе docs as code, какие преимущества получили и какие трудности преодолели на пути.

Читать далее
Total votes 24: ↑21 and ↓3+24
Comments17

Оптимизация производительности Vue.js приложений: Практическое руководство

Level of difficultyEasy
Reading time4 min
Views1.5K

Vue.js — один из самых популярных фреймворков для создания пользовательских интерфейсов. Однако, как и в любом крупном веб-приложении, при увеличении количества компонентов и данных, производительность может снижаться. Оптимизация производительности — важный аспект, который влияет на пользовательский опыт и SEO-оценки. В этом руководстве мы рассмотрим практические подходы и техники, которые помогут вам улучшить производительность Vue.js приложений.

Читать далее
Total votes 4: ↑4 and ↓0+6
Comments3

Шаблоны для эффективной работы с DOM с помощью современного чистого JavaScript

Level of difficultyMedium
Reading time11 min
Views9.6K



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

Читать дальше →
Total votes 34: ↑34 and ↓0+44
Comments5

Notion умер, да здравствует Obsidian

Level of difficultyEasy
Reading time4 min
Views40K

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

В Notion я хранил личные задачи и заметки. Notion был базой знаний моей жизни. Он повидал бюджет на свадьбу и бюджет на переезд. Он даже повидал план ремонта! Это приложение было всегда открыто на моём компьютере.

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

Читать далее
Total votes 36: ↑31 and ↓5+31
Comments170

Функциональные опции в Go

Level of difficultyEasy
Reading time5 min
Views5.8K

Сегодня я хочу поделиться своими знаниями о паттерне, который может значительно упростить работу, если ты пишешь на Go. Речь пойдет о функциональных опциях. Поверь, как только ты разберешься c этим, твой код станет немного гибче и проще.

Читать далее
Total votes 20: ↑19 and ↓1+19
Comments45

Как мы учили Yandex Code Assistant помогать разработчикам с написанием кода и делать их счастливыми

Reading time12 min
Views19K

Привет, Хабр! Меня зовут Виктор Плошихин, я руковожу ML‑лабораторией в Yandex Infrastructure, команде, которая создаёт платформу для разработчиков Яндекса. Мой коллега Константин Моксин @kamoksin работает разработчиком‑аналитиком в этой же лаборатории — и мы сами пишем очень много кода. Этой осенью мы запустили Yandex Code Assistant — помощник для работы с кодом — и открыли к нему бесплатный доступ в режиме тестирования на платформе Yandex Cloud. И нам было важно не просто научить нейросеть писать код, но и сделать так, чтобы разработчики были довольны работой этого помощника.

В статье расскажем, для чего мы сделали кодового ассистента, как начинали с нуля, и как замеряли его качество метрикой «Счастье разработчиков».

Читать далее
Total votes 43: ↑41 and ↓2+45
Comments40

Ликбез по типизации в языках программирования

Reading time12 min
Views514K
image

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

В полной версии находится подробное описание всех видов типизации, приправленное примерами кода, ссылками на популярные языки программирования и показательными картинками.
Читать дальше →
Total votes 239: ↑232 and ↓7+225
Comments180

Как подступиться к fullstack-разработке сегодня, если ты проспал десять лет

Reading time26 min
Views149K


Привет, Хабр! Несколько месяцев назад у меня остро встал вопрос смены профиля деятельности и я обнаружил, что для претендента на вакансию web-разработчика сейчас недостаточно навыков десятилетней давности (какая неожиданность!). Пришлось срочно актуализировать свои знания. Заодно я решил составить шпаргалку с описанием большинства современных технологий, чтобы в случае чего кидать жаждущим новых знаний линк на эту статью, да и самому не забывать.
Читать дальше →
Total votes 162: ↑135 and ↓27+108
Comments381

Объясняем современный JavaScript динозавру

Reading time15 min
Views266K


Если вы не изучали JavaScript с самого начала, то осваивать его современную версию сложно. Экосистема быстро растёт и меняется, так что трудно разобраться с проблемами, для решения которых придуманы разные инструменты. Я начал программировать в 1998-м, но начал понимать JavaScript только в 2014-м. Помню, как просматривал Browserify и смотрел на его слоган:


Browserify позволяет делать require («модули») в браузере, объединяя все ваши зависимости


Я не понял ни слова из предложения и стал разбираться, как это может помочь мне как разработчику.


Цель статьи — рассказать о контексте, в котором инструменты в JavaScript развивались вплоть до 2017-го. Начнём с самого начала и будем делать сайт, как это делали бы динозавры — безо всяких инструментов, на чистом HTML и JavaScript. Постепенно станем вводить разные инструменты, поочерёдно рассматривая решаемые ими проблемы. Благодаря историческому контексту вы сможете адаптироваться к постоянно меняющемуся ландшафту JavaScript и понять его.

Total votes 174: ↑171 and ↓3+168
Comments505

Монетизация личного бренда айтишника

Level of difficultyEasy
Reading time9 min
Views4.8K

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

Читать далее
Total votes 33: ↑10 and ↓23-11
Comments9

Управление проектами: дайджест публикаций #16

Level of difficultyEasy
Reading time7 min
Views3.1K

Борьба с хаосом, проектная документация, SA для самых маленьких, скрамбан и очень (!) много замен для Notion и всё интересное, что писали на этой неделе про управление проектами. Мы прочитали все публикации и выбрали для вас самые крутые и полезные. Читайте, сохраняйте и применяйте!

Читать далее
Total votes 12: ↑10 and ↓2+10
Comments2

Information

Rating
3,274-th
Registered
Activity

Specialization

Fullstack Developer
Middle
From 250,000 ₽
JavaScript
Vue.js
Node.js
HTML
CSS
SQL