Как стать автором
Обновить
10
6
Сергей @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 мин
Количество просмотров25K

В 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.6K

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

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

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

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

В статье я попробую кратко рассказать о современных направления в исследованиях для оптоэлектронного мемристора (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.3K

В таких сферах, как исследование операций (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.9K

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



Введение


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


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


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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Современные веб-приложения, даже простые на вид, часто подразумевают нетривиальную архитектуру, состоящую из многих компонент. В статье «Делаем современное веб-приложение с нуля» я рассказал, как она может выглядеть, и собрал для демонстрации простейшую реализацию на стеке из нескольких популярных технологий. В неё вошёл бэкенд, фронтенд, воркер для асинхронных задач и аж два хранилища данных — 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
1
23 ...

Информация

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

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

Специалист
Senior