Как стать автором
Обновить
0
0
Константин Тарасов @ktarasov

Пользователь

Отправить сообщение

Как компьютер играет в шахматы?

Время на прочтение14 мин
Количество просмотров96K

Хикару Накамура, недавно бросивший вызов компьютеру

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

Если вам интересно, как же устроены шахматные движки — добро пожаловать под кат.
Читать дальше →
Всего голосов 40: ↑39 и ↓1+38
Комментарии56

Простой контроль доступа ACR в Laravel 10 (инструкция шаг за шагом)

Уровень сложностиПростой
Время на прочтение19 мин
Количество просмотров7K

Эта статья описывает, как добавить модель безопасности RBAC (ACR, ACL) в Laravel 10,
используя пакет "laravel-access-rules". В ней можно увидеть пошаговое руководство по созданию: ролей, разрешений, назначению их пользователям.

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

Читать далее
Всего голосов 8: ↑7 и ↓1+6
Комментарии4

Влияние слонов на сходимость проектов

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров1.7K

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

Читать далее
Всего голосов 8: ↑7 и ↓1+6
Комментарии2

Переход с jQuery на Vue.js

Время на прочтение10 мин
Количество просмотров40K
Автор статьи, перевод которой мы публикуем сегодня, полагает, что в мире существует ещё много программистов, которые, когда им нужно разработать простое веб-приложение, обращаются к jQuery. Обычно это случается тогда, когда некую страницу нужно оснастить простыми интерактивными возможностями, но использование для этого какого-нибудь JavaScript-фреймворка кажется явным перебором. Ведь это — килобайты ненужного кода, шаблоны, инструменты для сборки проектов, средства для упаковки модулей… При этом подключить к странице jQuery, воспользовавшись CDN-ресурсом, проще простого.



В этом материале речь пойдёт о том, как перевести проект, созданный с использованием jQuery, на Vue.js. Этот проект будет создан на jQuery, а потом переработан с применением Vue. Автор материала хочет продемонстрировать всем желающим то, что использование Vue, даже в сравнительно небольших проектах, не обязательно означает чрезмерное увеличение размера кода таких проектов и большую дополнительную нагрузку на программиста. Это, наоборот, при практически тех же размерах вспомогательного кода, что и при использовании jQuery, позволяет повысить производительность труда и улучшить качество приложений.
Читать дальше →
Всего голосов 50: ↑48 и ↓2+46
Комментарии43

Vue.js для начинающих, урок 2: привязка атрибутов

Время на прочтение5 мин
Количество просмотров34K
Это второй урок учебного курса по Vue.js для начинающих, который рекомендует Наталья Теплухина, Staff Engineer в Gitlab и Core Team Member фреймворка Vue (Q/A сессия с Наташей прошла в нашем инстаграм, а расшифровку можно прочитать здесь)

Во втором уроке речь пойдёт о привязке атрибутов, о подключении данных, хранящихся в экземпляре Vue, к атрибутам HTML-элементов.



Vue.js для начинающих, урок 1: экземпляр Vue
Vue.js для начинающих, урок 2: привязка атрибутов
Vue.js для начинающих, урок 3: условный рендеринг
Vue.js для начинающих, урок 4: рендеринг списков
Vue.js для начинающих, урок 5: обработка событий
Vue.js для начинающих, урок 6: привязка классов и стилей
Vue.js для начинающих, урок 7: вычисляемые свойства
Vue.js для начинающих, урок 8: компоненты
Читать дальше →
Всего голосов 32: ↑30 и ↓2+28
Комментарии10

Как генерировать осмысленные коммиты. Применяем стандарт Conventional Commits

Время на прочтение8 мин
Количество просмотров116K


Привычный хаос в названиях коммитов. Знакомая картина?

Наверняка вы знаете git-flow. Это отличный набор соглашений по упорядочиванию работы с ветками в Git. Он хорошо документирован и широко распространен. Обычно мы знакомы с правильным ветвлением и много говорим об этом, но, к сожалению, уделяем слишком мало внимания вопросу наименования коммитов, поэтому часто сообщения в Git пишутся бессистемно.

Меня зовут Ержан Ташбенбетов, я работаю в одной из команд Яндекс.Маркета. И сегодня я расскажу читателям Хабра, какие инструменты для создания осмысленных коммитов мы используем в команде. Приглашаю присоединиться к обсуждению этой темы.

Читать дальше →
Всего голосов 72: ↑71 и ↓1+70
Комментарии84

Что дальше? Или как правильно выбрать фичи для разработки

Время на прочтение7 мин
Количество просмотров18K
Грамотно и вовремя выбирать фичи для разработки и не прогадать – это про искусство приоритизации. Как найти критерии оценки, необходимые для своего продукта, вырастить стратегические показатели, предложить клиентам еще больше ценности, наладить все внутренние процессы в команде и добиться других наглядных показателей с помощью качественной приоритизации?

image
Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии4

Использование bash completion в командной строке, собственных скриптах и приложениях. Часть 2

Время на прочтение5 мин
Количество просмотров24K
Про bash completion на хабре я уже писал тут, и даже конце пообещал рассказать про настройку автодополнения для собственных скриптов.

Однако, прошло уже полтора года, а лично у меня до продолжения руки так и не дошли. Зато эту почетную обязанность взял на себя хабраюзер infthi, опубликую от его имени.

Читать дальше →
Всего голосов 54: ↑53 и ↓1+52
Комментарии20

Silicone Skeleton — настроенный Silex

Время на прочтение2 мин
Количество просмотров15K

Если вы не один раз начинали новые проекты с использованием Silex, то вы знаете что каждый раз в начале нужно настроить его под себя: добавить провайдеры, переопределить некоторые сервисы, определить структуру каталогов, и т.д. Со временем у вас появляется базовый набор для Silex которые вы используете для создания нового проекта.
Но если у вас его нету, предлагаю вам ознакомиться с моим: Silicone Skeleton.
Читать дальше →
Всего голосов 20: ↑17 и ↓3+14
Комментарии11

Написание системных утилит на PHP CLI

Время на прочтение8 мин
Количество просмотров45K
Для большинства специалистов PHP не является языком, который бы всерьёз использовался для написания консольных утилит, и для этого есть много причин. PHP изначально разрабатывался как язык для создания веб-сайтов, но, начиная с PHP 4.3, в 2002-ом году появилась официальная поддержка режима CLI, поэтому он уже давно перестал быть таковым. Разработчики Badoo на протяжении нескольких лет вполне успешно используют множество интерактивных CLI-утилит на PHP.

В данной статье нам хотелось бы поделиться своим опытом работы с CLI-режимом в PHP и дать несколько рекомендаций тем, кто собирается писать скрипты на PHP, при условии, что они будут запускаться в *nix-системе (впрочем, почти всё верно и для Windows).
Читать дальше →
Всего голосов 96: ↑83 и ↓13+70
Комментарии107

Создана первая технология для подделки любых голосов

Время на прочтение3 мин
Количество просмотров101K


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

Благодаря передовым разработкам в области ИИ теперь злоумышленники смогут пустить оперативников по ложному следу. 24 апреля 2017 года канадский стартап Lyrebird анонсировал первый в мире сервис, с помощью которого можно подделать голос любого человека. Для обучения системы достаточно минутного образца.
Читать дальше →
Всего голосов 37: ↑33 и ↓4+29
Комментарии55

Заходим в личный кабинет на zakupki.gov.ru без Internet Explorer и другие полезные советы при работе с КриптоПро

Время на прочтение4 мин
Количество просмотров160K

В этой заметке я постараюсь обобщить опыт использования криптопровайдера КриптоПро для доступа к закрытой части официального сайта единой информационной системы в сфере закупок (zakupki.gov.ru) и сайта госуслуг (gosuslugi.ru). Сам криптопровайтер стал уже стандартом де-факто для госучреждений, в его формате выдает ЭЦП, например, удостоверяющий центр (УЦ) Федерального казначейства или УЦ Минздрава.

В первую очередь речь пойдет о сайте zakupki.gov.ru. Личный кабинет этого сайта доступен только через HTTPS с использованием ГОСТ-алгоритмов шифрования. Долгое время HTTPS через ГОСТ работал только в Internet Explorer, который целиком полагался на криптопровайдер. Развязка наступила не так давно, когда на сайте zakupki.gov.ru была прекращена поддержка старых версий IE, в том числе — IE8. Беда в том, что IE8 — последняя версия этого браузера, поддерживаемая в Windows XP, а государственные учреждения, как правило, очень консервативны в плане лицензирования. Таким образом, довольно большая часть пользователей в одночасье оказалась “за бортом”.
Читать дальше →
Всего голосов 19: ↑18 и ↓1+17
Комментарии21

Шаблоны проектирования с человеческим лицом

Время на прочтение32 мин
Количество просмотров487K

image


Шаблоны проектирования — это способ решения периодически возникающих проблем. Точнее, это руководства по решению конкретных проблем. Это не классы, пакеты или библиотеки, которые вы можете вставить в своё приложение и ожидать волшебства.


Как сказано в Википедии:


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

image Будьте осторожны


  • Шаблоны проектирования — не «серебряная пуля».
  • Не пытайтесь внедрять их принудительно, последствия могут быть негативными. Помните, что шаблоны — это способы решения, а не поиска проблем. Так что не перемудрите.
  • Если применять их правильно и в нужных местах, они могут оказаться спасением. В противном случае у вас будет ещё больше проблем.

В статье приведены примеры на PHP 7, но пусть вас это не смущает, ведь заложенные в шаблонах принципы неизменны. Кроме того, внедряется поддержка других языков.

Читать дальше →
Всего голосов 148: ↑134 и ↓14+120
Комментарии98

Красивые формы для приёма банковских карт с CardInfo.js

Время на прочтение5 мин
Количество просмотров43K

UPD. CardInfo больше не работает. Используйте BinKing.


Гайд по использованию: https://habr.com/ru/post/527796/
Сайт сервиса: https://binkng.io

Всем кто верстал, верстает или будет верстать форму для приёма банковских карт дарю плагин CardInfo.js, с помощью которого можно сверстать вот такую форму:



Плагин по номеру карты определяет один из 49 российских банков (потом и прочие страны добавлю), выдаёт вам логотип банка, цвета для фона, ссылку на сайт банка, определяет тип карты, его логотип и прочее. С этими данными делаете что хотите, верстаете любую форму.


Поиграться с формой можно на демо странице. Код плагина и инструкции по установке на гитхабе.


Под катом:


  • Пара слов о плагине;
  • Про базу банков, и почему их 49, а не 50;
  • Про логотипы банков;
  • Про логотипы типов;
  • Несколько моих вопросов к читателям;
Читать дальше →
Всего голосов 71: ↑67 и ↓4+63
Комментарии48

Эволюция модульного JavaScript

Время на прочтение20 мин
Количество просмотров42K


Скорее всего, когда Брендан Айк проектировал JavaScript, он не представлял, как эволюционирует его проект спустя двадцать лет. На данный момент вышло уже шесть основных спецификаций языка, и работа над его улучшением до сих пор продолжается.

Не будем лукавить: JavaScript никогда не был идеальным языком программирования. Одним из слабых мест в JS была модульность, а точнее её отсутствие. Действительно, зачем в скриптовом языке, который анимирует падающие на странице снежинки и валидирует форму, заботиться об изоляции кода и зависимостях? Ведь всё может прекрасно жить и общаться между собой в одной глобальной области — window.

С течением времени JavaScript трансформировался в язык общего назначения, так его начали использовать для построения сложных приложений в различных средах (браузер, сервер). При этом нельзя было положиться на старые подходы взаимодействия компонентов программы через глобальную область: с ростом объёма кода приложение становилось очень хрупким. Как результат для упрощения процесса разработки создавались различные реализации модульности.

Эта статья появилась в результате общения с участниками TC39 и разработчиками фреймворков, а также чтения исходных кодов, блогов и книг. Мы рассмотрим следующие подходы/форматы: Namespace, Module, Detached Dependency Definitions, Sandbox, Dependency Injection, CommonJS, AMD, UMD, Labeled Modules, YModules и ES2015 Modules. Кроме того, мы восстановим исторический контекст их появления и развития.
Читать дальше →
Всего голосов 71: ↑68 и ↓3+65
Комментарии34

ExcelArt – изометрия «на халяву». Рисуем псевдообъемный телефон без 3D и Фотошопа

Время на прочтение12 мин
Количество просмотров79K


Возможно ли получить псевдообъемное изображение без 3D-программ? «Конечно, — скажете вы, — берешь, напрягаешься и рисуешь с нуля». А если без «берешь, напрягаешься и рисуешь»? А если вообще без каких-то специальных знаний? Можно ли получить изометрические объекты, не тратя время на рендер? Существует ли вообще цифровая иллюстрация вне привычных графических программ? На эти и другие вопросы я дам ответ в своей статье, посвященной новому методу создания цифровых иллюстраций — ExcelArt.
Всего голосов 130: ↑125 и ↓5+120
Комментарии56

Быть настоящим и писать код VS перебирать и казаться

Время на прочтение6 мин
Количество просмотров21K
Отличный фреймворк!
Простой, чистый, производительный!
Так на его могиле и напишем...

image

Полсотни интернет-зависимых не спят. Прижав тощие и не очень задницы к стульям, они флудят в самописном чатике. Удовольствие стоит 6 рублей в час (цена «городского интернета» в далеких
2000-х с одним сервером на город-полумиллионник).


На это хватало сэкономленного на студенческих обедах. На выход в Глобальный Интернет по 33 рубля (хренасе!) в час — уже нет. Писк модема на 33600. Ночь.


Читать дальше →
Всего голосов 79: ↑72 и ↓7+65
Комментарии155

Экзотичные заголовки HTTP

Время на прочтение12 мин
Количество просмотров104K

Привет Хабрахабр! В этой статье будут наглядно продемонстрирован результат применения некоторых важных и экзотичных HTTP заголовков, большинство из которых связаны с безопасностью.
Читать дальше →
Всего голосов 83: ↑80 и ↓3+77
Комментарии35

Еще пара плагинов для Redmine

Время на прочтение2 мин
Количество просмотров29K
image
Ну а мы продолжаем допиливать Redmine под свои нужды с целью повышения удобства работы и расширения функционала.
На этот раз было разработано 2 плагина: учет времени в проектах с почасовой оплатой и рейтинг сотрудников.

Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии11
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность