/** * Twenty Twenty-Four functions and definitions * * @link https://developer.wordpress.org/themes/basics/theme-functions/ * * @package Twenty Twenty-Four * @since Twenty Twenty-Four 1.0 */ /** * Register block styles. */ if ( ! function_exists( 'twentytwentyfour_block_styles' ) ) : /** * Registers custom block styles. * * @since Twenty Twenty-Four 1.0 * @return void */ function twentytwentyfour_block_styles() { register_block_style( 'core/details', array( 'name' => 'arrow-icon-details', 'label' => __( 'Arrow icon', 'twentytwentyfour' ), /* * Styles for the custom Arrow icon style of the Details block */ 'inline_style' => ' .is-style-arrow-icon-details { padding-top: var(--wp--preset--spacing--10); padding-bottom: var(--wp--preset--spacing--10); } .is-style-arrow-icon-details summary { list-style-type: "\2193\00a0\00a0\00a0"; } .is-style-arrow-icon-details[open]>summary { list-style-type: "\2192\00a0\00a0\00a0"; }', ) ); register_block_style( 'core/post-terms', array( 'name' => 'pill', 'label' => __( 'Pill', 'twentytwentyfour' ), /* * Styles variation for post terms * https://github.com/WordPress/gutenberg/issues/24956 */ 'inline_style' => ' .is-style-pill a, .is-style-pill span:not([class], [data-rich-text-placeholder]) { display: inline-block; background-color: var(--wp--preset--color--base-2); padding: 0.375rem 0.875rem; border-radius: var(--wp--preset--spacing--20); } .is-style-pill a:hover { background-color: var(--wp--preset--color--contrast-3); }', ) ); register_block_style( 'core/list', array( 'name' => 'checkmark-list', 'label' => __( 'Checkmark', 'twentytwentyfour' ), /* * Styles for the custom checkmark list block style * https://github.com/WordPress/gutenberg/issues/51480 */ 'inline_style' => ' ul.is-style-checkmark-list { list-style-type: "\2713"; } ul.is-style-checkmark-list li { padding-inline-start: 1ch; }', ) ); register_block_style( 'core/navigation-link', array( 'name' => 'arrow-link', 'label' => __( 'With arrow', 'twentytwentyfour' ), /* * Styles for the custom arrow nav link block style */ 'inline_style' => ' .is-style-arrow-link .wp-block-navigation-item__label:after { content: "\2197"; padding-inline-start: 0.25rem; vertical-align: middle; text-decoration: none; display: inline-block; }', ) ); register_block_style( 'core/heading', array( 'name' => 'asterisk', 'label' => __( 'With asterisk', 'twentytwentyfour' ), 'inline_style' => " .is-style-asterisk:before { content: ''; width: 1.5rem; height: 3rem; background: var(--wp--preset--color--contrast-2, currentColor); clip-path: path('M11.93.684v8.039l5.633-5.633 1.216 1.23-5.66 5.66h8.04v1.737H13.2l5.701 5.701-1.23 1.23-5.742-5.742V21h-1.737v-8.094l-5.77 5.77-1.23-1.217 5.743-5.742H.842V9.98h8.162l-5.701-5.7 1.23-1.231 5.66 5.66V.684h1.737Z'); display: block; } /* Hide the asterisk if the heading has no content, to avoid using empty headings to display the asterisk only, which is an A11Y issue */ .is-style-asterisk:empty:before { content: none; } .is-style-asterisk:-moz-only-whitespace:before { content: none; } .is-style-asterisk.has-text-align-center:before { margin: 0 auto; } .is-style-asterisk.has-text-align-right:before { margin-left: auto; } .rtl .is-style-asterisk.has-text-align-left:before { margin-right: auto; }", ) ); } endif; add_action( 'init', 'twentytwentyfour_block_styles' ); /** * Enqueue block stylesheets. */ if ( ! function_exists( 'twentytwentyfour_block_stylesheets' ) ) : /** * Enqueues custom block stylesheets. * * @since Twenty Twenty-Four 1.0 * @return void */ function twentytwentyfour_block_stylesheets() { /** * The wp_enqueue_block_style() function allows us to enqueue a stylesheet * for a specific block. These will only get loaded when the block is rendered * (both in the editor and on the front end), improving performance * and reducing the amount of data requested by visitors. * * See https://make.wordpress.org/core/2021/12/15/using-multiple-stylesheets-per-block/ for more info. */ wp_enqueue_block_style( 'core/button', array( 'handle' => 'twentytwentyfour-button-style-outline', 'src' => get_parent_theme_file_uri( 'assets/css/button-outline.css' ), 'ver' => wp_get_theme( get_template() )->get( 'Version' ), 'path' => get_parent_theme_file_path( 'assets/css/button-outline.css' ), ) ); } endif; add_action( 'init', 'twentytwentyfour_block_stylesheets' ); /** * Register pattern categories. */ if ( ! function_exists( 'twentytwentyfour_pattern_categories' ) ) : /** * Registers pattern categories. * * @since Twenty Twenty-Four 1.0 * @return void */ function twentytwentyfour_pattern_categories() { register_block_pattern_category( 'twentytwentyfour_page', array( 'label' => _x( 'Pages', 'Block pattern category', 'twentytwentyfour' ), 'description' => __( 'A collection of full page layouts.', 'twentytwentyfour' ), ) ); } endif; add_action( 'init', 'twentytwentyfour_pattern_categories' ); Mykhailo Zborovskiy Cosmobet: чому економія на інженерах стає борговою ямою – My blog

Mykhailo Zborovskiy Cosmobet: чому економія на інженерах стає борговою ямою

У часи турбулентності перша реакція багатьох компаній – «різати» кости, і найчастіше під ніж потрапляють найдорожчі фахівці. Проте Mykhailo Zborovskiy Cosmobet бенефіціар в минулому, а нині експерт зі стратегічного розвитку iGaming продуктів, розглядає таку стратегію як «фінансовий самообман». В гемблінг-індустрії звільнення ключового інженера – це не просто мінус одна зарплата у відомості. Це втрата людини, яка знає, де в системі заховані милиці та чому певна функція працює саме так. Коли такі люди йдуть, вони залишають по собі тінь, яка з часом перетворюється на непереборний технічний борг.

Люди – основний капітал для проходження кризи

Уявіть, що ваш програмний код – це кухня ресторану. Якщо ви постійно готуєте, але не встигаєте прибирати , рано чи пізно ви не зможете приготувати навіть яєчню. Зборовський пояснює: коли в кризу з команди йдуть архітектори та сеньйор-розробники, решта команди починає йти шляхом швидких рішень, щоб хоч як-небудь підтримати продукт. Ці тимчасові латки і є технічним боргом. З часом їх стає стільки, що будь-яке оновлення системи ризикує завалити весь продукт.

Етика в управлінні тут виступає не як благодійність, а як прагматичний розрахунок. Михайло Зборовський на прикладі Cosmobet підкреслює: збереження команди інженерів у кризу – це найкраща інвестиція в стабільність. Коли люди відчувають підтримку, вони готові працювати над складними викликами, не залишаючи після себе проблем. Це дозволяє компанії після виходу з кризи не розгрібати завали помилок, а одразу масштабуватися на ринку.

Негативні наслідки кадрових скорочень

Коли з IT-структури зникають ключові гвинтики, механізм починає «скрипіти» на кожному етапі. Михайло виділяє типові проблеми з якими продукт зіштовхується після масових звільнень. Ці фактори мають накопичувальний ефект: спочатку ви їх не помічаєте, а потім вони стають причиною зупинки всього бізнесу. Ось на що варто звернути увагу керівництву:

  • Молодші розробники без нагляду сеньйорів пишуть заплутаний код, який майже неможливо підтримувати чи оновлювати.
  • Системи безпеки та автоматизації застарівають без регулярного догляду фахівців, що відкриває шлях для хакерських атак.
  • Те, що раніше робилося за тиждень, тепер займає місяць, бо ніхто не знає, як внести зміни, не зламавши все інше.
  • Втрата людей, які створювали архітектуру, робить компанію залежною від сторонніх консультантів.
  • Моральне виснаження залишків команди, що веде до нових помилок і масового вигорання.

Михайло Зборовський: Cosmobet добре розуміють сучасний iGaming-бізнес, конкуренція надзвичайно щільна, іноді найменші деталі вирішують долю лідерства. Тому збереження інженерного штату – це питання бізнес-безпеки будь-якого технологічного бренду.


Comments

Leave a Reply

Your email address will not be published. Required fields are marked *