• Как я заработал 1 000 000 $ без опыта и связей, а потом потратил их, чтобы сделать свой переводчик

      Как все начиналось


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

      Когда у меня в очередной раз закончились деньги, наступил кризис. Я не смог найти работу, ситуация стала критической. Пришло время посмотреть на все вещи трезвым взглядом. Нужно было честно признаться себе, что я не знаю, какие ниши выбрать для бизнеса. Создавать проекты, которые просто нравятся, — путь в никуда.
      Читать дальше →
    • Топ-65 вопросов по SQL с собеседований, к которым вы должны подготовиться в 2019 году. Часть I

      • Перевод


      Перевод статьи подготовлен для студентов курса «MS SQL Server разработчик»




      Реляционные базы данных являются одними из наиболее часто используемых баз данных по сей день, и поэтому навыки работы с SQL для большинства должностей являются обязательными. В этой статье с вопросами по SQL с собеседований я познакомлю вас с наиболее часто задаваемыми вопросами по SQL (Structured Query Language — язык структурированных запросов). Эта статья является идеальным руководством для изучения всех концепций, связанных с SQL, Oracle, MS SQL Server и базой данных MySQL.

      Читать дальше →
    • DevConf: переход Uber с PostgreSQL на MySQL

        18 мая 2018 года в Digital October состоится DevConf 2018. И мы решили пересказать некоторые интересные доклады с прошлогодней конференции. Там был доклад с несколько холиварным заголовком: "О чём молчит политрук: к дискуссии о переходе Uber с PostgreSQL на MySQL". В нем разработчик MySQL Алексей Копытов рассмотрел различия InnoDb и PostgreSQL на самом низком уровне, включая организацию данных, памяти и репликаций. Предлагаем вашему вниманию краткий пересказ доклада.


        История вопроса


        Uber перешел с MySQL на Postgres в 2013 году и причины, которые они перечисляют, были во-первых: PostGIS — это геоинформационное расширение для PostgreSQL и хайп. То есть, у PostgreSQL есть некий ореол серьезный, солидная СУБД, совершенный, без недостатков. По крайней мере, если сравнивать с MySQL. Они мало что знали о PostgreSQL, но повелись на весь этот хайп и перешли, а через 3 года пришлось переезжать обратно. И основные причины, если просуммировать их доклад — это плохие эксплуатационные характеристики при эксплуатации в production.
        Читать дальше →
      • Собеседование здорового человека

          Эта статья написана как ответ на статью «Собеседование в Додо Пиццу» со стороны разработчика с опытом синьора. Я не претендую на истинность суждений, мне хотелось бы выразить довольно популярное среди моих знакомых мнение о процессе найма в частности и жизни разработчика в целом.
          Читать дальше →
        • Product very first. Выгорание

            image

            Когда-то я работал в медицинском Калифорнийском стартапе. Там было 20 человек, но ни одного доктора.

            Даже медсестры не было. Зато было 10 программистов. Я сам гуглил бывает ли рак груди у мужчин, про то, что у женщин бывает, я знаю, благодаря Анджелине Джоли. Фиг его знает, сколько американцев лечилось на основе моих ценных рекомендаций американским докторам :)

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

            У нас с женой договоренность, перед тем как покупать лекарство, она гуглит его, и если там не написано БАД или гомеопатия, то покупает.

            Спасибо Яндекс.Медицина, ты торчишь мне 460 рублей за купленный женой Эргоферон. Я считал Я.Медицину адекватной, извините.
            Читать дальше →
          • Стартап These Nudes Do Not Exist генерирует обнаженку нейросетями



              Согласно информации издания Vice, создатели cтартапа These Nudes Do Not Exist обучили нейронную сеть создавать с помощью ИИ несуществующие в реальности изображения в стиле ню. Всего за один доллар каждый желающий может гарантированно создать и скачать уникальное и единственное в своем роде изображение очень клубничной специфики. Причем, после скачивания пользователь получает все права на картинку и может делать с изображением все что хочет — продать, сохранить, поставить на обои в смартфон или на рабочий стол.
              Читать дальше →
            • Связи между таблицами базы данных

              1. Введение


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

              1.1. Для кого эта статья?


              Эта статья будет полезна тем, кто хочет разобраться со связями между таблицами базы данных. В ней я постарался рассказать на понятном языке, что это такое. Для лучшего понимания темы, я чередую теоретический материал с практическими примерами, представленными в виде диаграммы и запроса, создающего нужные нам таблицы. Я использую СУБД Microsoft SQL Server и запросы пишу на T-SQL. Написанный мною код должен работать и на других СУБД, поскольку запросы являются универсальными и не используют специфических конструкций языка T-SQL.

              1.2. Как вы можете применить эти знания?


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

              2. Благодарности


              Учтены были советы и критика авторов jobgemws, unfilled, firnind, Hamaruba.
              Спасибо!

              3.1. Как организовываются связи?


              Связи создаются с помощью внешних ключей (foreign key).
              Внешний ключ — это атрибут или набор атрибутов, которые ссылаются на primary key или unique другой таблицы. Другими словами, это что-то вроде указателя на строку другой таблицы.

              3.2. Виды связей


              Связи делятся на:

              1. Многие ко многим.
              2. Один ко многим.
                • с обязательной связью;
                • с необязательной связью;
              3. Один к одному.
                • с обязательной связью;
                • с необязательной связью;

              Рассмотрим подробно каждый из них.
              Читать дальше →
            • Инкрементальные бэкапы postgresql с pgbackrest — курс молодого бойца от разработчика

              Дисклеймер

              Я — разработчик. Я пишу код, с базой данных взаимодействую лишь как пользователь. Я ни в коем случае не претендую на должность системного администратора и, тем более, dba. Но…

              Так вышло, что мне нужно было организовать резервное копирование postgresql базы данных. Никаких облаков — держи SSH и сделай, чтобы все работало и не просило денег. Что мы делаем в таких случаях? Правильно, пихаем pgdump в cron, каждый день бэкапим все в архив и если совсем разошлись — отправляем этот архив куда-нибудь подальше.

              В этот раз сложность состояла в том, что по планам база должна была расти примерно на +- 100 МБ в день. Разумеется, уже через пару недель желание бэкапить все pgdump'ом отпадет. Тут на помощь приходят инкрементальные бэкапы.

              Интересно? Добро пожаловать под кат.
              Читать дальше →
            • C++20 утверждён! Чего ждать и к чему готовиться разработчикам в C++23

                На днях в Праге прошла встреча международного комитета по стандартизации C++. И-и-и-и…



                C++20 готов! Осталось поставить штампик от ISO, но это чисто формальный шаг, с которым не должно быть проблем.

                Поздравляю всех с этим замечательным событием! Concepts, Coroutines, Modules, Ranges, std::format, constexpr new и constexpr алгоритмы+vector+string, datetime, jthread, span, bit_cast и многие другие мелкие и большие нововведения.

                Что успели добавить и поправить в последний момент, что предложили разломать и что все хотят видеть в C++23 — обо всём этом под катом.
                Читать дальше →
              • Яндекс помогает распространять вредоносное ПО?

                  По роду деятельности мне приходится наблюдать за работой сотен рядовых пользователей ПК. Человек, который не первый день держит мышку, всё чаще сталкивается с проблемами при банальном скачивании бесплатного ПО. При разборе выясняется, что он всего лишь набрал в Яндексе «скачать Вайбер», а дальше что-то пошло не так. Я давно слежу за распространением заразы при непосредственном участии Яндекса. Когда-то это были единичные случаи, но теперь явление уже приобрело массовый характер. Объясню, в чём суть. Введём в запросе название любой популярной программы, которую условный домашний пользователь хочет скачать, и получим примерно такую выдачу:

                  image
                  Читать дальше →
                • Методы оптимизации LINQ-запросов в C#.NET

                  • Tutorial

                  Введение


                  В этой статье рассматривались некоторые методы оптимизации LINQ-запросов.
                  Здесь же приведем еще некоторые подходы по оптимизации кода, связанные с LINQ-запросами.
                  Читать дальше →
                • POWA-like мониторинг PostgreSQL с помощью Prometheus

                  • Tutorial

                  Предыстория


                  Для сбора и удобного просмотра данных о том, как работает PostgreSQL (общая производительность сервера, самые медленные запросы, самые частые запросы) мы долгое время использовали отличную утилиту POWA. Однако, это решение было далеко не идеальным и нам удалось найти более удачный вариант, к тому же полностью интегрированный с нашей основной системой мониторинга.

                  Читать дальше →
                • Как Хабр взаимодействует с госорганами и другими заявителями. Transparency report за все года

                    Привет, Хабр! Наконец-то представлюсь — меня зовут Алексей Шевелёв, и в Хабре я руковожу отделом по борьбе работе с пользователями (куда входит фидбек через форму обратной связи по всем проектам), попутно являясь комьюнити-менеджером. Иногда мне приходится взаимодействовать с разными государственными службами. Сегодня я расскажу, как это происходит.


                    Читать дальше →
                  • Aсинхронный PHP

                      Десять лет назад у нас был классический LAMP-стек: Linux, Apache, MySQL, и PHP, который работал в медленном режиме mod_php. Мир менялся, а с ним и важность скорости. Появился PHP-FPM, который позволил значительно увеличить производительность решений на PHP, а не срочно переписывать на чем-то побыстрее.

                      Параллельно велась разработка библиотеки ReactPHP с применением концепции Event Loop для обработки сигналов от ОС и представления результатов для асинхронных операций. Развитие идеи ReactPHP — AMPHP. Эта библиотека использует тот же Event Loop, но поддерживает корутины, в отличие от ReactPHP. Они позволяют писать асинхронный код, который выглядит как синхронный. Возможно, это самый актуальный фреймворк для разработки асинхронных приложений на PHP.



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

                      Об этом и поговорит Антон Шабовта (zloyusr) — разработчик в компании Onliner. Опыт больше 10 лет: начинал с десктопных приложений на С/С++, а потом перешел в веб-разработку на PHP. «Домашние» проекты пишет на C# и Python 3, а в PHP экспериментирует с DDD, CQRS, Event Sourcing, Async Multitasking.
                      Читать дальше →
                    • Кармическое проклятье Хабра

                        Вся суть


                        Непредвиденные последствия


                        «Система кармы Хабра и ее влияние на пользователей» — это тема для курсовой как минимум
                        Тема про карму на «Пикабу»

                        Я мог бы начать эту статью с того, что я давно читаю Хабр, но это будет не совсем точным высказыванием. Правильный тезис звучал бы так: «я давно читаю статьи с Хабра» — но не интересовался тем, что происходит внутри сообщества, когда этой весной решил наконец-то зарегистрироваться. Это типичная ошибка человека, который приходит на Хабр из поисковика читать полезные статьи о тонкостях программирования или интересные новости из мира технологий. Пока ты видишь портал только с этой, положительной стороны, ты не задаёшься вопросами о том, что происходит под капотом. Конечно, в комментариях или статьях время от времени проскальзывали упоминания кармы — но ведь карма есть почти на всех крупных порталах (наивно полагал я), это нормально для саморегулирующихся интернет-сообществ.

                        Мне пришлось всерьёз задуматься об этом после того, как я неожиданно потерял возможность писать больше одного комментария в пять минут.

                        При этом внешне всё шло отлично: мои комментарии всё время плюсовали, мой рейтинг рос — и вдруг оказалось, что у меня отрицательная карма. Весь мой длительный опыт интернет-общения, все пользовательские привычки, да и банальный здравый смысл кричали мне, что это какая-то ошибка: показатель одобрения пользователя сайта другими пользователями сайта не может одновременно расти и падать! Но я решил не рубить сплеча, а провести небольшое исследование, как аналитическое (в виде изучения мнений пользователей о карме), так и статистическое (в виде анализа показателей аккаунтов).
                        Читать дальше →
                      • Изменения в пользовательском соглашении и политике конфиденциальности на сервисах Хабра

                          Привет! Мы внесли изменения в Пользовательское соглашение и Политику конфиденциальности. Текст документов остался практически прежним, изменилось представляющее сервис юридическое лицо. Если ранее управление сервисом осуществлялось российской компанией ООО «Хабр», то теперь за бразды правления взялась наша головная компания — Habr Blockchain Publishing Ltd, зарегистрированная и действующая в юрисдикции и по законам Республики Кипр и Европейского Союза. 
                          Читать дальше →
                        • Исследование рынка тимлидов в России



                            Две недели назад к нам в New.HR пришел Егор Толстой (YourDestiny) и попросил собрать данные для его доклада на TeamLeadConf.

                            Егора интересовало:

                            • Сколько вакансий тимлидов есть на рынке.
                            • Какое количество вакансий закрывается внешними кандидатами, а какое – внутренними.

                            У нас было всего две недели до конференции, желание сделать интересный анализ рынка тимлидов, и вот что мы успели за это время:
                            Читать дальше →
                          • Правительство РФ поддержало законопроект об идентификации пользователей электронной почты



                              8 февраля 2020 года правительство РФ опубликовало официальные отзывы на законопроекты № 808655-7 (официальный отзыв, PDF) и № 808671-7 (официальный отзыв, PDF) об идентификации пользователей почтовых сервисов, а также о штрафах для почтовиков за неисполнение этих требований. Отзывы опубликованы в соответствующих карточках законопроектов на сайте Госдумы.

                              Законопроект № 808655-7 предлагает установить общее для мессенджеров и сервисов электронной почты понятие «организатор сервиса обмена сообщениями» (ОСОС), а также общие обязанности. На ОСОС'ов возлагаются обязанности по «идентификации пользователей, обеспечению технической возможности отказа пользователей от получения электронных сообщений от других пользователей, а также ограничению рассылки и передачи сообщений».
                              Читать дальше →
                            • Почему SQL одерживает верх над NoSQL, и к чему это приведет в будущем

                              • Перевод

                              SQL пробуждается и наносит ответный удар силам тьмы — NoSQL

                              С самого начала компьютерной эры человечество собирает экспоненциально растущие объемы данных, и вместе с этим растут требования к системам хранения, обработки и анализа данных. Из-за этого в последнее десятилетие разработчики ПО отказались от SQL как от устаревшей технологии, которая не могла масштабироваться вместе с растущими объемами данных — и в результате появились базы данных NoSQL: MapReduce и Bigtable, Cassandra, MongoDB и другие.

                              Однако сейчас SQL возрождается. Все основные поставщики облачных услуг предлагают популярные управляемые сервисы реляционных баз данных: Amazon RDS, Google Cloud SQL, база данных Azure для PostgreSQL (запущена буквально в этом году) и другие. Если верить компании Amazon, ее совместимая с PostgreSQL и MySQL база данных Aurora стала «самым быстрорастущим сервисом в истории AWS». Не теряют популярности и SQL-интерфейсы поверх платформ Hadoop и Spark. А в прошлом месяце поддержку SQL запустила и Kafka. Авторы статьи скромно признаются, что и сами разрабатывают новую базу данных временных рядов, которая полностью поддерживает SQL.

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

                              Переведено в Alconost

                              Часть 1. Новая надежда

                              Читать дальше →
                            • Основы мониторинга PostgreSQL. Алексей Лесовский

                                И Предлагаю ознакомиться с расшифровкой доклада Алексей Лесовский из Data Egret "Основы мониторинга PostgreSQL"


                                В этом докладе Алексей Лесовский расскажет о ключевых моментах постгресовой статистики, что они означают, и почему они должны присутствовать в мониторинге; о том, какие графики должны быть в мониторинге, как их добавить и как интерпретировать. Доклад будет полезен администраторам баз данных, системным администраторам и разработчикам, которым интересен траблшутинг Postgres'а.


                                Читать дальше →
                                • +25
                                • 11,8k
                                • 6