Forwarded from коллеги, не сутультесь
Figma отправила своего дизайнера провести мастер-класс по дезигну на Таймс-сквер в режиме онлайн.
Идея прикольная, но реализация скука смертная: диз рисовал лайтовые макеты в Figma, а весь процесс траслировался на медиафасад. Цель кампании — показать всем, что дизайн посилен каждому, если у тебя Figma.
А мог бы пипиську нарисовать, как бы я сделал)) А вы?
Идея прикольная, но реализация скука смертная: диз рисовал лайтовые макеты в Figma, а весь процесс траслировался на медиафасад. Цель кампании — показать всем, что дизайн посилен каждому, если у тебя Figma.
А мог бы пипиську нарисовать, как бы я сделал)) А вы?
🤣13 4❤1🫡1
C4
Еще одна нотация. Довольно популярная и уже давно известная всем штука, но в последнее время все чаще начинаю ее встречать.
Итак, C4 это нотация для описания архитектуры программного обеспечения. Он помогает разработчикам и другим членам команды/проекта понять, как устроена программа. Эта модель имеет четыре уровня:
C1. System Context diagram
C2. Container diagram
C3. Component diagram
C4. Code diagram
По крайней мере так принято считать)
На самом деле есть еще 3 дополнительных диаграммы:
System Landscape Diagram
Dynamic Diagram
Deployment Diagram
Ставь🤩 если понял почему такая картинка на этой публикации ❤️
#словодня
Еще одна нотация. Довольно популярная и уже давно известная всем штука, но в последнее время все чаще начинаю ее встречать.
Итак, C4 это нотация для описания архитектуры программного обеспечения. Он помогает разработчикам и другим членам команды/проекта понять, как устроена программа. Эта модель имеет четыре уровня:
C1. System Context diagram
C2. Container diagram
C3. Component diagram
C4. Code diagram
По крайней мере так принято считать)
На самом деле есть еще 3 дополнительных диаграммы:
System Landscape Diagram
Dynamic Diagram
Deployment Diagram
Ставь
#словодня
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13 11🔥3❤1
Зацените какую крутую обложку сгенерил с помощью ИИ 🤩
По задумке это #кабачок Миша)))
В комментах еще один прикольный вариант)
🐇 🐇 🐇 🐇 🐇
По задумке это #кабачок Миша)))
В комментах еще один прикольный вариант)
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7🔥5 5
Айтишник обыкновенный 🐰
Кстати, я совсем не обижусь, если вы решите бустом поддержать канал❤️ Ps а то я как-то хотел 2 истории выложить, а мне сказали - низя( https://news.1rj.ru/str/boost/default_itshnik
Благодарочка!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍5🫡3
Я тут наткнулся на классных ребят в поисках статей по ботам телеги.
Канал "Код на салфетке" поможет вам прокачать свои навыки программирования, особенно в области Python!
На канале в скором времени будет крупный контест по программированию для новичков! Присоединяйся, если хочешь продемонстрировать свои навыки и попасть в команду для работы над крупными проектами!
Также на канале ведутся регулярные еженедельные и ежемесячные рубрики, например:
🌟 Разборы теории по Python: Понятные и доступные объяснения нюансов языка программирования Python.
🛠 Пошаговые инструкции по FastAPI, Django и AIOgram на примере разработки микро-сервисов "Кода на салфетке"
🐳 Docker и DevOps. Объяснения по запуску своего проекта на сервере, а также использованию готовых контейнеров
📝 Посты на свободную тему и задачи.
Присоединяйтесь! Вы можете стать частью активного и дружелюбного сообщества программистов.
🐍ПОДПИСАТЬСЯ🐍
Канал "Код на салфетке" поможет вам прокачать свои навыки программирования, особенно в области Python!
На канале в скором времени будет крупный контест по программированию для новичков! Присоединяйся, если хочешь продемонстрировать свои навыки и попасть в команду для работы над крупными проектами!
Также на канале ведутся регулярные еженедельные и ежемесячные рубрики, например:
🌟 Разборы теории по Python: Понятные и доступные объяснения нюансов языка программирования Python.
🛠 Пошаговые инструкции по FastAPI, Django и AIOgram на примере разработки микро-сервисов "Кода на салфетке"
🐳 Docker и DevOps. Объяснения по запуску своего проекта на сервере, а также использованию готовых контейнеров
📝 Посты на свободную тему и задачи.
Присоединяйтесь! Вы можете стать частью активного и дружелюбного сообщества программистов.
🐍ПОДПИСАТЬСЯ🐍
🔥6👍5💅1
Метрика
Метрика это числовой показатель, на основании которого можно дать оценку качества/устойчивости к нагрузки/лояльности клиента и тд.
Работает это так:
1️⃣ определяется событие, которое необходимо подсчитывать;
2️⃣ при каждой инициации этого события в бизнес процессе - происходит фиксация;
3️⃣ строятся графики, собирается статистика.
Таким образом, например, можно посчитать сколько раз отвалилась интеграция с отдельным смежником и легко сделать вывод о том, насколько хорошо или плохо она[интеграция] работает.
Я лично пользуюсь метриками для отслеживания откуда вы подписываетесь на мой канал. Собираю метрику с помощью пригласительных ссылок.
#словодня
Метрика это числовой показатель, на основании которого можно дать оценку качества/устойчивости к нагрузки/лояльности клиента и тд.
Работает это так:
Таким образом, например, можно посчитать сколько раз отвалилась интеграция с отдельным смежником и легко сделать вывод о том, насколько хорошо или плохо она[интеграция] работает.
Я лично пользуюсь метриками для отслеживания откуда вы подписываетесь на мой канал. Собираю метрику с помощью пригласительных ссылок.
#словодня
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥5❤2
Вот так выглядит сегодняшний завтрак.
Нет, я не с дубу рухнул, не мой завтрак, а Мишин))
В составе завтрака:
🔵 Романо(ромейн)
🔵 Листовой(самый обычный)
🔵 Салат Саланова
🔵 Кейл кудрявый
🔵 Укроп
🔵 Петрушка
🔵 Фрилис
🔵 Руккола
🔵 Кинза
Пс, сейчас находимся в области, довольно трудно покупать всю эту зелень, и так по куче разных магазинов все собираем… А вообще обязательно в рацион входит еще радиччио, лолла россо, лолла бионда. Ну и еще опционально переодически даем ему сельдерей, топинамбур, морковь(причем ботву по возможности и очень редко сам корень), шпинат, кресс-салат, фризе, Пак-Чой, петрушка
Пс2, еще, конечно, траву всякую кладем, но тут вообще страшно перечислять. Как и засушку)))
Пс3, ну и да, как вы догадались, половина холодильника стабильно забита Мишиной зеленью😂
Крч, не просто так кроликов классифицируют как экзотические животные))) Очень дорого и геморно обходится все это дело.
#кабачок
Нет, я не с дубу рухнул, не мой завтрак, а Мишин))
В составе завтрака:
Пс, сейчас находимся в области, довольно трудно покупать всю эту зелень, и так по куче разных магазинов все собираем… А вообще обязательно в рацион входит еще радиччио, лолла россо, лолла бионда. Ну и еще опционально переодически даем ему сельдерей, топинамбур, морковь(причем ботву по возможности и очень редко сам корень), шпинат, кресс-салат, фризе, Пак-Чой, петрушка
Пс2, еще, конечно, траву всякую кладем, но тут вообще страшно перечислять. Как и засушку)))
Пс3, ну и да, как вы догадались, половина холодильника стабильно забита Мишиной зеленью😂
Крч, не просто так кроликов классифицируют как экзотические животные))) Очень дорого и геморно обходится все это дело.
#кабачок
Please open Telegram to view this post
VIEW IN TELEGRAM
JSONB
Как JSON только бинарный – JavaScript Object Notation Binary. Формат, который используется для хранения JSON в БД PostgreSQL. При выполнении INSERT и UPDATE строка с JSON преобразуется в двоичную. При этом при SELECT’ах такого столбца можно увидеть изначальное значение(не двоичное).
#словодня
Как JSON только бинарный – JavaScript Object Notation Binary. Формат, который используется для хранения JSON в БД PostgreSQL. При выполнении INSERT и UPDATE строка с JSON преобразуется в двоичную. При этом при SELECT’ах такого столбца можно увидеть изначальное значение(не двоичное).
#словодня
👍12🔥4❤3🫡1
Монолит
Чаще всего речь про вид архитектуры противоположный по своему смыслу микросервисной архитектуре. То есть это такой вид построения системы, когда нет отдельных модулей для выполнения отдельных задач/бизнес-процессов, один модуль делает все. Точнее будет сказать, что отдельные модули могут и быть, но не возможно внести изменение и обновить только их.
Почему-то зачастую принято считать, что все монолиты это легаси, это не круто и вообще устарело. Но на самом деле монолит это круто. Просто надо правильно такую архитектуру применять. Например, если под капотом в крупном бигтехе монолит, то есть вопросы, а если у меня пет-проект на монолите, то вопросы наоборот отсутствуют.
#словодня
Чаще всего речь про вид архитектуры противоположный по своему смыслу микросервисной архитектуре. То есть это такой вид построения системы, когда нет отдельных модулей для выполнения отдельных задач/бизнес-процессов, один модуль делает все. Точнее будет сказать, что отдельные модули могут и быть, но не возможно внести изменение и обновить только их.
Почему-то зачастую принято считать, что все монолиты это легаси, это не круто и вообще устарело. Но на самом деле монолит это круто. Просто надо правильно такую архитектуру применять. Например, если под капотом в крупном бигтехе монолит, то есть вопросы, а если у меня пет-проект на монолите, то вопросы наоборот отсутствуют.
#словодня
👍10❤3🔥3
Для чего нужны minOccurs и maxOccurs?
Anonymous Quiz
65%
Это ограничители частотности для элемента
9%
Это показатели очередности элементов
13%
Это вспомогательные настройки для комплексного типа
13%
Это атрибуты пространства имен
❤4👍2🔥2
Какое значение по умолчанию у minOccurs и maxOccurs?
Anonymous Quiz
28%
0
20%
1
24%
NULL
28%
undefined
🔥5👍3🗿3
BABOK(a guide of the Business Analysis Body Of Knowledge) – пожалуй, самое известное руководство по бизнес анализу. Есть книга с первой версией, второй и третьей. Стоит огромных деняк…
Простыми словами о чем BABOK. Это такая штука, которую аналитики используют, чтобы лучше понимать, как устроены их компании. Это как карта города, но вместо улиц и зданий там есть процессы и цели бизнеса.
Пс, спасибо GigaChat)
А ещё в нём много умных слов, так что читать его очень скучно. Сколько раз не пытался прочитать, постоянно заканчивал где-то близко к началу…
Возможно, у меня в канале есть ребята, которые осилили эту книгу, поделитесь в комментах, оно стоит того, возможно стоит выделить отдельные главы?
#словодня
Простыми словами о чем BABOK. Это такая штука, которую аналитики используют, чтобы лучше понимать, как устроены их компании. Это как карта города, но вместо улиц и зданий там есть процессы и цели бизнеса.
Пс, спасибо GigaChat)
А ещё в нём много умных слов, так что читать его очень скучно. Сколько раз не пытался прочитать, постоянно заканчивал где-то близко к началу…
Возможно, у меня в канале есть ребята, которые осилили эту книгу, поделитесь в комментах, оно стоит того, возможно стоит выделить отдельные главы?
#словодня
❤5👍4🔥3
Проснулся сегодня и почувствовал неистовое желание рассказать подробнее про XSD 😂
Так что, рассказываю.
Вот небольшой пример описания схемы:
Вот пример XML, который будет сформирован на основе примера схемы выше:
В схеме я постарался по-максимуму задействовать функционал XSD для наглядности его возможностей(конечно же, не всех, только основных и часто используемых). Не смотря на то, что принято считать, что XML медленно, но верно умирает(соответственно и XSD тоже), в моем сердце они занимают отдельное место. Сейчас я расскажу, почему)
Но сначала давайте разберем схему, уверен, далеко не все владеют синтаксисом даже на моем(не столь высоком) уровне. Схема состоит из трех основных объектов: элемента
#быстростатья часть 1
Так что, рассказываю.
Вот небольшой пример описания схемы:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="user">
<xs:complexType>
<xs:complexContent>
<xs:extension base="personType">
<xs:sequence>
<xs:element name="inn">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="\d{12}|\d{10}"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="contactList" type="contactListType" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:complexType name="personType">
<xs:sequence>
<xs:element name="firstname" type="xs:string" />
<xs:element name="secondname" type="xs:string" />
<xs:element name="patronymic" type="xs:string" minOccurs="0" />
<xs:element name="gender" minOccurs="0">
<xs:simpleType final="restriction" >
<xs:restriction base="xs:string">
<xs:enumeration value="MALE" />
<xs:enumeration value="FEMALE" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="age" type="xs:integer" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="contactListType">
<xs:sequence>
<xs:element maxOccurs="unbounded" name="contact">
<xs:complexType>
<xs:all>
<xs:element name="type">
<xs:simpleType final="restriction" >
<xs:restriction base="xs:string">
<xs:enumeration value="EMAIL" />
<xs:enumeration value="PHONE" />
<xs:enumeration value="TELEGRAM" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="value" type="xs:string" />
</xs:all>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:schema>
Вот пример XML, который будет сформирован на основе примера схемы выше:
<user xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<firstname>Иван</firstname>
<secondname>Иванов</secondname>
<patronymic>Иванович</patronymic>
<age>30</age>
<inn>1234567890</inn>
<contactList>
<contact>
<value>8(909)999-99-99</value>
<type>PHONE</type>
</contact>
<contact>
<type>TELEGRAM</type>
<value>default_itshnik</value>
</contact>
</contactList>
</user>
В схеме я постарался по-максимуму задействовать функционал XSD для наглядности его возможностей(конечно же, не всех, только основных и часто используемых). Не смотря на то, что принято считать, что XML медленно, но верно умирает(соответственно и XSD тоже), в моем сердце они занимают отдельное место. Сейчас я расскажу, почему)
Но сначала давайте разберем схему, уверен, далеко не все владеют синтаксисом даже на моем(не столь высоком) уровне. Схема состоит из трех основных объектов: элемента
user и двух типо personType и contactListType. user здесь корневой и основной элемент XSD, который расширяется типом personType. Сам user содержит в себе только 2 элемента inn и contactList, а расширение типом personType добавляет базовые поля личности: ФИО, пол, возраст.#быстростатья часть 1
🔥9👍4❤2
Что интересного тут еще есть, поле
Кстати, об обязательности, тут я устраивал викторины про
⏩ Все поля без этих атрибутов являются обязательными;
⏩ Все поля с
⏩ Поле
Еще хочу обратить внимание на "индикаторы"
Помимо этих 2 индикаторов порядка еще есть
Еще из интересного, в 2 местах схемы я использовал Enum'ы. Суть примерно та же, что и у элемента
🟢 EMAIL
🟢 PHONE
🟢 TELEGRAM
Конечно же, в XSD-схему можно добавлять описание для полей. Делается это так:
Также стоит упомянуть, что можно использовать атрибуты. Вот так они описываются по схеме(один из вариантов):
А вот так это будет выглядеть в XML-примере:
Но я считаю, что использование атрибутов, хоть и круто расширяет возможности XML относительно формата JSON, зато по факту ухудшает читаемость(не всегда и везде, но ухудшает), а также заведомо запрещает формировать JSON на основе схемы.
PS, да-да не смотря на то, что XSD используется в первую очередь для описания структуры сообщения/запроса в формате XML, но на самом деле на его основе можно также формировать и JSON. Ты по сути указываешь программе структуру документа – XSD, а далее говоришь в какой формат эту структуру зарендерить – XML или JSON.
#быстростатья часть 2
inn имеет кастомный тип, который "базируется" на типе string, но имеет определенный паттерн, описанный с помощью регулярного выражения. Таким образом мы получили обязательное поле, которое будет валидно только в том случае, если его заполнить 12-ю или 10-ю цифрами.Кстати, об обязательности, тут я устраивал викторины про
minOccurs и maxOccurs. minOccurs отвечает за минимальное количество повторений элемента, а maxOccurs – за максимальное. По умолчанию значения этих атрибутов равно единице. А теперь на нашем примере, что это означает?minOccurs=0 являются необязательными;contact является необязательным массивом.Еще хочу обратить внимание на "индикаторы"
sequence и all. Эти индикаторы отвечают за установку порядка. То есть при использовании sequence элементы четко закреплены за своими местами(имеют обязательную последовательность), соответственно их нельзя менять местами. При использовании индикатора all поля могут идти в любом порядке. Для наглядности в примере XML взгляните на элементы внутри user, они как объявлены в XSD, так и идут в примере. Далее взгляните на массив contactList, который используется с индикатором all, видно как поля type и value чередуются и это абсолютно корректно.Помимо этих 2 индикаторов порядка еще есть
choice, который тоже очень удобен и используется как оператор "исключающего ИЛИ". То есть в примере, если бы вместо all использовался choice, то в XML был бы либо элемент type, либо элемент value. choice очень удобно использовать, когда одна XSD используется для описания всех API микросервиса. Например:<xs:choice>
<xs:element name="GetClientDataByIdRequest" type="GetClientDataByIdRequestType" />
<xs:element name="GetClientDataByIdResponse" type="GetClientDataByIdResponseType" />
<xs:element name="SendNotificationRequest" type="SendNotificationRequestType" />
<xs:element name="SendNotificationResponse" type="SendNotificationResponseType" />
<xs:element name="CheckClientRequest" type="CheckClientRequestType" />
<xs:element name="CheckClientResponse" type="CheckClientResponseType" />
</xs:choice>
Еще из интересного, в 2 местах схемы я использовал Enum'ы. Суть примерно та же, что и у элемента
inn, поле также базируется на типе string, однако вместо паттерна, используется ограничение в виде возможных вариантов заполнения. Например, поле type элемента contact, может быть заполнено исключительно тремя значениями:Конечно же, в XSD-схему можно добавлять описание для полей. Делается это так:
<xs:annotation>
<xs:documentation>Текст с описанием элемента</xs:documentation>
</xs:annotation>
Также стоит упомянуть, что можно использовать атрибуты. Вот так они описываются по схеме(один из вариантов):
<xs:element name="product">
<xs:complexType>
<xs:simpleContent>
<xs:restriction base="xs:string">
<xs:attribute name="coast" type="xs:boolean" use="required"/>
<xs:attribute name="sale" type="xs:boolean"/>
<xs:attribute name="size" type="xs:integer"/>
<xs:attribute name="model" type="xs:string"/>
</xs:restriction>
</xs:simpleContent>
</xs:complexType>
</xs:element>
А вот так это будет выглядеть в XML-примере:
<product coast="12000" sale="false" size="24" model="Asus">Монитор</product>
Но я считаю, что использование атрибутов, хоть и круто расширяет возможности XML относительно формата JSON, зато по факту ухудшает читаемость(не всегда и везде, но ухудшает), а также заведомо запрещает формировать JSON на основе схемы.
PS, да-да не смотря на то, что XSD используется в первую очередь для описания структуры сообщения/запроса в формате XML, но на самом деле на его основе можно также формировать и JSON. Ты по сути указываешь программе структуру документа – XSD, а далее говоришь в какой формат эту структуру зарендерить – XML или JSON.
#быстростатья часть 2
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍4❤2
Итак, подведу итог быстростатей по XSD.
Почему же XSD все-таки занимает отдельное место в моем сердце?
Потому что это функционально, много вариаций для создания документа вообще какого угодно формата и структуры. Если потратить время и разобраться в XSD, то это станет крутым инструментом для создания чего угодно, НО... К сожалению, как я писал выше, XML умирает, его высокая функциональность повышает порог вхождения, как следствие – «ааааа, слоооожна».
Поэтому сейчас везде используется стильный модный молодежный – Иосиф Сталин Отец Народов(JSON)
Почему же XSD все-таки занимает отдельное место в моем сердце?
Потому что это функционально, много вариаций для создания документа вообще какого угодно формата и структуры. Если потратить время и разобраться в XSD, то это станет крутым инструментом для создания чего угодно, НО... К сожалению, как я писал выше, XML умирает, его высокая функциональность повышает порог вхождения, как следствие – «ааааа, слоооожна».
Поэтому сейчас везде используется стильный модный молодежный – Иосиф Сталин Отец Народов(JSON)
🔥9👍5🫡2 2
SSE
Server-Sent Events - технология для отправки сообщений от сервера клиенту, строится поверх обычного HTTP. Очень похоже на работу вебсокетов за исключением того, что взаимодействие однонаправленное, сообщения шлет только сервер клиенту.
#словодня
Server-Sent Events - технология для отправки сообщений от сервера клиенту, строится поверх обычного HTTP. Очень похоже на работу вебсокетов за исключением того, что взаимодействие однонаправленное, сообщения шлет только сервер клиенту.
#словодня
❤7👍3🔥2
BPMN — это нотация (или метод, хотя почти везде пишут «система») моделирования или описания бизнес-процессов. Бизнес-процесс представляет из себя логику (алгоритм) работы системы для достижения поставленной задачи.
Соответственно, BPMN-диаграмма — это диаграмма, которая описывает бизнес-процесс. Такие диаграммы довольно просто и интуитивно читаются, особенно если разработчик бизнес-процесса (тот, кто моделировал диаграмму) проектировал его по всем правилам и стандартам, а также старался не нагружать его лишней информацией.
В отдельных случаях с помощью BPMN прорабатывают сложные процессы: разработчик проектирует процесс, описывает все условия, пробрасывает потоки и т. д. Для этого есть специальные среды разработки, например, Tibco BPM и Camunda BPM.
PS сегодня чуток схалтурил и взял описание из своей статьи, но почему бы и нет)
#словодня
Соответственно, BPMN-диаграмма — это диаграмма, которая описывает бизнес-процесс. Такие диаграммы довольно просто и интуитивно читаются, особенно если разработчик бизнес-процесса (тот, кто моделировал диаграмму) проектировал его по всем правилам и стандартам, а также старался не нагружать его лишней информацией.
В отдельных случаях с помощью BPMN прорабатывают сложные процессы: разработчик проектирует процесс, описывает все условия, пробрасывает потоки и т. д. Для этого есть специальные среды разработки, например, Tibco BPM и Camunda BPM.
PS сегодня чуток схалтурил и взял описание из своей статьи, но почему бы и нет)
#словодня
❤11👍7🔥3
Немного не про айти, а про то, как важно делать регулярные маленькие шаги на пути к цели.
Круто, конечно, когда вы преисполнены мотивацией, когда перфекционизм, пусть даже здравый зашкаливает, и хочется делать дела только идеально, ну или хотя бы хорошо. НО…
Приложил график, который накидал «на коленке». Тут видно, как небольшие регулярные усилия на длительном временном промежутке дают более мощный результат, чем переодические скачки преисполненные мотивацией))
Так что вывод такой, мотивация временна, а цель вечна(ну почти, цели иногда нужно тоже переосмыслять и корректировать, но это уже другая история)
Делайте маленькие неидеальные, но зато регулярные шаги на пути к своей цели и все у вас будет хорошо 🙂
#быстростатья
Круто, конечно, когда вы преисполнены мотивацией, когда перфекционизм, пусть даже здравый зашкаливает, и хочется делать дела только идеально, ну или хотя бы хорошо. НО…
Приложил график, который накидал «на коленке». Тут видно, как небольшие регулярные усилия на длительном временном промежутке дают более мощный результат, чем переодические скачки преисполненные мотивацией))
Так что вывод такой, мотивация временна, а цель вечна(ну почти, цели иногда нужно тоже переосмыслять и корректировать, но это уже другая история)
Делайте маленькие неидеальные, но зато регулярные шаги на пути к своей цели и все у вас будет хорошо 🙂
#быстростатья
❤15👍10🔥5