Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр
Уникальная игра, объединяющая популярные механики Match3 и пошаговые бои!

Магический мир

Мидкорные, Ролевые, Три в ряд

Играть

Топ прошлой недели

  • Rahlkan Rahlkan 1 пост
  • Tannhauser9 Tannhauser9 4 поста
  • alex.carrier alex.carrier 5 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

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

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
0 просмотренных постов скрыто
9
hypo69
hypo69
5 дней назад
Лига программистов
Серия 101 игра на python. Шпаргалки

Shadow DOM - DOM внутри DOM⁠⁠

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


DOM — это программный интерфейс (API) для кода страницы, который представляет страницу как древовидную структуру объектов.

Каждый HTML-элемент (например, <p>, <div>, <img>), каждый атрибут и каждый фрагмент текста является отдельным «узлом» (node) в этом дереве. С JavaScript, мы можем обращаться к этим узлам, чтобы динамически изменять страницу: менять текст, добавлять стили, создавать новые элементы или удалять существующие. По сути, DOM — это «живая» модель документа, с которой взаимодействует код.

Но у этой открытости есть и обратная сторона. Когда мы создаем сложный, многократно используемый компонент (например, кастомный видеоплеер или виджет календаря), его внутренняя структура и стили становятся уязвимыми. Стили CSS с основной страницы могут случайно «протечь» внутрь компонента и сломать его внешний вид. Аналогично, JavaScript-код страницы может непреднамеренно изменить внутренние элементы компонента, нарушив его логику.

Для решения этой проблемы и существует Shadow DOM (теневой DOM).

По своей сути, Shadow DOM — это «DOM внутри DOM». Это скрытое дерево элементов, которое прикрепляется к обычному элементу на странице (называемому «хостом»), но при этом оно изолировано от основного DOM. Оно позволяет разработчику создать герметичную границу вокруг внутренней структуры компонента, защищая его от внешнего мира.

Теневой DOM позволяет прикреплять скрытые DOM-деревья к элементам в обычном DOM-дереве. Это теневое дерево начинается с теневого корня (shadow root), под который можно прикреплять любые элементы так же, как и в обычном DOM.

Shadow DOM - DOM внутри DOM Гайд, Программирование, IT, Frontend, Javascript, HTML, Веб-разработка, Длиннопост, Dom

https://developer.mozilla.org/

Существует несколько терминов, связанных с теневым DOM, которые следует знать:

  • Теневой хост (Shadow host): Обычный узел DOM, к которому прикреплен теневой DOM.

  • Теневое дерево (Shadow tree): DOM-дерево внутри теневого DOM.

  • Теневая граница (Shadow boundary): Место, где заканчивается теневой DOM и начинается обычный DOM.

  • Теневой корень (Shadow root): Корневой узел теневого дерева.

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

До того, как теневой DOM стал доступен веб-разработчикам, браузеры уже использовали его для инкапсуляции внутренней структуры стандартных элементов. Например, элемент <video> с элементами управления. Всё, что вы видите в DOM, — это тег <video>, но он содержит ряд кнопок и других элементов управления внутри своего теневого DOM.

Создание теневого DOM

Создавать теневой DOM можно двумя способами: императивно с помощью JavaScript или декларативно прямо в HTML.

Императивно с помощью JavaScript

Этот способ отлично подходит для приложений, рендерящихся на стороне клиента. Мы выбираем элемент-хост и вызываем на нём метод attachShadow().

Shadow DOM - DOM внутри DOM Гайд, Программирование, IT, Frontend, Javascript, HTML, Веб-разработка, Длиннопост, Dom
Shadow DOM - DOM внутри DOM Гайд, Программирование, IT, Frontend, Javascript, HTML, Веб-разработка, Длиннопост, Dom

Результат на странице будет выглядеть так:

Я нахожусь в теневом DOM Я не в теневом DOM

Декларативно с помощью HTML

Для приложений, где важен рендеринг на стороне сервера, можно определить теневой DOM декларативно, используя элемент <template> с атрибутом shadowrootmode.

Shadow DOM - DOM внутри DOM Гайд, Программирование, IT, Frontend, Javascript, HTML, Веб-разработка, Длиннопост, Dom

Когда браузер обработает этот код, он автоматически создаст теневой корень для <div> и поместит в него содержимое тега <template>. Сам тег <template> при этом исчезнет из основного DOM-дерева.

Инкапсуляция: защита от JavaScript и CSS

Главное преимущество Shadow DOM — это изоляция. Давайте посмотрим, как она работает.

Инкапсуляция от JavaScript

Добавим кнопку, которая будет пытаться изменить все элементы <span> на странице.

Shadow DOM - DOM внутри DOM Гайд, Программирование, IT, Frontend, Javascript, HTML, Веб-разработка, Длиннопост, Dom

При нажатии на кнопку текст изменится только у <span>, который находится в основном документе. Элемент внутри теневого DOM останется нетронутым, потому что document.querySelectorAll() не может "заглянуть" за теневую границу.

Доступ к теневому DOM: свойство shadowRoot и работа с вложенностью

Когда мы вызываем host.attachShadow({ mode: "open" }), мы создаём теневой DOM в "открытом" режиме. Это означает, что мы можем получить доступ к его содержимому извне через свойство host.shadowRoot.

Shadow DOM - DOM внутри DOM Гайд, Программирование, IT, Frontend, Javascript, HTML, Веб-разработка, Длиннопост, Dom

Если же указать mode: "closed", свойство host.shadowRoot вернёт null, и доступ к теневому дереву извне будет закрыт. Это не строгий механизм безопасности, а скорее соглашение для разработчиков о том, что внутренности компонента трогать не следует.

Работа с вложенными теневыми деревьями

В сложных компонентных архитектурах один пользовательский элемент может содержать внутри себя другие пользовательские элементы, каждый из которых имеет свой собственный Shadow DOM. Чтобы добраться до элемента в глубоко вложенном теневом дереве, придётся последовательно "проходить" через каждый shadowRoot.

Представим себе такую структуру:

  • Компонент <nmbrs-form> (основная форма).

  • Внутри него находится <div>, а в нём — компонент <nmbrs-button> (кастомная кнопка).

  • Внутри <nmbrs-button> находится настоящая HTML-кнопка <button>.

Чтобы получить доступ к этой кнопке из глобального контекста, путь будет выглядеть так:

Shadow DOM - DOM внутри DOM Гайд, Программирование, IT, Frontend, Javascript, HTML, Веб-разработка, Длиннопост, Dom

SВ виде одной цепочки вызовов это выглядит так:

Shadow DOM - DOM внутри DOM Гайд, Программирование, IT, Frontend, Javascript, HTML, Веб-разработка, Длиннопост, Dom

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

Инкапсуляция от CSS

Стили, определённые на основной странице, не влияют на элементы внутри теневого DOM.

Shadow DOM - DOM внутри DOM Гайд, Программирование, IT, Frontend, Javascript, HTML, Веб-разработка, Длиннопост, Dom

Элемент <span> внутри теневого дерева не получит эти стили. Это решает огромную проблему случайных пересечений и конфликтов CSS.

Применение стилей внутри теневого DOM

Стили, определённые внутри теневого дерева, в свою очередь, не влияют на основную страницу. Есть два основных способа их добавления.

1. Конструируемые таблицы стилей (Constructable Stylesheets)

Этот метод позволяет создавать объект CSSStyleSheet в JavaScript и применять его к одному или нескольким теневым деревьям. Это эффективно, если у вас есть общие стили для множества компонентов.

Shadow DOM - DOM внутри DOM Гайд, Программирование, IT, Frontend, Javascript, HTML, Веб-разработка, Длиннопост, Dom

2. Добавление элемента <style>

Простой и декларативный способ — поместить тег <style> прямо внутрь теневого дерева (часто внутри <template>).

Shadow DOM - DOM внутри DOM Гайд, Программирование, IT, Frontend, Javascript, HTML, Веб-разработка, Длиннопост, Dom

Теневой DOM и пользовательские элементы: идеальное сочетание

Вся мощь теневого DOM раскрывается при создании пользовательских элементов (Custom Elements). Без инкапсуляции они были бы невероятно хрупкими.

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

Вот пример простого компонента <filled-circle>:

Shadow DOM - DOM внутри DOM Гайд, Программирование, IT, Frontend, Javascript, HTML, Веб-разработка, Длиннопост, Dom

Теперь мы можем использовать его в HTML как обычный тег, не беспокоясь о его внутреннем устройстве:

Shadow DOM - DOM внутри DOM Гайд, Программирование, IT, Frontend, Javascript, HTML, Веб-разработка, Длиннопост, Dom

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

Полезно? Подпишись.
Удачи 🚀

Показать полностью 13
[моё] Гайд Программирование IT Frontend Javascript HTML Веб-разработка Длиннопост Dom
0
hohotall
7 дней назад

[Devlog] Фриланс маркетплейс⁠⁠

Привет 👋

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

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

Решение - омниканальность. Да, я делаю функционал, позволяющий получать уведомления как заказчику, так и исполнителю в удобной для него форме. Будь то телеграм или ватсап, возможно в дальнейшем смс уведомления.

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

Решение - ведение совместных проектов + канбан доска. Да, такие примитивные и такие неотъемлемо важные вещи я решил интегрировать в платформу.

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

Так же я завел свой Devlog что бы потенциальные пользователи моего продукта могли оценить что уже создано, что планируется, а так же оставить фидбэк.
https://t.me/omnitask

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



Показать полностью
[моё] Фриланс Удаленная работа Разработка Веб-разработка IT
0
Hydrayozh
Hydrayozh
12 дней назад

Метрологическая ярость⁠⁠

Я по профессии немного метролог,

Метрологическая ярость Метрология, Интерфейс, Веб-разработка, Web-программирование

Знаете, я и сам своего рода метролог...

поэтому постоянно пользуюсь Госреестром СИ (он же ФИФ ОЕИ), расположенным по адресу https://fgis.gost.ru/fundmetrology/registry . Как и подобает государственной поделке, сайт всегда отличался ублюдским интерфейсом и жуткими тормозами, но до недавнего времени выполнял свою основную функцию: позволял получить сведения о зарегистрированном средстве измерений. Но нет, шаловливые ручки улучшателей (абсолютно уверен - после многочисленных жалоб пользователей) решили ситуацию исправить. В результате возможность посмотреть сведения о типе СИ и скачать подробное описание исчезло. По банальной причине: недоделанные разработчики не в курсе, что на мобильных устройствах отсутствует возможность"дважды нажать левой кнопкой «мыши»" (цитата из руководства). Раньше в интерфейсе была обычная кнопка для перехода на страницу сведений, а теперь - только даблклик по строке таблицы. О причинах невозможности использовать настольный компьютер с интернетом говорить не буду, чтобы не дискредитировать сами знаете что.

UPD: Силой Пикабу #comment_360099842 проблема преодолена! В процессе поисков сайт был переключен в режим отображения для ПК (иначе помещается только полстолбца таблицы), а в нем даблклик не работает. В мобильном режиме сработал.

Показать полностью 1
[моё] Метрология Интерфейс Веб-разработка Web-программирование
14
2
zwuck
12 дней назад

Как не надо разрабатывать продукты. Часть унус (гусары, молчать!!!!)⁠⁠

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

Начнем с первого продукта. Изначально идея зародилась благодаря словам одного производителя (не важно, чего), которые звучали примерно следующим образом «Я хочу расширить свое производство, но не знаю, кому буду продавать такой объем продукции». То есть у человека существовала проблема сбыта продукции, то есть, по факту, проблема с поиском новых покупателей. К этому моменту у нас уже была команда, но совершенно не разработчиков, и мы решили, что сможем затащить данную идею. По итогу скажу, что затащить смогли, хоть и не без изменения состава команды, но проблема продукта была связана совершенно не с этим. Давайте перейдем к первой проблеме, которую мы совершили, а именно – анализ/поиск конкурентов.

Безусловно, существуют уже известные всем маркетплейсы, такие как авито, озон, вайлдберис и т.д. Но они в основном рассчитаны на b2c (business to consumer), то есть продажа продукции физическому лицу, а мы же хотели целиться в b2b (business to business), то есть продажи бизнеса бизнесу. Безусловно мы искали, но никого не нашли.

Как не надо разрабатывать продукты. Часть унус (гусары, молчать!!!!) IT, Программирование, IT юмор, Веб-разработка, Длиннопост

Фатальная ошибка

Безусловно, спустя время, конкуренты нашлись, когда мы поняли, как вообще искать. И конкурентов на рынке было не два, не три и даже не четыре. Конкуренты уже работали, у них уже были пользователи, большая команда разработчиков и соответствующий бюджет. Активная фаза разработки заняла у нас порядка 8 месяцев. По итогу, продукт даже не был зарелизен.

Как не надо разрабатывать продукты. Часть унус (гусары, молчать!!!!) IT, Программирование, IT юмор, Веб-разработка, Длиннопост

Говорящая картинка

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

Как не надо разрабатывать продукты. Часть унус (гусары, молчать!!!!) IT, Программирование, IT юмор, Веб-разработка, Длиннопост

Разработчик смотрит на себя, как на пользователя

Вторым продуктом, который мы начали пилить, был конструктор визитки. Используя набор блоков (для текста, картинок, видео, функциональных кнопок) вы могли из них составить визитку, где указывали информацию о вас, хоть личного, хоть бизнесового характера.  В этот раз на разработку у нас ушло порядка 3 (или 4) месяцев, что уже сильно меньше, чем в случае первого продукта, но даже в этом случае мы могли сильно раньше зарелизить продукт и получить так необходимую нам обратную связь от пользователей. А знаете, почему мы тянули? Да потому что надо обязательно (нет) реализовать эту (платные тарифы) и эту фичу (добавление видео), а еще эту (уникальная ссылка) и эту (галерея) и вот еще этой (создание шаблонов) не хватает и вот тогда… Как итог, мы стали разрабатывать для себя, ведь это так круто, посмотрите на вот эту фичу, уау, круто!!! Функционал сильно разросся и из обычного конструктора визитки получился недо-конструктор сайтов. Как результат, мы просто уже не понимали, как позиционировать наш продукт и на какую целевую аудиторию ориентироваться.

Как не надо разрабатывать продукты. Часть унус (гусары, молчать!!!!) IT, Программирование, IT юмор, Веб-разработка, Длиннопост

Я и команда в этот момент

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

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

Как не надо разрабатывать продукты. Часть унус (гусары, молчать!!!!) IT, Программирование, IT юмор, Веб-разработка, Длиннопост

Я и команда, хе-хе-хе…

Не забываем, я разработал чат-рулетку в виде мини-приложение в telegram, как говорится welcome t.me/Socionyx_Bot/socionyx. Недавно приложение получило крупный апдейт (Разработка telegram мини-приложения в 2025 или как я дошел до жизни такой. Крупный апдейт).

Ссылка на мой telegram канал t.me/socionyxchannel, you are welcome too, где я пишу про будни разработчика.

Показать полностью 5
[моё] IT Программирование IT юмор Веб-разработка Длиннопост
2
LawCenterGP
LawCenterGP
13 дней назад

В чем разница между Terms of Use (ToU) и Terms of Service (ToS)? Спойлер: оба одинаково полезны и необходимы!⁠⁠

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

Коротко о терминах:
1. Terms of Use – Условия использования;
2. Terms of Service – Условия обслуживания.

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

Со сходством ToU/ToS мы разобрались: это юридически обязывающие документы, с которыми пользователь должен согласиться и соблюдать, чтобы использовать веб-сайт, программное обеспечение или услугу (кстати, это ответ на первый вопрос: Почему соглашаемся?).

В чём же их отличие?! Отличие Terms of Use в том, что оно предназначено для любого пользователя, получающего доступ (посещающего) интернет-ресурс. В свою очередь, Terms of Service предназначены для тех, кто не только посещает интернет-ресурс, но и решает приобрести/использовать или попробовать на тестовый период предлагаемую услугу/товар.

Таким образом, несмотря на поверхностную схожесть этих юридических документов, каждый должен иметь уникальные условия, которые продиктованы законами, в том числе в части обработки персональных данных и их конфиденциальности (GDPR, COPPA), в части предоставления онлайн-услуг и электронной коммерции в ЕС (E-Commerce Directive 2000/21/EC), в части прав потребителей при дистанционных договорах купли-продажи (включая онлайн) (Consumer Rights Directive 2011/83/EU), в части запрета вводящих в заблуждение или агрессивных практик в отношениях с потребителями (Unfair Commercial Practices Directive 2005/29/EC), в части защиты потребителей от несправедливых условий в договорах, навязанных продавцом/поставщиком услуг (Unfair Contract Terms Directive 93/13/EEC).

И без фундаментального отличия понятий Terms of Use от понятия Terms of Service, поставщики услуг/продавцы товаров ошибочно предлагают (либо полностью не предлагают) пользователям условия, которые не соответствуют закону и фактическим обстоятельствам складывающихся правоотношений. Эти недоработки, точнее некомпетентность или попустительство, приводят для представителей поставщика/продавца к возникновению убытков, либо излишней ответственности, при недобросовестных действиях потребителей/пользователей, а также при поступлении от них жалоб в компетентные регуляторные органы.

Показать полностью
[моё] Юридическая помощь IT Веб-разработка Текст
2
1
AlterLogin
AlterLogin
19 дней назад

Про то, как обманывают веб-студии⁠⁠

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

🎭 Фейковые кейсы в веб-разработке: как не попасть в ловушку «портфолио-мечты»

«Мы работали с Газпромом, Сбербанком и Apple».

«Наш проект повысил конверсию на 427%».

«Мы — лауреаты международной премии имени Пикселя Великого».

Звучит красиво? Да.

А правда ли это? Не факт.

В мире веб-разработки фальшивые кейсы — как фотошоп в Instagram: часто, везде и не всегда очевидно.

🔥 Почему кейсы так легко фальсифицировать?

1. Отсутствие регламента

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

2. Клиенты не возражают (или не знают)

Часто студия работала с заказчиком по субподряду или вообще через третью сторону. Клиент может даже не знать, кто делал фронтенд его лендинга. А студия — берёт и пишет: «Разработали сайт для Аэрофлота».

3. Красивый дизайн обманывает

Хорошо нарисованный мокап легко внушает доверие. Особенно если к нему прикручен текст в духе «Задача: разработать систему автоматизации, Решение: выстроили цифровой процессинг, Результат: ROI вырос в 4,2 раза». А проверить сложно.

🤖 Как фальсифицируют кейсы — популярные методы:

Субподряд ➝ «наш проект»

Делали один экран в чужом проекте — выдали за весь сайт

Редизайн без внедрения

Нарисовали концепт, не внедрили — в портфолио как финальный

Партнёр клиента

«Работали с ПАО X» — на деле сделали лендинг для их дилера

Сгенерированный проект

Некоторые студии вообще генерируют кейсы ИИ — и это видно. Слишком глянцево, слишком идеально, а в итоге: фейковая компания, фейковая цель, фейковый результат

Натягивание совы на глобус

«Работали со Сбербанком» = «Участвовали в тендере, отправили кучу бумаг, не прошли, но контакт был» 🙃

🕵️ Как распознать фейковый кейс: чеклист

✅ Задайте прямой вопрос: «В чём заключалась ваша роль в этом проекте?». Если начинают уходить в общие формулировки — повод насторожиться.

✅ Посмотрите на Behance, Dribbble, другие площадки: был ли проект опубликован от их имени? Есть ли следы команды?

✅ Проверьте домен проекта: Сайт существует? Кто указан в футере или в разделе «Разработано»?

✅ Свяжитесь с реальным клиентом. Вежливое сообщение в LinkedIn или email-запрос с вопросом: «Работали ли вы с этой студией?» может сэкономить сотни тысяч рублей.

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

🧠 Советы для бизнеса

1. Требуйте доказательства участия — этапы, роли, контакты клиента (с согласия).

2. Фокусируйтесь на релевантности — не столько на громких именах, сколько на кейсах из вашей ниши.

3. Сравнивайте слова и действия — если студия говорит, что делала 3D-движки, а у неё нет даже демо или видео — это повод задуматься.

4. Просите показать код/репозиторий/черновики — особенно если речь о backend или SPA. Кто реально делал проект, у того они будут.

🎯 Вывод

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

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

Не верьте кейсам на слово. Верить — это в церкви. А в бизнесе — проверяйте.

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

Честно стырено отсюда: https://t.me/konstantin_likhachev

Показать полностью
Веб-разработка Опыт Веб-студия Web Текст Telegram (ссылка)
0
10
Dekadencer
Dekadencer
20 дней назад
Лига программистов

Ответ на пост «Я создал полностью бесплатный ресурс с туториалами по Java, покрывающий весь backend-роадмап. Делюсь и жду мнений!»⁠⁠1

Уважаемые айтишники, кандидаты и несостоявшиеся!

Последние годы наблюдаю множество предложений с различными курсами в данной сфере (типа Яндекс Практикум, GeekBrains, SkillBox и прочие «it с нуля для чайников») обещающих сделать из любого разработчика/тестировщика и тд.

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

[моё] Обучение Программирование IT Развитие Разработка Java Курсы Бесплатно Курсы java Онлайн-курсы Бесплатное обучение Изучение Веб-разработка Без рейтинга Ответ на пост Текст
54
iTrueCreator
iTrueCreator
20 дней назад
Серия Эхо 423

Важная информация по игре "Эхо 423"⁠⁠

Всем привет!
Это команда True Cteator с новостями.

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

Важная информация по игре "Эхо 423" Компьютерные игры, Игры, Gamedev, Разработка, Мобильные игры, Инди игра, Браузерные игры, Инди, Веб-разработка, MMORPG

Устройства, на которые будет разрабатываться адаптация в первой очереди.

Показать полностью 1
[моё] Компьютерные игры Игры Gamedev Разработка Мобильные игры Инди игра Браузерные игры Инди Веб-разработка MMORPG
0
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии