Рубрика «Программирование» - 139

image

«Во дни сомнений, во дни тягостных раздумий о судьбах Родины», которые особенно тяжки в последние недели, что для нас поддержка и опора? :) Правильно, великий и могучий. И пока курсы валют и пандемия неумолимо владеют массовым сознанием, ученые не прекращают работу. О том, кто и зачем создаст корпус — уникальную «СУБД» древнеславянских рукописей — в нашей новости.
Читать полностью »

Объявляю пятиминутку без разговоров о некомпьютерных вирусах на IT-сайте! А ведь без шуток. Если вы говорите по-французски или живёте во Франции, то вы можете участвовать в конкурсе, который я организую в нашем НИИ в рамках конференции jFIG2020 (французские дни компьютерной графики). Но даже если вы не можете участвовать, читайте про рейтрейсинг на пальцах. Моя основная задача — нести свет культуры компьютерной графики в ширнармассы!

Итак, как сделан этот шейдер, который анонсирует сам конкурс?

Парле ву багет? Выиграйте топовую карту NVidia RTX: 145 строчек кода или шейдеры на пальцах - 1

Читать полностью »

Привет! Представляю вашему вниманию перевод оригинальной статьи «Your C# is already functional, but only if you let it» автора Igal Tabachnik.

Несколько дней назад я написал в Твиттере фрагмент кода C#, реализующий FizzBuzz, используя некоторые из новых «фичи» в C# 8.0 . Твит “стал вирусным”, несколько человек восхищались его лаконичностью и функциональностью, в то время как другие спрашивали меня, почему я не написал его на F#?

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

«Он выглядит слишком функциональным.» – писали мне они.

В зависимости от того, кого вы спрашиваете, «функциональное программирование» означает разные вещи для разных людей. Но вместо того, чтобы обсуждать семантику, я хотел бы предложить объяснение того, почему эта реализация FizzBuzz кажется функциональной.
Читать полностью »

Организация кода в микросервисах и мой подход применения гексагональной архитектуры и DDD - 1
Привет! В Монолите весь код должен быть в едином стиле, a в разных микросервисах можно использовать разные подходы, языки программирования и фреймворки. Для простых микросервисов с 1 — 2 контроллерами и 1 — 10 действиями особо смысла городить слои абстракций нет. Для сложных микросервисов с различными состояниями и логикой перехода между ними наоборот лучше изначально не лениться. Я хочу рассказать о моем опыте организации кода и использования подходов DDD, Портов и Адаптеров для обоих случаев. Есть кратко суть статьи: Джун — пишет код в контроллере. Мидл — пишет кучу абстракций. Сеньор — знает когда нужно писать код в контроллере, а когда нужны абстракции.Читать полностью »

Julia и квантовые вычисления - 1

Мы представляем Yao (статья), пакет с открытым исходным кодом Julia для решения практических задач в исследованиях квантовых вычислений. Имя Yao происходит от первого китайского иероглифа, означающего унитарность (幺正).

Читать полностью »

Привет.

Сегодня мы предлагаем вам перевод статьи, затрагивающей не самую обсуждаемую тему: компиляцию кода в Python, а именно: работу с абстрактным синтаксическим деревом (AST) и байт-кодом. Притом, что Python является интерпретируемым языком, такие возможности в нем чрезвычайно важны с точки зрения оптимизации. О них мы сегодня и поговорим.
Читать полностью »

image

На мысль сделать карманный инструмент для анализа WiFi сетей меня подтолкнула статья https://habr.com/ru/post/477440/.
Спасибо им за идею. Мне как раз было нечем заняться.
Вся работа была выполнена в рамках хобби с целью получения удовольствия и расширения своих знаний в области сетевых технологий. Не торопясь, по 1..4 часа в неделю, с начала этого года.
Прикладное использование не планировал. Т.е. это НЕ инструмент для хакера.

На данный момент весь задуманный функционал работает. Все исходники, полностью готовые для сборки, выложены https://github.com/mmMikeKn/ESP32-WiFi-tool. Там же инструкция по сборке и пр. В данной заметке я не буду дублировать информацию, выложенную на github. Расскажу только то, что считаю нужным описать отдельно.

Читать полностью »

Пять знаменитых цитат о программировании с объяснениями - 1

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

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

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

Почему JavaScript пожирает HTML: примеры кода - 1

Код веб-страницы традиционно состоит из трех разделов, каждый из которых выполняет свои обязанности: HTML-код определяет структуру и семантику, CSS-код определяет внешний вид, а JavaScript-код определяет его поведение. В командах с участием дизайнеров, HTML / CSS разработчиков и JavaScript-разработчиков это разделение получается естественно: дизайнеры определяют визуальные элементы и пользовательский интерфейс, разработчики HTML и CSS размещают эти визуальные элементы на странице в браузере, а JavaScript-разработчики добавляют взаимодействие с пользователем, чтобы связать все вместе и «заставить это работать». Каждый может работать над своими задачами, не вмешиваясь в код остальных двух категорий разработчиков. Но все это справедливо для так называемого «старого стиля».Читать полностью »

Студенты ДГТУ помогли провести лекцию по функциональному программированию в Minecraft с трансляцией в Twitch - 1
Старший преподаватель кафедры «Программное обеспечение вычислительной техники и автоматизированных систем» ДГТУ Александр Кузин читает лекцию по функциональному программированию в Minecraft из-за карантина по коронавирусу, делая виртуальные пометки на доске. Вот так работает дистанционная система обучения студентов-программистов в Ростове-на-Дону.

18 марта 2020 года на одном из серверов игры Minecraft, который студенты использовали в качестве платформы для дистанционного обучения, в многопользовательском режиме прошла… полноценная пробная тестовая лекция по функциональному программированию. Эту лекцию предложили реализовать и помогли провести студенты второго курса факультета «Информатика и вычислительная техника» из ДГТУ (Донской государственный технический университет), которых сейчас перевели с 16 марта 2020 года на дистанционную систему обучения из-за коронавируса.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js