Pull to refresh
13
0
Олег Мифле @OlegMifle

php deveoper

Send message

5 классных сервисов на основе ИИ (с примерами)

Level of difficultyEasy
Reading time4 min
Views26K

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

Сегодня я бы хотел показать 5 сервисов на основе нейронных сетей, которые не связаны с chatGPT, Midjorney или Stable Diffusion. Эти сервисы помогают обрабатывать аудио, преобразовывать текст в речь и удалять ненужные вещи с картинок.

Ознакомиться
Total votes 55: ↑53 and ↓2+68
Comments25

Без одной faangи или как я проходил собеседования

Reading time14 min
Views31K

Привет, Хабр! Меня зовут Рустам, работаю программистом 9 лет. 7 лет работал в Контуре и около 2 лет в Яндексе. В этой статье расскажу про свой опыт подготовки и прохождения собеседований в большие технологические компании, поделюсь рекомендациями.

Пробовался в Facebook, Apple, Amazon, Microsoft, Google. Пять попыток: четыре на бэкенд программиста, одна на инженера по инфраструктуре. Два предложения по работе, два отказа, одно потенциальное предложение.

Принял предложение в Amazon. Сейчас в Лондоне.

Читать далее
Total votes 69: ↑66 and ↓3+76
Comments27

Статический анализ кода PHP — держите свой код под контролем

Reading time12 min
Views9.8K

Сколько раз вы замечали код, который, казалось, был написан наспех? Думаю, много. Иногда он написан кем-то другим, но довольно часто ваши собственные творения, по прошествии достаточного времени, заставляют вас задуматься: «Кто, черт возьми, написал эту чушь?» Поддерживать чистоту кода нелегко, поэтому я решил представить вам несколько инструментов, которые смогут вам в этом помочь. Пришло время освежить свои знания по статическому анализу кода в PHP.

Читать далее
Total votes 14: ↑11 and ↓3+8
Comments2

Веб-фреймворки для Golang в 2022 году: оптимальные варианты для разработчика

Reading time3 min
Views40K

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

Читать далее
Total votes 12: ↑8 and ↓4+6
Comments14

Что Go грядущий нам готовит? Разбираем долгожданный релиз 1.19

Reading time8 min
Views18K

Привет всем гоферам! Я пишу на Go уже четыре года — начиная с версии 1.10. Сейчас я занимаюсь разработкой одних из важнейших сервисов в логистике Ozon. 

Не успели мы до конца оправиться от долгожданного релиза Go 1.18 c дженериками, в котором нам предоставили дженерики, как команда Go анонсировала следующий бета-релиз Go 1.19.

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

Навстречу приключениям изменениям!

Подробности под катом
Total votes 50: ↑49 and ↓1+56
Comments5

Что читать Golang-разработчику. Семь главных книг: от Донована и Кернигана до МакДауэлл

Reading time7 min
Views27K

Спрос на бэкенд-разработчиков — а Go неотделим от бэкенд-программирования — стабильно растет. У самого же Golang немало плюсов: простой, строгий, статически типизированный, он обладает развитой стандартной библиотекой и славится поддержкой параллельного и асинхронного программирования. При этом в Golang нет классов и нет поддержки наследования, что значительно повышает удобство поддержки кода. Благодаря этим и другим преимуществам Go в последние годы сохраняет статус популярного и перспективного языка.

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

Делимся рекомендациями книг под катом!

Открыть подборку книг
Total votes 28: ↑22 and ↓6+16
Comments7

Как работает Wi-fi. Часть 1. История беспроводных сетей

Reading time8 min
Views28K

На фотографиях выше изображены Джордж Антейл и Хеди Ламарр — два деятеля культуры (композитор и актриса) и по совместительству изобретатели. В определенных кругах эта пара известна своей концепцией передачи информации по радио, которая впоследствии нашла применение в Wi-fi, GPS, Bluetooth и… Короче, много где.

Во время Второй мировой войны Хеди и Джордж предложили систему для дистанционного управления торпедами. Как не иронично, основной проблемой управляемых торпед того времени была их система управления. Она работала на одной частоте, и если противник обнаруживал угрозу, то «бил» по слабому месту торпеды: отправлял помехи на несущей частоте.

Идея новаторов заключалась в том, чтобы отправлять сигнал частями на разных частотах. Сейчас эта концепция известна как псевдослучайная перестройка рабочей частоты. Технически синхронизацию частот предлагалось осуществлять с помощью пружинных двигателей. Ребята даже получили патент на свою разработку и предложили её армии США, но идею реализовали только в 60-х годах, уже после окончания действия патента.

Порой Хеди Ламарр называют «изобретательницей Wi-fi». Но, пожалуй, такой титул несколько преуменьшает вклад других, не менее значимых открытий, которые позволяют сидеть в интернете без провода. О том, как создавалась и развивалась технология Wi-fi, читайте под катом.
Читать дальше →
Total votes 24: ↑21 and ↓3+25
Comments1

От wtf-кода к чистой архитектуре

Reading time13 min
Views15K

Материал заботливо подготовлен на основе перевода части книги Go With The Domain, а именно — главы 9 «Чистая архитектура» за авторством Miłosz Smółka.

В этой части говорится о том, как из wtf-кода прийти к чистой архитектуре с помощью сочетания двух идей: разделении портов и адаптеров + ограничении того, как структуры кода ссылаются друг на друга.

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

Почему Trunk Based Development – лучшая модель ветвления. Андрей Александров

Reading time10 min
Views98K


В State Of DevOps 2018 от DORA мы видим, что Нigh Performing компании используют Trunk Based Development. Разберемся, почему именно ее, какие ее преимущества и недостатки имеет эта модель.

Читать дальше →
Total votes 24: ↑15 and ↓9+9
Comments8

[Python Intermediate] Урок 1. Конфигурация приложения

Reading time9 min
Views31K

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

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

Небанальные правила чистого Python. Часть 1

Reading time6 min
Views20K

Большинство питонистов не раз слышали о таких правилах как «функции должны быть глаголами» или «не наследуйтесь явно от object в Python 3». В этой статье рассмотрим не такие банальные, но полезные правила чистого кода в Python.

Читать далее
Total votes 40: ↑38 and ↓2+45
Comments49

Подборка полезных сервисов с применением нейронных сетей

Reading time4 min
Views16K

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

Ознакомиться
Total votes 28: ↑27 and ↓1+30
Comments9

Разбираемся с SOLID: Инверсия зависимостей

Reading time6 min
Views164K

Давайте глянем на определение принципа инверсии зависимостей из википедии:


Принцип инверсии зависимостей (англ. dependency inversion principle, DIP) — важный принцип объектно-ориентированного программирования, используемый для уменьшения связанности в компьютерных программах. Входит в пятёрку принципов SOLID.

Формулировка:

A. Модули верхних уровней не должны зависеть от модулей нижних уровней. Оба типа модулей должны зависеть от абстракций.
B. Абстракции не должны зависеть от деталей. Детали должны зависеть от абстракций.

Большинство разработчиков, с которыми мне доводилось общаться, понимают только вторую часть определения. Мол "ну а что тут такого, надо завязывать классы не на конкретную реализацию а на интерфейс". И вроде бы верно, но только кому должен принадлежать интерфейс? Да и почему вообще этот принцип так важен? Давайте разбираться.

Читать дальше →
Total votes 37: ↑33 and ↓4+29
Comments21

Асинхронность, конкурентность, параллельность, многопоточность — разбираемся «по понятиям» :)

Reading time15 min
Views25K

Эта статья представляет собой краткий (шутка!) конспект одноименного (почти) вебинара, недавно проведенного автором.

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

Ну и немного раскрыть глаза на то, что, оказывается в PHP есть и асинхронность, и многопоточность, и в общем-то не нужно ждать мифической версии PHP 10, чтобы начать их использовать уже прямо сейчас!

Лонг-рид с кодом ждёт вас!
Total votes 31: ↑31 and ↓0+31
Comments19

Релокация разработчиков: неочевидные вещи про поиск работы зарубежом

Reading time7 min
Views25K

Марина, ты уже два года занимаешься помощью в релокации разработчиков и IT-специалистов. Расскажи, что поменялось за последнее время? 

Первое, что поменялось, — это общественное мнение о русских. Сейчас в некоторых странах Европы начали происходить не очень приятные процессы. Мы все читали новости о притеснении наших студентов в Чехии, Польше и так далее. Но вместе с этим в Европе есть культура принятия происходящего: здесь пытаются отделять политику от людей, которые родились в определённом месте. Человека стараются судить по поступкам, а не по тому, какой страны его паспорт.

Действительно, ребята из украинского лобби, из бизнеса, очень раздражены. Например, Namecheap и MacPaw отключили сейчас всех своих русских подписчиков от своих сервисов. Украинские рекрутёры ведут себя тоже очень агрессивно и говорят о том, что русских разработчиков больше нигде не возьмут на работу. Я понимаю, что они очень взбудоражены, но нужно оставаться людьми и не перекладывать политические решения коллективно на весь социум. Особенно учитывая, что люди из IT и около IT-сферы — образованные, понимающие, что происходит, и не поддерживающие, в большинстве своём, происходящее. Паника нагнетается, в Линкедине много дискуссий на эту тему, ребята из России расстроены и напуганы.

А как ты видишь ситуацию именно в Амстердаме? 

Изнутри я вижу, что в Амстердаме у нас есть поддержка со всех сторон. Я родилась под Киевом, муж родился в Москве. Когда распался СССР, мои родители работали на территории России, и мне досталось российское гражданство. Так получилось, что у меня украинское свидетельство о рождении и русский паспорт. И огромное количество друзей и в Украине, и в России. Мы жили на две страны и, на самом деле, у многих похожая история. 

Читать далее
Total votes 39: ↑26 and ↓13+22
Comments98

Микросервисы, Apache Kafka и Domain-Driven Design

Reading time10 min
Views26K

Почему Apache Kafka стала стандартом и основой архитектуры микросервисов. Как Kafka не только заменяет другое промежуточное ПО, но и позволяет создавать сами микросервисы с помощью DDD и нативных API Kafka: Kafka Streams, ksqlDB и Kafka Connect.

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

Управление рисками проекта

Reading time20 min
Views17K

Управление рисками проекта

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

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

Читать далее
Total votes 8: ↑6 and ↓2+7
Comments22

Обеспечение качества чат-бота: разбираем на примере слоёного пирога

Reading time13 min
Views5.9K

В Ozon поступают сотни тысяч заказов в день — при таком масштабе у пользователей неизбежно возникают очень разнообразные вопросы, которые они пишут в чат поддержки: как оплатить баллами «Спасибо», как вернуть не понравившуюся кофту или есть ли доставка в Норильск. При этом большинство вопросов в поддержку однотипны, а ответа пользователи ожидают мгновенно и в любое время суток. 

Чтобы отвечать на все эти вопросы, в Ozon есть несколько тысяч сотрудников КЦ в Твери и Тамбове, но даже при таком количестве специалистов им нужна помощь, в первую очередь по ответам на часто повторяющиеся вопросы. И самое очевидное решение — автоматизация с помощью чат-бота.

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

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

Архитектурное тестирование

Reading time4 min
Views8.3K

О том зачем тестировать архитектуру приложения. Что можно "покрыть" такими тестами. Какие инструменты для этого существуют. А так же о перспективах данного направления.

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

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity

Specialization

Backend Developer
Lead
PHP
TypeScript
PostgreSQL
MySQL
Golang
REST
Angular
React
Docker
Redis