Привет, Хабр! Меня зовут Ричард, я работаю в команде kPHP в VK, занимаюсь разработкой kPHP, плагинов для IDE, а также другого инструментария, делая жизнь разработчиков проще. В своей работе мне приходится иметь дело с PSI деревьями, AST, самописными структурами данных и их модификациями, и даже QuickSelect (и более сложные алгоритмы) мне доводилось реализовывать. Хочу немного поговорить про один из краеугольных, пожалуй, камней в IT, а именно про «алгоритмы и структуры данных» — тема не теряет актуальности со времен появления Хабра. Заранее оговорюсь, мой пост на 90% состоит из личного опыта во время обучения, работы и преподавания.
Пользователь
Мудреный код — пожалуй, худший выбор
Что тут вообще происходит?
Такой подход часто называют код-гольфингом. Этим весело заниматься для собственного удовольствия, но к «хорошему коду» он имеет весьма отдаленное отношение. Все (включая и тех, кто пишет для Leetcode) в курсе, что хорошим кодом это не является. В контексте индустрии такой код – худший вариант, который можно представить.
Еще одно запоздалое прозрение для меня было связано с противоположным концом спектра: писать понятный код оказалось сложнее всего. Оглядываясь назад, могу сказать, что это вполне логично. Недаром при инспекции кода от сениора, одного из опытных сотрудников, было гораздо проще разбираться что к чему и делать замечания, чем при работе с кодом начинающего программиста на низкой должности из L3.
Феномен PlayStation. Как Sony совершила революцию в мире видеоигр и победила в войне консолей
На заре 1990-х годов в мире игровых консолей было всего два имени: Sega и Nintendo. Была конечно ещё Atari, но к тому моменту, выиграв спор по поводу прав на Тетрис, Nintendo оставила её далеко позади. И в то время никто не мог предвидеть, что компания по производству бытовой электроники с нулевым опытом в разработке видеоигр радикально изменит рынок так, что вскоре её имя станет де-факто нарицательным для домашних консолей. Более того, что её влияние навсегда изменит наше представление об играх.
PlayStation от Sony это не просто консоль. Это революция, положившая начало современной эпохе видеоигр. Действительно, для нескольких поколений подряд «PlayStation» подразумевался как общий термин для консолей в целом.
Это история о том, как началось наследие PS, ознаменовав рождение глобального игрового феномена, который изменил ландшафт развлечений.
История создания Ведьмака: от литературной саги до игровой франшизы
Ко мне в руки тут попала одна книжка про разработку этих ваших ведьмаков и Гервантов из Рыбии. История франшизы, короче. В общем, прочитал я её, проникся, решил изучить тему глубже, а потому, дорогие читатели, держите материал, без регистрации и СМС, даром. Это будет компиляция всевозможной инфы в одном месте, максимально подробно. Кто уже читал эту книгу или изучал разные источники — и так всё знает, кто не читал — экономлю вам время и приоткрываю завесу тайн, которые, возможно, вы не знали. Всё это приправлено разными интервьюшками, концепт-артами и прочей информацией с забугорных сайтов и других годных материал. Должно быть интересно. Тем более игре совсем недавно (26 октября) стукнуло 16 лет, хороший повод. Итак…
Главное событие в мире AI: создатель ChatGPT рассказал, в какое будущее он нас всех ведет
В этой статье мы расскажем вам про самые важные фичи, внедренные за последние полгода в ChatGPT (самую мощную нейросетку в мире), а также обсудим – каким видением будущего поделился Сэм Альтман на прошедшей 7 ноября конференции от OpenAI. Спойлер: они хотят запилить «агентов Смитов», которые смогут самостоятельно взаимодействовать с миром!
Нужно ли говорить на собеседовании, что предложенная задача вам уже встречалась?
Недавно мое внимание привлек пост на Reddit. Автор поста спрашивал, как быть, если на собеседовании вам предлагают задание, которое вы разбирали до этого. Занятно, что данная тема и до того поднималась много раз, и обсуждения, которые неизбежно за этим следуют, на мой взгляд, представляют немалый интерес.
Основы фронтенд-разработки: фреймворки, DOM-дерево, взаимодействие с бэкендом
Современная сфера веб-разработки пестрит всевозможными технологиями и инструментами, среди которых новичок может легко растеряться. Статья посвящена общему обзору принципов фронтенд- и бэкенд-разработки, а также знакомит начинающих с наиболее актуальными инструментами и навыками, которые им потребуются для успешного продвижения по карьерному пути.
«Хакер»: самые громкие, яркие и важные события 2022 года в мире безопасности
До нового года осталась всего ничего, а значит, пора подвести итоги и вспомнить самые интересные, важные и странные события последних двенадцати месяцев, о которых мы писали на Xakep.ru. Мы выбрали «призеров» в десяти номинациях и расскажем о наиболее заметных атаках, взломах, утечках, фейлах и других событиях уходящего 2022-го.
30 фильмов про IT и киберпанк, которые можно пересмотреть на новогодних праздниках
Создаём и настраиваем собственную CDN
Задача этого репозитория — создать свод знаний о том, как работают CDN, написав одну из них «с нуля». CDN, которую мы будем проектировать, использует следующие технологии: Nginx, Lua, Docker, docker-compose, Prometheus, Grafana и wrk.
Мы начнём с создания одного бэкенд-сервиса, а затем расширим его до многоузловой CDN с симуляцией задержек, а также возможностью наблюдений и тестирования. В каждом из разделов мы обсудим сложности и компромиссы при создании/управлении/эксплуатации CDN.
Захват сетевого трафика в Kali Linux
Привет, Хабр! На связи Рустем, IBM Senior DevOps Engineer & Integration Architect. Сегодня я хотел бы поговорить о сетевой безопасности. DevOps инженеру необходимо разбираться в сетях не хуже специализированного нетворк инженера. В этом же нам поможет Kali Linux и его инструментарий.
Простой Telegram-бот на JavaScript за 10 минут
Привет, Хабр! Эту статью написал Тарас Голомозый, fullstack web-разработчик и преподаватель в школе программирования Эльбрус Буткемп. Хотя про ботов рассказано уже немало, эта тема по-прежнему интересует начинающих разработчиков, — и опыт наших студентов это подтверждает. Позволим себе написать еще одну инструкцию по созданию простого бота на JavaScript с возможностью расширения функционала. В базовом варианте его задача — показывать текущую погоду по геолокации пользователя.
Топ 15 Free программ для видеомонтажа или полный пайплайн загрузки видео на YouTube
Важно: Если вам интересны именно бесплатные программы, то я советую посмотреть мой видеоролик ниже по ссылке - это "байт" на комментарии, лайки и подписку на канал))) Я попробовал сделать максимально не скучный ролик с 2д и 3д анимациями, анимированными титрами, переходами, 5-10 секундными вставками из различных видео и фильмов в качестве смешных перебивок, а так же самих шуток.
Если же вам интересен именно процесс создания данного видео, написание сценария, съёмка, монтаж, озвучка, создание 2д и 3д эффектов, поиск перебивок, а так же создание превью и заставок к видео, загрузка видео на ютуб, его оптимизация, простановка тегов и прочее - советую прочитать именно текстовую статью ниже. Если же вам интересно и то и другое - советую начать с видео))
Ещё одна подборка книг по фронтенду
«Под поверхностью машины движется программа. Без усилий, она расширяется и сжимается. Находясь в великой гармонии, электроны рассеиваются и собираются. Формы на мониторе — лишь рябь на воде. Суть остаётся скрытой внутри…» Мастер Юан-Ма, Книга программирования.
Под катом собрали 8 книг, которые рекомендуют прочитать наши разработчики. В целом, они все есть на заглавной картинке. Но если хотите почитать разные интересные вырезки из книг, цитаты, пару задач и мнения наших frontend-разработчиков — заходите под кат.
С Днем Рождения, Джерри Лоусон, спасибо за картриджи для видеоигр
Я увидела, что Google опубликовал в его честь тематический Doodle «Gerald «Jerry» Lawson's 82nd Birthday», где все желающие могут создать свою собственную игру.
Оказалось, сегодня, 1 декабря, Джерри Лоусону, создателю картриджа для видеоигр, исполнилось бы 82 года. Под катом небольшая история его жизни.
Я веду канал в Telegram GameDEVils и блог на Substack . Подписывайтесь, я делюсь там материалами про геймдизайн, разработку и историю игр.
Статья о том, как «Не надо искать работу за границей»
Все советы выполнены профессионалами. Пожалуйста, не пытайтесь повторить самостоятельно!
Упс и опаньки… Юмору не место в сообщениях об ошибках
Сообщения об ошибках — чуть ли не единственное место, где пользователь программы может напрямую пообщаться с её автором. Ну как пообщаться… Ответить он всё равно ничего не сможет. Даже если сильно хочется. А иногда в сообщениях об ошибках такой треш, что действительно очень хочется ответить. Или просто взглянуть в глаза того инженера, который это сочинил.
Как кудрявый пухляш сломал крипту: самая полная история краха биржи FTX
На крипторынках фонтаном льется кровь, инвесторы глотают валидол – и всему виной один пухлощекий пацан, который в 30 лет стал практически самым богатым и могущественным криптаном в мире. Объясняю, каким образом состояние Сэма Бэнкмана-Фрида почти полностью испарилось за пару дней (вместе c $200 млрд криптанского капитала), и что всё это значит.
Следующий этап развития Веба
Привет, друзья!
Представляю вашему вниманию перевод этой замечательной статьи, которая содержит интересный обзор истории развития веб-разработки с точки зрения используемой архитектуры.
Веб состоит из технологий, появившихся более 25 лет назад. HTTP
, HTML
, CSS
и JS
были стандартизированы в середине 90-х (когда мне было 8 лет). С тех пор веб эволюционировал в вездесущую платформу приложений. Одновременно с эволюцией веба развивалась и архитектура разработки соответствующих приложений. Сегодня существует большое количество архитектур, которые можно использовать для разработки веб-приложений. В настоящее время самой популярной из них является "Одностраничное приложение" (Single Page App, SPA), но сейчас наблюдается переход к новой улучшенной архитектуре.
Запуск сервера сборки Jenkins
Итак в вашем репозитории накопилось количество сборок превысившее число 1. Настало время задуматься о DevOps(е). Как же уследить за всеми этими сборками?
Классическое решение это запустить сервер сборки. Есть готовая технология, называется Jenkins.
Идея проста. Сервер сборки это инфраструктурный прикладной процесс, который периодически запускает скрипты построения конкретных программных проектов и затем сохраняет *.bin(ари) в конкретную папку или архив. Обычно сервер сборки работает автономно 24/7 и собирает артефакты из репозитория с кодом.
В этом тексте я написал инструкцию-методичку для разворачивания Jenkins на Windows компьютере.
Информация
- В рейтинге
- Не участвует
- Зарегистрирован
- Активность