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

Все потоки

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

Как писать на C# аккуратно: память и производительность

Блог компании SkillFactoryПрограммированиеСовершенный код.NETC#
Перевод

К старту курса о разработке на C# делимся переводом статьи о типичных ошибках программирования на C# от Кристофа Насарре — технического рецензента книг Microsoft Press в целом и, конечно, книги CLR via C# в частности. Кроме того, Кристоф Насарре — один из авторов книги Windows via C++.

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

Новости

Показать еще

Что если изменить систему единиц времени? Это жестко?

Анализ и проектирование системСистемы сборкиИнженерные системы

Официальный сайт движения за изменение системы единиц времени:

https://sssecond.com/

Здесь я подробно напишу на русском языке объяснение.

Читать далее
Всего голосов 18: ↑9 и ↓90
Просмотры3.2K
Комментарии 51

Что происходит в сфере аудиочатов и есть ли у них будущее

Блог компании АудиоманияСоциальные сети и сообществаЗвук

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

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

Шпаргалка по метрикам производительности cURL: как измерить задержку сервера

Блог компании RUVDS.comРазработка веб-сайтовСистемное администрированиеСерверное администрирование
Перевод


Эту шпаргалку я написал в первую очередь, потому что был несколько озадачен, когда в течение более, чем 10 минут пытался найти в Google значение time_pretransfer. Попробуйте сами, я подожду. Это настоящая загадка!
Читать дальше →
Всего голосов 18: ↑17 и ↓1+16
Просмотры1.3K
Комментарии 2

Автоматизация учёта в 1С

Клиентская оптимизацияAPICRM-системыОблачные сервисы
Из песочницы

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

По результатам обсуждений собрали основной бриф:

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

Что нам стоит ЦОД построить: необычные места для размещения дата-центров

Блог компании SelectelIT-инфраструктураСетевые технологииЭнергия и элементы питания

С каждым годом растет объем информации, генерируемой человечеством. Ее нужно как-то обрабатывать, хранить, анализировать. А значит, нужны центры обработки данных, которых тоже становится все больше. Их строят повсюду, причем не только на суше, но и на воде, в виде плавучих платформ. Есть даже подводные ЦОД, хотя они пока что работают в качестве тестовых объектов.

Все дата-центры объединяет одно — им нужны вода, электричество, сетевая инфраструктура и прочие ресурсы. Поэтому строить ЦОД можно далеко не везде. В некоторых случаях в качестве строительства выбирают места, где уже есть какие-то сооружения, их модифицируют и размещают внутри оборудование. Либо же комбинируют системы дата-центра с другими системами — например, заводов, фабрик, ферм. Вот о таких объектах сегодня и поговорим.
Читать дальше →
Всего голосов 18: ↑17 и ↓1+16
Просмотры1.6K
Комментарии 8

Кунг-фу стиля Linux: базы данных — это файловые системы нового уровня

Блог компании RUVDS.comНастройка LinuxСистемное администрирование*nixАдминистрирование баз данных
Перевод
Забавно наблюдать за тем, как компьютерные технологии, которые, в момент их появления, кажутся необычными, в итоге либо уходят в небытие, либо становятся привычными и распространёнными. Например, в своё время, если на компьютере имелось больше одного пользователя, это иначе как «хай-теком» и назвать было нельзя. Были ещё и разработки, которые не завоевали широкой популярности, вроде векторных дисплеев, или памяти, адресуемой содержимым. А вот использование в компьютерах накопителей данных, особенно — жёстких дисков — стало весьма распространённой практикой. Но было время, когда накопители данных были экзотическими устройствами, пользоваться которыми было далеко не так просто, как в наши дни.



Меня, если говорить о накопителях данных, удивляет то, что понятие «файловая система», в том виде, в котором мы его знаем, за годы его существования изменилось не слишком сильно. Конечно, если сравнить то, что есть сейчас, с тем, что было, скажем, в 1960-е годы, то можно сказать, что в наши дни файловые системы дают нам гораздо более широкий функционал, чем прежде. В наши дни всё гораздо лучше в плане скорости, способов кодирования, шифрования, сжатия данных и так далее. Однако фундаментальная природа того, как мы храним файлы, и того, как с ними работаем в компьютерных программах, практически не изменилась. А всё должно быть не так. Нам известны более эффективные способы организации данных, но по каким-то причинам большинство из нас не пользуется этими возможностями в своих программах. Оказывается, правда, что пользоваться ими достаточно просто, и я собираюсь это продемонстрировать на экспериментальном приложении, которое вполне может стать отправной точкой разработки базы данных электронных компонентов для моей лаборатории.
Читать дальше →
Всего голосов 18: ↑15 и ↓3+12
Просмотры4.5K
Комментарии 9

Еще 5 причин выбрать Apache Pulsar вместо Apache Kafka

Высокая производительностьOpen sourceIT-инфраструктураApacheРаспределённые системы
Перевод
Apache Kafka — крайне популярное в настоящий момент решение для обмена сообщениями. Тем более интересно посмотреть какие альтернативы для нее существуют. Особенно декларируемые, как более интересные по ряду параметров.

Под катом — перевод статьи-сравнения Apache Pulsar и Apache Kafka. Статья в некоторой степени рекламная, т.к. написана заинтересованным лицом, но как минимум, возбуждает интерес копнуть глубже. Поехали.

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

Как построить свой самолет со своим двигателем на сверхпроводниках и жидким азотом

ПрототипированиеНаучно-популярноеНанотехнологииИнженерные системы
Из песочницы

Подсказка: сделать все маленьким.

Вступление

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

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

Python кодогенерация на благо ETL

Open sourcePythonФункциональное программирование
Из песочницы

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

Если описывать все необходимые преобразования императивно, то можно довольно скоро загрустить. Можно постараться и сделать всё декларативно, скажем, в виде некоторых dict-ов, в которых задать правила (функции?) по работе с каждым отдельным полем. Но уже на этом этапе появляется несколько проблем (поговорим о них ниже).

Альтернатива: в функциональном стиле динамически задаются конверсии, из них строятся pipeline-ы, далее конверсии генерируют ad-hoc код функций, реализующих заданное преобразование, используя библиотеку convtools.

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

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

Межсетевой прокси: Доступ в Интернет, Tor, I2P и другие сети через Yggdrasil

Блог компании ITSOFTИнформационная безопасностьСетевые технологииСерверное администрированиеI2P
Tutorial

Путешествуя по обычному интернету мы не задумываемся над доменными зонами: ru, com, org и так далее, потому что все они открываются одинаково. Однако, настроив браузер для открытия сайта в сети I2P, вы не откроете onion-домен из сети Tor. Для этого нужно будет сменить настройки прокси-сервера. Поковырявшись с конфигами, вы сможете упростить эту задачу, но, если добавить сюда еще сеть Yggdrasil, тема сильно усложнится. Таким образом настройки вашего браузера будут неизменно усложняться, тем самым создавая поле для потенциальных утечек запросов с вашего настоящего IP-адреса на сомнительные ресурсы. И это при условии, что программы для доступа во все названные сети должны быть установлены на каждое из ваших устройств, где вы хотите ими пользоваться.

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

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

Docker для Data Scientist'a

Big DataМашинное обучениеИскусственный интеллект
Tutorial

Часто у начинающих Data Scientists возникает вопрос, как демонстрировать работу своих моделей другим людям. Банальный пример - прикрепить ссылку на гитхаб репозиторий в отклике на вакансию или показать свое “детище” знакомым со словами “смотрите, что умею”.

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

Почему я «мучаюсь» с JS

JavaScriptTypeScript

Я не знаю TypeScript, поэтому и пишу эту статью. У меня есть некоторый опыт программирования на Java и PHP и этот опыт заставляет меня кодировать на JavaScript'е соответствующим образом. К последней моей статье коммент от коллеги Silverthorne был такой:


export default class TeqFw_Http2_Back_Server {
constructor(spec) {
// EXTRACT DEPS
/** @type {Function|TeqFw_Http2_Back_Server_Stream.action} */
const process = spec['TeqFw_Http2_Back_Server_Stream$'];
/** @type {TeqFw_Web_Back_Handler_Registry} */
const registryHndl = spec['TeqFw_Web_Back_Handler_Registry$'];


зачем все это, когда есть TypeScript?

В ответном комменте я попросил от него продемонстрировать TS-код, который делает то же самое. Он не ответил. Я добавил коммент с просьбой, чтобы кто-угодно продемонстрировал TS-код, который делает то же самое. Ничего. И вот я пишу уже статью с аналогичной просьбой.

Читать дальше →
Всего голосов 36: ↑14 и ↓22-8
Просмотры6.6K
Комментарии 46

Не нервничай

Управление проектамиУправление сообществомУправление продуктомУправление персоналомИнтервью

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

Читать далее
Всего голосов 9: ↑3 и ↓6-3
Просмотры1.3K
Комментарии 1

Говорите длиннее: история процессоров компании Transmeta

Блог компании SelectelИстория ITСтарое железоНоутбукиПроцессоры

Когда 19 января 2000 года, общественности был представлен новый процессор Transmeta Crusoe (странно, но презентация прошла в среду, а не в пятницу), разнообразные, порой неправдоподобные, слухи о компании ходили вот уже почти два с половиной года — с тех пор, как появился ее сайт с чистой главной страницей и заголовком «Not yet the Transmeta home page». За пару месяцев до релиза, на странице начали появляться намеки на предстоящую презентацию, но они лишь подогревали слухи…

Сама же компания была основана еще в 1995 году и с тех самых пор в атмосфере строжайшей секретности разрабатывала процессор будущего. Быстрый, холодный и удивительный. Он должен был составить конкуренцию грандам — Intel и AMD. Он должен был быть полностью совместим с ними, имея при этом внутри устройство, совершенно иное от соперников.
Читать дальше →
Всего голосов 33: ↑32 и ↓1+31
Просмотры3.3K
Комментарии 7

Объектно-ориентированное программирование на Си без плюсов. Часть 2. Таймер

ПрограммированиеCРазработка под Linux

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

    Для Linux в Си в настоящее время есть следующие функции:

unsigned int sleep(unsigned int __seconds); ,

объявленная в файле <unistd.h> и

int nanosleep(const struct timespec *req, struct timespec *rem); ,

объявленная в файле <time.h>

    Обе выполняют одну задачу, приостанавливают работу потока в котором была вызвана функция на заданное время, поэтому с данными функциями очевидным является простое решение (как говорится «решение в лоб») выделить для таймера отдельный поток.

    Есть ещё функция clock_nanosleep(), можно включить режимы SHED_FIFO или SCHED_RR для более точной работы, всё это конечно хорошо, но я решил ограничиться только выше указанными.

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

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

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

Как использовать IndexDB для управления состоянием в JavaScript

JavaScriptHTMLБраузеры
Перевод

Эта статья — перевод оригинальной статьи Craig Buckler "How to Use IndexDB to Manage State in JavaScript".

В этой статье объясняется, как использовать IndexedDB для хранения состояния в типичном клиентском приложении на JavaScript.

Код доступен на Github. Он представляет собой пример to-do приложения, которое вы можете использовать или адаптировать для своих собственных проектов.

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

ИИ в качестве актера озвучки звучит очень по-человечески. И цифровых агентов уже можно нанять

Блог компании Neuro.netМашинное обучениеИскусственный интеллектБудущее здесьГолосовые интерфейсы
Перевод
image

Голосовые агенты становятся все более совершенными. Мы уже рассказывали о том, насколько хорошо они понимают собеседника-человека и способны воспроизводить речь. Использовать цифровых агентов можно не только в качестве «сотрудника» колл-центра, но и в качестве актеров озвучки/дубляжа. Хороший пример — работа компании WellSaid Labs, о которой и рассказывается в этой статье.

Компания WellSaid Labs на своем сайте уведомляет посетителей, что у нее в запасе «восемь новых цифровых актеров озвучки». Тобин «энергичен и проницателен». Пейдж «уравновешенна и выразительна». Ава «отточенная, уверенная в себе и профессиональная».

Каждый цифровой агент использует голос реального актера, конечно, с согласия последнего. Теперь компании могут лицензировать эти голоса, чтобы рассказывать обо всем, что нужно бизнесу. Они просто вводят текст в голосовой движок, и на выходе получается четкий аудиоклип с естественным звучанием.
Читать дальше →
Всего голосов 7: ↑7 и ↓0+7
Просмотры3.1K
Комментарии 7

Проигрыватели винила до двадцати тысяч рублей — три избранные модели

Блог компании АудиоманияПериферияЗвук

В прошлый раз мы рассмотрели три бюджетные «вертушки» для начинающих: AT-LP60X USB, Pro-Ject Primary и необычную Marley Stir it Up. Продолжаем двигаться в сторону чуть более дорогостоящей аудиотехники и смотрим, какие еще доступные проигрыватели могут предложить такие бренды как TEAC, Pro-Ject и Lenco.

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

Blender, 1001 мелочь

Open sourceРабота с 3D-графикойСофт
Tutorial

Продолжение разбора приёмов работы с пакетом трёхмерной графики Blender версии 2.79. На этот раз речь пойдёт о материалах в Cycles и о том, как отрендерить итоговую картинку.

Далее
Всего голосов 5: ↑4 и ↓1+3
Просмотры3.5K
Комментарии 27