Pull to refresh
25
0
Send message

C# как замена VBA в Excel

Level of difficultyMedium
Reading time14 min
Views15K
Я довольно много пишу на C#, и это мне нравится. Время от времени мне хочется, чтобы можно было использовать C# внутри других приложений.

Думаю, одним из таких приложений, в которых хорошо приживётся C#, был бы Excel, этим языком можно было бы заменить VBA. Язык VBA уже немного отстаёт от времени, а Microsoft не планирует его апгрейдить. Вместо него — компания предлагает среду-песочницу для JavaScript под названием Office Scripts.

Я понимаю привлекательность JavaScript для веб-версии Excel, но не в качестве хорошей замены VBA.

Так как этим не собирается заниматься Microsoft, я решил, что могу попробовать сам. В конце концов, если Microsoft так увлечена JavaScript, маловероятно, что она выдавит меня с обширного рынка использования C# в Excel.

Итак, вот что я создал:

QueryStorm IDE, выполняющая запрос LINQ для таблицы Excel

«Это что, IDE языка C#, выполняющая запросы LINQ для таблиц Excel?» Именно. Всё так и есть.

Я назвал это QueryStorm. Моя работа над этим проектом началась ещё в 2014 году. Изначально у него имелась только поддержка SQL, и с тех пор я продолжал над ним работать, постепенно добавляя поддержку скриптинга на C#, пользовательских функций C#/Excel, поддержку NuGet, отладчик и даже магазин приложений!
Читать дальше →
Total votes 67: ↑66 and ↓1+86
Comments22

Создание модуля WebAssembly с помощью Emscripten, AssemblyScript и Rust

Level of difficultyMedium
Reading time57 min
Views5.9K

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

Emscripten для компиляции кода, написанного на С++

AssemblyScript для компиляции кода, написанного на, собственно, AssemblyScript

wasm-pack для компиляции кода, написанного на Rust

План такой:

Во введении мы обсудим постановку задачи и немножко поговорим о технологии WebAssembly

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

Подведём небольшой итог. Станет видно, какая технология хорошая, а какая не очень

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

Читать далее
Total votes 36: ↑36 and ↓0+36
Comments10

Растения умеют «кричать» вслух. Недавно мы впервые это услышали

Reading time6 min
Views15K


Оказывается, если поранить растение, то оно завопит.


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

Читать дальше →
Total votes 42: ↑33 and ↓9+32
Comments35

Python для детей

Reading time4 min
Views17K

До того, как стать преподавателем в университете, я вёл программирование в детском технопарке Кванториум. Это такой центр дополнительного школьного образования куда дети приходили после уроков и изучали программирование, робототехнику, биологию и т.д. Конкретно я вёл занятия по Python, C++ и Arduino.

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

В этой статье я порекомендую книги, сайты и видео для эффективного изучения Python.

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

Читать далее
Total votes 13: ↑13 and ↓0+13
Comments15

Улучшаем производительность сайта с помощью CSS

Level of difficultyMedium
Reading time13 min
Views11K

Всем привет, я Кирилл, frontend разработчик компании Usetech. Сегодня я бы хотел поговорить о том, как можно улучшить производительность сайта с помощью обычных CSS свойств и на что стоит обращать внимание. Но прежде чем приступим к улучшению производительности сайта, давайте поговорим о том, какие проблемы возникают с CSS:

Читать далее
Total votes 20: ↑20 and ↓0+20
Comments11

Зачем нужен личный сайт в 2023 году

Level of difficultyEasy
Reading time7 min
Views29K

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

Потом выросли соцсети типа ЖЖ, «Одноклассников», «ВКонтакте» — и личные странички сошли на нет. Кто теперь вспомнит о тех бесплатных хостингах, которые рекламировались на каждом углу?

Но сейчас история делает новый виток — и персональные сайты опять входят в моду, только на современных технологиях.
Читать дальше →
Total votes 66: ↑60 and ↓6+74
Comments100

Гайд по созданию лженауки

Reading time7 min
Views16K

И так вы вдохновились великими Ганеманом и Хаббардом, и наконец решили создать свою лженаучную гипотезу. Не важно хотите вы славы или денег, будете продавать артефакты или книги. Начните свой путь прочитав это руководство. И не забудьте купить наш курс “Первые шаги профессионального мракобеса”. Гайд в основном направлен на новичков, мастера давно используют всё это и в советах не нуждаются. 

Читать гайд
Total votes 54: ↑51 and ↓3+66
Comments142

Делаем физическую лабораторию из смартфона своими руками

Reading time7 min
Views12K

Всем привет! Продолжаем наш курс Galaxy Upcycling - Новая жизнь старого смартфона, где обсуждаем, как можно повторно использовать устаревший смартфон, иногда - в неожиданном качестве, как физическую лабораторию. Этому, например, посвящен небольшой курс “Лаборатория в кармане” педагога Анатолия Шперха. В самом деле, современный смартфон оснащен большим количеством сенсоров, способных измерять параметры окружающей среды.

Я рассмотрю сегодня три урока из приложения для проведения учебных физических экспериментов PhyPhox. Эти уроки относятся к разделу «механика» и задействуют разные сенсоры смартфона:

1. Скорость лифта (барометр и акселерометр)

2. Центрифуга (гироскоп и акселерометр)

3. Свободное падение (микрофон)

Читать далее
Total votes 36: ↑36 and ↓0+36
Comments12

Многопоточность на фронте: абсурд или прекрасное архитектурное решение?

Reading time9 min
Views16K

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

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

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

Читать далее
Total votes 25: ↑24 and ↓1+27
Comments18

JavaScript: управление содержимым веб-страницы с помощью жестов

Reading time19 min
Views8.8K


Привет, друзья!


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


В данном туториале мы рассмотрим 5 примеров:


  • получение данных с видеокамеры и их отрисовка на холсте (canvas);
  • обнаружение и отслеживание кисти руки;
  • управление "курсором" с помощью указательного пальца;
  • определение жеста "щипок" (pinch);
  • нажатие кнопки с помощью щипка.

Все примеры будут реализованы на чистом JavaScript.


Источником вдохновения для меня послужила эта замечательная статья.


Для обнаружения и отслеживания руки и жестов будет использоваться MediaPipe. Для работы с зависимостями — Yarn.


Код примеров можно найти в этом репозитории.

Читать дальше →
Total votes 25: ↑24 and ↓1+32
Comments6

Квантовое предсказание 70-летней давности сбылось: как ученые впервые создали что-то из ничего

Reading time9 min
Views36K

Новые частицы возникают в графеновых трубках

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


Благодаря научному прогрессу, мы уже несколько лет как научились создавать даже саму материю, имитируя ситуацию через секунды после Большого взрыва. Для этого мы сталкиваем вместе два кванта в коллайдерах при настолько высоких энергиях, которые обеспечивают возникновение равных частей материи и антиматерии по формуле E = mc². А недавно человечеству впервые удалось создать реальные частицы материи вообще без столкновений и каких-то частиц-предшественников. С помощью сильных электромагнитных полей и эффекта Швингера впервые что-то возникло вообще из ничего.

Читать дальше →
Total votes 55: ↑51 and ↓4+60
Comments58

Создаём npm пакет, совместимый с CJS, ESM, написанный на TypeScript

Reading time6 min
Views9.7K

Здравствуйте! Меня зовут Евгений, я бакенд разработчик в компании ClickON. Хотелось бы поделиться опытом создания npm пакета, который умеет встраиваться в CommonJS, ESModule проект. Опишем подводные камни, попытаемся сделать универсальный пакет, прикрутим алиасы.

Читать далее
Total votes 18: ↑17 and ↓1+18
Comments7

Топ-30 онлайн-ресурсов для обучения детей основам программирования на Python

Reading time8 min
Views37K

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

Читать далее
Total votes 16: ↑15 and ↓1+16
Comments6

8 игр для школьников, которые научат текстовому программированию

Reading time5 min
Views19K

Хабр, привет! Сегодня хочу поделиться подборкой игр для детей и подростков, обучающих текстовому программированию. Научиться программировать можно самостоятельно, нужна только усидчивость и интерес к IT. 

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

Для удобства я поделила игры, основываясь на наличии русскоязычной локализации. Большинство в подборке браузерные, что очень удобно. Начинать заниматься можно с 7 лет, конечно, возможно, малышам потребуется помощь родителя.

Читать далее
Total votes 9: ↑8 and ↓1+9
Comments11

Программирование без кода. Лучшие инструменты 2022 года

Reading time7 min
Views17K

В 1999 году каждая уважающая себя компания хотела веб-сайт. Спрос рождает предложение — так появились конструкторы сайтов и CMS.

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

Читать далее
Total votes 13: ↑12 and ↓1+15
Comments8

Как сократить код Canvas API в Svelte

Reading time10 min
Views2.8K

Разработчик из консалтинговой компании в области разработки This Dot Labs рассказывает, как использовать canvas в Svelte и как превратить многословный API Canvas в краткий, более декларативный. Подробности — к старту нашего курса по фронтенду.

Узнать больше
Total votes 13: ↑11 and ↓2+11
Comments0

Заметка о полезных возможностях современного CSS

Reading time10 min
Views14K


Привет, друзья!


В данной заметке я расскажу вам о некоторых полезных возможностях, предоставляемых современным CSS. Также мы немного поговорим о полезных "фичах", которые ждут нас в ближайшие 2 года.


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

Читать дальше →
Total votes 21: ↑21 and ↓0+21
Comments11

Игры для обучения программированию

Reading time6 min
Views28K

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

Профессионалов мало. Но их можно обучать с нуля. Теоретически, при неограниченном времени любого человека можно обучить чему угодно, если у него бесконечное желание и любопытство. Кажется, любопытство даже важнее, чем способности.

Соответствующие способности можно развить, а интеллект — повысить в рамках генетически заданного широкого коридора. Это возможно в любом возрасте. Лучше всего с детства, хотя и взрослым ничто не мешает… Проще всего начинать с игр.
Читать дальше →
Total votes 51: ↑51 and ↓0+51
Comments24

Зачем стрелять в зад медведю и ползти на пузе к моржу

Reading time3 min
Views27K

Читал про любопытных учёных, которые исследуют Арктику. Знаете, как люди узнают, что они там наворотили в природе этой своей цивилизацией? Всё просто: спрашивают у зверей.

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

Что скажут на это учёные
Total votes 228: ↑222 and ↓6+269
Comments61

Как создавать иконки сайтов в 2022 году — всё о favicon

Reading time9 min
Views39K

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

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

Статья целиком
Total votes 39: ↑39 and ↓0+39
Comments33

Information

Rating
Does not participate
Registered
Activity