Как стать автором
Обновить

Все потоки

Сначала показывать
Порог рейтинга

Концепты и модули cpp. Взгляд сo стороны undefined разработчика

Программирование *C++ *

В 2002 году Алекс А. Степанов проводит лекцию в адоби: STL and Its Design Principles - где упоминает кейворд concept (там прям целый слайд про концепты). В 2009 году в свет выходит книга Elements of programming (Stepanov, McJones) и где по-моему нет ни одного алгоритма без концептов. В 2011 новый стандарт языка с++11, где в отложенных (прям очень жаль) фичах фигурируют концепты. В 2014 мир видит творенье Страуструпа - Tour of C++, где глава 5.4 названа Concepts and Generic Programming, хотя язык не поддерживает кейворд concept. Годом ранее, в 2013, Андрю Саттон публикует бумагу Concepts Lite. В стандарте с++14 появляется новая фича digit separators, но нет концептов. В 2017 на реддите обсуждают c++17 и предлагают отдохнуть еще три года.

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

Читать далее
Всего голосов 7: ↑2 и ↓5 -3
Просмотры 1.2K
Комментарии 4

Делаем плавники для досок

Прототипирование *DIY или Сделай сам

Дело было вечером, делать было нечего (с)

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

Погружаюсь в смолу
Всего голосов 16: ↑16 и ↓0 +16
Просмотры 2.8K
Комментарии 12

Организация react-компонентов с помощью dot-notation и почему я часто прибегаю именно к этому способу

JavaScript *ReactJS *TypeScript *
Из песочницы
Tutorial

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

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

Сегодня я бы хотел с вами поделиться одним из моих любимых паттернов организации сложных react-компонентов, рассказать о его сильных и слабых сторонах (да, некоторые минусы есть). Однако сперва для того, чтобы оценить сильные стороны данного подхода, нужно погрузиться в процесс разработки нового react компонента и сопутствующие ему проблемы, которые подход помогает решить.

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 2K
Комментарии 2

Чжунгуаньцунь: как выглядит и как родилась «кремниевая долина» КНР

Блог компании RUVDS.com Развитие стартапа Читальный зал Научно-популярное

С тех пор как «настоящая» Кремниевая долина в Калифорнии получила своё имя и всемирную славу, в других странах мира многие стали пытаться повторить её успех.

В 90-е и «нулевые» годы «кремниевые» топонимы возникали как грибы после дождя. Кремниевые холмы в Остине, Техас (1995 год). Кремниевое плато в Бангалоре, Индия (1999 год). Кремниевый оазис в Дубаи, ОАЭ (2003 год). Кремниевый мыс в Кейптауне, Южная Африка (2009 год). В одной только Великобритании водятся Кремниевый коридор, Кремниевая объездная, Кремниевая теснина, Кремниевый глен (узкая долина по-шотландски) и даже Кремниевая топь (Silicon Fen) под Кембриджем. К настоящему моменту список «кремниевых» топонимов насчитывает десятки наименований по всему земному шару.

Одним из первых — и наиболее успешных — «кремниевых» проектов стал научно-технологический парк Чжунгуаньцунь в Пекине. Именно его чаще всего называют «китайской кремниевой долиной», и для того есть немало оснований. Более того, он весомо претендует на почётное звание второго по важности «кремниевого» хаба на планете. По крайней мере, по состоянию на начало 2020-х годов.
Читать дальше →
Всего голосов 22: ↑21 и ↓1 +20
Просмотры 3K
Комментарии 5

Статический анализатор, который изменит вашу архитектуру

Java *ООП *

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

Читать далее
Всего голосов 10: ↑5 и ↓5 0
Просмотры 2.3K
Комментарии 10

Отношения с IT. Часть шестнадцатая. Адаптация дело рук самих адаптирующихся

Управление персоналом *IT-компании

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

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

- Но...

- Адаптация - это не самый важный проект в нашей компании. Поэтому, давай иди.

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

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

Безусловно, it-компании предпочитают нанимать тех, кто уже работал в отрасли. Это позволяет уменьшить значимость адаптации и дает возможность сотруднику при смене компании «выжить» за счет предыдущего опыта. Так как IT-персонала сильно меньше, чем всех остальных (и его нехватка только усилилась в свете последних событий), а зарплатные ожидания у них выше, чем у специалистов из других отраслей и выше тех, кто совершает переход из отрасли в отрасль, то зачастую предложения о работе делаются тем, кто стоит дешевле (пусть даже имея меньшее число компетенций, знаний и навыков). Следовательно, этим людям требуется больше усилий для адаптации со стороны hr и руководителей подразделений.

Читать далее
Всего голосов 14: ↑4 и ↓10 -6
Просмотры 657
Комментарии 8

Изобретатели парохода: первое поколение

Научно-популярное Транспорт
Перевод


<< До этого: Паровая революция

Ко времени появления триумфальных достижений Уатта идея о том, что двигатель, работающий на сжигаемом топливе, может заставить транспортное средство перемещаться по земле, воде или даже по воздуху, была уже не новой. Лейбниц, Гюйгенс и Папен рассуждали о средствах передвижения, работающих на порохе или паре. Самой популярной идеей была тележка без лошадей – ведь машины, вращавшие колёса, тогда уже стали обычным делом. Шотландский учёный и изобретатель Джон Робисон демонстрировал самому Уатту повозку, приводимую в движение силой пара, в 1759 году. Однако практически использовать пар для передвижения сначала получилось не на суше, а на воде. Тому было множество причин, основной из которых был размер этих машин. Ранние паровые машины были крупными и тяжёлыми, они покоились на крупных и тяжёлых паровых котлах, установленных на крупных и тяжёлых топках (сделанных обычно из кирпича). Гораздо проще было сплавлять всю эту массу по воде, чем поставить её на колёса (тем не менее, исполинский вес этих машин отправил на дно не один пароход) [1]. Кроме того, судно среднего размера, в отличие от наземного средства передвижения разумных габаритов, могло разместить всё это оборудование так, чтобы там ещё осталось место для полезного груза – людей и прочего. Для создания значительно более компактных двигателей пришлось бы использовать пар высокого давления, но это порождало множество технических проблем, на решение которых пришлось потратить не одно десятилетие.
Читать дальше →
Всего голосов 20: ↑18 и ↓2 +16
Просмотры 2.4K
Комментарии 6

«Братство друзей». Как религиозная секта привлекла Google к очередному судебному процессу

Блог компании Timeweb Cloud Научно-популярное Социальные сети и сообщества Биографии гиков IT-компании

Кажется, подавать в суд на Google стало прибыльным занятием. При условии, что есть в чём обвинить корпорацию, и при наличии крутых юристов. Каких только исков не подавали против технологического гиганта: за дискриминацию женщин, за нарушение конфиденциальности, за клип Моргенштерна. И это только за 2022 год. Для полноты не хватало только исков с религиозным подтекстом. Как говорится, получите и распишитесь.

Калифорнийская религиозная секта под названием «Братство друзей», или «Fellowship of Friends „ (название конечно, моё почтение), которая верит, что более высокое сознание может быть достигнуто с помощью изобразительного искусства и культуры, закрепилась внутри бизнес-подразделения Google. Даже в свободной офисной культуре Google, поощряющей сотрудников высказывать своё мнение и заниматься собственными проектами, присутствие “Братства друзей» в бизнес-подразделении, мягко говоря, экстравагантно. Согласно иску, поданному Кевином Ллойдом, 34-летним бывшим видеопродюсером Google, 12 членов «Братства друзей» (идеальное название для пацанских пабликов во Вконтакте) и их близких родственников работали в Google Developer Studio (GDS), которая выпускает видеоролики, демонстрирующие технологии компании. Многие другие члены «Братства друзей» (Толкин тут ни при чём) обслуживали корпоративы, работали на стойках регистрации, фотографировали, музицировали и диджеили, массажировали и подавали вино. Согласно иску, для этих корпоратов Google регулярно покупала дорогое вино на винодельне, принадлежащей члену братства.
Читать дальше →
Всего голосов 8: ↑5 и ↓3 +2
Просмотры 3K
Комментарии 0

Почему всё ломается даже у хороших программистов? Часть 2/2

Программирование *Управление разработкой *Управление проектами *Управление продуктом *
Tutorial

После несерьёзной статьи на серьёзную тему Job Safety Driven Development стоит рассказать о том, почему даже опытные и добросовестные программисты волей случая могут попадать в схожие ситуации. Сначала захотелось написать, почему программисты ошибаются вообще, но оказалось, что это слишком разные темы. Потом оказалось, что и на эту тему получился очень длинный текст. Пришлось разбить его на части. В первой части мы рассмотрим обычные случаи, которые знакомы многим крупным компаниям. И дополним понятие «серебряная пуля» понятием «золотая шестерёнка».  Во второй части поймём, какую цену вам, скорее всего, придётся заплатить за «золотую шестерёнку», я приведу немного своего опыта. Как всегда, попробую писать простым языком, понятным широкой аудитории.

Читать далее
Всего голосов 23: ↑22 и ↓1 +21
Просмотры 4.6K
Комментарии 16

Антипаттерны в написании учебных пособий или откуда растут ноги плохого кода?

Совершенный код *Математика *Учебный процесс в IT
Из песочницы

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

Статья будет полезна разработчикам, которым пришло распоряжение написать документацию к ПО, а также авторам учебных пособий вузов. Я не питаю иллюзий, что ситуация как-то изменится что у первых, что у вторых, но помечтать всё же хочется.

Важно: пример из статьи не является вымыслом или шуткой!

Ещё важней: статья не является критикой математики, математику я люблю.

Мучаемся вместе
Всего голосов 36: ↑24 и ↓12 +12
Просмотры 6.5K
Комментарии 39

Спуск контента вызова внутрь процедуры

Алгоритмы * *

Вообще-то я программирую в 1С, на языке, похожем на Visual Basic. Но мне кажется, что затронутый в этой теме вопрос касается всех языков программирования, т.к. затрагивает проблему, с которой рано или поздно сталкивается программист при работе со сложным кодом.

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

Читать далее
Всего голосов 10: ↑5 и ↓5 0
Просмотры 1.7K
Комментарии 56

Инструкция как писать стандартизированные комментарии к коммитам (git commit)

Git *GitHub
Перевод
Tutorial

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

Читать далее
Всего голосов 16: ↑2 и ↓14 -12
Просмотры 4.1K
Комментарии 9

«Умные» теплицы и GPS-датчики для трактора: зачем нужен интернет вещей на ферме

Блог компании Россельхозбанк Читальный зал Научно-популярное Интернет вещей

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

Читать далее
Всего голосов 16: ↑15 и ↓1 +14
Просмотры 2.4K
Комментарии 12

Supply Chain automation или как автоматизировать цепочки поставок

Data Mining *Big Data *
Tutorial

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

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

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

Задача прогнозирования потребления

Есть очень похожая и более распространенная задача в розничной торговле: сколько каких товаров нужно поставить в магазин Х в момент времени У? Задача решается относительно просто: зная потребление товара во времени из чеков и запасы товара на складе, можно вычислить будущую поставку напрямую. Поставить нужно столько, сколько предположительно продадут, за минусом запаса.

Читать далее
Всего голосов 1: ↑1 и ↓0 +1
Просмотры 536
Комментарии 0

Чем сейчас живут тестировщики? Часть 2

Блог компании Конференции Олега Бунина (Онтико) Тестирование IT-систем *Тестирование веб-сервисов *Тестирование мобильных приложений *Конференции

Если вы читали первую часть, то вы, наверное, запомнили, что уже 27 и 28 июня пройдет наша первая конференция тестировщиков — Test Driven Conf 2022. Для остальных чуть-чуть расскажу. Темы будут сплошь для профессионалов: про автоматизацию в тестировании и QA-процессах, про нагрузочное и ML-тестирование, про оптимизацию и аналитику. Чтобы лучше представлять, как все это будет, давайте посмотрим, какие решения задач тестировщиков предлагают наши спикеры.

В прошлый раз мы рассмотрели четыре секции в которых будут проходить доклады: оптимизация тестов и аналитики, автоматизация рутины, нагрузочное тестирование и cutting-edge технологии. Теперь немного погрузимся в доклады из остальных секций.

Читать далее
Всего голосов 7: ↑5 и ↓2 +3
Просмотры 1.1K
Комментарии 0

Воспроизводимость ML экспериментов с помощью MLflow project

Блог компании Digital Design Open source *Python *Машинное обучение *
Tutorial

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

И все шло хорошо, результаты проверки гипотез (параметры обучения, метрики, артефакты и модели) сохранялись, их было удобно наглядно сравнивать, и все были довольны. Так продолжалось достаточно долгое время, пока не возникла необходимость вернуться к эксперименту, который выполнялся какое-то время назад и был приостановлен.

Читать далее
Рейтинг 0
Просмотры 673
Комментарии 0

Собираем генератор данных на Blender. Часть 3: Материалы и освещение

Блог компании Friflex Python *Машинное обучение *Искусственный интеллект
Tutorial

Привет, Хабр! На связи Глеб, ML-разработчик Friflex. В этой серии статей я делюсь своим опытом работы с Blender (мы используем Blender для работы над нашими проектами по оцифровке спорта). В предыдущих статьях мы говорили о работе с объектами и с камерами: научились наводить объектив на объекты, менять фокусное расстояние и многое другое. В этой статье мы поговорим о том, как сделать сцену более реалистичной: настроим освещение, добавим тени, создадим текстуру для объекта, свойства которой будем менять через API.

Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Просмотры 1.1K
Комментарии 0

Отрисовка в браузере большой анимации или как я ушел с mp4 к своему формату видео

JavaScript *Обработка изображений *
Из песочницы

Поделюсь с вами успешным опытом разработки рендера в браузере большой, постоянно расширяющейся анимационной сцены, состоящей из множества мелких двигающихся объектов, зацикленных в 5 секунд.

Читать далее
Всего голосов 168: ↑168 и ↓0 +168
Просмотры 10K
Комментарии 60

Я не придумал, куда сходить — и скодил своего бота, который решает эту проблему за меня

Мессенджеры *Python *Программирование *Управление продуктом *

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

Рождение идеи

Примерно за неделю до нового 2022 года, сидя в гостях у друга и покуривая кальян, мы сидели и думали “чоб такого придумать-замутить, чтобы было интересно”. Начали накидывать идеи, но все были так себе. Сначала приходили на ум всякие сложные идеи, типа убийцу %PopularService%, но было решено начать с чего-то попроще, например, какого-нибудь бота для Телеграм... начали обсуждать, чего не хватает конкретно нам и что могло бы быть удобно для большого числа людей.

Потом кто-то сказал: “Мы почему-то дома часто сидим, не ходим никуда. На ** (одном из многих сайтов-агрегаторов мероприятий) всякий шлак, а что-то интересного нет”. И возникла идея - а что если сделать бота в Телеграме, которому ты просто однажды поставил, о каких мероприятиях хочешь получать уведомления, и после этого про него забываешь? А он тебе рассказывает только о тех событиях, которые тебе действительно интересны. Да еще впереди и праздники новогодние - идея должна стрельнуть.

Мы быстро раскидали зоны ответственности за бота - кто собирает мероприятия, кто пишет бота, кто думает о том, как продвигать. И забили нафиг.

Читать далее
Всего голосов 18: ↑14 и ↓4 +10
Просмотры 5.3K
Комментарии 9