Как стать автором
Обновить
3
@SaltWaterCrocread⁠-⁠only

Пользователь

Отправить сообщение

Зачем тратить деньги на юристов?

Время на прочтение3 мин
Количество просмотров4.1K

Зачем тратить деньги на юристов?


image


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


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

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

От большого энтерпрайза к дуновению стартапа

Время на прочтение6 мин
Количество просмотров5K

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

Большинство систем мы пишем сами, но в то же время мы иногда используем и коммерческий софт. В целом можно сказать, что мы стараемся работать «модно-молодежно»: у нас есть автоматизация на Ansible (именно автоматизация, а не деплой), у нас есть CI/CD на Bamboo + Bitbucket. Есть оркестрация на Mesos, от него мы постепенно переходим к Kubernetes.

Есть и заявки - это не только взаимодействие с другими отделами, но и взаимодействие разработки-эксплуатации. Поэтому мы смотрим в сторону GitOps.

Наши проблемы

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

Из предыдущего вытекает еще одна проблема — это подход «У меня локально все работает, если у коллег в деве/проде не запустилось — это их проблемы, пускай сами разбираются». Подобная проблема есть, наверное, практически у всех. Как мы стараемся ее решать: по максимуму переносить окружения на единую платформу, в нашем случае Kubernetes с динамическими окружениями. 

Читать далее

Как приручить Charles Proxy?

Время на прочтение10 мин
Количество просмотров388K
Привет! Многие из тех, кто приходит к нам на собеседование на должность тестировщика, с гордостью заверяют, что они могут пользоваться Charles Proxy. Но когда погружаешься в техническую часть, то становится очевидно, что кандидат только слышал об этом инструменте. Давайте уже наконец скорее приручим эту вазу!


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

Как появилась на свет программа youtube-dl

Время на прочтение10 мин
Количество просмотров29K
Как известно, в данный момент репозиторий youtube-dl на GitHub заблокирован по DMCA-запросу от RIAA. Хотя я не могу комментировать текущие планы мейнтейнеров или текущие дискуссии, но после сделанных обвинений RIAA я подумал, что мне как создателю программы и первому мейнтейнеру будет полезно рассказать о первых годах youtube-dl.

Сборщики меди


В любой хорошей истории должен быть злодей, и в качестве такого персонажа я решил выбрать сборщиков меди — воришек, которые собирали цветные металлы в округе. Именно они подтолкнули к созданию youtube-dl. В далёком 2006 году мой посёлок находился в 5-10 километрах от небольшого города Авилес на севере Испании. Жители Авилеса наслаждались хорошей инфраструктурой и услугами, включая кабельное телевидение и ADSL-доступ в интернет. В моём районе ничего такого не было: слишком далеко от телефонной станции с ADSL, а сборщики меди годами воровали медные провода по пути к ней, время от времени вызывая перебои в телефонной связи и заставляя телефонную компанию заменять эти провода более слабыми и тонкими, потому что их тоже, скорее всего, украдут. Это продолжалось несколько лет.

Единственным вариантом выхода в интернет из дома был модем 56k V.90. На самом деле качество связи было настолько плохим, что приходилось для стабильности снижать скорость до 33,6 Кбит/с. Фактическая скорость загрузки редко превышала 4 КБ/с. В то же время в интернете появился интересный видеосервис YouTube, он быстро набирал популярность, а в конце того же года его купила компания Google.
Читать дальше →

Финансовое latency critical приложение на Java и Akka

Время на прочтение19 мин
Количество просмотров7.6K

Всем привет! В своей статье я поделюсь опытом разработки одного из финансовых приложений на Java в ТехЦентре Дойче Банка, расскажу про стек технологий, который мы используем, и каких результатов достигаем

Читать далее

Java 15 глазами программиста Scala

Время на прочтение10 мин
Количество просмотров6.7K

Время летит. Не успеваешь моргнуть глазом, а уже вышел очередной релиз Java. В соответствии с графиком (по релизу каждые полгода) комьюнити получило в свое распоряжение Java 15, судьба которой — стать фундаментом для Java 17 LTS (выйдет через год).

В Java постоянно вносятся улучшения, многие из которых были реализованы под влиянием других языков JVM и функционального программирования. Сюда можно отнести такие возможности, как лямбды, ограниченный вывод типов локальных переменных (тип var) и switch-выражения. Scala — особенно богатый источник идей, благодаря инновационному сочетанию в ней объектно-ориентированного и функционального программирования.

Предлагаю рассмотреть, как представленные в новом релизе Java 15 (пока в статусе превью финальной версии) возможности соотносятся с конструкциями в Scala. Мы сосредоточимся на особенностях языка, пропустим улучшения в JVM и доработку стандартной библиотеки. Кроме того, нужно отметить, что некоторые из описанных компонентов уже были доступны в более ранних версиях Java (в виде предварительной или бета-версии).

Читать далее

Вычисляем последовательность Фибоначчи за логарифмическое время

Время на прочтение3 мин
Количество просмотров6.7K

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

Что такое последовательность Фибоначчи?

Это классический бесконечный числовой ряд, в котором n-й член представляет собой сумму двух предыдущих членов. Первые два члена - 1 и 1. Третий - 2, четвертый - 3, затем следует 5, 8 и т. д.

Как это вычисляется

BPF для самых маленьких, часть первая: extended BPF

Время на прочтение51 мин
Количество просмотров35K

В начале была технология и называлась она BPF. Мы посмотрели на нее в предыдущей, ветхозаветной, статье этого цикла. В 2013 году усилиями Алексея Старовойтова (Alexei Starovoitov) и Даниэля Боркмана (Daniel Borkman) была разработана и включена в ядро Linux ее усовершенствованная версия, оптимизированная под современные 64-битные машины. Эта новая технология недолгое время носила название Internal BPF, затем была переименована в Extended BPF, а теперь, по прошествии нескольких лет, все ее называют просто BPF.


Грубо говоря, BPF позволяет запускать произвольный код, предоставляемый пользователем, в пространстве ядра Linux и новая архитектура оказалась настолько удачной, что нам потребуется еще с десяток статей, чтобы описать все ее применения. (Единственное с чем не справились разработчики, как вы можете видеть на кпдв ниже, это с созданием приличного логотипа.)


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

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

Введение в оптимизацию. Имитация отжига

Время на прочтение10 мин
Количество просмотров191K
В этой статье я постараюсь максимально доходчиво рассказать о таком простом, но эффективном методе оптимизации, как имитация отжига (simulated annealing). А чтобы не быть причисленным к далёким от практики любителям теоретизировать, я покажу как применить этот метод для решения задачи коммивояжёра.

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

image


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

BPF для самых маленьких, часть нулевая: classic BPF

Время на прочтение22 мин
Количество просмотров65K

Berkeley Packet Filters (BPF) — это технология ядра Linux, которая не сходит с первых полос англоязычных технических изданий вот уже несколько лет подряд. Конференции забиты докладами про использование и разработку BPF. David Miller, мантейнер сетевой подсистемы Linux, называет свой доклад на Linux Plumbers 2018 «This talk is not about XDP» (XDP – это один из вариантов использования BPF). Brendan Gregg читает доклады под названием Linux BPF Superpowers. Toke Høiland-Jørgensen смеется, что ядро это теперь microkernel. Thomas Graf рекламирует идею о том, что BPF — это javascript для ядра.


На Хабре до сих пор нет систематического описания BPF, и поэтому я в серии статей постараюсь рассказать про историю технологии, описать архитектуру и средства разработки, очертить области применения и практики использования BPF. В этой, нулевой, статье цикла рассказывается история и архитектура классического BPF, а также раскрываются тайны принципов работы tcpdump, seccomp, strace, и многое другое.


Разработка BPF контролируется сетевым сообществом Linux, основные существующие применения BPF связаны с сетями и поэтому, с позволения @eucariot, я назвал серию "BPF для самых маленьких", в честь великой серии "Сети для самых маленьких".

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

Это маленькое чудо — алгоритм Кнута-Морриса-Пратта (КМП)

Время на прочтение9 мин
Количество просмотров191K
Алгоритм Кнута-Морриса-Пратта используется для поиска подстроки (образца) в строке. Кажется, что может быть проще: двигаемся по строке и сравниваем последовательно символы с образцом. Не совпало, перемещаем начало сравнения на один шаг и снова сравниваем. И так до тех пор, пока не найдем образец или не достигнем конца строки.
Читать дальше →

Алгоритм обратного распространения ошибки на примере Word2Vec

Время на прочтение9 мин
Количество просмотров7.9K

Поскольку я столкнулся с существенными затруднениями в поисках объяснения механизма обратного распространения ошибки, которое мне понравилось бы, я решил написать собственный пост об обратном распространении ошибки реализовав алгоритм Word2Vec. Моя цель, — объяснить сущность алгоритма, используя простую, но нетривиальную нейросеть. Кроме того, word2vec стал настолько популярным в NLP сообществе, что будет полезно сосредоточиться на нем.

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

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность