Habr Geektimes Toster Moikrug Freelansim
.NET Knowledge Base
  • Posts
  • Users
  • Hubs
  • Companies
  • Become an author
Log in Sign up
4.0
Karma
0.0
Rating
1
Followers
13
Following

raid

User

Profile

Posts 2

Comments 153

Bookmarks 135

  • Posts
  • Comments
  • sergey_shambir December 1, 2017 at 07:58 AM

    Восемь возможностей C++17, которые должен применять каждый разработчик

    • C++

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


      Вам также может быть интересна статья Десять возможностей C++11, которые должен использовать каждый C++ разработчик
      Читать дальше →
      • +31
      • 59.5k
      • 47
    • RalfHacker August 22, 2019 at 11:07 PM

      Natas Web. Прохождение CTF площадки, направленной на эксплуатацию Web-уязвимостей. Часть 3

      • Information Security,
      • PHP,
      • Python,
      • CTF
      • Tutorial
      image

      В данной статье мы разберемся с эксплуатацией некоторых WEB-узвимостей на примере прохождения варгейма Natas. Каждый уровень имеет доступ к паролю следующего уровня. Все пароли также хранятся в файлах /etc/natas_webpass/. Например, пароль для natas5 хранится в файле /etc/natas_webpass/natas5 и доступен для чтения только для пользователей natas4 и natas5.

      Прошлые части: часть 1 и часть 2.
      Читать дальше →
      • +9
      • 1.6k
      • Comment
    • green_hippo July 15, 2019 at 12:49 PM

      Разбор задач с конференции Hydra — балансировка нагрузки и in-memory хранилища

      • Контур corporate blog,
      • System Analysis and Design,
      • Algorithms,
      • Conferences,
      • Distributed systems

        Несколько дней назад случилась конференция Hydra. Ребята из JUG.ru Group пригласили спикеров мечты (Лесли Лэмпорт! Клифф Клик! Мартин Клеппманн!) и посвятили два дня распределённым системам и вычислениям. Контур был одним из трёх партнёров конференции. Мы общались на стенде, рассказывали про наши распределённые хранилки, играли в бинго, решали задачки.


        Это пост с разбором задач на стенде Контура от автора их текста. Кто был на Гидре — это ваш повод вспомнить приятные впечатления, кто не был — шанс размять мозги big O-нотацией.


        Были даже участники, которые разобрали флипчарт на слайды, чтобы записать своё решение. Я не шучу — они сдали на проверку вот такую пачку бумаги:



        Всего было три задачи:


        • о выборе реплик по весам для балансировки нагрузки
        • о сортировке результатов запроса к in-memory базе данных
        • о передаче состояния в распределённой системе с кольцевой топологией
        Взять и решить всё
        • +25
        • 3.4k
        • 9
      • m1rko May 19, 2019 at 08:13 PM

        Восемь малоизвестных опций Bash

        • Configuring Linux,
        • Shells,
        • Software
        • Translation
        • Tutorial
        Некоторые опции Bash хорошо известны и часто используются. Например, многие в начале скрипта пишут

        set -o xtrace

        для отладки,

        set -o errexit

        для выхода по ошибке или

        set -o errunset

        для выхода, если вызванная переменная не установлена.

        Но есть много других опций. Иногда они слишком путано описаны в манах, поэтому я собрал здесь некоторые из наиболее полезных, с объяснением.
        Читать дальше →
        • +76
        • 26.8k
        • 13
      • AShtripling April 29, 2019 at 04:25 PM

        FAQ: что надо знать путешественнику-гику про прививки перед поездкой

        • Туту.ру corporate blog,
        • Biotechnologies,
        • Geek health
          Мадагаскар закрывает границы!Вакцина — это способ показать иммунной системе сигнатуру угрозы, к которой за несколько циклов обучения будет выработан иммунный ответ.

          Любая борьба организма с инфекционным заболеванием — это попытки распознать сигнатуру угрозы и выработать контрмеры. В общем случае этот процесс ведётся до полного результата, то есть до выздоровления. Однако могут быть инфекции, которые:

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

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

          Давайте сначала разберёмся с ликбезом, потом перейдём к путешествиям и списку действий.

          Почему путешествия опасны?


          Предположим, вы летите в Африку. Там есть повышенный риск жёлтой лихорадки. Простая вакцина обойдётся вам примерно в 1 500 рублей вместе с приёмом терапевта и услугами процедурного кабинета, вакцина более высокого уровня — в 3 000 рублей. Вылечиться от жёлтой лихорадки специализированными медикаментами нельзя (то есть можно только поддерживать ресурсы организма, пока он сам не справится), заболеть легко, летальность — около 10%, основной вектор — комары. Побочных эффектов у вакцины почти нет. Стоит вакцинация того? Наверное, да. Но решать вам.
          Читать дальше →
          • +101
          • 27.2k
          • 95
        • anlide April 7, 2019 at 12:51 AM

          Debian + Postfix + Dovecot + Multidomain + SSL + IPv6 + OpenVPN + Multi-interfaces + SpamAssassin-learn + Bind

          • Configuring Linux,
          • Instant Messaging Systems,
          • DevOps
            Данная статья о том как настроить современный почтовый сервер.
            Postfix + Dovecot. SPF + DKIM + rDNS. С IPv6.
            С шифрованием TLS. С поддержкой нескольких доменов — часть с настоящим SSL сертификатом.
            С антиспам-защитой и высоким антиспам-рейтингом у других почтовых серверов.
            С поддержкой нескольких физических интерфейсов.
            С OpenVPN, подключение к которому через IPv4, и которое даёт IPv6.

            Если вы не хотите изучать эти все технологии, но хотите настроить такой сервер — тогда эта статья для вас.

            В статье отсутствуют попытки пояснить каждую деталь. Пояснение идёт к тому, что настроено не стандартно или важно с точки зрения потребителя.
            Читать дальше →
            • +26
            • 13.4k
            • 31
          • ru_vds February 28, 2019 at 03:00 PM

            Изучаем Docker, часть 6: работа с данными

            • RUVDS.com corporate blog,
            • Website development,
            • Virtualization
            • Translation
            • Tutorial
            В сегодняшней части перевода серии материалов о Docker мы поговорим о работе с данными. В частности — о томах Docker. В этих материалах мы постоянно сравнивали программные механизмы Docker с разными съедобными аналогиями. Не будем отходить от этой традиции и здесь. Данные в Docker пусть будут специями. В мире существует множество видов специй, а в Docker — множество способов работы с данными.

            → Часть 1: основы
            → Часть 2: термины и концепции
            → Часть 3: файлы Dockerfile
            → Часть 4: уменьшение размеров образов и ускорение их сборки
            → Часть 5: команды
            → Часть 6: работа с данными


            Читать дальше →
            • +25
            • 27k
            • 11
          • AndreyNagih February 21, 2019 at 04:08 PM

            Разработка под WebAssembly: реальные грабли и примеры

            • JUG Ru Group corporate blog,
            • JavaScript,
            • C++,
            • WebAssembly


              Анонс WebAssembly состоялся в 2015-м — но сейчас, спустя годы, всё ещё немногие могут похвастаться им в продакшне. Тем ценнее материалы о подобном опыте: информация из первых рук о том, каково с этим жить на практике, пока что в дефиците.

              На конференции HolyJS доклад об опыте использования WebAssembly получил высокие оценки зрителей, и теперь специально для Хабра подготовлена текстовая версия этого доклада (видеозапись также приложена).
              Читать дальше →
              • +71
              • 24.5k
              • 59
            • olartamonov February 18, 2019 at 01:05 PM

              Профессиональная IoT-конференция InoThings++ — что было и что будет

              • Конференции Олега Бунина (Онтико) corporate blog,
              • Development for IOT,
              • Manufacture and development of electronics,
              • IOT
                Привет, Хабр!

                Практически ровно год назад — в конце января 2018-го — мы попробовали провести первую профессиональную конференцию для разработчиков устройств, систем и проектов «Интернета вещей» InoThings++ 2018.

                Помимо того, что она была первой для нас — если не считать небольших пробных секций по IoT на Highload++ и РИТ++ — мы постарались сделать её в достаточной степени выделяющейся и на фоне других IoT-конференций, который сейчас проходит весьма немало.



                InoThings++ — это конференция для людей, делающих реальные проекты в IoT. У нас нет докладов с графиками Gartner и прогнозами роста рынка в миллиардах долларов, нет красивых презентаций о безмерной государственной поддержке и борьбе за статус самого умного города. Мы приглашаем выступать только тех, кто действительно работает руками — и может про это рассказать.

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



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

                Читать дальше →
                • +50
                • 6.1k
                • 8
              • ru_vds January 10, 2019 at 12:05 PM

                Учебный курс по React, часть 6: о некоторых особенностях курса, JSX и JavaScript

                • RUVDS.com corporate blog,
                • Website development,
                • JavaScript,
                • ReactJS
                • Translation
                • Tutorial
                Сегодня мы публикуем продолжение учебного курса по React. Здесь речь пойдёт о некоторых особенностях курса, касающихся, в частности, стиля кода. Тут же мы подробнее поговорим о взаимоотношениях между JSX и JavaScript.

                image

                → Часть 1: обзор курса, причины популярности React, ReactDOM и JSX
                → Часть 2: функциональные компоненты
                → Часть 3: файлы компонентов, структура проектов
                → Часть 4: родительские и дочерние компоненты
                → Часть 5: начало работы над TODO-приложением, основы стилизации
                → Часть 6: о некоторых особенностях курса, JSX и JavaScript
                → Часть 7: встроенные стили
                → Часть 8: продолжение работы над TODO-приложением, знакомство со свойствами компонентов
                → Часть 9: свойства компонентов
                → Часть 10: практикум по работе со свойствами компонентов и стилизации
                → Часть 11: динамическое формирование разметки и метод массивов map
                → Часть 12: практикум, третий этап работы над TODO-приложением
                → Часть 13: компоненты, основанные на классах
                → Часть 14: практикум по компонентам, основанным на классах, состояние компонентов
                → Часть 15: практикумы по работе с состоянием компонентов
                → Часть 16: четвёртый этап работы над TODO-приложением, обработка событий
                → Часть 17: пятый этап работы над TODO-приложением, модификация состояния компонентов
                → Часть 18: шестой этап работы над TODO-приложением
                → Часть 19: методы жизненного цикла компонентов
                → Часть 20: первое занятие по условному рендерингу
                → Часть 21: второе занятие и практикум по условному рендерингу
                → Часть 22: седьмой этап работы над TODO-приложением, загрузка данных из внешних источников
                → Часть 23: первое занятие по работе с формами
                → Часть 24: второе занятие по работе с формами
                → Часть 25: практикум по работе с формами
                → Часть 26: архитектура приложений, паттерн Container/Component
                → Часть 27: курсовой проект
                Читать дальше →
                • +19
                • 10.9k
                • 2
              • GlobalSign_admin January 9, 2019 at 10:36 AM

                Mkcert: валидные HTTPS-сертификаты для localhost

                • GlobalSign corporate blog,
                • Information Security,
                • Website development,
                • Development of mobile applications,
                • Microservices

                  В наше время использование HTTPS становится обязательным для всех сайтов и веб-приложений. Но в процессе разработки возникает проблема корректного тестирования. Естественно, Let’s Encrypt и другие CA не выдают сертификаты для localhost.

                  Традиционно есть два решения.
                  Читать дальше →
                  • +43
                  • 40.5k
                  • 30
                • PatientZero January 23, 2018 at 10:31 AM

                  Имитируем иридисценцию: шейдер CD-ROM

                  • Working with 3D-graphics,
                  • Game development,
                  • Unity3D
                  • Translation
                  Этот туториал посвящён иридисценции. В этом туториале мы исследуем саму природу света, чтобы понять и воссоздать поведение материала, создающего цветные отражения. Туториал предназначен для разработчиков игр на Unity, однако описанные в нём техники можно запросто реализовать на других языках, в том числе в Unreal и на WebGL.


                  Туториал будет состоять из следующих частей:

                  • Часть 1. Природа света
                  • Часть 2. Усовершенствуем радугу — 1
                  • Часть 3. Усовершенствуем радугу — 2
                  • Часть 4. Разбираемся с дифракционной решёткой
                  • Часть 5. Математика дифракционной решётки
                  • Часть 6. Шейдер CD-ROM: дифракционная решётка — 1
                  • Часть 7. Шейдер CD-ROM: дифракционная решётка — 2
                  Читать дальше →
                  • +17
                  • 5.7k
                  • 9
                • Fyret November 16, 2018 at 10:53 AM

                  C++: сеанс спонтанной археологии и почему не стоит использовать вариативные функции в стиле C

                  • Programming,
                  • C++,
                  • Compilers,
                  • C
                  • From sandbox
                  • Tutorial
                  Началось все, как водится, с ошибки. Я первый раз работал с Java Native Interface и делал в C++ части обертку над функцией, создающей Java объект. Эта функция — CallVoidMethod — вариативна, т.е. помимо указателя на среду JNI, указателя на тип создаваемого объекта и идентификатора вызываемого метода (в данном случае конструктора), она принимает произвольное число других аргументов. Что логично, т.к. эти другие аргументы передаются вызываемому методу на стороне Java, а методы могут быть разные, с разным числом аргументов любых типов.

                  Соответственно и свою обертку я тоже сделал вариативной. Для передачи произвольного числа аргументов в CallVoidMethod использовал va_list, потому что по-другому в данном случае никак. Да, так и отправил va_list в CallVoidMethod. И уронил JVM банальным segmentation fault.

                  За 2 часа я успел перепробовать несколько версий JVM, от 8-ой до 11-ой, потому что: во-первых это мой первый опыт с JVM, и в этом вопросе я StackOverflow доверял больше, чем себе, а во-вторых кто-то на StackOverflow посоветовал в таком случае использовать не OpenJDK, а OracleJDK, и не 8, а 10. И лишь потом я наконец заметил, что помимо вариативной CallVoidMethod есть CallVoidMethodV, которая произвольное число аргументов принимает через va_list.

                  Что мне больше всего не понравилось в этой истории, так это то, что я не сразу заметил разницу между эллипсисом (многоточием) и va_list. А заметив, не смог объяснить себе, в чем принципиальное отличие. Значит, надо разобраться и с эллипсисом, и с va_list, и (поскольку речь все-таки о C++) с вариативными шаблонами.
                  Читать дальше →
                  • +26
                  • 9k
                  • 11
                • smrl November 16, 2018 at 11:04 AM

                  Орден куколки

                  • Reading room,
                  • Science fiction
                    Прошу считать пятничным постом! Это как бы научная фантастика, но

                    правда важный дисклеймер
                    1. Научная фантастика понятие очень широкое. Этот рассказ-эссе я смею предложить только тем, кто нормально относится к углу {Лем, Кларк, Воннегут, Пелевин, Лэнгфорд...}. Простите меня, если в вашем представлении научная фантастика это что-то совсем иное, и я зря вторгся в вашу ленту.

                    2. Позиция автора может не совпадать с убеждениями лирического героя.



                    1. Марсианские каналы


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

                    Неужели действительно был так наивен, что в голове гуляло:
                    — Ваш платеж подтвержден, и вот вам ваша таблетка. Глотаете ее, и отныне…

                    Столетия, тысячелетия, миллионы лет — твои.

                    Пусть не таблетка, пусть инъекция, или неделя изматывающих процедур в стационаре, какая разница? Важно лишь, чтобы был миллион, оплатить это. Ну, десять. Да хоть сто! Зато уж если хватило — дело сделано.

                    Неужели я и правда представлял себе это так?…
                    А если без поддавков?
                    • +41
                    • 14.9k
                    • 35
                  • ru_vds October 11, 2018 at 01:29 PM

                    TensorFlow.js и clmtrackr.js: отслеживание направления взгляда пользователя в браузере

                    • RUVDS.com corporate blog,
                    • Website development,
                    • JavaScript,
                    • Machine learning
                    • Translation
                    Автор статьи, перевод которой мы публикуем, предлагает поговорить о решении задач из сферы компьютерного зрения исключительно средствами веб-браузера. Решить подобную задачу не так уж и трудно благодаря JavaScript-библиотеке TensorFlow. Вместо того, чтобы обучать собственную модель и предлагать её пользователям в составе готового продукта, мы дадим им возможность самостоятельно собрать данные и обучить модель прямо в браузере, на собственном компьютере. При таком подходе серверная обработка данных совершенно не нужна.


                    Испытать то, созданию чего посвящён этот материал, можно здесь. Вам для этого понадобится современный браузер, веб-камера и мышь. Вот исходный код проекта. Он не рассчитан на работу на мобильных устройствах, автор материала говорит, что у него не было времени на соответствующие доработки. Кроме того, он отмечает, что рассматриваемая тут задача усложнится в том случае, если придётся обрабатывать видеопоток с движущейся камеры.
                    Читать дальше →
                    • +28
                    • 14.2k
                    • 8
                  • Antelle December 14, 2015 at 10:53 PM

                    Репликация без конфликтов: CRDT в теории и на практике

                    • Programming,
                    • Algorithms,
                    • Mathematics,
                    • Distributed systems
                      В распределённых хранилищах или редакторах каких-либо данных часто бывает нужна поддержка внесения изменений оффлайн, без блокировок и конфликтов. Для этого применяются разные подходы, один из которых — алгоритмы и типы данных conflict-free replicated data type (CRDT).

                      Читать дальше →
                      • +13
                      • 26.8k
                      • 12
                    • amberovsky August 1, 2018 at 02:02 PM

                      CRDT: Conflict-free Replicated Data Types

                      • Programming,
                      • System Analysis and Design,
                      • Algorithms,
                      • Mathematics,
                      • Distributed systems

                        Как считать хиты страницы google.com? А как хранить счётчик лайков очень популярных пользователей? В этой статье предлагается рассмотреть решение этих задач с помощью CRDT (Conflict-free Replicated Data Types, что по-русски переводится примерно как Бесконфликтные реплицированные типы данных), а в более общем случае — задачи синхронизации реплик в распределённой системе с несколькими ведущими узлами.
                        Читать дальше →
                        • +18
                        • 10.6k
                        • 14
                      • Junkers July 4, 2018 at 08:00 PM

                        Дейкстра за линейное время

                        • Algorithms
                        • From sandbox

                        Приветствую всех и особенно тех кто интересуется задачами дискретной математики и теорией графов.


                        Предыстория


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

                        Читать дальше →
                        • +34
                        • 10.7k
                        • 13
                      • phillennium June 29, 2018 at 05:02 PM

                        Топ-10: лучшие доклады Joker 2017

                        • JUG Ru Group corporate blog,
                        • Java


                          Недавно мы открыли для всех видеозаписи докладов Joker 2017. А когда в публичный доступ попадают сразу сорок Java-докладов, в чём тут может быть проблема? В том, что глаза разбегаются! Когда столько всего, непонятно, на что обратить внимание в первую очередь.

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

                          Обычно мы в таких топах строго обозначаем места. Но в этот раз топовые доклады шли «ноздря в ноздрю», и разница между ними порой символическая. Поэтому, хотя видеозаписи ниже расположены по возрастанию оценок к наивысшей, это деление довольно условное: важнее не то, в каком порядке они идут, а то, что все они очень понравились зрителям.
                          Читать дальше →
                          • +34
                          • 11.4k
                          • 5
                        • SlavikMIPT March 23, 2013 at 08:52 AM

                          От программирования к железу или «Почему оно не работает?».Ликбез

                          • DIY
                            image
                            Привет Хабр. В последнее время среди программистов все больше стала набирать популярность цифровая электроника, появляются все новые платформы, позволяющие без каких либо особых знаний в электронике собирать различные устройства. Сам я начинал заниматься аналоговой электроникой, позже — цифровой и программированием. Многие же — наоборот — сначала программированием, а потом пытаются заниматься железом, при этом знания по части электроники практически нулевые и люди не знают/не понимают элементарных для олдфажного электронщика вещей. В данной статье я постараюсь затронуть наиболее важные на мой взгляд моменты, как по части проектирования схем, так и по части разводки плат. Надеюсь мои советы помогут миновать некоторые грабли
                            Читать дальше →
                            • +136
                            • 75.2k
                            • 36
                          • ← here
                          • there →
                          • 1
                          • 2
                          • 3
                          • 4
                          • 5
                          • 6
                          • 7

                          Info

                          • Rating Does not participate
                          • Activity 12/9/19, 2:37 AM
                          • Registered January 20, 2013

                          Contribution to hubs

                          • Java 15
                          • C++ 6
                          • Distributed systems 6
                          • Data storages 6
                          Nobody has specified the reason so far
                          Reasons for downvotes

                          Your account

                          • Log in
                          • Sign up

                          Sections

                          • Posts
                          • Hubs
                          • Companies
                          • Users
                          • Sandbox

                          Info

                          • Rules
                          • Help
                          • Documentation
                          • Agreement
                          • Terms of service

                          Services

                          • Ads
                          • Subscription plans
                          • Content
                          • Seminars
                          • Megaprojects
                          If you find a mistake in the post please select it and press Ctrl+Enter to send a report to the author.
                          © 2006 – 2019 «TM»
                          Language settings
                          About
                          Support
                          Mobile version
                          Language settings
                          Interface
                          Content