Pull to refresh
30
0

Web-разработчик, Android-разработчик

Send message

Three.js с нуля на практике: как за несколько часов создать аркадную 3D-игру. Часть 1

Level of difficultyEasy
Reading time31 min
Views8K

Привет! На связи Кристина, фронтенд-разработчик в отделе рекламных спецпроектов KTS.

Наша команда создает визуально эффектные проекты, цель которых — привлечь внимание пользователей. Мы постоянно экспериментируем с разными технологиями и подходами, и вот, наконец, добрались до 3D-анимаций. Недавно я начала изучать Three.js и хочу поделиться своим опытом.

В сети есть множество статей и уроков по Three.js для начинающих, но большинство из них — это теоретический материал. Я же хочу показать, как создавать 3D-анимации на практике. Эта статья будет первой в цикле о разработке простой игры, в которой нужно строить башню из блоков.

Для успешного прохождения туториала достаточно владеть JavaScript и ООП. Каждый этап сопровождается ссылкой на codepen с комментариями в коде. А в конце вас ждет играбельный codepen-блок: вы можете сразу посмотреть на промежуточный результат, в котором уже реализована базовая игровая механика. В статье же я пошагово разберу, как к этому результату прийти.

Читать далее

Как нанять умного айтишника и не затратить 3-4 зарплаты

Level of difficultyEasy
Reading time8 min
Views36K

В последнее время все чаще в инфополе появляются выплески боли руководителей компаний и их HR на тему того, что наблюдается кадровый голод. Обзоры экспертов, аналитиков, заявления сотрудников различных органов, регулярные публикации в СМИ – все говорит о том, что на рынке труда наступили страшные времена и очень сложно найти сотрудников. При чем речь не только за нашу прекрасную ИТ отрасль, данный тренд распространяется вообще на все самые различные сферы хозяйственной деятельности. Но поскольку мы на хабре и, в большинстве своем, мы связаны с ИТ отраслью, то для нас наиболее актуальной является тема кадрового голода в нашей индустрии. И здесь также регулярно появляются статьи на тему сложности найма сотрудников, где данный тренд обмусоливается с самых разных сторон – дорого искать, люди хотят много денег, у людей отсутствует компетенция и мотивация. В общем, много разного, но суть одна – работодатель белый и пушистый, создающий прекрасные условия, которого почему-то игнорируют кандидаты и не приходят толпой с горящими глазами, соревнуюсь в жесточайшей конкуренции между собой за заветную должность. И вот крайней таким «выплеском» стала статья «Почему компании тратят 3-4 зарплаты, чтобы нанять умного айтишника, и как это остановить» от @slava_rumin Понятно, что у человека свое маркетинговое агентство, но просто странно, мягко говоря, видеть рядом со статьями про различные бизнес-кейсы статью про трудности найма сотрудников, которых он не нанимает.

Давайте тоже глянем на рынок IT-рекрутинга в 2025 и подумаем, а в нас ли вообще проблема, или может все же это компании что-то делают явно не так? Ну и заодно поддержим тренд публичности и открытости, развернуто дадим бесценный фидбек HR службам, который поможет им, наконец-то, нормально делать свою работу, увеличить поток кандидатов и эффективнее нанимать персонал.

Читать далее

Роберт, ты мне не дядюшка

Level of difficultyMedium
Reading time6 min
Views24K

Роберт Мартин нехило так повлиял на айти‑индустрию. Он придумал принципы SOLID, о которых спрашивают на собесах, пишут статьи на хабре и спорят в комментариях. Он написал книгу «Чистый код» и сделал это словосочетание айтишным мемом. Если зайти на хэдхантер, вбить в поиске слово «чистый», выбрать специализацию «Программист, разработчик» и нажать «Найти», получим больше семисот вакансий. Про чистоту кода и архитектуры спорят на код‑ревью, в комментариях и статьях по всему интернету. Разговоров о чистоте внутри айти‑тусовки бывает так много, словно мы находимся в сообществе клинеров, а не программистов.

Мартин называет себя «дядюшкой Бобом». В своих работах он выступает в образе опытного мудрого и взрослого родственника, который несёт свет и знания таким зелёным и неопытным племянникам. И у него отлично получилось втереться в доверие! Типичный хороший программист‑анальник бессилен перед таким добрым дядей. И я знаю, о чём пишу. Восемь лет назад я сам запоем читал книги дядюшки, а потом до усрачки защищал чистоту кода на код‑ревью. Я на себе почувствовал, насколько Роберт Мартин отличный агитатор и пропагандист. Работая с другими людьми, читая статьи и обсуждения на Хабре и хакерньюс, анализируя требования к вакансиям, я понимаю, что не я один попался на отличную пропаганду от «дядюшки Боба».

Читать далее

Cговор менеджеров среднего звена одной зелёной и одной красной компании позволяет выводить миллионы со счетов россиян

Level of difficultyEasy
Reading time5 min
Views40K

Это история про русского предпринимателя Анатолия, который попал в Нью-Йоркский СИЗО. В жизни бывает всякое. Главное – не забывать родину. А уж родина... Пока Анатолий боролся с ФБР и мерил шагами камеру, наши ребята не растерялись и вывели все деньги с его счетов. А ещё месяц в тюрьме – и домой можно не возвращаться, ведь и дома уже не будет!

Читать далее

LangChain vs LlamaIndex: проектируем RAG и разбираемся, что выбрать для вашего проекта

Level of difficultyEasy
Reading time14 min
Views6.5K

Сегодня it-сообщество предлагает большое количество любопытных инструментов для создания RAG-систем. Среди них особенно выделяются два фреймворка —  LangChain и LlamaIndex. Как понять, какой из них подходит лучше для вашего проекта? Давайте разбираться вместе!

Читать далее

Часть 2. Управление знаниями в Obsidian. Базовый рабочий процесс. Журнал. Источники и их библиотеки. Пример

Level of difficultyHard
Reading time44 min
Views234K

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

Погнали

Управление проектами и задачами в Obsidian

Level of difficultyMedium
Reading time13 min
Views20K

Используя Obsidian более двух лет, я привык организовывать в нём все свои заметки по проектам. Хотя Obsidian предлагает широкий набор сторонних плагинов для расширения своего функционала, мне так и не удалось найти идеальный инструмент для управления проектами и задачами. Это подтолкнуло меня к созданию нескольких автоматизаций, о которых пойдет речь дальше.

Читать далее

Obsidian — Мой сетап

Level of difficultyMedium
Reading time13 min
Views65K

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

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

Поэтому вот сразу ссылка на мой сетап хранилища Обсидиана на гитхабе (о котором и пойдёт речь в данной статье), можно сразу его качать и тыкаться самому и если что-то не понятно подглядывать в статью. (Надо распаковать zip-файл в папку, а потом открыть открыть обсидиан и при выборе хранилища выбрать эту папку, куда распаковали zip-файл. Если у вас одно хранилище, то тогда жмём в левом нижнем углу кнопку сейфа)

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

В этом хранилище используются 10 плагинов, основные:

- Calendar - для календаря справа.

- Dataview - для статистики и для проектов.

- Tasks - для задач.

- Templater - для шаблонов и чтобы нужные заметки с запросами создавались в нужных папках и с нужными данными в запросах.

К такой настройке я шёл целый год используя обсидиан, постоянно дорабатывал её и искал "совершенство", в ней собраны разные подходы из разных статьей и книг (GTD, 7 навыков, Джедайские техники, Атомные привычки), данные подходы большинству могут быть знакомы. Но есть метод, до которого я дошёл сам и до этого я нигде его не встречал (возможно просто не попадался) - это метод одной задачи.

Disclaimer1: Мой сетап не претендует на "идеальность", в нём найдутся минусы и неудобности. Я выношу его на общее обсуждение в том числе для того, чтобы кто-то мог предложить ту или иную доработку тут в комментариях, а так же для того, чтобы новички могли сходу вкатиться в этот чудесный обсидиановый мир.
Disclaimer2: Обычно обсидиан ассоциируют с Zettelkasten, графами и прочими атомарными заметками. Я в своём подходе этого не использую, возможно еще не дорос, возможно мой подход немного про другое. В этой статье я пишу не про это.

Погнали вкатываться в обсидиановый мир

Старики будут править IT

Level of difficultyEasy
Reading time6 min
Views107K

Периодически на просторах интернета натыкаюсь на различные мнения по-тому, что в "Нарнии для разработчиков" нельзя находиться людям, которые уже преодолели барьер в 30 лет. И вообще этим людям пора либо перейти в менеджмент или запускать процесс само-утилизации и просто исчезнуть, для того, чтобы "молодые, успешные" 20 летние сеньоры пришли и начали перфомить так, что 30 летнему деду и не снилось.

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

Читать далее

Деградация организации заметок одного программиста

Level of difficultyEasy
Reading time8 min
Views30K

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

Читать далее

Почему текстовые форматы не идеальны в разработке: пример на JSON

Level of difficultyEasy
Reading time7 min
Views12K

JSON - наш повседневный помощник, но вместе с другими текстовыми форматами он может преподнести неприятные сюрпризы: потеря точности чисел, громоздкие файлы, путаница с датами. Рассказываю, как этих проблем избежать и повысить эффективность с помощью стриминга в Node.js, а также MessagePack и Protobuf. Узнайте, где подводные камни и как их обходить на практике!

Если хотите понять, в чём именно проблема на иллюстрации, загляните в статью — там всё разобрано :-)

Читать далее

Cовмещаем Haproxy, Vless, WebSocket, VPN и сайт на одном порту

Level of difficultyHard
Reading time13 min
Views18K

Cовмещаем Vless, WebSocket, VPN и сайт на одном порту средствами Haproxy, создаем альтернативу VPN на основе WebSocket.

Читать далее

Топ 7 лучших расширений Chrome для ручных тестировщиков

Level of difficultyEasy
Reading time5 min
Views13K

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

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

Читать далее

Рецепты Typescript: выбор одного и только одного обязательного поля в объекте

Level of difficultyMedium
Reading time4 min
Views4.2K

Привет, Хабр! Это Костя из CLoud.ru, и я продолжаю цикл коротких статей с рецептами TypeScript, посвященный решению повседневных задач. Сегодня у нас в меню тип, который поможет вам выбрать только одно поле из типа. Поехали!

Смотреть рецепт

Omatsuri: бесплатный инструмент с открытым исходным кодом для упрощения фронтенд-разработки

Level of difficultyEasy
Reading time2 min
Views4.9K

С Новым годом, друзья! 

Сегодня мы поговорим об одном из интересных инструментов для разработчиков. Omatsuri — это открытая платформа, состоящая из 12 удобных утилит для повседневных задач разработчика. Сайт omatsuri.app выполнен в минималистичном стиле и предлагает интуитивно понятный интерфейс. Это инструмент, который явно создан «с душой» для тех, кто ценит функциональность и простоту.

Читать далее

CSS Grid Layout: Асимметричная резиновая сетка

Reading time2 min
Views10K

В веб-дизайны сетки, как в Pinterest уже давно не являются чем-то новым. Но что, если нужно сделать блоки различной высоты, при этом сохранив адаптивность. Оказывается, это можно сделать, используя только стандартные возможности CSS Grid Layout.

Читать далее

Как организовать безопасное хранение секретов в Docker: лучшие практики

Level of difficultyMedium
Reading time6 min
Views14K

Хей, Хабр! Секреты — это такая щекотливая тема, из‑за которой у безопасников начинаются нервные подёргивания глаза. Вроде бы «просто пароль» или «просто токен», но в 2025 году мы уже знаем, что просто в безопасности — это верная дорога к утечкам и ночным обкаткам плана B. В этой статье поговорим, как правильно хранить секреты в Docker‑контейнерах и окрестностях, а заодно разберёмся, чем могут помочь Docker Secrets, HashiCorp Vault и компания.

Читать далее

Ищем работу в 2025 году: что происходит с рынком IT и как к нему адаптироваться

Level of difficultyEasy
Reading time10 min
Views65K

Ну что, 2025 год уже наступил и многие из нас,  в новом году,  задумались о смене работы. В том числе и я. В этот раз, я решил собрать всю доступную мне информацию по поиску работы в РФ/СНГ и за рубежом.

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

Читать далее

HTML — язык программирования. Убедите меня в обратном

Level of difficultyEasy
Reading time6 min
Views9.8K

На самом деле, HTML — самый важный язык вычислений, из когда-либо созданных. Недооценивайте его на свой страх и риск.

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

Читать далее

90% разработчиков не понимают принцип инверсии зависимостей из SOLID. DIP — это не про абстракции

Reading time4 min
Views57K

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

Почему такая трактовка неверна и в чем же суть принципа — об этом и пойдет речь далее.

Читать далее
1
23 ...

Information

Rating
Does not participate
Location
Рыбинск, Ярославская обл., Россия
Date of birth
Registered
Activity