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

Все потоки

Сначала показывать
  • Новые
  • Лучшие
Порог рейтинга
  • Все
  • ≥0
  • ≥10
  • ≥25
  • ≥50
  • ≥100

Новелла про одну функцию. Основано на реальных событиях

Программирование *Читальный зал

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

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

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

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

Недельный геймдев: #36 — 19 сентября, 2021

Разработка игр *

Из новостей на этой неделе: стала доступна бета SketchUp для iPad, Maxon выпустила VFX Suite 2, Unity завершила сделку по поглощению Parsec.

Из интересностей: интервью с разработчиками Despot’s Game, Unity FPS Games & GameDev Assets Bundle, расшифровка интервью с создателем Чёрной книги, технические аспекты King’s Bounty II, документалка от Noclip про Prey, про воксельные движки.

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

3. Частотные характеристики звеньев и систем автоматического управления. 3.9 Изодромное звено (изодром)

Анализ и проектирование систем *Математика *Промышленное программирование *Matlab *Визуальное программирование *
Tutorial

Лекции по курсу «Управление Техническими Системами» читает Козлов Олег Степанович на кафедре «Ядерные реакторы и энергетические установки» факультета «Энергомашиностроения» МГТУ им. Н.Э. Баумана. За что ему огромная благодарность!

Данные лекции готовятся к публикации в виде книги, а поскольку здесь есть специалисты по ТАУ, студенты и просто интересующиеся предметом, то любая критика приветствуется. В предыдущих сериях:

1. Введение в теорию автоматического управления.
2. Математическое описание систем автоматического управления 2.1 — 2.32.3 — 2.82.9 — 2.13.
3. ЧАСТОТНЫЕ ХАРАКТЕРИСТИКИ ЗВЕНЬЕВ И СИСТЕМ АВТОМАТИЧЕСКОГО УПРАВЛЕНИЯ РЕГУЛИРОВАНИЯ.
3.1. Амплитудно-фазовая частотная характеристика: годограф, АФЧХ, ЛАХ, ФЧХ.
3.2. Типовые звенья систем автоматического управления регулирования. Классификация типовых звеньев. Простейшие типовые звенья.
3.3. Апериодическое звено 1–го порядка инерционноезвено. На примере входной камеры ядерного реактора
3.4. Апериодическое звено 2-го порядка
3.5. Колебательное звено
3.6. Инерционно-дифференцирующее звено
3.7. Форсирующее звено
3.8. Инерционно-интегрирующее звено (интегрирующее звено с замедлением).

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

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

Первые шаги с aiohttp: часть 2. Подключаем базу данных к приложению

Блог компании KTS Разработка веб-сайтов *Python *
Tutorial

Привет!

В прошлой статье мы познакомились с aiohttp и написали на нем свое первое веб-приложение: стену с отзывами.

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

Если вам интересно асинхронное программирование, приходите к нам на курс в KTS, где мы гораздо подробнее разберем эту тему.

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

Какую СУБД выбрать и почему? (Статья 1)

Oracle *SQL *NoSQL *Microsoft SQL Server *
Из песочницы

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

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

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

Digital Material Passport. Ч.2 – Цифровой парадокс и рынок DMP

CAD/CAM *Исследования и прогнозы в IT Управление продуктом *Суперкомпьютеры Data Engineering *

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

Этот цифровой парадокс заставляет усомниться в возможностях массового перехода на качественные Digital Twin и тем более использование DMP в России при «хаотичной» организации работы, даже в условиях распространения цифровизации.

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

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

Топ-20 самых упоминаемых книг на HackerNews

Блог компании Timeweb Профессиональная литература Читальный зал Научная фантастика
image

На HackerNews пользователь tracyhenry проанализировал 40 000 комментариев и составил рейтинг самых упоминаемых в комментариях книг.

Автор рейтинга преисполнен благодарности тем книгам, про которые он узнал благодаря HackerNews и решил отдать долг и написать приложение, которое бы проанализировало все рекомендации на Hackerews. Такие попытки были неоднократно (раз, два, три), но в предыдущих попытках были ограничения по размеру выборки, либо были недостаточно четкие правила поиска и поэтому картина была не полна. Еще сложность представляли случаи, когда названия книги пересекалось с названием фильма («Первому игроку приготовиться») или название — это общеупотребительное слово/словосочетание: «Стив Джобс» или «Медитация».

Автор рейтинга использовал NLP-модель BERT для повышения точности распознавания (и 4000 вручную размеченных комментариев). Новая версия извлекает в 9-50 раз больше упоминаний, чем предыдущие решения.

Ограничения текущей модели: 1) не различает две разные книги с одинаковым названием («Гарри Поттер» и «Гарри Поттер и методы рационального мышления»). 2) не понимает, что это гневный комментарий.

Книги из топ-20 очень известные, и нет смысла давать их краткое описание, это уже делали много раз. Привожу здесь список из топ-20 (более полный см тут), чтобы вы могли свериться, насколько вы «соответствуете повестке мировой ИТ элиты» и отзывы/конспекты/упоминания про эти книги на Хабре.

Что вы уже давно прочитали, а что упустили из вида и почему?
Читать дальше →
Всего голосов 12: ↑8 и ↓4 +4
Просмотры 2.4K
Комментарии 2

Разница между useMemo и useCallback подробно

JavaScript *ReactJS *

useCallback используется для мемоизации коллбеков в компонентах, а useMemo используется для мемоизации значений. По своей сути, эти два хука ничем не отличаются и предназначение у них одно и тоже - хранение данных. Строение идентичное, как и в useEffect и useLayoutEffect, первым аргументом идёт коллбек и вторым - массив зависимостей.

Вот несколько вопросов:

Узнать разницу между хуками
Всего голосов 3: ↑1 и ↓2 -1
Просмотры 922
Комментарии 0

LED-лампочки: линейный драйвер и пульсация

Блог компании LampTest Гаджеты
Из-за подорожания электронных компонентов и увеличения стоимости морских перевозок всё больше недорогих светодиодных ламп на нашем рынке оснащаются дешёвыми линейными драйверами.

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

Читать дальше →
Всего голосов 12: ↑12 и ↓0 +12
Просмотры 2.3K
Комментарии 11

Построение архитектуры проекта при работе с PySpark

Блог компании X5 Group Python *Анализ и проектирование систем *Big Data *Data Engineering *

В настоящее время уже сложно найти крупную компанию, которая не использовала бы возможности накопления и использования больших данных. Меня зовут Никита Сурков и я работаю в проекте ценообразования "Пятёрочки" X5 Group. Проект является ярким примером использования больших данных, так как Пятёрочка -- это 18000 магазинов по всей стране. Чтобы построить систему ценообразования в такой сети требуется обработка миллиардов строк информации из чеков, данных по остаткам, себестоимостей и многих других данных. Для всего этого преимущественно используется PySpark, как один из популярных инструментов для работы с расперделёнными системами. В данной статье будет представлен один из методов написания кода на PySpark таким образом, чтобы он был более читаем, легко тестируем и поддерживаем. Сразу оговорюсь, что не представляю здесь единственное правильное решение, но оно доказало свою жизнеспособность на примере того проекта, в котором я работал.

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

Citymobil Data Meetup #1 | Switchback эксперименты и сетевые эффекты

Блог компании Ситимобил

Всем привет! На связи с вами Артем Солоухин. Я представляю команду surge pricing, подразделение эффективности и маркетплейса «Ситимобил». Сегодня мы с вами немного поговорим про switchback эксперименты и про сетевые эффекты. Начнем с небольшого интро в том, чем занимается наша команда, чтобы стало понятно, почему нас волнует то, о чем мы сегодня поговорим.  Далее немного обсудим сетевой эффект, поговорим про switchback, решает ли он проблему сетевого эффекта и насколько. Подведем какие-то итоги. Итак, погнали. 

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

Особое мнение Ричарда Фейнмана по гибели шаттла “Челленджер”

Космонавтика
Перевод

В процессе чтения неплохого поста про американскую SLS наткнулся на цитату из документа, на который часто ссылаются в постах про Space Shuttle, но целиком на русском я его найти не смог - особое мнение Ричарда Фейнмана в составе комиссии по расследованию катастрофы шаттла "Челленджер" в 1986 году.

Решил сделать перевод для Хабра; все совпадения с сегодняшними инженерными практиками случайны (грустный вздох).

Читать далее
Всего голосов 35: ↑34 и ↓1 +33
Просмотры 10K
Комментарии 19

MastermindCMS2 — Как начать?

CMS *Разработка веб-сайтов *Развитие стартапа
Tutorial

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

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

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

После небольшого вступления, давайте приступим именно к сабжу.

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

Безопасная многопоточность в Rust

Блог компании OTUS Программирование *Проектирование и рефакторинг *Rust *

Представьте ситуацию: вы решили добавить функционал в некоторую сущность (класс, структуру, ...). Для этого вам понадобилось хранить внутри сущности дополнительные данные. Вы добавляете приватные поля, меняете и читаете их внутри методов, интерфейс методов не изменяется, и всё выглядит хорошо. И не просто выглядит, а компилируется, запускается и проходит тесты. Красота... А потом, в один прекрасный день, прод падает. И может быть даже, теряет часть важных данных. Вы с коллегами начинаете искать причину поломки. И оказывается, что та сущность, которую вы дополняли год назад, делится между несколькими потоками, а поля добавленные вами не потокобезопасны и поэтому гонка за доступ к ним в какой-то момент вызывает их повреждение. Неприятно, согласитесь? Хотелось бы иметь инструмент, позволяющий избегать подобных ситуаций. И язык программирования Rust такой инструмент предоставляет.

Читать далее
Всего голосов 24: ↑21 и ↓3 +18
Просмотры 2.2K
Комментарии 1

Android RecyclerView с использованием котлиновских sealed классов

Блог компании OTUS Программирование *Разработка под Android *
Перевод

RecyclerView — это один из самых лучших инструментов для отображения больших списков на Android. Как разработчики, вы, скорее всего понимаете о чем я говорю. У нас есть много дополнительных фич, таких как шаблоны вью холдеров, сложная анимация, Diff-Utils колбек для повышения производительности и т. д. Такие приложения, как WhatsApp и Gmail, используют RecyclerView для отображения бесконечного количества сообщений.

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

Грейды: как оценивать уровень разработчиков?

Блог компании Timeweb IT-стандарты *Терминология IT Карьера в IT-индустрии Интервью


В новом выпуске подкаста «Релиз в пятницу» Миша Шпаков, Кира Айрапетова, Олег Филимошин обсудили грейды: когда, кому, зачем они нужны и как эффективно их использовать.

Если коротко, вот что я выделила для себя:

  • Грейд — структура, позволяющая привязать зарплаты в компании к навыкам и задачам сотрудников.
  • Грейды нужны не всем компаниям.
  • Грейды не только про hard-skills.
  • Грейды обоюдно удобны, если позволяют тем, кто больше вкладывает в развитие компании, получать больше.
  • Грейды могут быть вертикальные и горизонтальные.
  • Круто, когда человека сам решает, куда он хочет развиваться, и компания идет ему навстречу.

Под катом подробнее — текстом для тех, кому удобнее почитать, и ссылочка на видео для тех, кто предпочитает слушать.
Читать дальше →
Всего голосов 2: ↑1 и ↓1 0
Просмотры 1.9K
Комментарии 7

Webix SpreadSheet. Полноценная web альтернатива десктопного Excel?

Разработка веб-сайтов *JavaScript *Программирование *Интерфейсы *HTML *
Tutorial

Продолжая тему постепенного перехода от десктопного софта к аналогичным онлайн сервисам, в этой статье я хочу рассказать вам о виджете, который способен потягаться с его величеством "Excel". Речь пойдет о весьма необычном JavaScript решении для полноценной работы с электронными таблицами, которое гибко настраивается и легко интегрируется в любое окружение. Давайте разбираться что же представляет собой SpreadSheet и так ли он хорош на самом деле.

Узнать подробнее
Всего голосов 4: ↑3 и ↓1 +2
Просмотры 1.5K
Комментарии 10

11 проектов, которые нужно сделать, чтобы стать мастером фронтенда

Разработка веб-сайтов *Open source *JavaScript *Программирование *.NET *
Перевод

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

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

Читать далее
Всего голосов 12: ↑9 и ↓3 +6
Просмотры 4.5K
Комментарии 7

Развиваем нечеткий поиск на примере МТР

Блог компании Юнидата

Одним из основополагающих инструментов при работе с данными является их поиск. В юнидате мы используем инструмент ElasticSearch как сервис полнотекстового поиска. В данной статье мы хотим поделиться нашим личным опытом развития fuzzy поиска в тематике материально-технических – ресурсов (далее МТР) как пример использования поиска в специализированных бизнес-кейсах. Статья не является руководством к применению, так как определенные решения могут не быть оптимальными вне контекста платформы, но могут быть полезны при решении похожих задач. Итак, приступим.

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

Использование общедоступных источников информации для деанонимизации криптовалютных кошельков

Блог компании T.Hunter Информационная безопасность *Open source *Социальные сети и сообщества Криптовалюты

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

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

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