Как стать автором
Обновить
9
5.9
Сергей @TsarS

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

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

Кремний

Время на прочтение 6 мин
Количество просмотров 61K
image
Процессор? Песок? А какие у вас с этим словом ассоциации? А может Кремниевая долина?
Как бы там ни было, с кремнием мы сталкиваемся каждый день и если вам интересно узнать что такое Si и с чем его едят, прошу под кат.
Читать дальше →
Всего голосов 145: ↑130 и ↓15 +115
Комментарии 50

Создание сетевой игры с помощью Collagen_2, Node.js и библиотеки socket.js

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

В данной статье будет описан простой способ создания сетевой онлайн мини игры на подобии небольшой чат комнаты. Игроки могут передвигаться по полю игры, прятаться за деревьями, также есть возможность управлять камерой вида. Для тестирования игры необходимо скачать редактор зайти в папку collagen_2/games/game_3, ввести в командной строке forever start app.js. Для работы игры требуются модули socket.js и forever(глобальная инсталяция).

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

Где бесплатно изучать Rust в 2024

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

В 2024 году Rust остается одним из наиболее востребованных и перспективных языков программирования. Вот несколько причин, почему учить Rust может быть полезно:

1. Безопасность: Rust разработан с упором на безопасность, предотвращая многие типичные ошибки программирования, такие как доступ к памяти после ее освобождения или гонки данных. Это особенно важно для разработки критически важных систем, таких как операционные системы или встраиваемые приложения.

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

3. Многопоточность: Rust предоставляет удобные инструменты для разработки многопоточных приложений. Он предлагает безопасные абстракции для работы с потоками и предотвращает гонки данных, что облегчает разработку параллельных программ.

4. Кроссплатформенность: Rust поддерживает различные платформы, включая Windows, Linux, macOS и другие. Это позволяет разрабатывать приложения, которые могут работать на разных операционных системах без необходимости переписывать код.

5. Растущее сообщество: Rust имеет активное и одно из самых быстрорастущих сообщество разработчиков. Это означает, что всегда есть доступ к обновленным библиотекам, учебным материалам и помощи от опытных разработчиков.

6. Востребованность на рынке труда: Rust становится все более популярным среди работодателей, особенно в области разработки системного и встраиваемого программного обеспечения. Умение программировать на Rust может открыть двери к новым возможностям и повысить вашу конкурентоспособность на рынке труда.

Читать далее
Всего голосов 33: ↑22 и ↓11 +11
Комментарии 43

2d движок для игр Javascript Game Engine (JsGE)

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

Привет всем. Меня зовут Артурас, я пишу на Javascript. Полтора года назад я уволился из оффшорной компании и решил написать свой движок для браузерных 2d игр. Сегодня - делюсь результатами.

Читать далее
Всего голосов 11: ↑11 и ↓0 +11
Комментарии 15

Оптоэлектронный мемристор (OEM): современные исследования

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

В статье я попробую кратко рассказать о современных направления в исследованиях для оптоэлектронного мемристора (OEM). Добро пожаловать всем интересующимся.

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

Открываем курс по Kubernetes и рассказываем, зачем разработчику знать DevOps

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

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

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

Читать далее
Всего голосов 30: ↑29 и ↓1 +28
Комментарии 8

Вам не нужен для этого JavaScript

Уровень сложности Средний
Время на прочтение 11 мин
Количество просмотров 27K

Прошу вас не возмущаться названием статьи. Я не ненавижу JavaScript, я люблю его. Ежедневно я пишу на нём кучу кода. Но ещё я люблю CSS и даже люблю JSX HTML. Я люблю все эти три технологии по причине, которая называется…

▍ Правило наименьших полномочий


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

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

В отличие от JS с его императивностью, HTML и CSS декларативны. Вы говорите браузеру, что делать, а не как это делать. Это значит, что браузер сам выбирает, как это делать, и может сделать это наиболее эффективным образом.

Так как функции HTML и CSS обрабатываются браузером, они могут быть более производительными, более нативными, более адаптируемыми к предпочтениям пользователя и в общем случае иметь бОльшую accessibility. Это не значит, что так будет всегда (особенно когда дело касается accessibility), но когда все сложные задачи берёт на себя браузер, от этого обычно выигрывают конечные пользователи.
Читать дальше →
Всего голосов 97: ↑95 и ↓2 +93
Комментарии 38

Не Unity единым…

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

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

Существует более сотни игровых движков, каждый из них содержит как минимум одну фичу которой нет ни в каком другом. Всех возможностей вместе нет ни в одном, и это прекрасно - иначе бы такой движок монополизировал рынок. Хм, Unreal5 ты ли это? Иногда полезно пробежать по release notes движка, чтобы оставаться в курсе последних новостей. Возможно вы разрабатываете свое решение и эта статья натолкнет вас на новые идеи. Готовы узнать что ваша любимая игры была сделана не на Unity, а на православном SDL?

Читать далее
Всего голосов 95: ↑95 и ↓0 +95
Комментарии 89

От теории к практике: создаём веб-приложение для решения задачи коммивояжёра

Уровень сложности Средний
Время на прочтение 14 мин
Количество просмотров 6.1K

В таких сферах, как исследование операций (Operations Research) и наука о данных (Data Science) чрезвычайно актуально сближение теории и её практического применения в виде программных проектов. Теоретические выкладки формируют базу программ для оптимизации чего‑либо, так как теория даёт средства для решения разнообразных задач. Но очень важно помнить и о том, что подобные программы должны быть доступны конечному пользователю, что с ними должно быть удобно работать.

Задача коммивояжёра (Traveling Salesman Problem, TSP) — это, без сомнения, та самая задача комбинаторной оптимизации, которая изучена лучше всего (Rego, C., Gamboa, D., Glover, F., & Osterman, C., 2011. Traveling salesman problem heuristics: Leading methods, implementations and latest advances. European Journal of Operational Research, 211(3), 427–441). Её легко описать (по крайней мере — на словах), её можно использовать для того чтобы продемонстрировать некоторые из возможных компонентов API современной программы по построению маршрутов. В результате я просто не мог подобрать ничего лучше этой задачи в качестве основы для примера, который разобран в этой статье.

Здесь вы узнаете о том, как использовать Python‑библиотеку Streamlit для создания веб‑приложения, которое позволяет решать задачу коммивояжёра с использованием входных данных, предоставленных пользователем. Так как нас интересует создание приложения, пригодного для решения реальных задач, мы, анализируя пути перемещения между некими географическими точками, будем интересоваться не только евклидовым расстоянием между ними, но и другими характеристиками путей. В частности, наша программа, используя координаты точек, должна уметь получать данные о том, какое расстояние по автомобильным дорогам нужно преодолеть для перемещения между ними. Эти данные должны учитываться при выполнении оптимизации. Для этого мы воспользуемся API OpenStreetMap.

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

Готовы поработать? Взгляните на то, что у нас должно в итоге получиться…

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

Основы проектирования архитектуры простой социальной сети

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

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

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

Читать далее
Всего голосов 20: ↑16 и ↓4 +12
Комментарии 5

Как мы распознавали цвета медицинских тест-полосок с помощью ИИ для healthcare стартапа

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

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

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

Самые распространенные логические ошибки

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

Изучение логических ошибок помогает в развитии критического мышления, необходимого во всех сферах жизни. School of Thought проделала отличную работу, описав 24 наиболее распространенные логические ошибки.

Читать далее
Всего голосов 84: ↑79 и ↓5 +74
Комментарии 101

Интервью на камеру: как избежать ошибок и не испортить имидж

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

Интервью телеканалу или в видеоблог может стать отличным способом привлечь внимание к вашему бизнесу. Это возможность для рекламы на большую аудиторию, часто бесплатная. Но беседа с журналистом перед камерой для многих становится настоящим стрессом. Спешим вас успокоить: волноваться – это нормально. Важно суметь справиться с нервами, и тогда выступление станет достижением, о котором вы захотите рассказать коллегам и друзьям. В этой статье в блоге ЛАНИТ мы собрали советы о том, что нужно сделать, чтобы телевизионное или видеоинтервью с вашим участием получилось качественным. 

Читать далее
Всего голосов 34: ↑33 и ↓1 +32
Комментарии 1

Кварц, который нужен всем. Как добывают и синтезируют необходимый для электроники минерал

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

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

С кварцем всё несколько иначе: его можно просто добывать, немного очищать, измельчать и пускать в дело. Ничего особенного, всё достаточно просто. Тем не менее добываемый кварц не всегда соответствует критериям, предъявляемым промышленностью — электронной и другими отраслями. Поэтому кварц научились ещё и синтезировать. Обо всём этом поговорим под катом. Надевайте строительные каски — и поехали!

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

Как загружается процессор Intel x86

Уровень сложности Средний
Время на прочтение 9 мин
Количество просмотров 19K
image

Когда мы включаем компьютер, он успевает совершить несколько этапов работы ещё до того, как загрузится операционная система. В этом посте будет рассмотрено, как загружается типичный процессор с архитектурой x86. Это очень сложный и многоступенчатый процесс. Здесь его структура будет представлена только в самом общем виде. От загрузочной прошивки зависит, каким именно путём процессор придёт к тому состоянию, в котором сможет загрузить операционную систему. Мы проследим этот процесс на примере опенсорсной загрузочной прошивки coreboot.
Читать дальше →
Всего голосов 44: ↑42 и ↓2 +40
Комментарии 21

Как работает компьютер: глубокое погружение (на примере Linux)

Уровень сложности Сложный
Время на прочтение 48 мин
Количество просмотров 129K



Введение


Я делала много вещей с компьютерами, но в моих знаниях всегда был пробел: что конкретно происходит при запуске программы на компьютере? Я думала об этом пробеле — у меня было много низкоуровневых знаний, но не было цельной картины. Программы действительно выполняются прямо в центральном процессоре (central processing unit, CPU)? Я использовала системные вызовы (syscalls), но как они работают? Чем они являются на самом деле? Как несколько программ выполняются одновременно?


Наконец, я сломалась и начала это выяснять. Мне пришлось перелопатить тонны ресурсов разного качества и иногда противоречащих друг другу. Несколько недель исследований и почти 40 страниц заметок спустя я решила, что гораздо лучше понимаю, как работают компьютеры от запуска до выполнения программы. Я бы убила за статью, в которой объясняется все, что я узнала, поэтому я решила написать эту статью.


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


Более удобный формат статьи.

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

Как начать делать генетические тесты

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

Для начала необходимо выбрать что будем тестировать. Есть большой список болезней и признаков за которые отвечают генетика. Например, предрасположенность к курению, рост, вес, рак, заболевания сердца, желудка, крови, иммунной системы, печени, мозга и тд. Болезни и все, что связано с медициной лучше избегать а выбрать что-то связанное с красотой, молодостью, питанием, спортом, мотивацией и т. д. После этого, идем в Гугл и ищем информацию про найденные ассоциированные с нашим признаком мутации. Есть большая база данных почти всех публикаций PubMed. Можно и там искать, но я предпочитаю Гугл. Находим все публикации и составляем список мутаций. Для каждой мутации нужно выписать номер хромосомы, позицию в геноме, эффект мутации и генотип. Можно найти аспиранта из НИИ, который быстро проведет литературный обзор и составит вам список. Либо сделать еще проще: зайти на сайт PGS Catalog, выбрать там что-нибудь по душе и скачать готовый файл с мутациями. Осторожно, там могут быть ошибки.

Читать далее
Всего голосов 6: ↑0 и ↓6 -6
Комментарии 20

Волновое сопротивление остроносых судов

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

Что может нам рассказать бурун у форштевня о форме подводных потоков, огибающих судно?

Ранее я уже писал статью «Борьба с волновым сопротивлением у водоизмещающих кораблей» про волновое сопротивление кораблей на примере тупоносых плоскодонных речных барж (см. ссылку).

Теперь настало время разобраться с волновым сопротивлением остроносых судов.

Дополнительным мотивом к написанию статьи стал ТВ-репортаж с военно-морского парада в Санкт-Петербурге 30 июля 2023 года.

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

Читать далее
Всего голосов 49: ↑46 и ↓3 +43
Комментарии 61

Разворачиваем веб-приложение в Kubernetes с нуля

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

Современные веб-приложения, даже простые на вид, часто подразумевают нетривиальную архитектуру, состоящую из многих компонент. В статье «Делаем современное веб-приложение с нуля» я рассказал, как она может выглядеть, и собрал для демонстрации простейшую реализацию на стеке из нескольких популярных технологий. В неё вошёл бэкенд, фронтенд, воркер для асинхронных задач и аж два хранилища данных — MongoDB как основная база и Redis как очередь задач. В «Делаем поиск в веб-приложении с нуля» я показал, как можно добавить полнотекстовый поиск, и подключил третье хранилище — Elasticsearch.

Всё это время для простоты разработки и отладки компоненты приложения запускались локально через Docker Compose. Но как развернуть такое приложение в настоящем продакшн-окружении? Как обеспечить горизонтальное масштабирование? Как раскатывать новые релизы без простоя? 

В этой статье мы разберёмся, как разворачивать многокомпонентное веб-приложение в кластере Kubernetes на примере его локальной реализации — minikube. Мы поднимем виртуальный кластер прямо на рабочем ноутбуке, разберёмся с основными сущностями Kubernetes, запустим и соединим между собой компоненты демо-приложения и обсудим, какие ещё возможности Kubernetes пригодятся нам в суровом энтерпрайзе. Если вы занимаетесь разработкой и слышали о Kubernetes, но ещё не имели возможности пощупать его руками — добро пожаловать под кат!

Скорее к YAML-инженерии
Всего голосов 38: ↑38 и ↓0 +38
Комментарии 10

125 простых советов по улучшению юзабилити вашего сайта

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

Эту статью Ника Коленды я перевёл ещё в конце 2016 года. И не просто перевёл, а ещё и сопроводил комментариями от лица бренда, под которым проектирую интерфейсы все эти годы.

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

Свои старые комментарии я немного освежил и оформил в виде цитат.

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

Читать далее
Всего голосов 37: ↑35 и ↓2 +33
Комментарии 11

Информация

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

Специализация

Специалист
Senior