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

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

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

ReactOS 0.4.9: хейтерам придется искать новые аргументы

Время на прочтение2 мин
Количество просмотров42K
Привет, Хабр!
Футбольный карнавал закончился, а праздник жизни под названием «Разработка ReactOS» как ни в чем не бывало продолжается! Мы представляем вашему вниманию очередной релиз нашей операционной системы.

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

Скачать установочные образы | Пресс–релиз | Список изменений | TL;DR | Тесты и список регрессий


Всего голосов 152: ↑142 и ↓10+132
Комментарии222

Переезд из СНГ в Чехию, собственный опыт

Время на прочтение5 мин
Количество просмотров144K
 Пару месяцев назад на Хабре была статья про поиск работы в Чехии, а в комментариях возник интерес к тому, как заводить трактор и что нужно делать для этого. Этой заметкой хочу прояснить некоторые вопросы и, возможно, помочь принять решение тем, кто сомневается.  

image
image
Одна из центральных площадей г. Праги (Staroměstské náměstí)

Читать дальше →
Всего голосов 54: ↑43 и ↓11+32
Комментарии255

Дуров начал выплачивать гранты на разработку VPN и Proxy

Время на прочтение1 мин
Количество просмотров47K
На своих страницах в VK и Telegram Павел Дуров поблагодарил за поддержку и объявил, что начал выплачивать биткоин-гранты администраторам Proxy и VPN. В рамках «Цифрового Сопротивления» он планирует потратить миллионы долларов из своих личных средств.

Скриншот поста Павла Дурова в VK
Читать дальше →
Всего голосов 84: ↑76 и ↓8+68
Комментарии407

Как выпустить самоподписанный SSL сертификат и заставить ваш браузер доверять ему

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


Все крупные сайты давно перешли на протокол https. Тенденция продолжается, и многие наши клиенты хотят, чтобы их сайт работал по защищенному протоколу. А если разрабатывается backend для мобильного приложения, то https обязателен. Например, Apple требует, чтобы обмен данными сервера с приложением велся по безопасному протоколу. Это требование введено с конца 2016 года.

На production нет проблем с сертификатами. Обычно хостинг провайдер предоставляет удобный интерфейс для подключения сертификата. Выпуск сертификата тоже дело не сложное. Но во время работы над проектом каждый разработчик должен позаботиться о сертификате сам.
В этой статье я расскажу, как выпустить самоподписанный SSL сертификат и заставить браузер доверять ему.
Читать дальше →
Всего голосов 52: ↑41 и ↓11+30
Комментарии51

Где лучше жить программисту. Сравниваем 9 стран

Время на прочтение2 мин
Количество просмотров161K
Предлагаю вашему вниманию сводную таблицу-сравнение под кодовым названием «Лучшая страна для программиста», которую я подготовила с помощью IT-блогеров из разных стран. В список попали Германия, США, Испания, Канада, Австралия и Австрия, а также добавила в список Англию, Швейцарию и Нидерланды.

В этой статье страны сравнивались по следующим параметрам:

1. Зарплаты программистов
2. Налоги
3. Стоимость жизни
4. Социальное обеспечение
5. Развитость рынка IT
Читать дальше →
Всего голосов 67: ↑58 и ↓9+49
Комментарии375

NumPy в Python. Часть 1

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

Предисловие переводчика


Доброго времени суток, Хабр. Запускаю цикл статей, которые являются переводом небольшого мана по numpy, ссылочка. Приятного чтения.



Введение


NumPy это open-source модуль для python, который предоставляет общие математические и числовые операции в виде пре-скомпилированных, быстрых функций. Они объединяются в высокоуровневые пакеты. Они обеспечивают функционал, который можно сравнить с функционалом MatLab. NumPy (Numeric Python) предоставляет базовые методы для манипуляции с большими массивами и матрицами. SciPy (Scientific Python) расширяет функционал numpy огромной коллекцией полезных алгоритмов, таких как минимизация, преобразование Фурье, регрессия, и другие прикладные математические техники.
Читать дальше →
Всего голосов 36: ↑36 и ↓0+36
Комментарии26

Многопоточность на корабликах

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

Задача производитель/потребитель


Статья рассчитана для новичков, которые недавно начали свое знакомство с миром многопоточноcти на JAVA.
Читать дальше →
Всего голосов 21: ↑21 и ↓0+21
Комментарии7

Как выполнять много UI-тестов параллельно, используя Selenium Grid?

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

Всем привет! Я работаю в Avito и занимаюсь разработкой инструментов для тестирования. Когда у нас стало много UI-тестов, мы столкнулись с проблемой масштабирования Selenium-серверов, и сейчас я расскажу, как мы ее решили.


И так как же все-таки выполнять много UI-тестов параллельно, используя Selenium Grid? К сожалению — никак.
Selenium Grid не способен выполнять большое количество задач параллельно.
Хотите зарегистрировать действительно большое количество нод? Что ж, попробуйте.
Хотите скорости? Её не будет — чем больше нод зарегистрировано на гриде, тем менее стабильно выполняется каждый тест. Как следствие — перезапуски.
Хотите отказоустойчивость на случай, если Grid перестал отвечать? Тоже нет: вы не можете запустить несколько реплик и поставить перед ними балансировщик.
Хотите обновить Grid без даунтайма и чтобы тесты, выполняющиеся в данный момент, не упали? Нет, это не про Selenium Grid.
Хотите не держать тысячи Selenium-ов разных конфигураций в памяти, а поднимать их по требованию? Не получится.
Хотите знать, как решить все эти проблемы? Тогда приглашаю вас прочитать эту статью.
*(Мой доклад с таким же названием уже звучал на Heisenbug 2017 Moscow, и, возможно, кто-то из читателей с ним знаком. Под катом — более подробная текстовая версия рассказа об инструменте).


Читать дальше →
Всего голосов 26: ↑26 и ↓0+26
Комментарии10

Как уехать жить и работать на Кипр без знания английского языка

Время на прочтение10 мин
Количество просмотров79K
Обычно я пишу технические статьи на хабре, но не так давно я отметил два года проживания на Кипре и в связи с этим хотел бы поделиться информацией не технического толка о том, как уехать жить и работать в Евросоюзе на острове в Средиземном море, в какие компании, почему именно на Кипр и стоит ли оно того.

Дисклаймер:
Для избежания разночтений всё что будет описано ниже — по большей части о городе Лимассол, в котором я живу и работаю. Все сравнения, которые я буду делать с Россией — по большей части с Санкт-Петербургом, в котором я жил последнее время. Далее по тексту под «русскими» я буду иметь ввиду граждан России, Украины, Белоруссии и других русскоговорящих. Местные нас особо не различают, мы для них — все русские.


Читать дальше →
Всего голосов 50: ↑47 и ↓3+44
Комментарии87

Новая жизнь для XMPP. Делаем мессенджер, который не получится заблокировать

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


Идея сделать независимый от корпораций P2P мессенджер не нова, однако разработка нового протокола и клиентских приложений для него достаточно дорогой и долгий процесс. А что, если использовать старый добрый XMPP, в котором уже все давно продумано и запилено?


Но это же не настоящий peer-to-peer, скажете вы, для работы XMPP нужен собственный сервер и домен. Это так, но мы можем запустить сервер на локалхосте, а для связи с серверами других пользователей использовать скрытый сервис в виртуальной сети I2P. Использование I2P избавит нас от необходимости платить за домен с хостингом, а так же защитит наши коммуникации от преступной онлайн-слежки.


Таким образом, получаем:


  • Гибридный P2P мессенджер, который можно запускать и на пользовательских устройствах, и на полноценном сервере.
  • Фичи, которых не хватает другим P2P мессенджерам: оффлайн сообщения, хранение контактов и истории "в облаке", работа нескольких клиентов с одним аккаунтом.
  • Готовые клиентские приложения на любой вкус.
  • За счет использования I2P, неуязвим для различных *надзоров (сори за мат).

Приступим же к реализации...

Читать дальше →
Всего голосов 42: ↑40 и ↓2+38
Комментарии58

Cжатие и улучшение рукописных конспектов

Время на прочтение9 мин
Количество просмотров37K
Я написал программу для очистки отсканированных конспектов с одновременным уменьшением размера файла.

Исходное изображение и результат:


Слева: исходный скан на 300 DPI, 7,2 МБ PNG / 790 КБ JPG. Справа: результат с тем же разрешением, 121 КБ PNG [1]

Примечание: описанный здесь процесс более-менее совпадает с работой приложения Office Lens. Есть другие аналогичные программы. Я не утверждаю, что придумал нечто радикальное новое — это просто моя реализация полезного инструмента.

Если торопитесь, просто посмотрите репозиторий GitHub или перейдите в раздел результатов, где можно поиграться с интерактивными 3D-диаграммами цветовых кластеров.
Читать дальше →
Всего голосов 124: ↑124 и ↓0+124
Комментарии50

Неожиданные сложности с заработком в интернете

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


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

Предварительный запуск до монетизации


После ухода этим летом с наших прежних работ в корпорациях Эрик (мой соучредитель) и я в конце сентября начали создавать Kapwing. Мы выпустили пилотный проект в середине октября 2017 года. Сначала у нас не было стратегии монетизации. Мы попросили пользователей присылать «пожертвования» Kapwing. Неудивительно, что этого не сделал никто.
Читать дальше →
Всего голосов 58: ↑53 и ↓5+48
Комментарии65

Юнит-тестирование. Чип-тюнинг

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

image


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

Читать дальше →
Всего голосов 34: ↑31 и ↓3+28
Комментарии12

Эволюционный дизайн баз данных

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


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


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


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

Читать дальше →
Всего голосов 29: ↑27 и ↓2+25
Комментарии0

Linux в одном файле для Macbook

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


TL;DR Можно уместить полноценный Linux Live дистрибутив в один файл, если вкомпилировать в ядро initramfs с корневой файловой системой. Компьютеры с UEFI умеют загружать такой файл напрямую, без помощи загрузчика типа GRUB. У меня получилось уместить дистрибутив с программами aircrack-ng, reaver и драйверами для карт Wi-Fi в файл размером 12 мегабайт (наверняка можно еще меньше).

Основные преимущества


  • Работает на любых компьютерах с UEFI — один и тот же файл будет работать на PC и Mac.
  • Не требует установки — достаточно скопировать один файл на EFI-раздел диска и указать в переменных NVRAM путь к этому файлу.
  • Не нужно устанавливать загрузчики GRUB, rEFInd — ядро Linux собранное с поддержкой EFI Stub можно грузить напрямую без промежуточного загрузчика.
  • Не нужны USB-флешки — скопированный на раздел EFI дистрибутив остается там навсегда, и его можно будет загрузить в любой момент. Он не занимает места на разделе основной системы, так как раздел EFI не используется в ОС.
  • Не изменяет процесс загрузки — систему можно загрузить один раз, без изменения порядка загрузки в настройках UEFI. Следующая перезагрузка компьютера загрузит обычную операционную систему. Никаких следов Linux в очередности загрузки не останется.
  • Совместимо с шифрованием диска FileVault и т.д. — файл копируется на EFI System Partition, специальный зарезервированный раздел диска. В компьютерах Mac его размер около 200 мегабайт. Он выделен под Boot Camp и обычно не используется
Читать дальше →
Всего голосов 78: ↑77 и ↓1+76
Комментарии48

DevOps придумали разработчики, чтобы админы больше работали

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

Еще 4 года назад использование контейнеров в production было экзотикой, но сейчас это уже норма как для маленьких компаний, так и для больших корпораций. Давайте попробуем посмотреть на всю эту историю с devops/контейнерами/микросервисами ретроспективно, взглянуть еще раз свежим взглядом на то, какие задачи мы изначально пытались решить, какие решения у нас есть сейчас и чего не хватает для полного счастья?


Я буду в большей степени рассуждать про production окружение, так как основную массу нерешенных проблем я вижу именно там.

Читать дальше →
Всего голосов 95: ↑91 и ↓4+87
Комментарии62

Ускоренный курс по ассемблерам

Время на прочтение3 мин
Количество просмотров16K
Это перевод одной из статей Lin Clark. Если вы не читали остальные, мы рекомендуем начать с начала.

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

Читать дальше →
Всего голосов 48: ↑39 и ↓9+30
Комментарии6

[в закладки] Инструменты для тестирования JavaScript-проектов

Время на прочтение17 мин
Количество просмотров43K
Автор материала, перевод которого мы публикуем сегодня, сотрудник Welldone Software, говорит, что если в двух словах рассказать об инструментах для тестирования JavaScript-проектов, то для модульного и интеграционного тестирования рекомендуется использовать Jest, а для тестов пользовательского интерфейса — TestCafe. Однако каждый конкретный проект может нуждаться в чём-то особенном. Лучший способ найти именно то, что нужно — взять несколько инструментов, которые, как кажется, подойдут, и испытать их в действии. Эксперименты подскажут — на чём именно стоит остановиться.



Представляем вашему вниманию обзор наиболее широко используемых инструментов тестирования для JS-проектов, на которые стоит обратить внимание в 2018-м году.
Читать дальше →
Всего голосов 53: ↑48 и ↓5+43
Комментарии8

Зарплаты ИТ-специалистов на конец 2017 года: отчёт сервиса зарплат «Моего круга»

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


Представляем первый отчет сервиса зарплат «Моего круга». Мы запустили сервис в конце ноября 2017 с целью регулярного мониторинга зарплат в ИТ-индустрии. Зарплаты оставляют сами специалисты, мы их собираем и предоставляем в агрегированной и анонимной форме всем в открытый доступ.

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

Будет много диаграмм, все они подготовлены с помощью сервиса plot.ly. В публикации диаграммы будут картинками, при желании можно посмотреть на них в интерактивном режиме. Более детальную информацию по зарплатам любой желающий может получить непосредственно на сервисе зарплат «Моего круга», поигравшись с его фильтром.
Читать дальше →
Всего голосов 155: ↑153 и ↓2+151
Комментарии93

Лабораторная работа: введение в Docker с нуля. Ваш первый микросервис

Время на прочтение26 мин
Количество просмотров341K
Привет, хабрапользователь! Сегодня я попробую представить тебе очередную статью о докере. Зачем я это делаю, если таких статей уже множество? Ответов здесь несколько. Во-первых не все они описывают то, что мне самому бы очень пригодилось в самом начале моего пути изучения докера. Во-вторых хотелось бы дать людям к теории немного практики прямо по этой теории. Одна из немаловажных причин — уложить весь накопленный за этот недолгий период изучения докера опыт (я работаю с ним чуть более полугода) в какой-то сформированный формат, до конца разложив для себя все по-полочкам. Ну и в конце-концов излить душу, описывая некоторые грабли на которые я уже наступил (дать советы о них) и вилы, решение которых в докере просто не предусмотрено из коробки и о проблемах которых стоило бы задуматься на этапе когда вас распирает от острого желания перевести весь мир вокруг себя в контейнеры до осознавания что не для всех вещей эта технология годна.

Что мы будем рассматривать в данной статье?

В Части 0 (теоретической) я расскажу вам о контейнерах, что это и с чем едят
В Частях 1-5 будет теория и практическое задание, где мы напишем микросервис на python, работающий с очередью rabbitmq.
В Части 6 — послесловие
Читать дальше →
Всего голосов 108: ↑107 и ↓1+106
Комментарии36
1
23 ...

Информация

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