Обновить

Все потоки

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

Дети, бесплатная онлайн-школа

IT-эмиграция Образование за рубежом

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

Мы собираем волонтеров–учителей, которые готовы бесплатно учить детей онлайн

Форма для записи ребенка в бесплатную онлайн–школу

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

Мы не принимаем никаких денег, пожертвований итд

Background вектор создан(а) pikisuperstar - ru.freepik.com

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

Новости

Оптимизация использования памяти в Python-приложениях

Блог компании Wunder Fund Разработка веб-сайтов *Python *Клиентская оптимизация *
Перевод

Прим. Wunder Fund: мы занимаемся высокочастотной торговлей и это заставляет нас часто думать об оптимизации кода, но в основном, конечно, плюсового. В этой короткой статье описаны несколько подходов к оптимизации Python-программ по памяти. И хотя много проблем можно решить, просто докупив ещё памяти, но не все.

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

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

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

Стратегия управления глубиной очереди ввода-вывода для достижения пиковой производительности

Microsoft SQL Server *
Перевод

По материалам статьи Джо Чанг (Joe Chang): I/O Queue Depth Strategy for Peak Performance (IO Queue Depth Strategy)

Статья была опубликована рание на SQL.RU Публикуется повторно ввиду недоступности сайта.

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

Автор, наконец, нашёл время для тестирования массива твердотельных дисков (SSD), собирая в массивы от нескольких до 20 устройств, управляемых двумя контроллерами с 4x4 портами Serial Attached SCSI (SAS). Во время предварительных тестов, когда глубина очереди обращения к дискам была очень высокой, он наблюдал большую задержку обращения к дискам, которая во время проведения ряда операций для чтения превышала 100ms и достигала более 400ms для операций записи.

Таким образом, возникают следующие вопросы:

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

Разрабатываем микросервисы на Golang + gRPC + gRPC Gateway

Go *

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

Мы напишем простое приложение на Golang, который в качестве транспортного протокола будет использовать gRPC, а так же с помощью gRPC Gateway мы подключим поддержку RESTful API.

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

Минуточку внимания

Нет, Open Source не означает «бесплатная поддержка»

Блог компании Дата-центр «Миран» Open source *Монетизация IT-систем *Бизнес-модели Софт
Перевод
Год назад разработчик опенсорсной программы Raccoon APK Downloader заявил, что отныне приём баг-репортов — это часть платной поддержки. Идея обсуждается до сих пор и вызывает споры по понятным причинам. С одной стороны, это как-то контринтуитивно… С другой стороны, определённая логика тоже есть… В общем, судите сами, вот оригинальная заметка Патрика Альбрихта, её бурное обсуждение и пояснение позиции по итогам обсуждения.

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

Юзер:	Здравствуйте, хочу зарепортить баг в вашей программе.
Я:		Отлично! Для этого откройте тикет, пожалуйста.
Юзер:	Но тикеты вроде входят платный пакет?
Я:		И?
Юзер:	Просто хочу сказать, что ваша программа сломана, чтобы вы могли починить её.
Я:		Да, с вашей стороны это запрос на поддержку. Пожалуйста, откройте тикет.
Юзер:	…бл%$#%$...
Читать дальше →
Всего голосов 37: ↑37 и ↓0 +37
Просмотры 2.3K
Комментарии 9

Cordova: связь между JavaScript и Java

Блог компании Huawei JavaScript *Java *

Cordova — это кроссплатформенная среда разработки с открытым исходным кодом, которая позволяет использовать HTML и JavaScript для разработки приложений на нескольких платформах, таких как Android и iOS. Как Cordova позволяет приложениям работать на разных платформах и реализовывать функции? Все дело в многочисленных плагинах в Cordova. Они позволяют сосредоточиться исключительно на функциях приложения, не взаимодействуя с API на уровне ОС.

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

Автоматизация, мониторинг и как жить разработчику без умения вести Инстаграм?

Системное администрирование *Серверное администрирование *

Автоматизация, мониторинг и как жить разработчику без умения вести Инстаграм?

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

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

Ложь из солидарности: как Thawte убила «систему доверия» в Интернете

Информационная безопасность *

Отзыв TLS-сертификатов у российских подсанкционных банков – это конец «системы доверия» в Интернете в том виде, как мы ее знаем. Ящик Пандоры открыт.
Читать дальше →
Всего голосов 46: ↑37 и ↓9 +28
Просмотры 7.8K
Комментарии 97

Про NFT и деньги

Блог компании RUVDS.com Криптография *Финансы в IT Криптовалюты
Завершаю серию материалов про NFT. В первой части я подробно разобрал, что такое NFT. Вторая статья посвящена хронологии большого взрыва NFT-вселенной. На этот раз мы обсудим денежки.


▍ Является ли NFT обманом?

Читать дальше →
Всего голосов 30: ↑25 и ↓5 +20
Просмотры 856
Комментарии 0

Гексагональная архитектура и Domain Driven Design на примере Front-end приложения

Программирование *Интерфейсы *ООП *Конференции TypeScript *
Tutorial

Преимущества данного метода:

Независимость: возможность не зацикливаться на бизнес логике.
Можно задекларировать, описать схему работы нашего приложения до создания внешних сервисов, использовать замоканные данные в реализации адаптеров.

Гибкость: использование любых фреймворков, перенос доменов адаптеров в другие проекты, добавление новых адаптеров без изменения исходного кода.

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

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

Простые сайты снова в моде. Минимализм возвращается

Блог компании FirstVDS CMS *Веб-дизайн *Разработка веб-сайтов *HTML *


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

Такая ситуация напрягает и самих веб-разработчиков. Приходится тратить кучу времени на оптимизацию, тестирование новомодных фич в разных браузерах, осваивать сложные CMS. Зачем? На самом деле HTML и CSS — исключительно мощные инструменты, если ими умело пользоваться.
Читать дальше →
Всего голосов 37: ↑35 и ↓2 +33
Просмотры 7.1K
Комментарии 11

Как Uber сэкономил 70 тысяч ядер благодаря полуавтоматической настройке сборки мусора

Серверная оптимизация *Облачные вычисления *Go *
Перевод

Введение


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

Технологический стек Uber состоит из тысяч микросервисов на базе нативной облачной архитектуры на основе планировщика. Большинство этих сервисов написано на Go. Наша команда Maps Production Engineering ранее сыграла важную роль в значительном повышении эффективности множества сервисов Java при помощи настройки сборки мусора. В начале 2021 года мы исследовали возможности достичь такого же эффекта в сервисах на Go. Мы запустили несколько профилей CPU для оценки текущего состояния дел и выяснили, что сборка мусора была главным потребителем ресурсов CPU в подавляющем большинстве критически важных сервисов. Ниже приведено описание некоторых профилей CPU, в которых сборка мусора (определяемая объектом runtime.scanobject) потребляет значительную долю выделенных вычислительных ресурсов.
Читать дальше →
Всего голосов 8: ↑8 и ↓0 +8
Просмотры 1.8K
Комментарии 0

Лучшие проекты на Raspberry Pi начала 2022 года, на которые стоит обратить внимание

Блог компании Selectel Разработка на Raspberry Pi *Производство и разработка электроники *Гаджеты DIY или Сделай сам

DIY-электроника всегда была чем-то особенным, атмосферным. Ну а одноплатники и микроконтроллеры Raspberry Pi привнесли в эту отрасль много нового. Проектов на базе «малинок» просто огромное количество, и далеко не все из них имеют какую-то «изюминку», из-за которой на них стоит обращать внимание. Но проекты, о которых говорится под катом, по нашему мнению, как раз оригинальные.

Некоторые из них достаточно простые, так что сделать нечто подобное или даже лучше сможет даже новичок в электронике. Другие посложнее, так что над их реализацией придется попотеть. Но в любом случае, результат будет интересным и главное — стоит потраченного времени. Что же, самое интересное — под катом.
Читать дальше →
Всего голосов 23: ↑19 и ↓4 +15
Просмотры 7.3K
Комментарии 8

Проектирование непредсказуемого интеллекта в играх. Часть 2 — интеллект толпы

Разработка игр *C# *Unity *Дизайн игр *Искусственный интеллект
Tutorial

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

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

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

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

Single Activity с Navigation Component. Или как я мучался с графами. Boilerplate ч. 1

Разработка мобильных приложений *Разработка под Android *Kotlin *
Из песочницы
Tutorial

Всем привет! Меня зовут Алишер, Android-разработчик уже как 1,5 года. За это время у меня появился шаблонный (Boilerplate) проект в котором у нас базовая архитектура приложений которую мы будем разбирать. В этой статье я расскажу, и покажу как я ел Single Activity Architecture с Fragment'ами и Navigation Component.

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

Я сделаю свое приложение, с блэкджеком и таблицами! Или как вырастить и кормить доброго монстра

Системное администрирование *Программирование *
Tutorial

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

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

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

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

DevRel за копейки

Управление персоналом *Брендинг Социальные сети и сообщества IT-компании
Из песочницы

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

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

Скриптинг без скриптинга

Ненормальное программирование *Python *Программирование *Компиляторы *
Перевод

Уже давно считается, что многие (если не все) игры или приложения можно улучшить, добавив в них поддержку скриптов.

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

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

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

Unit тесты в Swift (модульное тестирование)

Разработка под iOS *Swift *
Tutorial

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

И всё же, зачем нужны тесты?

Опишу самые, на мой взгляд, важные причины:

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

– в момент написания нового функционала (либо вы вернулись к проекту через длительный промежуток времени) проще всего  запустить тесты и убедиться в том, что старый функционал по прежнему отрабатывает корректно

– ну и конечно, это экономия времени в будущем, особенно если ваш проект не маленький, а амбициозный и с долгосрочными планами

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

Таймер в .NET с интервалом 1 мс. macOS

Программирование *.NET *Разработка под MacOS *

Ранее мы уже посмотрели, чем нам может помочь .NET в реализации задачи, обозначенной в теме статьи, в Windows. Сейчас рассмотрим её решение в macOS.

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