Pull to refresh
-30
Ошнуров Андрей @andreoshread⁠-⁠only

Программист

Send message

PHP-SPX простой профайлер трейсер для PHP

Reading time4 min
Views14K
Работая с различными PHP проектами часто приходится дебажить приложение чтобы найти и исправить ошибку. Во многих случаях вполне хватает xDebug, однако он не подходит для всех задач. Иногда нужно понять почему та или иная страница долго загружается, что съедает так много памяти или просто как работает большой и запутанный код.
php-spx logo webmageic
Читать дальше →

Современный Javascript: всё, что вы пропустили за последние 10 лет

Reading time7 min
Views15K
JavaScript прошел долгий путь с тех пор, как я знал его как букву «D» в DHTML. Для всех, кто, как я, не хотел использовать новейший синтаксис, который может потребовать полифиллов или транспилятора, я написал эту шпаргалку, чтобы вы познакомились со всеми достоинствами, которые широко поддерживаются в современных браузерах.

Содержание

  • Array functions
  • const/let
  • Nullish coalescing ?? and Optional chaining?.. operators
  • Async/Await
  • Стрелочные функции ()=>{}
  • for...of
  • for await...of
  • Classes
  • get/set
  • function default parameters
  • function named parameters
  • function rest… parameter
  • Destructuring
  • Shorthand functions aka Methods
  • Promise.all
  • Template literals
  • Proxy
  • Module import/export
  • Читать ещё

(Исправления по качеству перевода, пожалуйста, присылайте в личку)
Читать дальше →

Небольшой язык программирования и его разработка

Reading time7 min
Views6K

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

Переходя в следующий курс я начал активно изучать всё что касалось ОСи, но толком никуда не продвинулся. Тогда и родилась у меня идея создать свой ЯП.

Времени было мало, а делать было что-то нужно и я в свободное от удалёнки (с серой ЗП) что-то писал.

Язык я решил назвать The Gorge.

Заинтересовал?

Шпаргалка по JS-методам для работы с DOM

Reading time18 min
Views82K

image


Основные источники



Введение


JavaScript предоставляет множество методов для работы с Document Object Model или сокращенно DOM (объектной моделью документа): одни из них являются более полезными, чем другие; одни используются часто, другие почти никогда; одни являются относительно новыми, другие признаны устаревшими.


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


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


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


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

Читать дальше →

Что такое Near Protocol? Полное введение

Reading time5 min
Views27K

Near Protocol — это блокчейн с поддержкой смарт-контрактов, который призван стать платформой следующего поколения для DApps с уникальным решением масштабирования.

Читать далее

Как получить давление в 100 000 атмосфер?

Reading time16 min
Views57K

Многим любителям доступен достаточно простой способ получения поистине потрясающих давлений. Зачем это нужно и как это можно использовать — в этой статье.

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

Термический анализ в SOLIDWORKS Simulation на примере микрочипа

Reading time3 min
Views16K

А вы знаете, что многофункциональный модуль Simulation может решать задачи термического исследования? Он не только позволяет увидеть, как температура распространяется по деталям, но и дает возможность узнать, за какое время деталь нагревается. Обо всем этом и многом другом – в нашей статье.

Читать далее

Преобразуем проект на Python в исполняемый файл .EXE

Reading time3 min
Views442K

С помощью Auto PY to EXE можно с лёгкостью преобразовывать файлы .py в файлы .exe. Благодаря этому ваш проект на Python будет работать как десктопное приложение и вы сможете запускать приложение на других машинах без необходимости установки Python.

В этой статье я расскажу, как преобразовать проект на Python в исполняемый файл. Решение будет работать вне зависимости от количества файлов .py в приложении. Стоит учесть, что Auto PY to EXE работает только с Python 3.5 или выше.
Читать дальше →

6 хитростей Python, о которых никто не рассказывает новичкам

Reading time5 min
Views44K
В наши дни Python — это самый популярный в мире язык программирования. Одна из причин этого кроется в том, что разработчики с удовольствием пишут на Python. Это выгодно отличает Python от других языков.

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



Автор статьи, перевод которой мы сегодня публикуем, хочет рассказать о 6 хитростях Python, о которых обычно никто ничего не рассказывает.

Код примеров можно найти в GitHub-репозитории, ссылку на который автор статьи выдаёт тем, кто подписался на рассылку проекта worldindev.ck.page.
Читать дальше →

Хочу middleware, но не хочу ExpressJS

Reading time5 min
Views6.7K
Middleware в случае с HTTP-сервером в Node.JS — это промежуточный код, который выполняется до того, как начнёт выполняться ваш основной код. Это, чаще всего, нужно для того, чтобы сделать какой-то дополнительный тюнинг или проверку входящего запроса. Например, чтобы превратить данные из POST-запроса в формате JSON-строки в обычный объект, или получить доступ к кукам в виде объекта, и т.п.
Читать дальше →

Сухозаряженный аккумулятор хранился 28 лет, и его ввели в эксплуатацию

Reading time3 min
Views47K

Привет, Хабр! Для одного исторического автомобиля попытались ввести в эксплуатацию новую сухозаряженную аккумуляторную батарею 6СТ-60ЭМ, хранившуюся с 1992 года.

Посмотрим, что из этого получилось.

Упрощаем работу с Angular с помощью @taiga-ui/cdk: 5 наших лучших практик

Reading time5 min
Views9.7K

CDK — базовый пакет библиотеки компонентов Taiga UI. Он не имеет никакой привязки к визуальной составляющей библиотеки, а скорее служит набором полезных инструментов для упрощения создания Angular-приложений.

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

Заглянуть в мультитул

Я выпустил Grafar — JS-библиотеку для визуализации

Reading time3 min
Views13K

После пяти лет в столе я готов представить свою библиотеку для визуализации — grafar. У нас есть: 3D, реактивные вычисления и самое простое АПИ для построения математических графиков прямо в браузере. В статье рассказываю, что я сделал и как этим пользоваться.

Читать далее

Расширенные возможности MessagePack

Reading time11 min
Views11K

MessagePack — бинарный формат сериализации данных, позиционируемый авторами как более эффективная альтернатива JSON. Благодаря своей компактности и скорости, его часто выбирают в качестве формата обмена данными в системах, где важна производительность. Простота реализации также способствует его широкому распространению — ваш любимый язык программирования, скорее всего, уже имеет несколько библиотек для работы с этим форматом.

В этой статье я не буду рассказывать, как устроен MessagePack или сравнивать его с аналогами: материалов на эту тему в Интернете предостаточно. Чего действительно не хватает, так это информации о расширенной системе типов MessagePack. Я постараюсь объяснить и показать на примерах, что это такое и как с помощью дополнительных типов сделать сериализацию еще более эффективной.

Читать далее

Чернобыль ч.4. Авария

Reading time23 min
Views45K

Автор: Александр Старостин

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

"...Посыпалась штукатурка, все здание заходило… свет потух, потом восстановилось аварийное питание. Я отскочил от места, где стоял, потому что ничего там не видел. Видел только, что открыты главные предохранительные клапаны. Открытие одного ГПК - это аварийная ситуация, а восемь ГПК - это уже было такое… что-то сверхъестественное..."

Лучше тех, кто видел ЭТО своими глазами, не расскажет никто.

Читать далее

Эмулятор ИБП с протоколами Megatec и Voltronic

Reading time4 min
Views11K

Ряд наших устройств имеет встроенный порт RS-232 для считывания данных с источников бесперебойного питания (ИБП) по двум наиболее распространённым протоколам обмена – Megatec и Voltronic. Для облегчения тестирования устройств мы разработали небольшую программу-эмулятор. Именно о ней дальше и пойдёт речь.

Читать далее

Shadow – гибрид сетевого симулятора и эмулятора

Reading time4 min
Views6.5K

Shadow запускает реальные приложения, такие как Tor или Bitcoin. Изначально он создавался для экспериментов над Tor, но вырос в крупный проект, который широко используется для исследований в таких местах, как Кембриджский и Колумбийский университеты. В этой статье будут рассмотрены главные особенности проекта, описаны его плюсы и минусы, а также разобран простой пример работы.
Читать дальше →

Как я написал браузерный 3D FPS шутер на Three.js, Vue и Blender

Reading time32 min
Views19K

На пути каждого коммерческого разработчика (не только кодеров, но, знаю, у дизайнеров, например, также) рано или поздно встречаются топкие-болотистые участки, унылые мрачные места, блуждая по которым можно вообще забрести в мертвую пустыню профессионального выгорания и/или даже к психотерапевту на прием за таблетками. Работодатели-бизнес очевидно задействует ваши наиболее развитые скилы, выжимая по максимуму, стек большинства вакансий оккупирован одними и теми же энтерпрайз-инструментами, кажется, не для всех случаев самыми удачными, удобными и интересными, и вы понимаете что вам придется именно усугублять разгребать тонну такого легаси… Часто отношения в команде складываются для вас не лучшим образом, и вы не получаете настоящего понимания и отдачи, драйва от коллег… Умение тащить себя «по-мюнхаузеновски за волосы», снова влюбляться в технологии, увлекаться чем-то новым [вообще и/или для себя, может быть - смежной областью], имхо, не просто является важным качеством профессионала, но, на самом деле, помогает разработчику выжить в капитализме, оставаясь не только внешне востребованным, конкурентоспособным с наступающей на пятки молодежи, но, прежде всего, давая энергию и движение изнутри. Иногда приходится слышать что-нибудь вроде: «а вот мой бывший говорил, что если бы можно было не кодить, он бы не кодил!». Да и нынешняя молодежь осознала что в сегодняшней ситуации «честно и нормально» зарабатывать можно только в айти, и уже стоят толпою на пороге HR-отдела... Не знаю, мне нравилось кодить с детства, а кодить хочется что-нибудь если не полезное, то хотя бы интересное. Короче, я далеко не геймер, но в моей жизни было несколько коротких периодов когда я позорно «загамывал». Да само увлечение компьютерами в детстве началось, конечно же, с игр. Я помню как в девяностые в город завезли «Спектрумы». Есть тогда было часто практически нечего, но отец все-таки взял последние деньги из заначки, пошел, отстоял невиданно огромную очередь и приобрел нам с братом нашу первую чудо-машину. Мы подключали его через шнур с разъемами СГ-5 к черно-белому телевизору «Рекорд», картинка тряслась и моргала, игры нужно было терпеливо загружать в оперативную память со старенького кассетного магнитофона [до сих пор слышу ядовитые звуки загрузки], часто переживая неудачи... Несмотря на то что ранние программисты и дизайнеры умудрялись помещать с помощью своего кода в 48 килобайт оперативной памяти целые миры с потрясающим геймплеем, мне быстро надоело играть и я увлекся программированием на Бейсике)), рисовал спрайтовую графику (и векторная «трехмерная» тогда тоже уже была, мы даже купили сложную книжку), писал простую музыку в редакторе... Так вот, некоторое время назад мне опять все надоело, была пандемийная зима и на велике не покататься, рок-группа не репетировала… Я почитал форумы и установил себе несколько более-менее свежих популярных игр, сделанных на Unity или Unreal Engine, очевидно. Мне нравятся РПГ-открытые миры-выживалки, вот это все... После работы я стал каждый вечер погружаться в виртуальные миры и рубиться-качаться, но хватило меня ненадолго. Игры все похожи по механикам, однообразный геймплей размазан по небольшому сюжету на кучу похожих заданий с бесконечными боями… Но самое смешное - это реально безбожно лагает в важных механиках. Лагают коммерческие продукты которые продают за деньги… А любой «баг», имхо, это сильное разочарование - он мгновенно выносит из виртуальной среды, цифровой сказки в реальный мир… Конечно, отличная графика, очень круто нарисовано. Но, утрируя, я понял что все эти поделки на энтерпрайзных движках, по сути - даже не кодят. Их собирают менеджеры и дизайнеры, просто «играясь с цветом кубиков», но сами кубики, при этом практически «не меняются»... Вообщем, когда стало совсем скучно, я подумал что «а я ведь тоже так могу», да прямо в браузере на богомерзком не предназначенным для экономии памяти серьезного программирования джаваскрипте. Решил наконец полностью соответствовать тому что все время с умным видом повторяю сыну: «уметь делать игры, намного интереснее чем в них играть». Одним словом, я задался целью написать свой кастомный браузерный FPS-шутер на открытых технологиях.

Читать далее

Услуга за услугу. Как русские учёные впряглись за Пастера в споре с антипрививочниками

Reading time11 min
Views24K


В 2020 у нас появился новый повод гордиться Россией — вакцина от коронавируса, разработанная центром имени Н.Ф. Гамалеи.

Я расскажу о событиях 135-летней давности. О приключениях молодого доктора Гамалеи в Париже и о том, как в мире победили вирус бешенства.


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

Если вас укусила подозрительная собака (или милый уличный котёнок) — обратитесь в травмпункт. В детстве нас пугали 40 уколами в живот, но современные вакцины требуют 3-6 уколов в плечо, пережить можно. Можете конечно ничего не делать, ведь не от каждого укуса получают заражение (вероятность 30% в случае собак). Но это как играть в русскую рулетку с двумя патронами в револьвере — оно вам надо?

Карикатура 1826 года: бешеный пес на улицах Лондона. Покусанная женщина скорее всего уже не жилец:


Читать дальше →

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

Reading time4 min
Views56K

Цель этой статьи — показать как мы можем сконфигурировать два и более контейнеров, чтобы они могли взаимодействовать друг с другом. В этой статье мы сделаем следующее:

Создадим образ Docker используя простой веб-сервис с использованием Python и Flask.

Запустим два отдельных контейнера

Создадим сеть в Docker

Объединим контейнеры используя созданную сеть

Читать далее

Information

Rating
Does not participate
Location
Уфа, Башкортостан(Башкирия), Россия
Date of birth
Registered
Activity