Pull to refresh
52
Karma
0
Rating

Как спроектировать, построить и испытать малые жидкостные ракетные двигатели. Часть 1

Popular science Physics
Translation

Перевод разделен на две части.

Как проектировать, строить и испытать малые жидкостные ракетные двигатели. Теория.

Читать далее
Total votes 16: ↑15 and ↓1 +14
Views 4.3K
Comments 18

Делаем современное веб-приложение с нуля

Website development *Python *Programming *ReactJS *Flask *
Tutorial
Итак, вы решили сделать новый проект. И проект этот — веб-приложение. Сколько времени уйдёт на создание базового прототипа? Насколько это сложно? Что должен уже со старта уметь современный веб-сайт?

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


Что мы покроем:

  • настройка dev-окружения в docker-compose.
  • создание бэкенда на Flask.
  • создание фронтенда на Express.
  • сборка JS с помощью Webpack.
  • React, Redux и server side rendering.
  • очереди задач с RQ.
Читать дальше →
Total votes 64: ↑56 and ↓8 +48
Views 121K
Comments 123

Создание сеток шестиугольников

Game development *Algorithms *
Translation
image

Сетки из шестиугольников (гексагональные сетки) используются в некоторых играх, но они не так просты и распространены, как сетки прямоугольников. Я коллекционирую ресурсы о сетках шестиугольников уже почти 20 лет, и написал это руководство по самым элегантным подходам, реализуемым в простейшем коде. В статье часто используются руководства Чарльза Фу (Charles Fu) и Кларка Вербрюгге (Clark Verbrugge). Я опишу различные способы создания сеток шестиугольников, их взаимосвязь, а также самые общие алгоритмы. Многие части этой статьи интерактивны: выбор типа сетки изменяет соответствующие схемы, код и тексты. (Прим. пер.: это относится только к оригиналу, советую его изучить. В переводе вся информация оригинала сохранена, но без интерактивности.).
Читать дальше →
Total votes 92: ↑91 and ↓1 +90
Views 81K
Comments 24

Краткий курс компьютерной графики: пишем упрощённый OpenGL своими руками, статья 1 из 6

Programming *Game development *
Sandbox
Tutorial

Содержание курса



Улучшение кода






Official translation (with a bit of polishing) is available here.




Постановка задачи


Цель этого цикла статей — показать, как работает OpenGL, написав его (сильно упрощённый!) клон самостоятельно. На удивление часто сталкиваюсь с людьми, которые не могут преодолеть первоначальный барьер обучения OpenGL/DirectX. Таким образом, я подготовил краткий цикл из шести лекций, после которого мои студенты выдают неплохие рендеры.

Итак, задача ставится следующим образом: не используя никаких сторонних библиотек (особенно графических) получить примерно такие картинки:



Внимание, это обучающий материал, который в целом повторит структуру библиотеки OpenGL. Это будет софтверный рендер, я не ставлю целью показать, как писать приложения под OpenGL. Я ставлю целью показать, как сам OpenGL устроен. По моему глубокому убеждению, без понимания этого написание эффективных приложений с использованием 3D библиотек невозможно.
Читать дальше →
Total votes 198: ↑196 and ↓2 +194
Views 378K
Comments 120

Реализация функциональности многоуровневого undo/redo на примере прототипа электронной таблицы

Java *Designing and refactoring *ООP *
Sandbox

Введение


Кнопки «Undo» и «Redo», позволяющие отменить и вернуть обратно любые пользовательские действия, а также посмотреть в списке перечень всех выполненных действий, являются стандартом де-факто для таких приложений, как текстовые процессоры и среды разработки, редакторы графики и САПР, системы редактирования и монтажа звука и видео. Они настолько привычны для пользователя, что последний воспринимает их наличие как данность, всего лишь одну функциональную возможность наряду с десятками других. Но с точки зрения разработчика требование к наличию undo является одним из факторов, влияющих на всю архитектуру проекта, определяемую на самых ранних стадиях проекта разработки.

Функции undo в приложениях LibreOffice и GIMP

В открытых источниках существует довольно мало информации о том, как практически реализовывать функциональность undo/redo. Классическая книга Э. Гаммы и др. «Приёмы объектно-ориентированного программирования. Паттерны проектирования» коротко упоминает о пригодности для этой цели паттерна «команда», в интернете на эту тему много общей информации, но нам не удалось найти достаточно полного, проработанного примера реализации. В нашей статье мы попытаемся восполнить этот пробел и, основываясь на опыте автора, продемонстрировать подробный пример архитектуры приложения, поддерживающей undo/redo, который может быть взят за основу других проектов.
Читать дальше →
Total votes 13: ↑13 and ↓0 +13
Views 13K
Comments 3

Common Lisp SDL2 туториал

Programming *Lisp *Game development *
Tutorial
SDL2 — отличная библиотека, но туториалов по ней не очень много.
Common Lisp — отличный язык, но статей по нему катастрофически мало.
Думаю этого вполне достаточно, для того чтобы написать этот цикл статей.

Почему я выбрал общелисп? Что ж, на вкус и цвет как говорится.
Впрочем, причины есть:

Читать дальше →
Total votes 15: ↑14 and ↓1 +13
Views 14K
Comments 31

Common Lisp IDE

Website development *Programming *Lisp *Functional Programming *Emacs *

Доброго времени суток, уважаемый читатель!
Перед каждым новичком в мире языка программирования Common Lisp
возникает проблема выбора среды разработки — Integrated Development Environment (далее, IDE).

Существует большое количество IDE для Common Lisp. Перечислим некоторые, самые распространенные, из них:

Для Знатоков
Знатоки могут возразить относительно последних двух пунктов списка.
Ведь, казалось бы, Lispbox = Emacs + Slime?!
Но, если внимательно посмотреть на сайт Lispbox, то, под ссылками для скачивания пакета, Вы увидите:
Last updated: February 6, 2011.

В данной статье я подробно расскажу как установить и настроить кроссплатформенную среду разработки для Common Lisp, как скачивать и устанавливать дополнительные библиотеки при помощи quicklisp — менеджера пакетов Common Lisp. Будет много полезных ссылок на ресурсы и материалы по языку.
Речь пойдет о связке GNU Emacs & Slime.
Если Вас интересует Common Lisp, Вам нужна кроссплатформенная, мощная, интерактивная Common Lisp IDE с блэкджеком и дамами дебаггером и дизассемблером (внезапно!), то, прошу под кат…

Читать дальше →
Total votes 18: ↑14 and ↓4 +10
Views 62K
Comments 14

Учебное пособие по Nim (часть 2)

Programming *
Translation
Tutorial
Примечание от переводчика
Первая часть находится здесь: «Учебное пособие по Nim (часть 1)»

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


Введение


«Повторение придаёт нелепости вид благоразумия.» – Норман Вайлдбергер

(в оригинале: "Repetition renders the ridiculous reasonable." – Norman Wildberger)

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

Читать дальше →
Total votes 9: ↑8 and ↓1 +7
Views 6.2K
Comments 5

Учебное пособие по Nim (часть 1)

Programming *
Translation
Tutorial
Примечание от переводчика
Этот перевод делался по мотивам комментария от пользователя stas3k, в котором он предложил frol перевести две части «Nim Tutorial». Меня это заинтересовало и я перевёл их самостоятельно, в меру своего разумения. Ежели кто найдёт ошибки (они там наверняка есть — глаз под конец совсем уже замылился), сообщайте в личку, буду править.

Введение


“Der Mensch ist doch ein Augentier – schöne Dinge wünsch ich mir.”
(Цитата из песни «Morgenstern» группы «Rammstein». Примерный перевод: «Но человек – глазастый зверь, – мне нужно множество красивых вещей».)

Это – обучающий материал (tutorial) по языку программирования Nim. Предполагается, что вы знакомы с базовыми концепциями программирования, такими как переменные, типы или команды, но глубокие знания не обязательны. Большое количество примеров по сложным нюансам языка, вы можете найти в официальном руководстве. Все примеры кода в этом документе следуют руководству по стилю языка Nim.
Читать дальше →
Total votes 16: ↑15 and ↓1 +14
Views 15K
Comments 22

Information

Rating
Does not participate
Registered
Activity