Pull to refresh
0
0
Send message

Мои взгляды на программирование на июль 2024 года

Reading time5 min
Views5.8K
Эта статья – собрание убеждений о разработке ПО, которые выработались у меня на сегодняшний день. Всё основано на личном опыте.

Подход к задачам


Основная часть моей работы – разбираться с тикетами, и я до сих пор продолжаю совершенствоваться в этом деле. Вот несколько вещей, которые я открыл для себя в процессе.
  • Разные задачи, проекты и команды требуют разных подходов. Например, сделать пейсмейкер без автоматических тестов было бы безответственным решением – кто-то может от этого пострадать. И вместе с тем, глупо изводиться по поводу автоматических тестов на геймджеме, куда вы отправились на выходных. Содержание понятия «хороший код» меняется в зависимости от контекста, и нужно адаптировать свой подход под конкретную ситуацию.
  • Делайте марш-броски. Бывает, что я ставлю себе цель довести какую-то функциональность до готовности в кратчайшие сроки, пусть даже срезая углы где только можно, с кодом ужасного качества и TODO на каждом шагу. Когда у меня появится что-то рабочее, тогда и буду приводить всё в должный вид. Я пришел к выводу, что это хороший способ обозначить для себя проблемные зоны, а также неплохой путь к ускорению процесса разработки. На эту тему есть статья «Выбросьте первый набросок кода».
  • Если я бьюсь головой об задачу и никак не могу сдвинуться с мертвой точки, значит, необходимо оторваться от нее на какое-то время.
  • Прежде чем начать работу над сложной задачей, я задаю себе вопрос: «А что если вообще этого не делать?» Как правило, вопрос оказывается глупым и выполнять задачу все-таки приходится. Но примерно в пяти процентах случаев я осознаю, что определенную часть работы можно спокойно пропустить.

Читать дальше →
Total votes 14: ↑12 and ↓2+15
Comments17

Симуляция живущего мира, живые NPC

Level of difficultyEasy
Reading time9 min
Views11K

Давно уже вынашиваю такую идею, периодически продумываю разные концепты. Еще когда занимался картами для WC3 хотел сделать симуляцию, когда каждый NPC в игре - герой, со своими целями и потребностями. NPC бы были такими же героями, как и игрок: фармили бы опыт и предметы, сражались бы с друг другом и т.д. Но если отойти от wc3 - суть концепта такая же - каждый NPC реально "живет" в игре. Это в теории поможет создать "реальный" живой мир, с которым игрок может взаимодействовать.

Читать далее
Total votes 21: ↑19 and ↓2+24
Comments33

Как дела у российского геймдева: 7 достойных игр последних лет

Level of difficultyEasy
Reading time9 min
Views22K

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

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

Читать далее
Total votes 19: ↑13 and ↓6+11
Comments28

WebSim AI: Бесплатный ИИ-помощник для быстрой веб-разработки – время фронтендерам напрячься

Level of difficultyEasy
Reading time9 min
Views7K

Привет, Хабр! Наткнулся на интересный и, как по мне, революционный проект WebSim AI. Покопался в нем несколько дней и сейчас, как вы уже поняли, решил с вами поделиться информацией о нем.

Проект WebSim AI представляет собой мощный инструмент для создания веб-страниц с минимальными усилиями, что может значительно ускорить процесс разработки как для новичков, так и для опытных специалистов.

Читать далее
Total votes 11: ↑8 and ↓3+5
Comments12

Как приручить эмоции, чтобы прийти к успеху

Reading time10 min
Views8.7K

Привет! Я - Ольга Красильникова. Последние 2,5 года работаю в компании Bercut. Сначала отвечала за направление обучения и развития, сейчас – за психологическое благополучие команды.

За время своей работы как психолог и коуч я провела более 200 сессий с TOP-менеджерами, тимлидами, старшими и ведущими аналитиками, разработчиками и тестировщиками. На встречах мы учились распознавать эмоции и их послания, искать решение, отталкиваясь от информации, которую несет эмоция, менять мышление и поведение. Это помогало улучшать отношения в командах, выполнять KPIs, продвигаться по карьерной лестнице. Ранее я написала статью “Relax, take IT easy: как вернуть спокойствие в работу”. А сегодня мы:

- выясним, где ошибаемся, когда пробуем управлять эмоциями на работе;

- разберем, как сделать эмоции путеводной звездой в достижении целей;

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

Читать далее
Total votes 16: ↑14 and ↓2+15
Comments3

Дизайн-тренды 
2025

Level of difficultyEasy
Reading time3 min
Views5.1K

UI/UX-дизайн — это дикий мир, где тенденции сменяются с такой скоростью, что успевай только следить. Но не переживайте, мы держим руку на пульсе и готовы делиться свежими новостями. Давайте посмотрим, что нас ждёт в 2025 году.

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

GPT для генерации кода в реальном применении на производстве

Reading time4 min
Views12K


Кажется почти все используют GPT или другие LLM-based-решения для генерации кода. Есть куча проектов, где так же генерируют фронт (код интерфейсов). Собственно, когда у нас появилась дизайн-система со множеством компонентов, стало понятно, что это идеальная документация для обучения модели, ведь она включает в себя описание типов, аргументы, тесты и состояния использования компонентов.

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

Многие наши компоненты достаточно сложные. Самый сложный — таблица, потому что у нас много разных типов таблиц для производственных данных. Внезапно выяснилось, что разработчику нужно три дня, чтобы вникнуть в матчасть и написать свою первую таблицу — или же примерно 30 секунд на запрос «сделай мне таблицу для такой-то задачи», чтобы GPT-4 выбрал подходящие параметры и сразу показал, что надо. Либо дал скорректировать запрос, если таблица не подходит.
Читать дальше →
Total votes 25: ↑22 and ↓3+22
Comments27

Искусство общения с LLM: Гайд по техникам Prompt Engineering

Level of difficultyMedium
Reading time8 min
Views6.3K

Привет, Хабр! Меня зовут Никита Кулин, ML-Engineer NLP моделей.

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

Это мой первый пост, поэтому буду рад любой обратной связи!

Читать далее
Total votes 13: ↑10 and ↓3+11
Comments3

Почему свободного времени всё меньше, если производительность труда растёт?

Level of difficultyEasy
Reading time8 min
Views52K


Последние сто лет производительность труда ежегодно растёт. Благодаря научно-техническому прогрессу человек с компьютером заменяет тысячу бухгалтеров и вычислителей 19 века. Но не работает меньше. Скорее наоборот. Он работает больше.

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

Как видим, этого не произошло.
Читать дальше →
Total votes 119: ↑100 and ↓19+109
Comments869

10 игр для изучения JavaScript

Reading time3 min
Views32K

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

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

Читать далее
Total votes 14: ↑13 and ↓1+17
Comments0

22 сайта для программиста, которые помогут заговорить на английском

Reading time3 min
Views128K
Хабр, привет!

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

Приступим!

Учить лексику


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

ЛеоПереводчик

С этим плагином удобно переписываться с коллегами. Он автоматически переводит непонятные слова и выражения. Незаменимый инструмент, когда нет времени на доскональные переводы и нужен срочный ответ.
Читать дальше →
Total votes 45: ↑39 and ↓6+33
Comments13

Кажется, LLM программирует лучше меня

Level of difficultyEasy
Reading time15 min
Views33K

Может ли искусственный интеллект (ИИ) превзойти программиста-человека при написании кода? Проведя ряд экспериментов, становится понятно, что ответ на этот вопрос – уверенное да!

Давайте в этом убедимся
Total votes 52: ↑30 and ↓22+14
Comments250

Pull request'ы на GitHub или Как мне внести изменения в чужой проект

Reading time6 min
Views501K
По просьбе tulskiy делаю вольный перевод частей официальной документации GitHub'а Fork A Repo и Send pull requests.

Итак, что же такое «запрос на включение (сделанных вами изменений)» (именно так я перевёл pull request)? В официальной документации гитхаба говорится следующее:
Pull request'ы позволяют вам рассказать другим о тех изменениях, которые вы разместили в своём GitHub-репозитории. Как только pull request отправлен, заинтересованные стороны рассматривают ваши изменения, обсуждают возможные правки или даже добавляют дополняющие коммиты, если нужно.

Говоря своим языком: Посылая pull request, вы говорите автору изначального репозитория (и всем заинтересованным лицам): «Смотрите, что я сделал, не хотите ли принять мои изменения и влить их в проект?»
Читать дальше, но теперь уже обо всём по порядку
Total votes 84: ↑80 and ↓4+76
Comments31

Хорошее не бывает дешёвым. Но бывает бесплатным

Reading time7 min
Views57K
В этой статье хочу рассказать о Rolling Scopes School – бесплатном курсе по JavaScript / фронтенду, который я прошла, и который мне очень понравился. Узнала я об этом курсе случайно, информации в сети о нём, на мой взгляд, немного, а курс отличный и заслуживает внимания. Думаю, эта статья будет полезна тем, кто пытается самостоятельно изучать программирование. Во всяком случае, если бы мне кто-то раньше рассказал об этом курсе, я точно была бы благодарна.
Читать дальше →
Total votes 17: ↑15 and ↓2+13
Comments24

Гуманитарий с 0 знаний в программировании. 4 часть. Привет и пока, геймдев

Level of difficultyEasy
Reading time13 min
Views14K

Маленькие дети! Ни за что на свете. Не идите в геймдев, Игры создавать! В геймдеве реклама, В геймдеве обманы, В геймдеве большие деньги, Заработают на вас!

Но что же нам делать!?

Только лишь — качественная информация и самообразование!

Сохранить нервы, время и деньги
Total votes 15: ↑10 and ↓5+6
Comments32

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

Reading time13 min
Views158K

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


Всего 2 года назад я была 17-летней школьницей и ничего не знала о программировании. Это не помешало мне начать учиться и через несколько месяцев выпустить свою первую игру в Steam. Сегодня у меня более 10 игр для ПК, интернета и мобильных устройств и свыше 1,9 млн игроков.


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

Читать дальше →
Total votes 14: ↑8 and ↓6+2
Comments3

Удачная модель ветвления для Git

Reading time10 min
Views987K
Перевод статьи Vincent Driessen: A successful Git branching model

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



В качестве инструмента управления версиями всего исходного кода она использует Git.

Читать дальше →
Total votes 180: ↑171 and ↓9+162
Comments105

GIT-ветвление и попытка не запутаться

Reading time7 min
Views7.8K

Всем доброго дня!

Наша компания занимается разработкой ПО для госсектора и постоянно сертифицирует свои программы для обработки гос. тайны. А это накладывает определенные ограничения и самое главное из них: мы должны предоставить все исходные коды нашего проекта и если попросят суметь объяснить, что делает каждая строчка. Проблема в том, что если используешь готовые компоненты, то их исходники тоже нужно предоставлять и уметь все про них рассказать. Поэтому мы решили сделать свой фреймворк, ведь про него мы будем знать все. Фреймворк мы сделали и назвали его "Platform". Он продолжает развиваться и все свои проекты мы делаем на нем. Проблема заключается в том что, после выпуска продукта и его сдачи мы вынуждены его замораживать и не можем в него вносить больших изменений - только исправлять баги, а большинство багов обнаруживается как раз в самом фреймворке и в результате мы вынуждены иметь версии фреймворка для каждого сданного проекта (ну или для группы одновременно выпущенных продуктов). В итоге, нам пришлось придумать свой набор правил и схему ветвления в GIT для разработки Platform. Схема приведена ниже вместе с примером работы по ней:

Перейти к схеме
Total votes 8: ↑5 and ↓3+7
Comments10

Тонкости благополучного git-merge

Reading time8 min
Views360K

Вступительное слово


Считается, что «киллер фичей» СКВ Git является легковесное ветвление. Я ощутил это преимущество в полной мере, ведь я перешел на Git с SVN, где ветвление было достаточно дорогим процессом: для создания ветки нужно было скопировать весь рабочий каталог. В Git все проще: создание ветки подразумевает лишь создание нового указателя на определенный коммит в папке .git/refs/heads, который является файлом с 40 байтами текста, хешем коммита.

Основными командами пользовательского уровня для ветвления в Git являются git-branch, git-checkout, git-rebase, git-log и, конечно же, git-merge. Для себя я считаю git-merge зоной наибольшей ответственности, точкой огромной магической энергии и больших возможностей. Но это достаточно сложная команда, и даже достаточно длительный опыт работы с Git порой бывает недостаточным для освоение всех ее тонкостей и умения применить ее наиболее эффективно в какой-либо нестандартной ситуации.

Попробуем же разобраться в тонкостях git-merge и приручить эту великую магию.

Здесь я хочу рассмотреть только случай благополучного слияния, под которым я понимаю слияние без конфликтов. Обработка и разрешение конфликтов — отдельная интересная тема, достойная отдельной статьи. Я очень рекомендую так же ознакомиться со статьей Внутреннее устройство Git: хранение данных и merge, содержащей много важной информации, на которую я опираюсь.
Читать дальше →
Total votes 76: ↑75 and ↓1+74
Comments47

Алгоритмы быстрого умножения чисел: от столбика до Шенхаге-Штрассена

Level of difficultyMedium
Reading time26 min
Views40K

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

И уж конечно, никогда при написании a * b мы не задумываемся о том, как реализовано умножение чисел a и b в нашем языке. Какие вообще есть алгоритмы умножения? Это какая-то нетривиальная задача?

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

Скорее к формулам!
Total votes 173: ↑173 and ↓0+173
Comments28
1
23 ...

Information

Rating
Does not participate
Registered
Activity

Specialization

Graphic Designer