Как стать автором
Обновить

Apache Spark… Это База

Уровень сложности Средний

Apache Spark — это фреймворк для обработки и анализа данных, который позволяет выполнять операции на вычислительных кластерах и поддерживает несколько языков программирования: Scala, Java, Python, R и SQL.

В статье рассмотрим основные понятия для понимания обработки данных на Spark, разберем функционал его компонентов и сформируем RDD разными способами.

Читать далее

«Реакции» вместо «оценок». Как отучают думать?

Уровень сложности Простой

В апреле 2010 года Фейсбук* первым представил массовой аудитории функцию оценки постов под названием «Мне нравится» - тот самый привычный нам всем «like» в виде поднятого вверх пальца. Через полгода российская платформа ВКонтакте внедрила у себя аналогичный функционал в форме «сердечка».

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

Ситуация на Ютубе длительное время отличалась, так как там пользователь мог поставить не только оценку «нравится», но и оценку «не нравится», что благодаря символу поднятого и опущенного вниз пальца воспринималось как голос в поддержку или против видеоролика.

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

Читать далее

Язык Ruby: что такое unless и как его применять?

Уровень сложности Средний

Ключевое слово unless в языке программирования Ruby используется для создания условий, которые выполняются, только если выражение, стоящее после unless, является ложным (false). В противном случае, если выражение истинно (true), блок кода внутри unless не выполняется.

Читать далее

Лучшие 6 нейросетей для обработки фотографий

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

Читать далее

Автоматическое создание карточек слов для изучения иностранного языка

Уровень сложности Простой

Добрый день.

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

Немного вводной информации: один из способов запоминания иностранных слов это создание карточек. На одной стороне слово пишется на родном языке, а на обратное стороне его перевод на нужный язык (на момент создания было доступно 103 языка).

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

Читать далее

Пишем парсер на Python за 5 минут

Уровень сложности Простой

В данной статье мы рассмотрим, как парсить сайты быстро и эффективно при помощи нового инструмента LxmlSoup. Библиотека является аналогом популярной BeautifuulSoup, повторяющий её синтаксис. Что касается скорости, LxmlSoup превосходит BeautifulSoup в 2 раза, за счёт библиотеки lxml под капотом. Мы будем парсить сайт который являлся моей первой задачей - Sunlight. Тогда я ещё мало что понимал в программировании и парсинге, зато было море желания научиться этому полезному навыку. Итак, поехали!

Читать далее

Создание простого чата на Golang с использованием Websockets

Уровень сложности Простой

Websockets предоставляют удобный способ установления постоянного соединения между клиентом и сервером, что делает их отличным выбором для реализации чата. В этой статье я покажу, как создать простой чат на языке программирования Golang, используя пакет gorilla/websocket.

Читать далее

«Начало разрушения нервной системы» или введение в C++

Уровень сложности Простой

История языка программирования C++ берет свое начало в начале 1980-х годов. Создателем языка считается Джим Уолкер, который в 1979 году начал разработку новой версии языка C, известной как "C with Classes" (C с классами). Этот язык предоставлял новые концепции, такие как классы и объекты, что открывало путь к объектно-ориентированному программированию (ООП).

В 1983 году Бьёрн Страуструп, работая в Белл Лабораториз, присоединился к проекту "C with Classes". Он продолжил разработку и расширение языка, добавляя новые возможности и функциональности. В 1985 году язык был переименован в C++ (C плюс плюс), подчеркивая его эволюцию от языка C.

C++ стал широко используемым языком благодаря своей эффективности и мощности, а также возможности объединения процедурного и объектно-ориентированного программирования. В 1998 году был выпущен стандарт C++98, который включал в себя множество новых функций и улучшений. Последующие стандарты, такие как C++11, C++14 и C++17, добавляли еще больше возможностей, улучшений и современных подходов к программированию.

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

Читать далее

Прошивка I2C адреса TOF10120

Уровень сложности Простой

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

Читать далее

Развиваем скорость печати

Уровень сложности Простой

Почему нужно развивать скорость печати?

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

Читать далее

Как алгоритмы влияют на наше мышление и поведение в интернете

Уровень сложности Простой

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

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

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

Читать далее

Косячная установка VMware Workstation 17 PRO на RedOS

Уровень сложности Простой

Пришлось на работе переходить на Российские операционки, а именно перешёл на RedOS, так как до этого работал на CentOS 9, пришлось искать аналог и он был выбран.

Установка не заняла особо много времени, все шло хорошо до одного момента - установки VMware Workstation 17 PRO для работы со своими серваками. После установки и обновления системы до актуальной версии, начал устанавливать сразу это ПО.

Читать далее

Регулярные выражения в PHP: Магия Поиска и Замены

Уровень сложности Простой

Волшебство регулярных выражений в PHP: Погружаемся в таинственный мир текстового кодирования. Узнайте, как использовать этот магический инструмент для облегчения жизни разработчика!

Читать далее

Распределенное машинное обучение с помощью PySpark

Уровень сложности Простой

Решил взяться за изучение распределенного машинного обучения и освоившись в основах инструментария MLLib от PySpark, хочу привести конкретный пример применения библиотеки. Заодно рассказать: а зачем вообще идти в эту сторону?

Simple. Fast. Scalable. Unified.

Это все о нем. Спарк – это мультиязычный движок для решения задач дата инжиниринга, а также машинного обучения на кластере. Спарк включают обычно в экосистему Hadoop, он действует поверх MapReduce и предоставляет высокоуровневые API для работы с большими данными.

Впрочем его можно установить на одной машине локально или в Colab, что мы и сделаем.

Устанавливаем pyspark.

Читать далее

Вредные советы веб-дизайнеру

Уровень сложности Простой

Все вокруг вдруг стали веб-дизайнерами, учат друг друга делать сайты, и я не могу уже смотреть на это всё без нервного тика, желание рассказывать об этом на серьёзных щщах упало на 17:30, так что решила прикола ради написать несколько вредных советов. Погнали!

Читать далее

Как узнать пароль проекта Zelio Soft?

Уровень сложности Простой

Почему мне пришлось “выяснять” чужой пароль? Я инженер АСУП государственного учреждения. В системе вентиляции объекта работают контроллеры Zelio. Внешние подрядчики их установили в 2015-2017 году, исходники, пароли если и передавали, то до сегодняшнего дня (13.11.2023) они не дожили. Попытки связаться с автором программ оказались безуспешными. Далее картина маслом, месяц назад один из контроллеров залили водой (как выяснилось неоднократно). Его DI вышли из строя, но сам контроллер, во всяком случае его интерфейс связи с компьютером остался исправен. Аналогичный контроллер я нашел, блага на объекте куча неиспользуемых шкафов, а контроллеры везде одинаковые. При попытке считать программу из вышедшего из строя контроллера Zelio Soft запросил пароль.

Вот такой у меня кейс, вот так я пришел к тому, что занялся взломом. Как водится прошерстил форумы и нашел только упоминания о том, что пароль передается при обмене Zelio Soft с контроллером в открытом виде. Достаточно “послушать” СОМ порт. Но как послушать, как разобрать то, что услышал, понять в каком именно месте обмена данными передаются заветные 4 символа, подробностей найти не получилось.

Спустя пару вечеров все-таки удалось найти пароль в логе обмена с Zelio Soft. По свежим следам решил описать по шагам то, что я делал. Как говорится, для чайников, к которым отношу себя в первую очередь. Возможно в будущем, эта статья поможет кому то сберечь пару часов своего драгоценного времени, а ТП получится восстановить быстрей... Мир во всем мире, наконец, наступит. Еще надеюсь на то, что все люди добрые и не станут применять мои инструкции для воровства чужой интеллектуальной собственности.

Читать далее

Agile и Scrum в HR

Уровень сложности Средний

Мое первое погружение в мир Agile было в 2018 году. Это была легкая дегустация, без глубокого погружения в суть.

Вернулась я к нему уже в 2022 году. Начала изучать Scrum Guide, затем принципы и ценности Agile. Все это переросло в огромное потребление различного материала, связанного так или иначе с философией Agile. В какой-то момент я даже хотела перейти на позицию Scrum Master. Это тоже связано с работой с людьми, что мне нравится, но с другой стороны, более глубокой.

Я даже пошла учиться на Agile Coach и Scrum Master и 8 месяцев погружалась в новые для себя технологии, инструменты и подходы в работе с людьми. Было невероятно интересно, увлекательно и даже захватывающе.

Очень хотела перейти в сферу ИТ, но все мои попытки не увенчались успехом. Из раза в раз я получала отказ, и чаще всего звучали две основные причины отказа: у вас нет опыта работы в ИТ сфере, и у вас очень маленький опыт Agile Coach.

Мне не хватало аргументов в тот момент, чтобы объяснить, что инструменты Agile во многом пересекаются с передовыми методами и технологиями, которые используются в HR сфере уже многие десятилетия. А в HR я уже более 15 лет.

Тогда я решила забыть о поиске работы в ИТ сфере и начала постепенно внедрять шаг за шагом полученные знания и навыки на своем текущем месте работы.

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

Стейкхолдеры и Потребители

Стейкхолдерами в моем случае на первом месте находятся два собственника, на втором месте - руководители подразделений.

Читать далее

Если бы теория музыки была точной наукой…

Уровень сложности Сложный

Наука только тогда достигает совершенства, когда начинает пользоваться математикой. К. Маркс

Это – и про теорию музыки тоже.

Если от ноты D построить три квинты вверх и ещё три – вниз, то семь нот этой квинтовой цепочки образуют белоклавишную диатонику.

Такой же результат получится, если сделать три двойных шага на квинту вверх и вниз.

После удлинения квинтовой цепочки до семи нот число ступеней лада не должно расти. Далее удлинение цепочки в обе стороны (двойной шаг) даёт ноты F# и Вb. С этого момента вместо добавления новых нот будем использовать альтерацию (F# вместо F, Bb вместо В).

Читать далее

Статический сайт на AWS с редиректом http→https, www.site→site

Уровень сложности Средний

Задача

Есть AWS аккаунт, на котором требуется поднять статический сайт (html, js, css, png, jpg) на своём домене example.com.

Ссылки: http://example.com, http://www.example.com, https://www.example.com должны перенаправлять на основной сайт https://example.com.

План действий

Покупка домена.
Выпуск SSL сертификата.
Заливка файлов html, js, css в S3.
Создание двух CloudFront distributions (основного и для редиректа с www).
Привязка CloudFront функции редиректа к CloudFront distribution.
Создание A-записей в DNS.

Подробнее