Социальные сети Рунета
Вторник, 7 мая 2024

WorkFlowSoft: история нашей дружбы Всем привет. Меня зовут Лидия, и вот уже семь лет я работаю в Департаменте маркетинга компании Softline. В этой статье я расскажу о том, насколько по-разному можно подходить к вопросу организации работы творческой (да, в сущности, и любой другой) команды, и насколько разных ...

Java и Project Reactor Всем привет! Меня зовут Лёха, и я работаю бэкенд-разработчиком в FunCorp. Сегодня мы поговорим про реактивное программирование, библиотеку Reactor и немного про веб. Реактивное программирование часто «подвергается упоминанию», но если вы (как и автор статьи) всё ещё не знае...

Code Conventions: как мы сохраняем быстрый темп разработки PHP-проекта Привет, Хабр. Меня зовут Евгений Удодов, я сооснователь и технический директор компании Roistat. Хочу поделиться нашим опытом разработки большого и сложного продукта — системы аналитики. TL;DR: Мы выложили на github наш Code Conventions и рассказали в статье о том, как его...

[Из песочницы] Альтернатива платному отключению рекламы в бесплатном приложении Android Доброго времени суток, Хабрахабр! Меня зовут Александр, я работаю тренером по питанию, а в свободное время по вечерам — инди разработчик под ОС Android. Сегодня хочу с вами поделиться опытом реализации альтернативного платному способу отключения рекламы в приложении — отклю...

[Из песочницы] Переосмысление алгоритма консенсуса PoA – алгоритм PoG Всем привет, меня зовут Константин, Я программист из Казахстана. Сейчас занимаюсь созданием собственной блокчейн платформы и хотел бы поделиться мыслями о существующих алгоритмах консенсуса и о том, что Я придумал для своей сети. Читать дальше →

Как я прокачивал скилы личной эффективности Работа 24 на 7 «Всем привет, меня зовут Антон, и я — трудоголик. Я часто работаю по 12 часов в день. Моя семья очень страдает от этого. Я очень хочу начать жить, как все нормальные люди, но каждый раз срываюсь и засиживаясь заполночь...» — наверное так бы я начал свою реч...

[Из песочницы] Что у программы между строк Знание правил шахматной игры еще не делает человека гроссмейстером, знание языка программирования еще не делает человека программистом. А чего в обоих случаях недостает? Ищем ответы на оба вопроса у признанных мастеров и пытаемся иллюстрировать собственными примерами. Читат...

Обзор лучших европейских и не только QA-конференций этого года Привет, Хабр! Меня зовут Влад Романенко. Я работаю инженером по тестированию в Badoo, в команде iOS. Любите заводить новые знакомства, обмениваться знаниями и опытом и быть в тренде? Тогда предлагаю вам внести в свой календарь пару—тройку предстоящих мероприятий. Я начал ...

[Из песочницы] Как можно разработать две части игры за полгода и не сойти с ума В эпоху новостей о том, что чуть ли не каждый день появляются новые вирусы или как хакеры украли огромное количество денег, нам показалось, что на рынке мобильных игр не хватает классной игры про хакеров. Меня зовут Юрий, я один из создателей и разработчик двух серий игр. Я ...

Краткая история Rust: от хобби до самого популярного ЯП по данным StackOverflow Rust — это язык системного программирования, создатели которого уделили внимание трем вещам: параллелизму, скорости и безопасности. И хотя Rust считается молодым языком программирования — его первая стабильная версия вышла в 2015 году — он разрабатывается уже более десяти ле...

Обзор Quiz the Movie. Игра на знание фильмов Современные мобильные игры стали более простыми и все больше игроков проводят время в такого рода продуктах. Вам не нужно иметь хорошее подключение к интернету, не нужно много времени проводить в игре каждый день, можно заходить сюда хоть раз в неделю и получать от этого мас...

[Перевод] Реактивное программирование в Objective-C Со временем языки программирования постоянно изменяются и развиваются из-за появления новых технологий, современных требований или простого желания освежить стиль написания кода. Реактивное программирование можно реализовать с помощью различных фреймворков, таких как Reactiv...

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

[Из песочницы] Адское программирование голого железа Доброго времени суток! Обидно мало статей посвящено адскому программированию замечательному языку программирования Ада, а уж тем более нет их по программированию на нем для микроконтроллеров. А ведь сам язык даже позиционируется как язык встроенных систем… Может, это очень с...

Айфончик, не лагай. Часть 1: многопоточность для практиков Меня зовут Максим, и я алкоголик занимаюсь iOS разработкой уже более 7 лет. На волне про соискателей скажу, что регулярно провожу собеседования мобильных разработчиков для компаний. Среди кандидатов попадаются кадры, которые курят кальян прямо на Skype собеседовании, п...

[Перевод] Чего из Rust мне не хватает в C Об авторе. Федерико Мена-Кинтеро — мексиканский программист, один из основателей проекта GNOME, автор книги «Язык программирования Rust» Librsvg достиг переломного момента: внезапно выясняется, что легче портировать некоторые основные части из C на Rust, чем просто добавит...

[Из песочницы] Удивительно простой обмен сообщениями с Spring Cloud Stream Привет, Хабр! Представляю вашему вниманию перевод статьи "Surprisingly simple messaging with Spring Cloud Stream" автора Richard Seroter. Существует множество вариантов взаимодействия микросервисов. Вы можете использовать обнаружение сервисов (Service Discovery, н...

Конвертация React в Angular с использованием универсального абстрактного дерева. Proof of Concept Вступление Доброго времени суток, меня зовут Владимир Миленко, я Frontend-разработчик в компании Lightspeed, и сегодня мы поговорим о проблеме отсутствия компонентов в том или ином фреймворке и попытках автоматически конвертировать их. Предыстория Исторически сложилось, что...

[Из песочницы] Самый выразительный. Краткое пособие по языку Red Привет всем! Сегодня я хотел бы рассказать о языке программирования Red. Язык Red является непосредственным преемником более раннего языка REBOL. Оба они малоизвестны в русскоязычном сообществе, что само по себе странно, т.к. указанные языки представляют интерес как с точки...

[Перевод] Создание двухмерных эффектов частиц в Unity3D Привет, меня зовут Дэвид Финсет. Я технический художник Synapse Games и работаю над играми, в которых нужны визуальные эффекты, требующие и технической, и художественной составляющей. Большая часть моей работы заключается в создании эффектов частиц для мобильных игр. Мне оч...

[Из песочницы] Научное программирование: часть 1 Наука в программировании — быль или реальность? Сколько её в языках и почему идут холивары о приемуществах одних языков над другими? Если интересно — прошу под кат. Читать дальше →

Работа большой распределенной команды: преимущества удаленки, решения проблем, полезные инструменты Всем привет! Меня зовут Алексей, я тимлид команды Vimbox (платформа для обучения в Skyeng). Не так давно я выступал на конференции с докладом об удаленной работе и особенностях распределенной команды. Неожиданно темой заинтересовалось много людей, хотя я думал, что хайп уже...

[Перевод] Почему функция Heap32Next() работает так медленно на Windows 7? Если вы занимаетесь системным программированием под Windows, то могли бы заметить, что весьма полезные функции Heap32First/Heap32Next и другие из того же семейства стали работать существенно медленнее начиная с Windows 7. Что же с ними случилось? Давайте перенесёмся в далёк...

Нативная валидация как фреймворк. Лекция в Яндексе Разработка форм — один из самых ответственных и сложных этапов создания веб-интерфейсов. Проект должен получить пользовательские данные, проверить их и дать пользователю обратную связь. Современные браузеры предоставляют разработчику встроенный API, позволяющий поэтапно реал...

[Из песочницы] Смена профессии: из графического дизайнера в фронтенд-разработчика Привет, Хабр! Представляю вашему вниманию перевод статьи "How I transitioned from a graphic designer to front-end developer in 5 months" автора Vince MingPu Shao. 2017 год оказался для меня сложным, но захватывающим. Я бросил работу графического дизайнера в Марте,...

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

Блеск и нищета Java для настольных систем Вы не поверите, но в 2018 году всё ещё нужно разрабатывать Desktop приложения. Представьте себе такой клуб анонимных Java программистов, запойных и беспробудных, которые сидят и делятся своими проблемами. — Здравствуйте, меня зовут Юрий, я пишу Desktop приложения в 2018 ...

[Перевод] Конференция DEFCON 22. «Путешествие по тёмной стороне Интернет. Введение в Tor, Darknet и Bitcoin» Меня зовут Грифтер, рядом мой хороший друг Метакортекс, мы из группы DC801, которая базируется в Солт-Лейк-Сити, штат Юта. Мы хотим показать нечто, выглядящее довольно забавным и провести для Вас экскурсионный тур по тёмной стороне Интернет. Мы оба исследователи, которым ...

Вторая часть сравнения python и tcl В предыдущей статье была описана реализация задачи сбора данных о звонках с АТС, включающее в себя получение, разбор данных и добавление в БД. Решение данной задачи представлено на двух языках программирования — python и tcl. И вот, как и обещал, представляю код (на двух язы...

Обзор программы DotNext 2018 Piter Конференция: DotNext 2018 Piter Дата: 22-23 апреля 2018 года Место: Санкт-Петербург, Гостиница «Park Inn by Radisson Пулковская» Следующий DotNext будет меньше, чем через месяц. Над программой и докладами была проведена колоссальная работа, и, чтобы познакомить вас с ней, мы...

[Из песочницы] Веб-разработка как стимул или в погоне за мечтой Всех приветствую! Меня зовут Дмитрий. Мне 36 лет и я веб-разработчик / дизайнер. Работаю в одной немецкой IT-компаний. Это история о том, как добиться чего-то большего, преодолевая трудности. Здесь сознательно буду использовать только имена, полагая что все участники хотят...

Создаем концепт игры без навыков программирования: как мы проводили первый PixJam в компании — А у тебя какая идея игры? — Хочу, чтобы все офигели, передать ощущение скорости, которая нарастает, пока у тебя мясо от костей не начнёт отлетать, и ты уже не понимаешь, сможешь ли с ней совладать, но все равно продолжаешь пушить как сумасшедший! — Матч-3 что ли? — Ага. ...

[Перевод] Go: Хороший, плохой, злой У Go есть некоторые замечательные свойства, которым посвящён раздел «Хороший». Но когда речь заходит о применении этого языка не для создания API или сетевых серверов (для чего он и был разработан), а для реализации бизнес-логики, то я считаю Gо слишком неуклюжим и неудобны...

[Перевод] Генерируем уровни для игры с помощью нейросетей Предисловие За последние несколько лет прогресс в области искусственного интеллекта привёл к созданию методов машинного обучения на основе обучения представлениям (representation-learning) с несколькими слоями абстракции — так называемому «глубокому обучению». Общественное ...

SOLID SOLID критикует тот, кто думает, что действительно понимает ООП © Куряшкин ВикторЯ знаком с принципами SOLID уже 6 лет, но только в последний год осознал, что они означают. В этой статье я дам простое объяснение этим принципам. Расскажу о минимальных требованиях к языку прог...

[Из песочницы] Операционная система на JavaScript? JsOS Приветствую, хабровчане! Как вы думаете, можно ли создать полноценную операционную систему на языке программирования JavaScript, с которой можно загружаться? Правильный ответ — можно! Сегодня я хочу рассказать вам про проект JsOS. Читать дальше →

Проблемы при работе с кэшем и способы их решения Привет, Хабр! Меня зовут Виктор Пряжников, я работаю в SRV-команде Badoo. Наша команда занимается разработкой и поддержкой внутреннего API для наших клиентов со стороны сервера, и кэширование данных — это то, с чем мы сталкиваемся каждый день. Существует мнение, что в прог...

JupyterHub, или как управлять сотнями пользователей Python. Лекция Яндекса Платформа Jupyter позволяет начинающим разработчикам, аналитикам данных и студентам быстрее начать программировать на Python. Предположим, ваша команда растёт — в ней теперь не только программисты, но и менеджеры, аналитики, исследователи. Рано или поздно отсутствие совместн...

[Перевод] Опасные pickles — вредоносная сериализация в Python Всем привет! Panta rhei и вот уже приближается запуск обновленного курса «Web-разработчик на Python» и у нас остался ещё материал, который мы нашли сильно небезынтересным и коим хотим поделиться с вами. Чем опасны pickles? Эти соленые огурчики крайне опасны. Я даже не зна...

[recovery mode] Концепции автоматического тестирования Здравствуйте, меня зовут Дмитрий Карловский и у меня, к сожалению, нет времени писать большую статью, но очень хочется поделиться некоторыми идеями. Поэтому позвольте потестировать на вас небольшую заметку о программировании. Речь сегодня пойдёт об автоматическом тестировани...

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

[Перевод] Операторы ?., ?? и |>: будущие возможности JavaScript, которые вам понравятся Джастин Фуллер, автор материала, перевод которого мы сегодня публикуем, предлагает рассмотреть три новых возможности, появление которых ожидается в JavaScript в обозримом будущем. Сначала он расскажет о процессе развития JS, а после этого представит обзор этих возможностей и...

[Из песочницы] Тестирование проектов C/C++ с помощью Python Введение Хорошо известна возможность интеграции Python и C / C++. Как правило, этот прием используется для ускорения программ на Python или с целью подстройки программ на C / C++. Я хотел бы осветить возможность использование python для тестирования кода на C/C++ в IDE без п...

[Из песочницы] Первые шаги в Машинном обучении Привет дорогой друг, ты всегда хотел попробовать машинное обучение, но область выглядела загадочно и сложно? Я хотел бы поделиться с тобой моей историей как я сделал первые шаги в машинном обучении, при нулевом знании Python и высшей математики на небольшом примере. Читать ...

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

Эпизод 0. Hack vs Mac. Xcode build time Эта статья начинает собой цикл из нескольких об использовании Hackintosh в повседневной работе и особенно с IDE Xcode 9 и будет больше интересна разработчикам под языки objc/swift. 
С другой стороны, мой первый хак был собран, когда я не был знаком с этими языками и может пр...

[Из песочницы] Вспомнить всё По своему опыту знаю, что на начинающего разработчика, особенно осваивающего профессию самостоятельно, сваливается огромный объем информации. На первых порах знаний и опыта практически нет и новую информацию, получаемую из книг и статей, при усвоении не с чем связать в сво...

Мобильное приложение на Python c kivy/buildozer. Лекция в Яндексе Не факт, что вам потребуется написать серьёзное приложение на Python. А вот быстро собрать работающий сервис, чтобы «продать» его заказчику, — почему нет? Python универсален, и опыт создания мобильного софта на этом языке может оказаться полезным. Владислав Шашков из Сбербан...

[Перевод] Riot Games: анатомия технического долга Привет, меня зовут Билл «LtRandolph» Кларк. Я работаю техническим руководителем команды создания чемпионов LoL. За последние несколько лет я успел поработать в разных отделах разработки League, но единственное, чем я был постоянно одержим — это технический долг. Мне нужно на...

Интересные факты о Python или «С днем рождения, Python!» Всем привет! Сегодня 20 февраля, а это означает, что сегодня день появления на свет языка программирования Python! Сегодня Python исполняется 27 лет. За эти года, Python стал одним из самых популярных языков программирования в мире. Что же, пожелаю дальнейшего развития и п...

[Из песочницы] Еще одна статья о распознавании рабочих без касок нейросетями Привет, Хабр! Меня зовут Владимир, я студент 4го курса КубГТУ. Некоторое время назад я наткнулся на статью о разработке CV-системы для обнаружения рабочего персонала без касок, и решил поделиться собственным опытом в данной области, полученным в ходе стажировки в одной промы...

Пять мифов о Data Science Меня зовут Иван Серов, я работаю в департаменте Data Science финтех-компании ID Finance. Data scientist –довольно молодая, но очень востребованная профессия, которая обросла множеством мифов. В этом посте я расскажу о нескольких заблуждениях, с которыми сталкиваются начинающ...

[Перевод] Насколько быстр AMP на самом деле? Проект Accelerated Mobile Pages (AMP) от Google вызвал определённый переполох по идеологическим причинам, но саму технологию так и не разобрали подробно. Несколько недель назад Ферди Кристант писал про несправедливое преимущество, которое получает контент AMP за счёт предзаг...

[Перевод] Операционная система на Rust: минимальный multiboot загрузчик Эта статья объясняет как создать минимальное ядро операционной системы, используя стандарт мультизагрузки. По факту, оно будет просто загружаться и печатать OK на экране. В последующих статьях мы расширим его, используя язык программирования Rust. Я попытался объяснить всё ...

[Из песочницы] Как не стать Python-разработчиком Как выглядит трек обучения программированию на Python с нуля? С чего стоит начать? На чем сделать акцент? Как не потерять интерес? Полгода я искал ответы на эти вопросы, тщательно исследуя предметную область. Я обнаружил много полезных советов. Особенно в заметке Василия Бо...

Порхающие* велосипеды. Что делать с сохранением состояния во Flutter? (*одно из значений слова flutter — порхать) Разбираемся, есть ли жизнь сохранение состояния во Flutter-приложении. Что будет, если ОС решит его перезапустить. Куда денется пользовательский ввод и навигация, и как с этим справляться. Дисклеймеры: для понимания нужно иметь ...

VDOM своими руками Привет. У многих frontend-разработчиков бытует мнение, что технология VDOM, которая, в частности, используется в React.js, работает как черный ящик. Так же на просторах npm есть куча библиотек, реализующих эту технологию, однако вот как по мне — так в них черт ногу сломит. С...

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

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

[Из песочницы] Принцип SOLID в языке Go Приветствую вас, хабровчане, решил поделиться с сообществом переводом довольно часто (по личным наблюдениям) упоминаемого поста SOLID Go Design из блога Dave Cheney, который выполнял для собственных нужд, но кто-то говорил, что нужно делиться. Возможно для кого-то это окажет...

[Перевод] Как стать веб-разработчиком и не сойти с ума Путь веб-разработчика усеян множеством ментальных ловушек. Ступайте осторожно по следам прошедших до вас. Три с половиной года назад я оставила работу в банке и начала интересную карьеру веб-разработчика. Полученные знания и накопленный опыт я собрала в электронной книге ...

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

[Перевод] Сравнение топ-4 популярных BI платформ. Какую выбрать? Сегодня существует огромное количество BI-платформ и инструментов визуализации данных, которые делают так, чтобы данные могли говорить, а всю аналитику можно было наглядно отобразить на экране и поделиться с клиентами. В данной статье мы сравним наиболее популярные и широко ...

Как специалисты Google Adwords помогли мне выбросить 150 000 грн (около $6000) за месяц или почему я больше не буду… Это довольно забавная история о том, как я попал в просак сознательно, причём дважды и в результате «сжег» не мало не много, а где-то $15 000, всего лишь за месяц. Причём чувствовал, что так будет, но решил пойти по этому пути. Ради чего? Ради опыта? Нет, что Вы. Как говорит...

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

[Перевод] Понимая зависимости От переводчика Мы должны внедрять, а не фантазировать! (Рина Зеленая, к/ф «Девушка без адреса») К переводу этой статьи меня побудили две причины: 1) желание лучше разобраться с фреймворком Spring, 2) небольшое количество источников по теме на русском языке. Краеугольный ...

Побеждаем Android Camera2 API с помощью RxJava2 (часть 2) Это вторая часть статьи, в которой я показываю, как использование RxJava2 помогает строить логику поверх асинхронного API. В качестве такого интерфейса я выбрал Android Camera2 API (и не пожалел!). Этот API не только асинхронен, но и таит в себе неочевидные особенности реа...

Анонс RamblerFront& #4 29 марта на Мансарде Rambler&Co состоится четвертый внешний RamblerFront& meetup, на котором наши сотрудники поделятся прикладными знаниями в области frontend-разработки. Читать дальше →

[Перевод] Чему робототехника может научить игровой ИИ Я исследователь-робототехник и в то же время моё хобби — разработка игр. Моя специализация — планирование многомерного движения манипуляторов роботов. Планирование движения — это очень важная тема для разработчиков игр, она пригождается каждый раз, когда нужно переместить у...

[Из песочницы] Руководство инструктора к книге «Программирование: Принципы и практика с использованием C++» Привет, Хабр! Представляю вашему вниманию перевод статьи "Instructor’s Guide for Programming" автора Бьярне Страуструпа (дата последнего посещения: 20.12.2017). От переводчика Бьярн Страуструп известен как разработчик языка программирования C++. Книги его авторства...

Автоматическая векторизация спутниковых снимков: одна модель — два первых места Всем привет! В данной статье хочу поделиться с вами историей о том, как одна и та же архитектура модели принесла сразу две победы в соревновательном машинном обучении на платформе topcoder с интервалом месяц. Речь пойдёт о следующих соревнованиях: Urban 3d mapper — поиск ...

[Перевод] Как подобрать хорошее освещение для реалистичных интерьеров? Родриго Льорет показал способ, которым он добился такой реалистичной картинки для своей последней работы в UE4. Введение Меня зовут Родриго Льорет, я ведущий художник окружений, живу в Мальмё и сейчас работаю в Massive Entertainment ведущим художником пропсов. Я участвую в...

[Из песочницы] Своя змейка, или пишем первый проект. Часть 0 Предисловие Привет Хабр! Меня зовут Евгений «Nage», и я начал заниматься программированием около года назад, в свободное от работы время. Просмотрев множество различных туториалов по программированию задаешься вопросом «а что же делать дальше?», ведь в основном все рассказыв...

Путь IT-менеджера (часть #1) Привет! Меня зовут Алексей и я предлагаю сразу перейти на “ты”. Один мой друг разрешил опубликовать его историю про путь в руководители, что я и делаю с небольшими литературными изменениями. Все совпадения и имена совершенно случайны. Текст написан от первого лица. Ровно та...

Mikrotik: Балансировка в КПСС и соблюдение скоростного режима В этой статье я хочу поделится своим решением балансировки с применением Классификатора по Сетевым Соединениям (Per Connection Classificator) и маркировкой трафика для QoS. Предисловие На просторах Хабра и интернета я встречал множество реализаций балансировки, включая и PP...

Интеграция Google Pay Привет, Хабр! Меня зовут Игорь, я Android-разработчик в команде Trinity Digital. Сегодня я хочу рассказать о классном инструменте — Google Pay API. Итак, если в вашем приложении можно совершать покупки, и при этом вы используете не In-app Billing (за процессинг отвечает...

[Перевод] Как решить 90% задач NLP: пошаговое руководство по обработке естественного языка Неважно, кто вы — зарекомендовавшая себя компания, или же только собираетесь запустить свой первый сервис — вы всегда можете использовать текстовые данные для того, чтобы проверить ваш продукт, усовершенствовать его и расширить его функциональность. Обработкой естественног...

Veeam Academy: от базовых знаний C# до командной разработки за 2,5 месяца → Регистрация открыта до 25 февраля Veeam Academy, созданная на базе Veeam Software, запускает в марте 2018 года интенсив для разработчиков на C#. Интенсив будет полезен тем, у кого уже есть базовые знания в области программирования, но кто хочет получить больше практики...

[Перевод] Самый медленный способ ускорить программу на Go Есть что-то прекрасное в программировании на ассемблере. Оно может быть очень медленным и полным ошибок, по сравнению с программированием на языке, таким как Go, но иногда — это хорошая идея или, по крайней мере, очень весёлое занятие. Зачем тратить время на программирование...

Микро-курс по программированию контроллеров SCADAPack на Си На Хабре откровенно мало статей про АСУ ТП. Более того, подозреваю, что программирование в отрасли промышленной автоматизации для большинства хабровчан — некий магический темный лес со странными легендами и существами. И вот мне захотелось провести небольшую экскурсию по э...

Обзор рынка труда в сфере ИТ О том, какие ИТ-специальности и в каких сферах наиболее востребованы сегодня в России, и какие знания и языки наиболее ценятся — в сегодняшнем обзоре …

[Перевод] Мышление в стиле Ramda: частичное применение (каррирование) Данный пост — это третья часть серии статей о функциональном программировании под названием «Мышление в стиле Ramda». 1. Первые шаги 2. Сочетаем функции 3. Частичное применение (каррирование) 4. Декларативное программирование 5. Бесточечная нотация 6. Неизменяемость и объек...

IT-курсы: что остается за кадром Всем привет, меня зовут Евгений Картавец, я руководитель отдела обучения IT-портала GeekBrains. Мы разрабатываем курсы для будущих программистов. При их создании мы опираемся на опыт практиков отрасли и стремимся дать набор навыков, необходимых для устройства на работу. Я р...

DSP на Java Java — язык программирования общего назначения. Общего назначения — значит можно писать почти любые программы. Вот я и попытался написать программу, которую обычно пишут на С или C++. Под катом я попытаюсь рассказать, как я декодировал спутниковые снимки с Метеор-М №2. Чита...

[Перевод] Изучаем KTX для Android Привет, «Хабр»! Прошло почти 9 месяцев с тех пор, как на Google I/O 2017 компания Google анонсировала Kotlin в качестве официального языка разработки под Android. Кто-то использует его как основной инструмент намного дольше, учитывая, что на нём можно было писать уже с серед...

Android-приложение поверх других приложений В 2013-году Facebook выпустил функцию Chat Heads для своего мессенджера, который позволяет вести переписку, не открывая сам мессенджер путем нажатия на маленькое круглое окошко, которое всегда висит на дисплее даже поверх других приложений: Facebook одним из первых продемо...

Беспоисковый метод расчета настроек регуляторов средствами Python Введение Беспоисковый метод — простой, надёжный и универсальный метод расчёта настроек субоптимальных регуляторов, включая и такие алгоритмы как ПД, ПДД и ПИДД [1]. Однако, приведенная в [1] программная реализация данного метода имеет ряд недостатков, что затрудняет его ...

Что ещё мы проверяем при помощи Selenium, кроме логики интерфейса Привет, Хабр! Меня зовут Виталий Котов, я работаю в отделе тестирования Badoo. Большую часть времени я работаю с Selenium. Этот замечательный инструмент мы используем для решения разнообразных задач: от тестирования функционала до упрощения работы с логами ошибок и проверки...

[Перевод] Как я заработал 200 000 $ в 16 лет Года три назад я опубликовал рассказ о приложении Follow для Twitter, которое сделал еще в старшей школе, и о том, как оно собрало 150 000 скачиваний за два года. В той статье я мимоходом упомянул, что мои первые шаги в программировании — это отдельная, еще более пространная...

На каналах Twitch появились постоянно активные чат-комнаты Стриминговый сервис Twitch анонсировал запуск функции Rooms — постоянно активных чат-комнат. Компания представила нововведение на мероприятии для разработчиков TwitchCon в октябре, а теперь запустила его в мобильных приложениях и веб-версии сервиса. Комнаты пр...

Google leanback — забота большого брата Добрый день, читатели Хабра. Хотел бы поделиться своим опытом разработки приложения для Android TV на примере DetailsFragment. Есть официальные примеры тут и официальная документация тут. Что сподвигло меня выразить свое мнение? Это то, что официальные примеры не отвечают...

Как победить рутину, или Готовое приложение в Xcode за пару кликов У каждого опытного разработчика есть набор инструментов, к которым он привык и с которыми ему удобно работать. Это может быть простейшая настройка окружения, утилиты для промежуточных операций (к примеру, помощник по тестированию API Postman), проверенные временем и лично ра...

Методы расширения для типов стандартной библиотеки .NET Наверное, почти каждый .NET-разработчик сталкивался со случаями, когда для удобства кодирования рутинных действий и сокращения boilerplate-кода при работе со стандартными типами данных не хватает возможностей стандартной же библиотеки. И практически в каждом проекте появляют...

[Из песочницы] Программирование на кириллице может повысить производительность Привет, Хабрахабр. Как известно, технический английский — язык мира информационных технологий. Основная документация, все стандарты программирования представлены на английском языке. В числе прочих, главная кодовая страница ASCII и переносимый набор символов включают 26 лати...

[Перевод] Руководство для практикующего специалиста, как читать научные статьи по языкам программирования Неделю назад я пошутил, что статьи по принципам языков программирования POPL должны соответствовать критерию «интеллектуального запугивания», чтобы их принимали для публикации. Конечно, это неправда, но факт в том, что статьи по языкам программирования выглядят особенно устр...

[recovery mode] Личный опыт работы с Firebase Cloud Firestore Всем привет! В последнее время все чаще использую Firebase в своих проектах: очень удобно обходится без фактического написания серверной части. Хочу поделиться небольшим опытом работы на стороне фронтенда. В данном случае это Angular, поэтому используется официальная библиот...

[Из песочницы] Разработка высоконагруженного WebSocket-сервиса Как создать веб-сервис, который будет взаимодействовать с пользователями в реальном времени, поддерживая при этом несколько сотен тысяч коннектов одновременно? Всем привет, меня зовут Андрей Клюев, я разработчик. Недавно я столкнулся с такой задачей – создать интерактивный ...

[Перевод] Конференция DEFCON 17. «Это восхитительное время, когда меня обвинили в ущербе на 2 миллиарда долларов». Джейсон Скотт Меня зовут Джейсон Скотт и я хочу рассказать Вам потрясающую историю, как меня обвинили в ущербе на 2 миллиарда долларов, и даже немного больше. Это не байка, а реальная история, которая произошла со мной. Я создал сайт textfiles.com, архив истории компьютеров. Он выгляди...

[Перевод] Как стать фронтенд-разработчиком в 2018 году Камран Ахмед, автор материала, перевод которого мы сегодня публикуем, говорит, что занимается фуллстек-разработкой уже 5 лет и в настоящее время работает на должности ведущего инженера в компании tajawal. Там ему приходится заниматься многими вещами. Ему, по долгу службы, на...

Avito на GopherCon Russia 2018 Всем привет! В марте в московском Технополисе прошла конференция, посвященная языку программирования Go — GopherCon Russia 2018. На ней прозвучали выступления от core-team — было круто услышать из первых уст о том, как нужно делать правильно. И конечно, не обошлось без докла...

[Из песочницы] Как я бесплатно продвигал свою игру через YouTube Привет, Хабр. Я думаю было бы хорошо для начала представится. Меня зовут Новичков Андрей, сам я родом из Украины (город Киев), на момент написания статьи мне 21, живу в небольшой однушке с девушкой и маленьким котенком. Сам интерес к играм у меня появился в 5 лет, когда мой ...

Самые популярные языки программирования в 2018 году Исследователи изучили предпочтения разработчиков и заказчиков

Портрет слушателей вечерних курсов Добрый день. С весны 2014 года я совмещаю разработку в области BI и преподавание основ программирования на вечерних курсах профессиональной (пере)подготовки. За четыре года у меня сложилась определенная классификация слушателей. Далее я в общих чертах расскажу какие люди вс...

[Перевод] Конференция DEFCON 22. «Вооружение Ваших домашних питомцев. Боевая Киска и cобака для отказа сервиса». Джен Бренсфилд Добрый день, DEFCON! Я рад присутствовать здесь. Меня зовут Джен Бренсфильд, я главный инженер по безопасности компании Tenacity и очень люблю свою работу, поэтому, когда наступает уик-энд, я просто не могу дождаться утра понедельника! Сегодня я расскажу Вам о том, как воору...

Курс «HTML/CSS. Основы создания сайтов» Без какого языка не обойтись, работая с любой веб-технологией? Конечно же, без HTML/CSS! Знание HTML/CSS — это основа для дальнейшего изучения серверных языков программирования и один из основных инструментов работы верстальщика, программиста ил...

[Перевод] Самое опасное слово в разработке программного обеспечения «Просто размести это где-нибудь на сервере». «Просто добавь кнопку “Избранного” справа от элемента». «Просто добавь [вставьте здесь сложную опцию] в экране настроек». Использование слова «просто» указывает на множество сделанных допущений. Несколько месяцев назад Брэд Фро...

[Перевод] Тонкости value restriction в F# Одной из отличительных особенностей языка F#, по сравнению с более распространёнными языками программирования, является мощный и всеобъемлющий автоматический вывод типов. Благодаря ему в программах на F# вы почти никогда не указываете типы явно, набираете меньше текста, и по...

[Перевод] От JavaScript к Rust и обратно: рассказ о wasm-bindgen Мы уже видели насколько WebAssembly быстро компилируется, ускоряет js библиотеки и генерирует более компактные бинарники. У нас даже есть общее представление как наладить взаимодействие не только между сообществами Rust и JavaScript, но и с сообществами других языков. В про...

[recovery mode] Заблуждения об автоматическом тестировании Здравствуйте, меня зовут Дмитрий Карловский и это продолжение традиционной рубрики "Почему мы так не любим писать тесты?". Короткий ответ: потому, что получаемые от них бонусы не перевешивают затрачиваемых усилий. Если это так, значит мы делаем что-то не правильно. Давайте р...

Смена основного стека с .NET на Java Хочу описать свои наблюдения и впечатления о самом популярном языке серверного программирования для Enterprise под названием Java. Наблюдения и впечатления на сравнении и контрасте с “похожей” платформой .NET, с которой я очень хорошо знаком. Уверен, что ~год назад, когда ...

[recovery mode] Eclipse Scala IDE — от мертвого осла уши… Scala — это изумительный язык программирования, которым я наслаждался года 4 назад. Я, наверное, был его фанатом: покупал книги и курсы на Coursera, использовал в pet- и продуктивных проектах et cetera, et cetera, et cetera. Scala открыл для меня увлекательный мир функциона...

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

Обзор топового Xiaomi Mi Notebook Pro — таким должен быть ноутбук 2018 года Смартфон мы меняем раз или даже два в год, однако компьютер покупаем, как правило, на несколько лет и к вопросу его выбора нужно подходить с особенной тщательностью. Однако те, кто хотя бы раз выбирал себе компьютер, знают, насколько это мучительный процесс. К счастью, Xiaom...

Система процедурной генерации уровня в Unreal Engine Здравствуйте, меня зовут Дмитрий. Я занимаюсь созданием компьютерных игр на Unreal Engine в качестве хобби. Сегодня я расскажу как я создал процедурную генерацию уровней для моей игры «The Future City Project». Все исходники будут представлены в конце статьи. И ещё будет с...

[Перевод] Система типов в математике Время от времени мне встречаются вопросы по математике, которые в каком-то смысле можно назвать «грамматически неверными». Пример. «Интервал является замкнутым или открытым?» Пример. «Является ли группой?» Пример. «Каков ряд Фурье для ?» А вот ещё более глупые примеры. ...

Защита ваших приложений Xamarin с помощью Dotfuscator Это перевод рассказа Джо Сьюэлла, разработчика из команды Dotfuscator на PreEmptiveSolutions. Давайте говорить честно: выпуск библиотеки, приложения для рабочего стола или мобильного приложения может стать горьким опытом. Как только вы выкладываете вашу программу в открытый...

[Перевод] Первый год моей жизни как инди-разработчика В январе 2017 года я уволился с должности разработчика веб-приложений, чтобы полностью посвятить себя независимой разработке игр. Этот поступок последовал за почти пятью годами разработки моей первой игры, когда я пытался сбалансировать свою штатную работу и множество задач...

Полный перечень intrinsic-функций в HotSpot в JDK 7, 8, 9 и 10 Интринсик или intrinsic-функция — функция, которую JIT-компилятор может встроить вместо вызова Java- и JNI-кода с целью оптимизации. Важный вывод из этого — intrinsic-функции не доступны в режиме интерпретатора. По умолчанию в HotSpot используется два JIT-компилятора C1 и C2...

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

Скрытые и секретные функции Android-смартфонов Разработчики Android спрятали многие интересные настройки. Наши смартфоны не так просты, как кажутся. Если покопаться в любом устройстве, можно найти...

[Из песочницы] Team Leader. Быть или не быть, вот в чем вопрос Данную статью меня побудил написать тот скрытый и для каждого свой смысл должности/роли Team Leader. Многие хотят им стать, многим интересно что там, "под капотом", работы в этой должности. Поэтому кому интересно узнать еще одно мнение об этом всем безобразии, то ...

[Из песочницы] Совершенствуем Redux Привет, Хабр! Представляю вашему вниманию перевод статьи "Redesigning Redux" автора Shawn McKay. Должно ли управление состоянием вызывать проблемы на сегодняшний день? Интуитивно, разработчики видят скрытую правду: управление состоянием куда сложнее, чем должно бы...

Асинхронные HTTP-запросы на C++: входящие через RESTinio, исходящие через libcurl. Часть 3 В предыдущей статье мы разобрали реализацию двухпоточного bridge_server-а. На одном потоке асинхронно обрабатываются входящие HTTP-запросы посредством RESTinio. На втором потоке выполняются асинхронные запросы к delay_server-у посредством libcurl в виде curl_multi с использо...

Зачем ездить на Mobile World Congress в Барселону и как все сделать правильно Привет! Меня зовут Катя Франк, я ведущий маркетолог Mobile Dimension. В этой статье я приведу небольшой разбор выставки Mobile World Congress в Барселоне, немного сравню ее с этой же выставкой от GSMA в Шанхае, расскажу, кому в ней стоит участвовать, и как все организовать...

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

[Перевод] Вредный Кейворд «Interface» Перевод ироничного поста из блога Боба Мартина в котором он рассуждает о том, насколько неудачным является использование слова interface в современных языках программирования, и какую путаницу и проблемы оно несёт разработчикам. — Что ты думаешь об интерфейсах? — Имеешь в ви...

[Перевод] Почему Python так хорош в научных вычислениях Несколько дней назад (Оригинал заметки был опубликован 12 сентября 2017. — Здесь и далее прим. переводчика), я заметил этот твит в своей ленте: I 'still' program in C. Why? Hint: it's not about performance. I wrote an essay to elaborate... appearing at Onward! https://t.co/p...

Scratch — язык программирования для детей Применения визуального языка программирования Scratch и возможности его использования.

Обзор системы Comindware Business Application Platform Зачем и в каких случаях выбирать программный продукт Comindware? Что это за система и в чем ее особенности? Эти и другие вопросы я решил рассмотреть в этом обзоре. В поисках решения для автоматизации документооборота я перепробовал много систем: Pyrus, Битрикс24, 1С.Документ...

[Перевод] Алан Кей и Марвин Мински: Computer Science уже имеет «грамматику». Нужна «литература» Первый слева — Марвин Мински, второй слева — Алан Кей, потом Джон Перри Барлоу и Глория Мински. Вопрос: Как бы вы интерпретировали идею Марвина Мински о том, что «Computer Science уже имеет грамматику. Что ей нужно так это литература.»? Алан Кей: Самый интересный аспект ...

Технологии беспилотных автомобилей. Лекция Яндекса Яндекс продолжает разрабатывать технологии беспилотных автомобилей. Сегодня мы публикуем лекцию одного из руководителей этого проекта — Антона Слесарева. Антон выступил на «Data-ёлке» в конце 2017 года и рассказал об одной из важных компонент стека технологий, необходимых дл...

LL(*) парсер с использованием Rust макросов Wow. Such Rust. Much macro. © картинка - Твиттер аккаунт Servo Язык Rust стремительно набирает обороты. Кто-то пророчит ему стать заменой C/C++, кому-то он просто нравится. Я скорее принадлежу ко второй группе. Разработчики стараются сделать его удобным и безопасным. В нем ...

[Из песочницы] Дескрипторная графика в MATLAB: вторая горизонтальная ось При изучении дескрипторной графики в MATLAB обнаружилась нехватка «юзер френдли» функционала, а именно отсутствие стандартной команды позволяющей добавить дополнительную горизонтальную ось. Добавление дополнительной вертикальной оси, командой plotyy предусмотрено и в help ...

Gartner Data & Analytics Summit 2018 19-21 марта в Лондоне состоялась конференция Gartner Data & Analytics Summit. Я был посетителем этого мероприятия и хочу поделиться с вами своими мыслями и наблюдениями. Читать дальше →

Онлайн-хакатон: создание приложений для SharePoint Online Привет, Хабр! Хочу поделиться информацией об онлайн-хакатоне для специалистов по автоматизации бизнес-процессов. Кто организует конкурс Соревнование проводится на новой специализированной платформе Contestars.com, а его организатором выступило сообщество разработчиков Iz...

В России создадут свой язык программирования Его разработка включена в программу Цифровая экономика

C++ велосипедостроение для профессионалов Классы, которые люди самостоятельно пишут, а потом копируют из одного проекта в другой, хотя они уже есть в стандартных библиотеках, в простонародье называются велосипедами. Первый вопрос, который возникает при встрече с таким «велосипедом» — зачем люди переписывают что-то з...

[Из песочницы] Научиться программировать становится сложнее Привет, Хабр! Представляю вашему вниманию перевод статьи Аллена Б. Дауни, автора таких книг как Think Python, Think Java, Think Bayes и других, опубликованной в личном блоге автора. Я написал несколько книг, в которых c использованием языка программирования Python объясняют...

[Перевод] Метод Бенджамина Франклина для чтения книг по программированию Посмотрим правде в глаза, книги по программированию — отстой. Эти общие книги по распределённым системам, науке о данных и так далее — их можно читать бесконечно. Но за редким исключением у практических руководств по языку/фреймворку/СУБД/кексопечке есть нечто общее. Зверюшк...

Как и зачем переходить от сервис-ориентированной архитектуры к микросервисам Здравствуйте, меня зовут Алексей, я главный IT-архитектор банка «Ренессанс Кредит». Лет десять назад мы, как и многие компании, ускорили свое развитие благодаря сервис-ориентированной архитектуре (SOA). Но со временем требования к архитектуре менялись, и к данной парадигме с...

Теория дряхлого ноутбука Здравствуйте. Хочу поделиться немного глупой теорией. Суть ее в том, что дохлые ноутбуки, да и «железо» в принципе, заставляют вас делать софт лучше. Читать дальше →

[Перевод] Immer: новый подход к иммутабельности в JavaScript Иммутабельные структуры данных, реализующие методику совместного использования неизменяемых фрагментов информации (structural sharing), выглядят как отличная технология для хранения состояния приложения. Особенно — в комбинации с архитектурой, основанной на событиях. Однако ...

[Перевод] Функциональное программирование с PHP-генераторами Генераторы классные. Они облегчают написание итераторов, определяя функции вместо создания целых классов, реализующих Iterator. Также генераторы помогают создавать ленивые списки (lazy list) и бесконечные потоки. Главное отличие функции-генератора от обычной функции в том, ...

Создание компании. Идеология — first Приветствую, коллеги. Сегодня я хочу поделиться с вами своей мечтой. Я работаю в сфере разработки ПО примерно 12 лет. За это время я сменил более 10 организаций. Были только два места, где я задержался надолго — на 3 и 5 (привет, Валера) лет, а в остальных компаниях я отраб...

Обзор митапа OpenDay JetBrains 19 апреля 2018 года в Москве прошел митап OpenDay JetBrains, который посетило большое количество людей, в том числе и я. Я решил поделиться своими впечатлениями об этом мероприятии и о самой компании. Читать дальше →

Управление ИТ-активами: как мифы влияют на проекты (Часть 2) При внедрении ITAM-решений часто приходится сталкиваться с различными мифами. Чтобы проект был успешен, важно разобраться в природе этих ложных представлений клиента, снять все открытые вопросы, избавиться от ненужных заблуждений или убедиться, что это не миф. В предыдущей ...

Обзор ASUS ZenFone 4 Selfie Pro «Смартфон с двойной камерой для идеальных селфи, созданный для тех, кто знает, как показать себя», — примерно так описывает смартфон официальный сайт ASUS. Авторы Trashbox взялись проверить, насколько правдива такая характеристика. Читать дальше →

Swift Package Manager Вместе с релизом в open source языка Swift 3 декабря 2015 года Apple представила децентрализованный менеджер зависимостей Swift Package Manager. К публичной версии приложили руку небезызвестные Max Howell, создатель Homebrew, и Matt Thompson, написавший AFNetworking. Swift...

Цукерберг позвонил. Программист из Facebook о своем опыте прохождения собеседований в США и рабочем процессе в Facebook Сегодня я хочу представить вам интервью c программистом, а точнее программисткой из Кремниевой долины, голос которой многим из вас хорошо знаком. Ведущая самого популярного в России технологического подкаста Radio-T Ксения Покровская 5 лет живет в США, и почти 3 из них она з...

Основы программирования на SAS. Урок 1 Привет! Я Анна Добрыченко, преподаватель учебного центра SAS в России: провожу тренинги по программированию на SAS Base, использованию SAS Enterprise Guide и SAS Visual Analytics, участвую в подготовке стажеров. Вся техническая документация и статьи продуктов и решений SAS и...

Новые слухи о Xiaomi Mi Mix 2S В воскресенье мы узнали, что 27 марта компания Xiaomi представит свой очередной «безрамочник» Mi Mix 2S. А чем ближе анонс, тем больше информации будет всплывать о новинке. Новыми сведениями с общественностью поделился один из инсайдеров, сливший в сеть скриншот ...

[Из песочницы] Почему Ramda? Пост содержит перевод статьи «Why Ramda?», которую подготовил один из контрибьютеров Скот Сайет. Статья была опубликована 10 Июня 2014 года на сайте и рассказывает о том почему стоит обратить своё внимание на библиотеку Ramda и функциональное программирование в целом. Примеч...

[recovery mode] Профессиональная эмиграция в Нидерланды: как это было Прошлым летом я инициировал, а несколько месяцев назад успешно завершил процесс смены работы, приведший меня к релокации в Нидерланды. Хотите узнать, как это было? Добро пожаловать под кат. Осторожно — очень длиннопост. Читать дальше →

Huawei хочет научить искусственный интеллект различать человеческие эмоции Ещё в конце 2016 года мы писали о том, что компания Huawei планирует наращивать инвестиции в развитие технологий искусственного интеллекта. Долгосрочной целью является создание ИИ, способного «чувствовать запах, вкус, слышать и видеть так же, как человек». ...

Обзор Solowheel Hovertrax B2. Гироскутер с танцующим роботом Готовь сани летом, а гироскутер зимой, именно так гласит народная мудрость в актуальной интерпретации. Хотя и зима не станет препятствием для эксплуатации для них, в этом мы смогли убедиться в ходе месяца эксплуатации Solowheel Hovertrax B2, результатом которого и хотим поде...

Разработчик Bitcoin Core Питер Тодд рассказал о проблемах Lightning Network Ведущий разработчик Bitcoin Core Питер Тодд заявил, что у технологии Lighting Network, решения для масштабирования сети биткоина, есть ряд очевидных недостатков, одним из которых является использование «опасного» языка программирования C из-за частых ошибок сегмент...

R — значит регрессия Статистика в последнее время получила мощную PR поддержку со стороны более новых и шумных дисциплин — Машинного Обучения и Больших Данных. Тем, кто стремится оседлать эту волну необходимо подружится с уравнениями регрессии. Желательно при этом не только усвоить 2-3 приемчика...

Дизайн в условиях хакатона Меня зовут Алиса, я старший дизайнер в Touch Instinct. Мы — аутсорс-компания. Скорость — один из важнейших критериев оценки нашей работы, наравне с качеством. Иногда для подготовки предложения для нового клиента нужно изучить, придумать и воплотить в жизнь концепцию прилож...

[Перевод] Конференция DEFCON 18. «Как я встретился с Вашей девушкой, или новый вид Интернет-атак». Сэми Камкар Я расскажу Вам о разработке и осуществлении совершенно нового вида хакерских атак, которые помогут мне встретиться с Вашей девушкой. Но сначала немного о себе. Меня зовут Сэми Камкар, я исследую проблемы безопасности, но не профессионально, а ради собственного удовольствия,...

[Перевод] Неявность Часто, когда я обсуждаю дизайн Rust на RFCs или на internals-форуме с другими пользователями, я замечаю характерные высказывания насчет явности. Обычно что-то в духе: Мне не нравится <дизайн возможности X>, потому что он менее явный. Всякая магия уместна в <другом я...

[Из песочницы] Управляем браузером с помощью PHP и Selenium Интро Всем привет! Сегодня я расскажу вам о том, как с помощью PHP можно работать с Selenium. Чаще всего это бывает необходимо, когда перед вами стоит задача написать автотесты для web интерфейса или свой парсер/краулер. С Википедии«Selenium — это инструмент для автоматиза...

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

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

Технический долг и места его обитания Эта статья — вольный пересказ доклада, который я посетил на конференции GOTO Berlin 2017: A Crystal Ball to Prioritize Technical Debt. Изображения из доклада и права на них принадлежат автору @AdamTornhill. Каждый разработчик в принципе понимает, что такое технический дол...

Изучаем параллельные вычисления с OpenMPI и суперкомпьютером на примере взлома соседского WiFi Во время написания диссертации одним из направлением исследований было распараллеливание поиска в пространстве состояний на вычислительных кластерах. У меня был доступ к вычислительному кластеру, но не было практики в программировании для кластеров (или HPC — High Performanc...

[Перевод] Webpack 4, import() и CommonJS В JavaScript много забавного. У одного из самых популярных в мире языков программирования до сих пор нет стабильного синтаксиса разбиения кода на части. То есть в стандарте синтаксис ESM с «import» наперевес уже есть, но в браузерах и ноде он спрятан за флагами, а в вебпаке...

[recovery mode] Классическое наследование в JavaScript. Разбор реализации в Babel, BackboneJS и Ember В этой статье мы поговорим о классическом наследовании в JavaScript, распространённых шаблонах его использования, особенностях и частых ошибках применения. Рассмотрим примеры наследования в Babel, Backbone JS и Ember JS и попытаемся вывести из них ключевые принципы объектно-...

Бесплатная GPU Tesla K80 для ваших экспериментов с нейросетями Около месяца назад Google сервис Colaboratory, предоставляющий доступ к Jupyter ноутбукам, включил возможность бесплатно использовать GPU Tesla K80 с 13G видеопамяти. Если до сих пор единственным препятствием для погружения в мир нейросетей могло быть отсутствие доступа к G...

[Из песочницы] Понятие квалифицированного заказчика в проектном менеджменте Введение В процессе работы аналитиком мне неоднократно приходилось разбирать причины неудач в проектах. По мере накопления опыта у меня выработалась определенная методика работы с заказчиками, которой хотел бы поделиться. Думаю, что не мне одному приходилось сталкиваться с...

От Excel до СЭД: как организовать удобную обработку материалов для научной конференции В этой статье я хочу поделиться опытом организации сбора, рецензирования и обсуждения материалов, присылаемых участниками научной конференции, ежегодно проводимой нашей кафедрой. Читать дальше →

Как я переучился из тестировщика в .NET-разработчика Дмитрий Мишин из Рязани начинал свой путь в IT на позиции тестировщика, но еще с университета хотел стать разработчиком. Два года он искал баги на работе, а в свободное время самостоятельно изучал .NET. Сейчас Дмитрий работает Senior .NET-программистом. Он рассказал, как у...

Документирование API — документация из тестов Пост в продолжение темы экспериментальных решений (https://habrahabr.ru/post/350382/), откуда будет переиспользован код для примера. В прошлом посте я затронул тему, как можно написать тесты на простой сервис, когда он выступает в роли черного ящика и из кода теста у нас нет...

Профессиональное выгорание: как распознать и предотвратить Любить свою работу и много работать – хорошо, уметь вовремя распознавать выгорание – еще лучше. Но для многих признать свое выгорание значит проявить слабость и быть несостоятельным. Рассказываем, почему не всегда нужно говорить себе «Соберись, тряпка!», какие стадии бывают...

[Из песочницы] Гейм дизайн в жизнь. Пример разбора механики игры Доброго дня! Немного об авторе: меня зовут Мария, начинающий гейм дизайнер. С этой статьи начинаем цикл статей по применению теории гейм дизайна в жизни. В этой статье попытаемся разобрать механику игры на примере Northgard от студии Shiro Games (находящуюся на стадии ранн...

[Из песочницы] Новый облегчённый язык разметки текста на основе парных кавычек (pq) Я не могу объяснить, откуда пришла идея такого языка разметки, но то, что получилось в итоге — весьма… занятно. Не слишком-то рассчитываю на широкое практическое применение этой штуки, но некоторые идеи, использованные в этом языке разметки, вполне могут дать пищу для размы...

[Из песочницы] Прогулка по быстрому, безопасному и почти законченному веб-сервису на Rust оригинал В течение многих лет у меня было стойкое недоверие к интерпретируемым языкам. Они быстрые и работать с ними приятно, но хороши они только для работы на небольших системах, если же у вас быстрорастущий проект их привлекательность быстро улетучивается. Создание большо...

Учебник Thymeleaf: Глава 11. Комментарии и Блоки / Blocks Оглавление 11 Комментарии и Блоки / Blocks 11.1. Стандартные HTML/XML комментарии Стандартные HTML/XML комментарии <!--… --> можно использовать в любом месте шаблонов Thymeleaf. Все, что внутри этих комментариев, не будет обрабатываться Thymeleaf и будет скопировано д...

DoctrineSolrBundle — поиск по Doctrine entity на базе Solr в Symfony2 DoctrineSolrBundle Добрый день, хочу представить свой symfony 2 бандл для автоматической синхронизации Doctrine entity в Solr и последующим поиском. Бандл предназначен для работы с Solr на уровне Doctrine entity и позволяет избежать написания низкоуровневых запросов в solr. ...

О нейрокомпьютерах позднего СССР Заголовок получился, конечно, желтушный. Сразу за него извиняюсь. Сегодня всего лишь хочу поделиться одним занимательным буклетом, который был выпущен институтом computer sciences академии наук СССР в (предположительно) 1989 году. Читать дальше →

Научно-фантастическая песочница Starbound выйдет на Xbox One в скором времени Художник и дизайнер студии Chucklefish Games Джей Бейлис (Jay Baylis) объявил о том, что Starbound скоро выйдет на Xbox One. Игра представляет собой целую вселенную процедурно генерируемых миров, между которыми вы можете свободно путешествовать. Разработчик поставил...

Диванный вице-президент: как я работаю директором по продуктам на полной удалёнке Привет. Меня зовут Максим Винников, я Vice President of Product Management в компании Aurea, входящей в группу ESW Capital. Чуть раньше мой коллега, Слава Кулаков, рассказал, как он стал VP of Engineering, я же в свою очередь расскажу на собственном примере, как выглядит раб...

Языки программирования для квантового компьютера Прототип ядра ионного квантового компьютера. Ion Quantum Technology Group, Сассекский университет Квантовые компьютеры время от времени попадают в СМИ. Вы слышите о том, как человек шаг за шагом приближается к их созданию, хотя для большинства развитие квантовых вычислений ...

Защита беспроводной сети: WIPS. Часть 1: Mojo AirTight Доброго времени суток жителям Хабра. Можно подумать, что беспроводные системы обнаружения вторжений — это стоящие по периметру покрытия беспроводной сети зенитки и непрерывно вращающиеся тарелки радаров… Ан нет, в суровой реальности всё несколько прозаичнее. Этим постом ...

[Перевод] Параллельное программирование в Swift: Operations В параллельном программировании в Swift: Основы Я представил множество низкоуровневых способов для управления параллелизмом в Swift. Первоначальная идея состояла в том, чтобы собрать все различные подходы, которые мы можем использовать в iOS в одном месте. Но при написании э...

[Из песочницы] От идеи до AppStore Пол года назад у меня появилась идея, и вот несколько дней назад (27.03.18) приложение под названием "***" опубликовали в AppStore. Но, обо всем по порядку. Все началось с простой идеи В нашей жизни постоянно происходят какие-то события, хорошие, плохие, не важно. Я всегда...

Обзор Kingston DataTraveler Bolt Duo Все пользователи iPhone сталкивались с проблемой отсутствия поддержки microSD и расширения памяти. Это не критично, если вы можете позволить себе модель с большим объемом памяти, но что если нет? Можно пользоваться облаком, а ещё можно воспользоваться новой флешкой от Kingst...

Разворачиваем автоматизацию за пару часов: PHPUnit, Selenium, Composer Привет, Хабр! Меня зовут Виталий Котов, я работаю в Badoo, в отделе QA. Большую часть времени занимаюсь автоматизацией тестирования. Недавно я столкнулся с задачей максимально быстро развернуть Selenium-тесты для одного из наших проектов. Условие было простое: код должен леж...

Resolve IP адресов в Linux: понятное и детальное описание Настройка сетевого взаимодействия сервисов не самая простая задача и часто осуществляется без глубокого понимания как требуется настраивать систему и какие настройки на что влияют. После миграции сервисов в docker контейнерах с centos 6 на centos 7 я столкнулся со странным п...

Изменения в стандартной библиотеке Java 10 Недавно состоялся релиз-кандидат Java 10, и на Хабре вышла статья, где перечислены JEP'ы, вошедшие в новый релиз. Однако не все изменения в Java получают свой JEP. В частности, небольшие дополнения стандартной библиотеки практически всегда происходят без JEP'ов. При этом час...

[Перевод] Кто убил джуниора? Джуниоров много, вакансий не хватает Несколько месяцев назад я сходила на мероприятие для женщин в IT. Там собралось много начинающих разработчиков, выпускников курсов программирования или учебных программ. Почти все говорили, что испытывают проблемы с поиском первой рабо...

Гибкий сетевой слой в iOS-приложении Практически любое мобильное приложение взаимодействует с серверами через их API. Перед разработчиком в таком случае стоит задача реализовать сетевой слой своего приложения. Провайдеры того или иного API разрабатывают его интерфейс, зачастую, одинаково, но бывает и так, что A...

HR позвонит, или Как составить американское резюме В поисках работы в США очень многие русскоговорящие, да и вообще иностранные кандидаты, сталкиваются с одной и той же проблемой – полным отсутствием откликов на резюме от американских работодателей, при этом в их родной стране конверсия откликов может быть очень высокой. И п...

Как я качество работы техподдержки измерял И что из этого вышло, а что не вышло... Кадр из сериала “The IT Crowd (Компьютерщики)” Чем занимается техническая поддержка, и насколько эффективно она работает? — чем дальше в своей работе я отдалялся от задач техподдержки, тем сильнее беспокоил меня этот вопрос, пока в 2...

Распознавание объектов с помощью PowerAI Vision Разработчики программного обеспечения уже несколько лет активно работают с библиотеками машинного обучения, решая задачи компьютерного зрения и обнаружения объектов. Но реализация таких задач (а каждую модель машинного обучения необходимо спроектировать, развернуть, собств...

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

Ищем проблемы с конверсией сайта в Google Spreadsheets Привет, Хабр! Меня зовут Дмитрий Окунев, я работаю product-менеджером в финтех-компании ID Finance. Это первый пост в блоге компании. Здесь мы будем делиться опытом, в том числе и международной экспертизой. Поехали. В большинстве онлайн-бизнесов конверсия сайта — краеугольн...

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

[Из песочницы] Программирование согласно контракту на JVM Привет, Хабр! Представляю вашему вниманию перевод статьи "Programming by contract on the JVM" автора Nicolas Fränkel. Читать дальше →

Мобильное приложение от Google научит кодировать на JavaScript Компания Google выпустила приложение Grasshopper в рамках проекта Area 120, позволяющее выучить основы программирования на языке JavaScript с помощью бесплатных коротких уроков. Обучение в новом сервисе представлено в игровой форме, из-за чего программа напоминает самый попу...

Генерация страниц сайта средствами сервис-воркеров (С) Из этой статьи вы узнаете, как прямо на мобильном устройстве, в браузере, создать страницу со списком закэшированных ранее материалов сайта, чтобы условный, застрявший в лифте пользователь, не скучал без интернета. По мере приближения к цели мы коснемся следующих тем: ...

Устройство спецэффектов для игр под NES. Часть 1 Существует несколько серий статей про программирование под NES, одна из них уже даже переведена на русский язык на хабре. Однако ни одна из них не заходит дальше обзора базовых возможностей консоли – рассматривается общая архитектура консоли, основы ассемблера, вкратце расск...

О кодерах, программистах и инженерах-программистах На этот пост меня натолкнули недавние статьи на Хабре "Кто такой программист?" и "Почему Python так хорош в научных вычислениях". Читая комментарии к ним, я неоднократно натыкался на рассуждения с разделением разработчиков на «кодеров», «программистов» и «инженеров-программ...

Путеводитель по инструментам автотестирования мобильных приложений …несмотря на то, что он кое в чём неполон, содержит много сомнительного или, во всяком случае, вопиюще неточного, он имеет два важных преимущества: во-первых, он немного дешевле, [...], а во-вторых, на его обложке большими и приятными для глаз буквами написаны два слова ...

[Из песочницы] Истинная реализация нейросети с нуля. Часть 2. Распознавание цифр Dispute about eternal Сердечно приветствую всех Хабравчан! С момента выхода первой части "Истинной реализации" (рекомендую ознакомиться) прошло достаточно много времени. Как внятных обучающих статей не было, так и нет, поэтому я решил подарить Вам возможность узна...

Как запустить свой обучающий курс: подробная инструкция Если вы в чём-то профессионал, поделитесь своими знаниями и заработайте на этом.

Опыт двух попыток сдачи JNCIE-SP Введение Добрый день или вечер, или даже ночь, дорогие хабравчане. В данной статье хочу поделиться своим опытом, сдачи экспертного экзамена JNCIE-SP. Я обладаю опытом двух сдач, в Москве и Амстердаме. Читать дальше →

Архитектура приложения на Akili framework Приветствую! Сегодня хотел бы разобрать пример реализации архитектуры сайта на фреймворке Akili. В данной статье речь пойдет не столько о системе компонентов, как о полноценной реализации приложения, с использованием роутинга, ajax запросов, хранилища и т.д. прямо из коробк...

DEFCON 24: “Как занять лучшие места в театре безопасности, или взлом посадочных талонов ради веселья и выгоды" Меня зовут Пржимек Ярошевский, я руковожу командой Current Threat Analysis и польской национальной группой исследований компьютерной безопасности CSIRT, которая является частью академической компьютерной сети CERT Polska. Я более 10 лет занимался программированием, но это бы...

[Из песочницы] Magento Meetup Kharkov — видео и презентации 26 января в Харькове прошел митап, посвященный платформе Magento. Это уже второй такой ивент в городе, и он набирает обороты. Мероприятие посетили 130 человек: разработчики, тестировщики, дизайнеры. Прозвучали три доклада о тестировании, технологии AMP и кастомизации Magen...

Почему я не люблю DevOps (и современное ПО) Предисловие Данная статья очень субъективна и основана на моём опыте в ИТ-индустрии (Я разработчик с 10-и летним стажем и опытом работы в различных проектах, командах и странах (Казахстан, Канада)). Уверен, что многие не поддержат мою точку зрения и могут назвать эту статью ...

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

[Перевод] Использование ReSwift: написание приложения Memory Game Примечание. В этой статье используются Xcode 8 и Swift 3. По мере того, как размеры iOS приложений продолжают увеличиваться, паттерн MVC постепенно теряет свою роль как «подходящего» архитектурного решения. Для iOS разработчиков доступны более эффективные архитектурные п...

dev||bet – битва программистов и технологий Собаки vs кошки, водители vs пешеходы, Coca-Cola vs Pepsi, BMW vs Mercedes, колбаса vs сыр, узвар vs морс, добро vs зло, в конце концов! Но нет, мы, как всегда, спорили о том, какой язык программирования лучше. В ход шли классические аргументы о производительности со ссылк...

[Перевод] Как попасть в Microsoft, Amazon или Twitter без диплома престижного колледжа Эта статья для тех, кто готовится искать работу и, возможно, тревожится о том, что в топовые компании без диплома Стэнфордского университета по информатике не пробьешься. Вам наверняка говорили, что вас никто не возьмет в Facebook или Microsoft. Но я хочу вам сказать, что эт...

[Перевод] Обучение программированию: рисование пальцами и убийство зомби Zmob, моя первая (и единственная) собственная игра. К концу курса ширина и глубина нашего коллективного знания была гораздо больше, чем кто-либо мог ожидать от любого курса старшей школы по любому предмету. Образование против исследований В этом семестре я работаю помощник...

Конференция DEFCON 22. «Массовое сканирование Интернет через открытые порты». Роберт Грэхам, Пол МакМиллан, Дэн Тэнтлер Меня зовут Роб Грэхам, я глава компании Errata Security, которая занимается Интернет-консалтингом. Сегодня мы поговорим о том, как просканировать весь Интернет и для чего это нужно. До сегодняшнего времени существовало мало инструментов для решения этой задачи, поэтому мы со...

Netflix решила не добавлять игровые элементы в детские шоу Netflix решила «дальше не развивать» игровые элементы в детских шоу. Ранее компания тестировала функцию, которая позволяла получать специальные отметки за просмотр определённых сериалов. Так сервис хотел простимулировать детей к просмотру оригинального к...

[Перевод] Сетевой код для бедных Чем больше узнаёшь в своей области знания, тем чётче понимаешь, что никто не может знать всего. По какой-то причине (за что, господи, за что?) моей областью стала разработка игр. Каждый, кто работает в этой сфере, скажет вам: никогда не добавляй сетевой многопользовательск...

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

Выпуск#16: ITренировка — актуальные вопросы и задачи от ведущих компаний Публикуем очередную подборку задач и вопросов с собеседований в крупных IT-компаниях (для тех, кому мало задач из предыдущего сета :) Ниже приведены вопросы и задачи для соискателей в Google, с различным уровнем сложности. Набор получился с лингвистическим уклоном, но зна...

[Из песочницы] Подбор персонала: играем, попадая в цель Как часто бывает так, что вы задаетесь вопросом – как понять справится ли новый кандидат на должность с порученной ему работой? Те, кто в силу своей профессии занимается отбором персонала, сталкиваются с этим вопросом каждый раз и почти через раз ошибаются в своих первоначал...

[Из песочницы] Как начать работать с Лямбда-выражениями в Java Привет, Хабр! Представляю вашему вниманию перевод статьи "How to start working with Lambda Expressions in Java" автора Luis Santiago. До того как Лямбда-выражения были добавлены в JDK 8, я использовал их в таких языках как C# и С++. Когда они были добавлены в Java...

Применение Tarantool: хранимые процедуры Перевод статьи с DZone. Оригинал: https://dzone.com/articles/applications-for-tarantool-part-1-stored-procedure. Я хочу поделиться своим опытом создания приложений для Tarantool, и сегодня мы поговорим об установке этой СУБД, о хранении данных и об обращении к ним, а также ...

Расчет сроков и стоимости проектов: как это делается и можно ли упростить процесс? Если вы когда-либо занимались разработкой приложений на заказ, то наверняка знакомы с довольно рутинным процессом расчета стоимости и сроков реализации проекта. И ладно бы, если расчет проекта выполнялся лишь единожды, но зачастую потенциальные заказчики не могут уложиться...

Нарушения безопасности мобильных приложений как результат недостаточного внимания компаний-разработчиков Во второй половине 2017 года в Google Play разработчики загружали примерно по 2800 приложений каждый день. По AppStore данные пока не удалось найти, но вряд ли во много раз меньше. Каждое из этих приложений содержит определённое количество данных (data), которые хранятся или...

«Смажь колёса времени»: 5 концепций управления временем Здравствуйте, меня зовут Илья, и я трудоголик. Я работаю по 12 часов в день. Каждый день. Моя семья очень страдает от этого. Я очень хочу начать жить, как все нормальные люди, но каждый раз срываюсь и засиживаюсь заполночь...

Пишем масштабируемые и поддерживаемые сервера на Node.js и TypeScript Последние три года я занимаюсь разработкой серверов на Node.js и в процессе работы у меня накопились некоторые советы и решения, среди которых open-source фреймворк, которыми я хотел бы поделиться. В данной статье мы пройдемся по некоторым принципам, а так же посмотрим на р...

[Перевод] Флаги в аргументах функций Вы когда-нибудь сталкивались с таким кодом? process(true, false); Эта функция, судя по названию, что-то обрабатывает (process). Но что означают параметры? Какой параметр здесь true, а какой false? По вызывающему коду об этом нельзя судить. Нам придется заглянуть в объявлен...

Яндекс.Алгоритм 2018: оптимизационный трек и ML-задача от разработчиков Алисы Сегодня мы открываем регистрацию на международный конкурс по программированию Яндекс.Алгоритм. В этом году мы решили не только запуститься раньше, но и добавили два новых трека: оптимизационный и трек по машинному обучению. Каждый участник может выбрать, в каких треках участ...

Несколько советов по организации Python-приложения на сервере В этой статье я хочу поделиться несколькими удобными способами организации вашего проекта на рабочем (даже продакшен) сервере. Я работаю, в основном, с Python/Django стеком, поэтому все примеры будут, в первую очередь, применительно к этому набору. Также ключевые технологии...

[Перевод] Конференция DEFCON 22. «Один дома с автоматической системой защиты». Крис Литтлбери Меня зовут Крис Литтлбери, я работаю старшим испытателем систем безопасности от проникновений в компании Knowledge Consulting Group, которая расположена в округе Колумбия. Я люблю конструировать всякие интересные вещи, придавая обычным устройствам необычные функции. Например...

tdlib-ruby: как сделать Telegram-клиент на Ruby Одна из особенностей мессенджера Telegram — широкие возможности API (Bot API и Telegram API). Команда Telegram пошла ещё дальше и выпустила библиотеку TDLib (Telegram Database Library), позволяющую разрабатывать альтернативные клиенты Telegram и не задумываться о низкоуровн...

[Перевод] Разрабатываем игру на SVG + React. Часть 1 TL;DR: в этих сериях вы узнаете, как заставить React и Redux управлять SVG элементами для создания игры. Полученные в этой серии знания позволят вам создавать анимацию не только для игр. Вы можете найти окончательный вариант исходного кода, разработанного в этой части, на Gi...

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

История ES6-модулей Владислав Власов, инженер-программист в Developer Soft и преподаватель курса Нетологии, специально для блога написал цикл статей о EcmaScript6. В первой части на примерах рассмотрели динамический анализ кода в EcmaScript с помощью Iroh.js, во второй сосредоточились на реализ...

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

Пишем компонент — таблицу, не совсем обычным способом Еще одна небольшая статейка попроще вдогонку. Расскажу, как я рисую таблицы во Vue. Компонентов-таблиц для Vue наделано немало. С различными возможностями. И везде по-разному таблица собирается в template страницы или какого-то компонента. В основном происходит это как-то...

Как мы запустили offline-версию сайта RG.RU Как часто, запрашивая страницу, мы видим сообщение «Нет подключения к интернету». Однако, уже давно существует возможность отлавливать события в отсутствие интернета и контролировать содержимое, которое видит пользователь. Алексей Чернышев и Максим Чагин запустили offline-ве...

[Перевод] Rust: «Векторы — это значения» В последнее время я долго думал над персистентными коллекциями и в особенности над тем, как они относятся к Rust. Хочу поделиться с вами своими наблюдениями. О том, как устроены персистентные векторы, быстрее ли они традиционных коллекций — смотрите под катом. Читать дальше ...

[Перевод] Разбор основных концепций параллелизма Всем кофе! Завтра у нас плавненько стартует практически юбилейный поток курс «Разработчик Java» — уже шестой по счёту начиная с апреля прошлого года. А это значит, что мы снова подобрали, перевели интереснейший материал, которым делимся с вами. Поехали! Эта памятка поможе...

[Перевод] Мышление в стиле Ramda: сочетаем функции Данный пост — это вторая часть серии статей о функциональном программировании под названием "Мышление в стиле Ramda". 1. Первые шаги 2. Сочетаем функции 3. Частичное применение (каррирование) 4. Декларативное программирование 5. Бесточечная нотация 6. Неизменяемость и объек...

[Из песочницы] Есть ли порох в пороховницах? Hackathon Radio Canada 2018 (Часть первая, собираем команду) В этой статье я хочу представиться, рассказать что толкнуло меня на участие, как я смог собрать команду, какие выводы для себя я вынес и просто поделиться своим опытом участия моем первом хакатоне. Извините коротко не получилось, текста много и не всё по теме. Надеюсь, э...

Непридуманная история о производительности, рефлексии и java.lang.Boolean Однажды, в студёную зимнюю пору (хотя на дворе был март) мне нужно было покопаться в куче (того, что называется heap dump, а не того, о чём вы подумали). Расчехлив VisualVM я открыл нужный файл и перешел в OQL консоль. Пока суд да дело, моё внимание привлекли запросы, доступ...

[Из песочницы] Пишем свой BitTorrent-клиент на базе библиотеки Bt Всем привет! В данной статье я расскажу о том, что из себя представляет библиотека Bt, чем она хороша и почему стоит иметь ее в виду, если для решения каких-то задач планируется использовать BitTorrent. Затем, в качестве демонстрации базовых функций и основного API, мы реали...

Обзор кастомной прошивки для android-устройств: Nitrogen OS Уже ни для кого не секрет, что OC Android ежегодно получает глобальные обновления, заметно меняющие систему. Но обновится ли ваш аппарат своевременно? Это большой вопрос. Впрочем, с актуальной версией может выручить Nitrogen OS, не только предоставляющая пользователям «свежу...

Как мы настроили Docker и Kubernetes в TFS Мы продолжаем наш путь к continuous integration (CD) и high availability (HA), основанной на избыточности. В предыдущей серии мы перевели API для мобильного приложения на .NET Core. Следующий логичный шаг для достижения CD — настроить сборку в Docker-контейнер. Сегодня поде...

Веб-компоненты. Часть 2: теневой DOM Вступление Приветствую, коллеги, и представляю вашему вниманию продолжение серии статей о веб-компонентах, первая часть которой доступна вот тут В этой статье речь пойдет о спецификации теневого DOM (shadow DOM) версии от 01.03.2018 г.. Последний черновик спецификации датиро...

Как мы переняли опыт Khan Academy и сделали свой курс для тестировщиков Контур ежегодно запускает бесплатные курсы по программированию для студентов в Екатеринбурге, Питере, Новосибирске, Ростове-на-Дону, Ижевске, Перми и Казани. С 2013 мы выросли до 7 городов и 13 университетов, разработали свою онлайн-платформу ulearn.me, где с февраля 2018 ес...

Grasshopper 1.13.1 Grasshopper — приложение, позволяющее выучить основы программирования на языке JavaScript с помощью бесплатных коротких уроков. Обучение в новом сервисе представлено в игровой форме, из-за чего программа напоминает самый популярный сервис для изучения иностранных языков Duol...

Тестирование API сервисов и RSpec Иногда бывает необходимость написать небольшой АПИ сервис, часто в виде прототипа. И часто этот прототип потом так и остаётся в первоначально написанном виде следуя принципу «работает — не трогай». Переписывание даже относительно маленького сервиса сопряжено с возможностью...

[Перевод] Blockchain на Go. Часть 1: Прототип Блокчейн одна из самых революционных технологий 21 века, до сих пор не реализовавшая весь свой потенциал. По сути, блокчейн это просто распределенная база данных. Что же делает ее уникальной? Это база данных полностью открыта и хранится у каждого участника полной или частичн...

[Перевод] Почему GitHub не поможет нанять разработчика Один из моих текущих проектов связан со сбором данных из GitHub-профилей разработчиков. Профили GitHub затруднительно использовать как источник данных, поэтому хочу сразу перечислить проблемы при попытке оценить разработчика только по его вкладу на GitHub. Одна из распростр...

[Перевод] Как работает JS: сетевая подсистема браузеров, оптимизация её производительности и безопасности В переводе двенадцатой части серии материалов о JavaScript и его экосистеме, который мы сегодня публикуем, речь пойдёт о сетевой подсистеме браузеров и об оптимизации производительности и безопасности сетевых операций. Автор материала говорит, что разница между хорошим и отл...

Поиск работы в Чехии на собственном опыте Добрый день, уважаемые хабрачитатели! В этой статье я бы хотел поделиться с вами своим опытом поиска работы в Чехии и рассказать о некоторых полезных сайтах, которые вам могут помочь в этом непростом деле. Кому интересно, прошу под кат. Читать дальше →

[Перевод] Современный PHP без фреймворков У меня есть для вас непростое задание. Когда в следующий раз начнёте новый проект, постарайтесь обойтись без PHP-фреймворка. Я не собираюсь перечислять недостатки фреймворков, и это не проявление синдрома неприятия чужой разработки: в этом руководстве мы будем использовать ...

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

Поиск под капотом. Облачная индексация В прошлой статье я рассказал о том, каким образом поисковая система может узнать о том, что существует та или иная веб-страница, и сохранить ее себе в хранилище. Но узнать о том, что веб-страница существует, — это только самое начало. Гораздо более важно за доли секунды успе...

Что мы читали в марте: пять необходимых книг для инженеров инфраструктуры Мы в Skyeng понемногу строим свою библиотеку важных и полезных книг. Началось все с того, что своими списками в Фейсбуке поделились основатели компании (ссылки ниже), а теперь к ним присоединились и руководители направлений. В марте свой топ профессиональной литературы пре...

[Перевод] Как передать полиморфный объект в алгоритм STL Как мы можем прочесть в первой главе книги Effective C++, язык С++ является по сути своей объединением 4 разных частей: Процедурная часть, доставшаяся в наследство от языка С Объектно-ориентировання часть STL, пытающийся следовать функциональной парадигме Шаблоны Эти чет...

В Instagram нашли очередное доказательство видеочата Всем уже давно известно, что Instagram копирует функции другого популярного приложения для обмена фото- и видеосообщениями Snapchat. Так, к примеру, в Instagram появились истории и прямые трансляции, которые ранее были доступны в Snapchat. Но на этом разработчики самой попул...

[Перевод] Марвин Мински «The Emotion Machine»: Глава 2 «Играя с грязью» 2.1. Играя с грязью «Это не просто изучение вещей, которые важны. Это обучение тому, что делать с тем, что вы учите и познанием, почему вы изучаете все эти важные вещи» — Нортон Джастер, рассказ Фантомный Киоск (The Phantom Tollbooth) Ребенок по имени Кэрол играет с гряз...

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

Если у вас нет собаки… Если вашему бизнесу необходим BDD с живой документацией на русском, нет выделенной позиции тестировщика, либо уровень его знаний недостаточен для самостоятельной автоматизации и важно обеспечение единого стека технологий между scrum-командами, то вам безусловно необходимо хо...

Business English Listening: помощник в изучении делового английского Люди, изучающие иностранные языки с нуля, часто сталкиваются с «эффектом плато». Так называется состояние, когда уровень владения языком больше не поднимается, несмотря на все усилия учащегося. Одним из [...]

Какой язык программирования лучше изучать? Советы специалиста Если вы по какой-либо причине захотели выучить язык программирования, но не знаете с какого стоит начать и каким продолжить, желательно обратиться за советом к профессионалу. Перед этим можно ознакомиться с базовыми рекомендациями от преподавателя FreeCodeCamp Квинси Ларсона...

[Перевод] Введение в модули Angular — корневой модуль (Root Module) Прим. перев.: для понимания данной статьи необходимо обладать начальными знаниями Angular: что такое компоненты, как создать простейшее SPA приложение и т.д. Если Вы не знакомы с данной темой, то рекомендую для начала ознакомиться с примером создания SPA приложения из оф. до...

[Перевод] Алан Кей: как бы я преподавал Computer Science 101 «Одна из причин, чтобы на самом деле поступить в университет — это выйти за рамки простой профессиональной подготовки и вместо этого уцепиться за более глубокие идеи.» Давайте немного задумаемся над этим вопросом. Несколько лет назад кафедры Computer Science пригласили ме...

Настройка динамического dhcp-pool с привязкой к определенным портам Cisco Catalyst Так сложилось, что сеть у меня построена таким образом, что IP-адреса выдаются только тем клиентам, чьи MAC-адреса прописаны в самописной системе управления сетью и учета трафика (назвать это биллингом язык не поворачивается). Спустя несколько лет я понял, что диапазон сет...

Математический пакет для Android “Микро-Математика”: что нового? Вот и пролетело полгода с тех пор, как я перевёл свой математический пакет на Андроид, “Микро-Математику”, в статус свободных приложений с открытым исходным кодом и опубликовал код на github. Благодаря такому шагу, “Микро-Математика” получила мощный импульс для развития, а ...

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

В Twitter появилась возможность публиковать отдельные моменты видеотрансляций Twitter представила функцию Timestamps, которая позволяет поделиться ключевым моментом прямой трансляции. Зрителям больше не нужно проматывать до той части видео, которую вы хотите обсудить. Раньше в Twitter можно было опубликовать только полную запись трансляции. Е...

Общаемся по-русски с Assistant от Google | Видеообзор Борис Веденский установил бета-версию Assistant с русским языком и готов поделиться первыми впечатлениями. Нужен ли? Что умеет? Какие «фишки» предлагает Google? Все ответы ищите в видеоролике на канале Droider. Кстати, ещё в обзоре оцениваются возможности голосовы...

Книга «Linux API. Исчерпывающее руководство» Привет, Хаброжители! Недавно у нас вышел фундаментальный труд Майкла Керриска по программным интерфейсам операционной системы Linux. В книге представлено практически полное описание API системного программирования под управлением Linux. Сейчас мы рассмотрим раздел «Потоки ...

«ВITАМИН РОСТА»: как ЛАНИТ привлекает молодежь и как молодым специалистам попасть в ЛАНИТ В этой статье я расскажу о том, как устроена работа с молодыми джедаями специалистами в группе компаний ЛАНИТ, и поделюсь итогами нашей специальной программы «ВITАМИН РОСТА», которой исполнился год. Приглашаю вас обсудить эффективность инструментов поиска, привлечения и погр...

Рустам Мехмандаров и Александр Тарасов — семантические чудеса и автоматизация экспериментов на jug.msk.ru 5 апреля 2018 года, как раз накануне конференции JPoint 2018, прошла очередная встреча московского сообщества Java-разработчиков jug.msk.ru. Рустам Мехмандаров рассказал об опыте решения задач с использованием Apache Jena. Александр Тарасов поведал про использование DSL на о...

Что общего у компании Crossover, космонавтики и NASA? У удалённой работы и фриланса в буквальном смысле многовековая история. Но её современная разновидность, известная под названием telecommuting, разумеется, гораздо моложе, а к его рождению самое непосредственное отношение имеет космическое агентство NASA. В общем, день космо...

[Из песочницы] Как найти компанию спонсора визы в США. Tips and Tricks Статья для тех, кто хочет переехать работать в США. На Хабре есть несколько хороших статей про поиск работы в Америке. Тут я постараюсь добавить к ним собственный опыт и поделиться несколькими приемами, которые помогли мне получить долгожданный джоб оффер. Сперва расскажу п...

[Перевод] Новости из мира OpenStreetMap №393 (23.01.2018-29.01.2018) Визуализация уличной дорожной сети на основе данных OpenStreetMap1 | Изображение Geoff Being Карты Франсиско Моралес (Franscisco Morales) написал в твиттере Monde Geospatial о видео уроке, как загрузить отметки водораздела из OpenStreetMap для ArcGIS. Илья Зверев возродил ...

[Перевод] Ответы на распространённые вопросы о шаблоне render prop Кент С. Доддс, автор материала, перевод которого мы публикуем сегодня, говорит, что недавно группа программистов, с которыми он должен был провести тренинг по React, заинтересовалась шаблоном «render props», который ещё называют шаблоном «функция как потомок» (в разных публи...

Хитачи: как японцы докатились от бензопилы до современных СХД Когда я слышу Хитачи, то сразу думаю про что-то такое: Или про холодильник. Или про электровоз. Но никак не про СХД. Но нет, японцы делают большие серьёзные системы хранения данных: Мы недавно открыли учебный центр Hitachi Vantara, где как раз рассказываем про то, чт...

Обзор и тестирование видеокарты Inno3D GeForce GTX 1070 Ti iChill X3: младший брат Геркулеса В линейке видеокарт iChill компании Inno3D есть две модели со схожим дизайном, но различным артикулом и пометкой в наименовании, где цифра «3» сменяет «4». Обозначающий количество вентиляторов префикс не только сообщает о числе вертушек, но и косвенно намекает на различный п...

[Из песочницы] Методы конструирования тестовых функций В ходе работы с глобальной оптимизацией, появилась потребность в конструировании многоэкстремальных тестовых функций. Зачастую большинство готовых функций, например из Википедии, не подходят для корректной оценки работы алгоритма. Часть функций являются одноэкстремальными, д...

Изучение Spring Framework 100% через практику. Активные туториалы и язык разметки KML. Проект KciTasks (beta) Spring Framework традиционно считается одним из самых сложных и при этом высокооплачиваемых. Однако, существующие подходы к его изучению крайне неэффективны. Я хотел бы предложить вам принципиально новый подход к изучению спринга, который заключается в использовании концеп...

Девчонки, вы лучшие! Можно по-разному относиться к гендерным праздникам, но все равно хотя бы раз в год должен быть день, когда мы должны остановиться, подумать и понять, насколько мы ценим вас — жен, мам, бабушек, дочерей, подруг и сослуживиц. Именно это нам, представителям сильного пола...

Новости Android-разработки, на которые стоит подписаться В этом году Андроиду стукнет 10 лет, но разработка приложений не превратилась в закостеневшую рутину, а продолжает активно меняться: достаточно посмотреть, насколько за год изменилась ситуация с Kotlin. Значит, Android-разработчику надо держать руку на пульсе, следя и за п...

Яндекс создал первый браузер с голосовым помощником Яндекс.Браузер стал первым браузером с голосовым помощником. Пока Алиса делает здесь только первые шаги, но с компьютером уже сейчас можно разговаривать почти как с живым человеком - поболтать или о чём-то попросить. Например: "Слушай, Алиса, скажи рецепт шарлотки"...

Супер-полное руководство по публикации в Microsoft Store Привет, хабр! У меня часто случаются подобные ситуации: занимаюсь чем-нибудь сложным и в какой-то момент вылезает ошибка. Начинаю искать проблему в, соответственно, замороченных вещах, часто делая то, что не надо. И так проблемы нарастают. А в конце оказывается, что неполадк...

3D-влог: все о цифровом производстве — #1 Знакомимся Всем привет! Меня зовут Василий Киселев, я собственник и управляющий директор компании Top 3D Shop, и это первый выпуск моего видеоблога посвященного развитию 3D-технологий в России.Подробнее...

[Перевод] Как наконец выпустить свою первую игру Есть такая вероятность, что в этом году вы наконец-то решили сделать собственную игру. Отличная цель! И она определённо того стоит! Вы уже наверно много раз слышали один и тот же совет от сотен других людей: делайте игру простой. В своей замечательной статье Эдмунд Макмилл...

Настройка среды разработки: кофейная гуща (Часть 2) Привет, дорогой читатель! В этот раз я хочу поделиться своим результатом настройки персонального окружения для работы с различными PHP-based проектами с использованием Puppet. В данной статье описываются результаты, которые были получены в процессе изучения и написания Puppe...

[Перевод] Операционные системы с нуля; Уровень 0 Добрый день/вечер/ночь/утро! Есть один экспериментальный курс по операционным системам. Есть он в Стэнфордском университете. Но часть материалов доступно всем желающим. Помимо слайдов доступны полные описания практических занятий. Чем этот курс отличается от прочих других?...

Защита ASP.NET приложений от взлома ASP.NET MVC — не самый хайповый, но довольно популярный стек в среде веб-разработчиков. С точки зрения (анти)хакера, его стандартная функциональность дает тебе кое-какой базовый уровень безопасности, но для предохранения от абсолютного большинства хакерских трюков нужна допо...

[Перевод] Почему наследование всегда было бессмысленным Есть три типа наследования. Онтологическое наследование указывает на специализацию: вот эта штука — специфическая разновидность той штуки (футбольный мяч — это сфера и у неё такой-то радиус). Наследование абстрактного типа данных указывает на замещение: у этой штуки такие ...

KOOV: роботизированный конструктор от Sony Sony открыла предзаказ на конструкторы KOOV, обучающие детей возрастом от восьми лет проектированию и программированию роботов. Ранее проект искал средства для запуска за пределами Китая и Японии на Indiegogo, но набрал 98% от необходимой суммы. Ключевая идея KOOV — развива...

[Из песочницы] Немного сокращаем действия Каждый администратор всегда сводит свои действия к минимуму, пишет скрипты, пишет программы и чтобы меньше делать рутинных задач приходится проявлять фантазию и поработать головой. Хочу поделиться своим опытом, может кому-то и поможет. У меня в компании сейчас малое количест...

[Перевод] Создание игры на Lua и LÖVE — 1 Введение В этой серии туториалов мы рассмотрим создание завершённой игры с помощью Lua и LÖVE. Туториал предназначен для программистов, имеющих некоторый опыт, но только начинающих осваивать разработку игр, или для разработчиков игр, уже имевших опыт работы с другими языкам...

Долбанутые командные игры Давайте сегодня поговорим о социопатах. И об их противоположности – командных игроках. Появилась у меня игра «Совушки, ау», и я прям остро всё прочувствовал. Она командная, и сделана так, что победить в ней могут только те, кто работает на общее благо. Причём часто делая т...

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

[Перевод] Конференция DEFCON 21. “Секретная жизнь SIM карт”. Эрик Батлер, Карл Кошер Меня зовут Эрик Батлер, а это Карл Кошер, и мы хотим поговорить с Вами о чтении, создании, загрузке и использовании кода на SIM-картах. Этот проект стартовал в прошлом году, когда я узнал о мероприятии Tourcamp 2012, лагере хакеров на побережье штата Вашингтон, таком выездно...

Учебник Thymeleaf: Глава 15. Подробнее о конфигурации Оглавление 15 Подробнее о конфигурации 15.1 Resolver шаблонов Для нашего виртуального бакалейного магазина Thymes мы выбрали реализацию ITemplateResolver под названием ServletContextTemplateResolver, которая позволила получить шаблоны в качестве ресурсов из контекста сервле...

[Перевод] Предсказание случайных чисел в умных контрактах Ethereum Ethereum приобрёл огромную популярность как платформа для первичного размещения монет (ICO). Однако она используется не только для токенов ERC20. Рулетки, лотереи и карточные игры — всё это можно реализовать на блокчейне Ethereum. Как любая реализация, блокчейн Ethereum не...

Аккаунт-менеджер со знанием английского языка

Как я учусь практикам и ценностям Agile Под катом обзор и выводы с ретроспективы MeetUp-а про командную работу и рефлексию, который 3 апреля провела Елена Литвинова. Для меня он стал демонстрацией как обычная команда (далее команда 1.0), отличается от подготовленной (команда 2.0). Подготовленная означает, что ...

[Из песочницы] GObject: основы GObject — часть библиотеки GLib, реализующая объекто-ориентированнные расширения для чистого Си. Подобная концепция, помимо самой GLib, используется в таких проектах, как GStreamer, GSettings, ATK, Pango и весь проект GNOME в целом, а также в большом количестве прикладных пр...

Идеальный выход в оффлайн из онлайна Всем привет! Типичный процесс оплаты реально существующего заказа, который я недавно забирал: (У продавца/в интернет-магазине я запросил №Z и предоставил все что нужно для персональной цены.) — Привет. Хочу оплатить и забрать заказ №Z. — говорит Клиент и подходит к прод...

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

Преобразователи Time-To-Digital (TDC): что это такое и как они реализованы в FPGA На рисунке — первый в мире спутник квантовой связи «Мо-Цзы», который запустили из Китая в 2016 году, в нем летает TDC, реализованная в FPGA. Объяснить своей девушке (или парню), что такое ADC и DAC, и в каких домашних приборах они используются, может каждый человек, называ...

Twitter хочет уничтожить сторонние клиенты. Разработчики Tweetbot и Talon ищут поддержки Twitter в последнее время негативна по отношению к сторонним клиентам. Например, сторонние приложения не имеют доступа к ряду полезных функций, таких как опросы, например. Несколько лет назад компания сделала ограничение по числу токенов API на одно приложение, из-за чего в...

Обзор электронной книги ONYX BOOX Cleopatra 3 В нашу редакцию не так часто попадают устройства для чтения электронных книг, однако сегодняшний гость, а точнее гостья, вызвала наш живой интерес. Помимо основной функции она также имеет на своём борту веб-браузер, WiFi и Bluetooth, работает на 1 гигагерцевом процессоре и о...

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

Текущая разработка Kotlin На прошлой неделе при поддержке Redmadrobot SPB в рамках SPB Kotlin User Group прошла встреча со Станиславом Ерохиным, разработчиком из JetBrains. На встрече он поделился информацией о разрабатываемых возможностях следующей мажорной версии Котлина (под номером 1.3). В этой ...

Biz Breeze #1. Субъективно — о новостях CRM и ИТ-бизнеса На Хабре публикуются много интересных и разных дайджестов, которые мы читаем каждую неделю: о событиях, мобильной разработке, дизайне, программировании и т.д. Нам показалось странным, что нет историй об IT в бизнесе. А между тем, всё больше банков, магазинов, страховщиков, п...

Обзор игрового ноутбука ASUS ROG Strix GL503V Если вам будут рассказывать, что мощный компьютер может скрываться только в корпусе формата Full-Tower – не верьте. Новая разработка ASUS – геймерская станция ROG Strix GL503V тому доказательство. Читать дальше →

IPhone X — новая глава в развитии iPhone iPhone X, пожалуй, самый долгожданный флагман компании из Купертино. Это настоящий продукт-сенсация, где воплощаются гениальные инженерные наработки разработчиков и реализуются самые потаенные мечты фанатов яблочной продукции в реальность. О том, насколько новоиспеченный фла...

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

Где живут самые умные, разносторонние и усердные программисты? Самые популярные языки программирования в России — Java, JavaSсript и С#. Наиболее многозадачные программисты живут в …

Сервис My PlayStation от Sony позволяет пользоваться PSN через браузер Sony начала развивать сервис PlayStation Network в не совсем привычном направлении. Компания запустила службу My PlayStation, которая позволяет пользоваться отдельными элементами PSN через браузер на ПК и мобильных устройствах. На данный момент нововведение не может...

Обзор твердотельного накопителя Kingston A400 480 Gb Лет пять назад стандартным «начальным» объемом для SSD были 120-140 гигабайт. Через пару лет стали активно брать 240-260 гигабайтные модели, все-таки кроме операционной системы и десятки мелких программ хочется и игры на шустрый системный раздел поставить. И вот, в 2018 году...

Дайджест интересных материалов для мобильного разработчика #250 (16 апреля — 22 апреля) Медленно приближаемся к юбилейному выпуску и в очередном выпуске у нас Wear OS, поведенческий дизайн, реактивное программирование, настоящее и будущее Unity, свежайший обзор Мобиуса, большие цели и распознавание на маленьких устройствах. Читать дальше →

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

Дома с Ксеомой (Видеонаблюдение и VMWARE ESXi) Системы видеонаблюдения/видеофиксации сейчас очень популярны. И хотя на рынке их великое множество (https://habrahabr.ru/company/intems/blog/322634/) желание сэкономить, особенно для использования дома или в секторе SOHO, часто приводит к мукам выбора. В частности у меня был...

Microsoft выпустила первый офлайн-переводчик на основе нейросетей Далеко не каждому из нас дано выучить хотя бы один иностранный язык. Но что делать, если вам необходимо поехать за рубеж, а знаний местного языка не хватает? Воспользоваться онлайн-переводчиком, которых на просторах Сети великое множество. Но все они обладают одним недоста...

Обзор Dibea C17 — гаджет-пылесос Беспроводные пылесосы - сейчас очень модная тема. Однако стоят они, как правило, over много. К счастью, есть варианты. Например, лично меня порадовал китайский Dibea C17. В обзоре расскажу о том, как купить модный гаджет для уборки дома и при этом не разориться. Читать далее...

Искусственный интеллект и нейросети для .NET-разработчиков Искусственный интеллект сейчас является одной из самых обсуждаемых тем и главным двигателем цифровой трансформации бизнеса. Стратегия Microsoft в области ИИ включает в себя демократизацию ИИ для разработчиков, т.е. предоставление простых в использовании фреймворков и сервисо...

[Из песочницы] Парсинг telegram каналов для агрегатора контента на PHP Привет, Хабр! Несколько лет назад я начал разрабатывать свой агрегатор контента, что бы упростить свой серфинг в сети. Изначально я парсил только rss, vk и facebook, но в прошлом году решил сделать полный рефакторинг проекта: отказаться от парсинга на клиенте, сделать норма...

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

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

[Перевод] Квантовые вычисления и язык Q# для начинающих Возможно, вы узнали о выпуске пакета средств квантовой разработки Quantum Development Kit и подумали, что это звучит безумно круто… а потом вспомнили, что про квантовую механику почти ничего не знаете. Но ничего страшного. Через 30 минут вы будете знать о кубитах, суперпозиц...

Grasshopper – бесплатное ПО от разработчиков Google, обучающее основам программирования на JavaScript через мини-игры Внутренний инкубатор Google Area 120, в котором сотрудники поискового гиганта законные 20% своего рабочего времени занимаются собственными делами проектами, выпустил бесплатное приложение под названием Grasshopper. Оно нацелено на обучение основам программирования, а точнее ...

[Перевод] Джон Кармак: Недельный отпуск, проведенный за программированием Вашему вниманию предлагается перевод поста Джона Кармака, опубликованный им в Facebook на прошлой неделе и обретший некоторую популярность. После многолетнего перерыва я наконец решился взять ещё один отпуск, который провёл за программированием. Целую неделю я смог спокойно...

Управляем состоянием приложения без шаблонного кода и магии Хочу поделиться с сообществом своей реализацией концепции flux как единого источника данных и видением построения веб-приложений. Мотивом к созданию своего решения послужило желание избавиться от большого количества шаблонного кода и сделать взаимодействие с источником дан...

Solar Security обеспечит безопаснсть разработки приложений Вышло обновление решения для проверки безопасности приложений Solar inCode 2.8 с поддержкой языка программирования Go.

Visual Basic поднялся в рейтинге популярности языков программирования Tiobe Однако Microsoft вот-вот прекратит параллельное развитие Visual Basic и C#, который в рейтинге сейчас занимает пятое место.

Режим разработчика на Android: настройки и функции Сделали подробный обзор режима разработчика. Режим разработчика Android — скрытый раздел специальных функций для программистов и разработчиков,...

Hessian-Free оптимизация с помощью TensorFlow Добрый день! Я хочу рассказать про метод оптимизации известный под названием Hessian-Free или Truncated Newton (Усеченный Метод Ньютона) и про его реализацию с помощью библиотеки глубокого обучения — TensorFlow. Он использует преимущества методов оптимизации второго порядка ...

[Из песочницы] Как я искал работу в Сингапуре И я знаю, что если завтра уеду в Америку или Сингапур, то за месяц-два точно найду работу в QA, благо английский позволяет. © DorialИменно эта фраза из статьи, опубликованной в корпоративном блоге моего последнего работодателя в РФ, побудила меня написать собственную. Пример...

С <заблокированного мессенджера> — в Matrix Как и зачем коммуна юных программистов, старых троллей и вечно молодых любителей функционального программирования делает этот переход, правда ли во всём виноват РКН, рассуждения про средства коммуникации сообществ и дух опен-сорса — под катом. Читать дальше →

Movavi Фоторедактор – простой редактор изображений У вас были моменты, когда нужно было отредактировать то или иное фото, убрать покраснения в глазах, дефекты кожи, сделать размытие фона или любое другое действие, предусматривающее изменение фото в лучшую сторону? Есть много фоторедакторов, которые позволяют все это делать, ...

Валидация строк с validate.it.js Если вспомнить все ТЗ с описаниями валидации полей — они всегда выглядили примерно так: не должно быть короче 6 символов не должно превышать 12 символов должно включать только латинские символы, цифры и знак подчёркивания Требования часто приходят набором простых однозначн...

Мрачный хоррор The Piano предложит покопаться в «чертогах разума» пианиста-неудачника Игра выйдет только на PC.

Интенсив «C# для начинающих» С помощью С# вы можете писать Windows-приложения, кроссплатформенные игры на движке Unity, игры на Xbox и масштабные веб-сервисы. «Си-шарп» входит в ТОП-5 языков программирования по частоте запросов в Google и имеет четвертое по&n...

Facebook запускает игровую стриминг-платформу с донатами и подарками Компания Марка Цукерберга решила составить конкуренцию платформам Twitch и YouTube, подарив стримерам возможность заниматься любимым делом, не покидая социальной сети. Для этого специалисты Facebook создали новую игровую платформу, позволяющую стримить игры прямо в новостн...

[Из песочницы] Динамическое изменение размера шрифта во всем приложении на Android Доброго времени суток, уважаемые читатели. Захотелось мне немного поделиться своими мыслями по поводу android разработки. Возникла у меня задача сделать настройку размера шрифта в приложении, чтобы каждый пользователь сам мог подобрать под себя размер. Изменение размера ш...

[Из песочницы] Простой Stack Fragment'ов Доброе время суток, уважаемые читатели Хабра! Хочу представить вашему вниманию статью, основанную на моем опыте работы в Single Activity Architecture, в частности со стеком пользовательских представлений. При первом знакомстве с Single Activity Architecture у меня возникало...

Можно ли использовать С++ вместо Си для небольших проектов в микроконтроллерах Существует мнение, что использование С++ при разработке программного обеспечения для микроконтроллеров это как стрельба из пушки по воробьям. Мол код получается большого размера и неповоротливый, а мы привыкли бороться за каждый бит в ОЗУ или ПЗУ. И действительно, ведь язык ...

Переход с AngularJS на Angular: жизнь после AngularJS (3/3) В заключительной части истории про миграцию на Angular мы поделимся избранными местами нашей внутренней документации, помогающими нашим разработчикам освоиться в новом фреймворке. Речь пойдет про особенности новых логики компиляции компонентов, Change Detection и концепции ...

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

Сколько зарабатывают разработчики игр Все мы знаем, как вы любите играть целыми днями. И как только находится какой-нибудь баг в игре, сразу вспоминаете разработчиков, передавая им пару «ласковых» слов. А что, если мы скажем вам, что разработчика игр не существует? Заинтригованы? Тогда читайте дальше.На самом де...

Обновление строк на лету в мобильных приложениях: часть 2 Привет, Хабр! В недавней статье наш коллега Дмитрий Марущенко yojick рассказал о том, как доставлять динамические обновления переводов с сервера на мобильные устройства. В продолжение темы сегодня поговорим о том, как мы используем эти обновлённые переводы в наших приложе...

SEO-Ревизор: работа над ошибками (цензурный текст для VC) Всем привет! Меня зовут Леонид, я живу в Питере и зарабатываю на булку, гречу и куру SEO-оптимизацией сайтов. Несколько месяцев назад на подгорающем тренде со стороны спины я собрал на коленках и корточках проект SEO-Ревизор.

[Из песочницы] Анализ данных с использованием Python Язык программирования Python в последнее время все чаще используется для анализа данных, как в науке, так и коммерческой сфере. Этому способствует простота языка, а также большое разнообразие открытых библиотек. В этой статье разберем простой пример исследования и классифик...

[Из песочницы] Сверточная нейронная сеть, часть 1: структура, топология, функции активации и обучающее множество Предисловие Данная статья является частью моей научной работы в ВУЗе, которая звучала так: «Программный комплекс детектирования лиц в видеопотоке с использованием сверточной нейронной сети». Цель работы была — улучшение скоростных характеристик в процессе детектирования лиц ...

[Из песочницы] Почему игровые серверы и чат должны существовать раздельно Привет, Хабр! Представляю вашем вниманию перевод статьи "Why you should run your game servers independently from your chat" Joe Hanson. Разработчики многопользовательских игр часто сталкиваются с дилеммой: Использовать уже существующие игровые серверы (на которых, непоср...

Обзор и практическое руководство по Katalon Recorder (Selenium IDE++ для Chrome и Firefox) Когда Firefox, начиная с версии Firefox 55, перестал поддерживать Selenium IDE, миллионы тестировщиков и разработчиков столкнулись с тем, что привычный ход работы по автоматизированному тестированию был нарушен, что вызвало среди них немалое беспокойство. К счастью, разработ...

Мой опыт консультирования по JavaScript (React/Redux) Всем добрый день. В марте-апреле исполнится два года, как я выпустил небольшие текстовые книги по React на русском языке. Учебники без "воды" вышли в удачное время, и я получил много посещений, скачиваний и "читателей", так же известных как разные ip-адреса. Книги окунули ме...

Обзор робота-пылесоса ILIFE A8 Роботы-пылесосы — далеко не новинка рынка, с  каждым новым поколением производители улучшают самостоятельность гаджета и качество уборки. В нашем офисе уже побывал ILIFE V7s Pro с функцией влажной уборки. А сегодня нам предстоит протестировать ILIFE A8 — классический робот-...

[Перевод] Без new: Указатели будут удалены из C++ Две недели назад в Джэксонвилле встречался комитет стандарта ISO C++. Сегодня я хочу представить короткую сводку и написать о революционном решении, принятом на собрании в Джэксонвилле. Для получения дополнительной информации я рекомендую к прочтению статью C++ больше не буд...

Наташа — библиотека для извлечения структурированной информации из текстов на русском языке Есть стандартная задача извлечения именованных сущностей из текста (NER). На входе текст, на выходе структурированные, нормализованные объекты, например, с именами, адресами, датами: Задача старая и хорошо изученная, для английского языка существует масса коммерческих и о...

[Перевод] ITSM ликбез: 7 способов диагностики причин IT инцидентов и проблем Перевод любопытной статьи Стюарта Рейнса, дающей обзор некоторых подходов и техник поиска причин инцидентов и проблем. Обзор поверхностный, но и такого уровня погружения достаточно, чтобы зародить интерес к затронутой теме. Автор: Стюарт Рейнс (Stuart Rance) Опубликовано 3...

[Из песочницы] Arduino для начинающих Arduino для начинающих. Часть 1 Предисловие Доброго времени суток, Хабр. Запускаю цикл статей, которые помогут Вам в знакомстве с Arduino. Но это не значит, что, если Вы не новичок в этом деле – Вы не найдёте ничего для себя интересного. Введение Было бы не плохо начать со з...

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

Excel вместо PowerShell: запросы к AD и системные отчеты «на коленке» В комментариях к предыдущей статье вспомнили про учет в Excel вместо 1С. Что ж, проверим, насколько вы знаете Excel. Сегодня я покажу, как получать данные из Active Directory и работать с ними без макросов и PowerShell — только штатными механизмами Office. Например, можно з...

Украинский мультфильм «Похищенная принцесса: Руслан и Людмила» собрал за первый уик-энд проката почти 21,5 млн грн На прошлой неделе в прокат вышел украинский мультфильм «Похищенная принцесса: Руслан и Людмила». Ознакомиться с его обзором можно в одном из предыдущих материалов. Государственное агентство по вопросам кино поделилось информацией о том, насколько успешным оказался старт прок...

[recovery mode] Авторизация с помощью сертификата ssl на nginx + Let's Encrypt Добрый день, вечер или ночь, все зависит от времени суток в который вам довелось прочитать мою статью. В связи с ростом количества корпоративных клиентов, было принято решение дать доступ к учетной системе внешним пользователям. Для самостоятельного оформления заказов и от...

Обзор ноутбука Acer Swift 5: нет времени созерцать — надо работать В новом Acer Swift 5 сочетаются, казалось бы, несочетаемые вещи. При массе меньше одного килограмма ультрабук оснащен 14-дюймовым дисплеем и производительным четырехъядерным процессором Intel. Как это часто бывает, в погоне за минимализмом приходится жертвовать инте...

О том, как открыть швейный цех, если ты ничего не понимаешь в шитье Меня зовут Дарья Зарыковская, чуть больше трёх лет назад на пороге 2015 года я нарисовала три новогодние открытки с грубостями, и с тех пор являюсь владельцем магазина авторской сувенирной продукции «Мам, купи!».

Простой менеджер ассинхронных задач для Unity 3D Введение Приветствую Вас, уважаемые читатели. В данной статье пойдет речь о реализации простого менеджера асинхронно выполняемых задач для среди разработки Unity3d. Данный менеджер использует в своей основе так называемые Coroutine, которые присутствует в движке. Читать дал...

YouTube упал? Или проблема одного процента Второй день наблюдаются проблемы с просмотром видео на YouTube. Новостные агрегаторы уже окрестили это «масштабным сбоем» — Масштабный сбой YouTube. Некоторые высказывают предположения, что это всевидящий «Роскомнадзор» чего-то там заблокировал, и не смотреть нам больше ...

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

Платёжная система в 50 строк кода, реально? В последнее время технологические решения на блокчейне всё больше проникают в нашу повседневную жизнь. Технология новая, поэтому не все понимают, как и где её применять. Я попробовал создать платежную систему на базе смарт-контракта Ethereum и результат меня удивил. Смарт-ко...

СКИДКА (299р → 149р) MyScript Calculator – рукописный калькулятор для iPad и iPhone, или как быстро проверить работу школьника Если Вам часто доводится выполнять расчеты на iOS-устройстве, то мы настоятельно рекомендуем опробовать приложение MyScript Calculator. Проект получил награду Mobile App Showdown за инновационность на международной выставке CES 2013.  Скачать калькулятор MyScript Calculator ...

Задействовать для простых тестов наследование, полиморфизм и шаблоны? Почему бы и нет… Язык C++ сложен. Но его сложность проистекает из сложности задач, которые решаются с помощью C++. Каждая фича, которая была добавлена в C++, была добавлена не просто так, а для того, чтобы дать возможность справиться к какой-то проблемой. Ну а уж сочетание существующих в C++...

Реализация простой пиксельной игры в блокчейне Ethereum Всем привет! Вдохновившись r/place и желая реализовать наконец-то свой первый смарт-контракт на блокчейне, мы решили сделать всем доступное и веселое приложение в сети Ethereum, которое позволяет рисовать на холсте размером в 1000 x 1000 px, сохраняя каждый выбранный и раскр...

Вакансия: редактор каталогов hotline.ua (смартфоны, компьютеры) Один из ведущих украинских проектов в области e-commerce hotline.ua ищет редактора каталогов. Если вы интересуетесь новинками в сфере IT, ориентируетесь в тенденциях развития рынка мобильных устройств и хотите применить свои знания на практике. Если вы молоды, ответственны, ...

Обзор InfiniBox F2230 Недавно компания “ОНЛАНТА” приобрела для своего корпоративного облака Oncloud.ru систему InfiniBox F2230 компании Infinidat. В интернете практически нет обзоров этой системы, поэтому мы решили устранить пробел. Сегодня мы постараемся максимально подробно рассказать вам об эт...

#Опрос: Пользуетесь ли вы Siri? В ближайшее время на нашем сайте и канале YouTube выйдет видео, в котором мы поделимся своими первыми впечатлениями об умной колонке HomePod. Пока ребята закрылись в студии и снимают свое кино, мы хотели бы обратиться к вам с важным вопросом. Как мы знаем, функциональност...

GCCGO против «стандартной» реализации Какие Go бенчмарки показывают лучшие результаты, будучи собранными gccgo и почему? Ответы на эти вопросы под катом. Читать дальше →

Пишем плагин для Unity правильно. Часть 1: iOS Когда делаешь на Unity игры для мобильных платформ, рано или поздно придется писать часть функционала на нативном языке платформы, будь то iOS (Objective C или Swift) или Android (Java, Kotlin). Это может быть свой код или интеграция сторонней библиотеки, сама установка мо...

Как сделать фото «сверху» на iPhone еще лучше Чтобы делать крутые снимки на iPhone, зачастую не нужно загружать сторонние приложения. Стандартная программа «Фото» на самом деле имеет много полезных возможностей, некоторые из которых, правда, приходится активировать вручную. Одной из таких функций является «Сетка». «С...

[Перевод] Как сделать ваш код в 80 раз быстрее Всем бобра! У нас стартует третий набор на курс «Разработчик Python», а значит, что впереди и открытый урок, которые у нас частично замещают староформатные дни открытых дверей и где можно ознакомится с интересным материалом от наших преподавателей, и то, что мы нашли очеред...

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

SvelteJS: Релиз второй версии Буквально вчера вышла 2-я версия молодого, но весьма многообещающего фреймворка SvelteJS. Версия мажорная, а значит содержит не только новые фичи и исправленные баги, но и соответствующие «breaking changes». Что новенького предлагает разработчикам новая версия и почему Svelt...

[Перевод] Руководство по SEO JavaScript-сайтов. Часть 2. Проблемы, эксперименты и рекомендации В первой части перевода этой статьи мы говорили о том, как веб-мастер может взглянуть на свой ресурс глазами Google, и о том, над чем стоит поработать, если то, что увидит разработчик сайта, окажется не тем, чего он ждёт. Сегодня, во второй части перевода, Томаш Рудски ра...

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

[Перевод] Rust: состояния типов Раньше в Rust были состояния типов, которые были удалены из языка еще до официального релиза первой версии. В этой статье я раскрою вам тайну: Rust поддерживает состояния типов. Прошу под кат. Читать дальше →

[Из песочницы] Анализ трендов рынка криптовалют (на примере Bitcoin) На текущий момент имеется бесконечное множество публикаций, анализирующих рынок криптовалют от экспертов всех мастей и рангов. Тема является настолько востребованной, что не делал свой обзор только ленивый и не искушенный. Прогнозы аналитиков порой настолько разнятся, что не...

[Перевод] Segregated Witness для чайников Масштабируемость биткоина является одной из его главных проблем, над решением которой активно работают. Одним из представителей этих решений является, например, технология Lightning network, но ее реализация пока что не представляется возможной ввиду некоторых уязвимостей. Д...

[Из песочницы] Правильная работа с закладками: как работать эффективнее и запоминать больше Когда кто-нибудь из моих знакомых открывает при мне браузер, я вижу стену из сотен старых и новых закладок. Некоторые из них настолько старые, что за время, прошедшее с добавления, фавиконки и описания страниц успели смениться несколько раз. Как правило, список продолжается ...

Python, Delphi и C++ глазами учёного Статья про использование Python в научных вычислениях подтолкнула меня написать эту статью. Это история, случившаяся со мной и с коллегами 6 лет назад. На тот момент я уже достаточно подразобрался с Delphi и Python, но только теперь я ощущаю что достаточно поработал с C/C++,...

Как провести тендер на разработку сайта Все чаще и чаще к нам обращаются с приглашением принять участие в тендере на разработку сайта. Причем львиная доля запросов выглядят так: “Сколько стоит разработка такого сайта: fb.com. Письмо разослано на 69 веб-студий. Поэтому решил поделиться своим опытом в тендерах. А оп...

Большой комок грязи, часть 2 Продолжение перевода статьи «Big ball of Mud». ОДНОРАЗОВЫЙ КОД он же QUICK HACK (быстрый хак) KLEENEX CODE (код на салфетке) DISPOSABLE CODE (утилизируемый код) SCRIPTING (скрипт) KILLER DEMO (демо-убийца) PERMANENT PROTOTYPE (постоянный прототип) BOOMTOWN (быстро выросший ...

Что нового в PostgreSQL 11: встроенный веб-поиск Продолжая тему новых интересных возможностей грядущего релиза PostgreSQL 11, я хотел бы рассказать про новую встроенную функцию websearch_to_tsquery. Соответствующий патч разработали Виктор Дробный и Дмитрий Иванов, с правками от Федора Сигаева. Давайте же разберемся, что ...

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

[Перевод] Введение в квантовые вычисления Привет, Хабр! Совсем недавно мы рассказывали вам о квантовых вычислениях и языке Q#. Сегодня же мы уйдем в теорию еще глубже и рассмотрим историю квантовых вычислений. Кроме того, в этой статье вы найдете 5 требований к квантовому компьютеру. Какими свойствами должна обладат...

[Перевод] Алан Кей: Будущее нельзя построить постепенно Наименее важное время в которое мы живём — это настоящее. Алан Кей Ещё в 2014 году, когда Алан Кей выступал с этой речью в Сан Франциско, один друг присутствовал там лично. Его крайне впечатлило выступление, и он попросил перевести его для исследователя, который уже в воз...

Apple Music для Android получил крупный апдейт Буквально сегодня компания Apple порадовала своих драгоценных Android пользователей музыкального сервиса Apple Music очередным крупным обновлением, скачать которое можно прямо сейчас из магазина приложений Google Play. Итак, помимо традиционного улучшения производительности...

[Перевод] Как быть с «нигилистами в инфобезопасности» Как часто в своей работе вы сталкиваетесь с ситуацией, когда ответ лежит на поверхности, прямо перед вами или вашими клиентами, но они просто не станут делать то, что вы им рекомендуете? Вы можете дать рекомендации по устранению уязвимостей, но не можете заставить им следо...

[Из песочницы] VulnHub Basic Pentesting Всем доброго времени суток. Многие из Вас знают о Пентесте, кто-то имел даже с ним дело, а кто-то только слышал и хотел бы почувствовать себя мини специалистом в этой области. Давным давно, а может и не давно, на VulnHub появилась лаборатория, посвященная как раз этому. Чит...

Алгоритм выбора location в Nginx Алгоритм выбора location обязателен к знанию при настройке nginx. Тем не менее, на официальном сайте nginx (на 2018 год) не сказано ни слова про алгоритм выбора в случаях, когда какие-то location'ы вложены друг в друга, а в статьях в интернете приводятся в корне неверные алг...

Поддержка IPv6 в CleanTalk Security для WordPress Недавно мы писали о том что сделали поддержку IPv6 в антиспам плагине. Но не только спамеры начали использовать IPv6, для других видов атак на сайты злоумышленники их тоже используют. Мы реализовали поддержку IPv6 в плагине безопасности для WordPress. Обновлены методы опред...

[Из песочницы] И на улицу JavaFX тоже придет Spring Доброе время суток, хабровчане, надеюсь среди Вас найдутся такие же любители делать формочки как и я. Дело в том, что я всегда был приверженцем дружелюбных интерфейсов. Меня расстраивали приложения, которые мало ориентированны на пользователей, такое особенно бывает в корпор...

[Перевод] Кладбища стартапов полны провидцев без опыта и знаний Часто, когда я посещаю конференции или нетворкинг-ивенты, я удивляюсь, как много людей работают на периферии технической индустрии. Гуру социальных сетей, SEO «ниндзя», блоггеры и тому подобные. Это тусовка промоутеров технического сообщества. «Проруби свой путь к успеху», ...

I/O Extended 2018 Moscow: приглашение На дворе весна, а это значит, что приходит время традиционных конференций технологических гигантов. Среди таких событий — Google I/O, которая в этом году пройдет с 8 по 10 мая в Сан-Франциско. Если вы не хотите смотреть трансляцию Keynote в одиночестве, а готовы сразу обсуди...

[Из песочницы] Делаем приём платежей криптовалютой своими руками Привет, Хабр! Время от времени замечаю вопросы о том, как принимать платежи Bitcoin на своём сайте без использования сторонних сервисов. Это достаточно просто, но надо учитывать, что есть подводные камни. В этой статье я постараюсь максимально подробно, без акцента на каком-...

[Перевод] Современный CSS для динозавров — Двигать пиксели в CSS и так было трудно! А теперь мне говорят, насколько круто использовать несемантические названия классов, встроенные стили в HTML и даже писать стили CSS на JavaScript! [Вставь тут гифку из «Гриффинов»] — Ха! Иллюстрации из Dinosaur Comics Райана Норта...

Простой фильтр для автоматического удаления фона с изображений Существует множество способов удалить фон с изображения какого-либо объекта, сделав его прозрачным (в графических редакторах, специальных сервисах). Но иногда может возникнуть необходимость удаления фона у множества фотографий с минимальным участием человека. Хочу поделитьс...

Как мы делаем видеоконтент в Puzzle English: от хромакея на стене к полноценной студии Мы в Puzzle English всегда делаем акцент на полезности и качестве нашего контента. Технологии — это лишь инструмент, который позволяет претворять все наши задумки в жизнь. Сегодня хотим поделиться кейсом, как мы организуем потоковое создание видео- и аудиоконтента на нашем с...

Как я организую информацию при продвижении сайтов Дорогие друзья, в этом посте я хочу поделиться с вами своей схемой организации данных при продвижении сайтов. Как известно, деньги счет любят, а информация порядок . Когда ее много, то без систематизации данных не обойтись. Я занимаюсь SEO с 2006 года и за это время перепр...

Знакомство с гео-библиотекой S2 от Google и примеры использования Привет, Хабр! Меня зовут Марко, я работаю в Badoo в команде «Платформа». Не так давно на GopherCon Russia 2018 я рассказывал, как работать с координатами. Для тех, кто не любит смотреть видео (и всех интересующихся, конечно), публикую текстовый вариант своего доклада. Вв...

Когда бизнес растёт: виртуальные номера в формате DEF Ранее мы рассказывали об использовании виртуальных номеров в формате DEF с облачной IP-АТС. Появившиеся новые бизнес-кейсы подтверждают, что эта несложная схема весьма востребована для различных задач, а невысокая стоимость эксплуатации часто определяет выбор в ее пользу. Се...

[Перевод] Ловкость рук и никакого мошенничества: практические советы по ускоренному обучению дизайну для разработчиков Улучшаем дизайн проекта с помощью тактически грамотных действий, а не таланта. Нравится вам это или нет, каждый веб-разработчик неизбежно сталкивался с ситуациями, когда ему необходимо принять решение, касающееся визуального дизайна. Возможно, в компании, в которой вы рабо...

Титан гель – уничтожитель мужских комплексов У меня была ни то, что проблема, а реально беда. Мой половой член в состоянии эрекции достигал всего 9 см. Для меня это была конечно катастрофа, поскольку в свои 24 года я из-за того, что комплексовал по этому поводу так и ни разу не занимался сексом, а когда меня друз...

Digital в Вологде: как сделать небольшое рекламное агентство в глубокой провинции Привет! Меня зовут Руслан Белый. Я предприниматель из Вологды. У меня несколько проектов в сети. Один из них — небольшое агентство контекстной рекламы. Агентство — это громко сказано: до августа 2017 я настраивал рекламу сам. Иногда привлекал фрилансеров, чтобы скинуть рутин...

Опыт перехода проекта на phalcon с php 5.6 на 7.1 Время идет, прогресс приносит свои плоды, каждый месяц выходят новые версии того или иного программного обеспечения. То же происходит и с языком PHP. Наша команда проекта krisha.kz решила, что уже пора совершить переход на новую версию интерпретатора. Мы поделимся опытом п...

Производство информационных систем. Часть 1. Отправная точка I ВСТУПЛЕНИЕИз хаоса каким-то образом рождается порядок. Некоторые об этом узнают из газет со значительным опозданием, а некоторые по горькому опыту на месте и в процессе создания этого порядка. Михаил Булгаков. Просматривая статьи, посвященные той или иной теме, связанной...

[Перевод] О главнейшей причине существования современных JS-фреймворков Автор материала, перевод которого мы публикуем сегодня, говорит, что ему очень и очень часто приходилось видеть, как веб-разработчики бездумно пользуются современными фреймворками вроде React, Angular или Vue.js. Эти фреймворки предлагают много интересного, но, как правило...

Обзор игровой мыши HyperX Pulsefire Surge RGB Компания Kingston продолжает расширять модельный ряд мышей. Следом за эргономичной моделью Pulsefire FPS, на рынок выходит симметричный манипулятор с модной RGB-подсветкой. Сегодня мы познакомимся со второй мышью линейки HyperX, поделимся своим впечатлением и расскажем о том...

Ищем спикеров на Front-End MeetUp 28 марта Наше внутреннее Front-end сообщество в Райффайзенбанке активно развивается, коллеги регулярно встречаются для обмена опытом и полезными полезными знаниями. Мы знаем, как важно общаться с людьми из других команд и проектов, иметь возможность спросить совета, обсуждать тольк...

Менеджер из Amazon об увольнениях в США и performance-оценке программистов Я продолжаю брать интервью у русскоязычных IT-специалистов из Кремниевой долины. На этот раз мне посчастливилось пообщаться с Денисом Давыденко, Software Developer Manager из Amazon. — Я учился на прикладной математике в Белорусском государственном университете и закончил е...

[Перевод] Подсчитываем коллективный интеллект Хабра (и любой другой организованности людей) Питер Хинченс (Pieter Hintjens), автор книги «Социальная Архитектура», на основе многолетнего опыта управлением open source сообществом предлагает свою систему оценки организованности. Коллективный Индекс Интеллекта или КИИ (CII) Я собираюсь предложить инструмент по изме...

Меня зовут в 3D живые обои 1.4 Большие обои для отображения вашего имени, фамилии или что вы хотите с удивительным 3D-эффектом шара. Инструкции: — Введите имя или имена, выбрав в главном экране (значок вверху слева) или выбрав «Редактировать текст» в меню настроек. — Выберите ваш любимый шр...

Развязываем игровой код с помощью паттерна Command, и дебажим, летая на машине времени Привет! Я пишу статьи, посвященные архитектуре в игровой разработке. В этой статье я хочу разобрать паттерн Команда (Command). Он многогранен, и может быть применен по-разному. Но я покажу, как сделать мой любимый трюк — машина времени для отладки изменений гейм стейта. Эта...

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

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

[Перевод] Всё простое опять стало сложным Это выступление состоялась 12 октября 2017 года на конференции Mirror Conf в Браге (Португалия) и ещё раз 9 февраля 2018 года на Awwwards Conference в Берлине. Этим летом после лекции на веб-конференции у меня состоялась увлекательная беседа с молодой студенткой, которая из...

Walmart будет создавать роботизированных пчел Мы уже неоднократно упоминали замечательный британский (а теперь уже американский) сериал «Черное зеркало», а также то, что многие идеи, заложенные в нем, пугающе часто находят воплощение в окружающей действительности. Не так давно мы писали о создании искусственных цветов...

7 ролей Тимоти Шаламе, новой молодой звезды Голливуда Ему всего 22 года, а он уже может стать самым молодым лауреатом «Оскара» за лучшую мужскую роль. Узнайте, где ещё снимался Тимоти Шаламе, звезда инди-хита «Зови меня своим именем».

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

Список нововведений в Android 9.0 P (Developer Preview 1) По последней инсайдерской информации, анонс Android P Developer Preview ожидался 14 марта, но поисковый гигант выпустил новую версию своей мобильной системы на неделю раньше. Как обычно, пока это безымянная операционная система, просто Android P без единого намёка на будущее...

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

Обзор CyWee AirMouse Z-03-S01. Многофункциональный пульт с функцией мышки и клавиатуры Современные технологии позволяют создавать удивительные решения, которые существенно облегчают жизнь человека. Специально для диванных пользователей ПК компания CyWee создала многофункциональный пульт, выполняющий функции мышки и клавиатуры. Встречайте, перед вами CyWee AirM...

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

Как написать генератор случайных чисел и можно ли предсказать Math.random? Вы когда-нибудь задумывались, как работает Math.random()? Что такое случайное число и как оно получается? А представьте вопрос на собеседовании — напишите свой генератор случайных чисел в пару строк кода. И так, что же это такое, случайность и возможно ли ее предсказать? ...

Кто такой программист? О времена, о нравы. Сегодня в Тостере увидел тему, в которой человек признавался, что работая java-разработчиком он знает алгебру и геометрию на уровне 6 класса и просил посоветовать учебники. Этот запрос несомненно вызывает уважение — человек хочет учиться. Начнём сначала....

React HoC в TypeScript. Типизация без боли Много раз, когда шла речь о переводе React-проектов на TypeScript, я часто слышал, что самую сильную боль вызывает создание HoC’ов (Higher-Order Components — компоненты-обертки). Сегодня я покажу приём, как делать это безболезненно и довольно легко. Данный приём будет поле...

Интернет вещей: от проектирования бэкенда до абсорбции энергии Умное всё, должно бы по идее избавить человека от всех забот, но пока, чтобы это всё могло поумнеть, разработчикам интернета вещей приходится очень много думать и решать самые разные задачи. Какие именно, обсуждали на InoThings++. Это была открытая конференция, поэтому з...

Xiaomi внедряет своего интеллектуального помощника Xiao Ai Новый виртуальный ассистент от Xiaomi получил название Xiao Ai. Этот виртуальный поселенец вашего смартфона будет конкурировать с Siri и Google Assistant. Однако, на данный момент смысла от него больше всего только лишь в Китае. В силу того, что здесь используется родной д...

Яндекс научил Алису вызывать Такси Разработчики Яндекса объявили о запуске новой функции в Яндекс.Такси. Голосовой помощник Яндекса Алиса теперь умеет заказывать такси через приложение Яндекс.Такси. Сделать это можно во всех регионах, где работает сервис. Для заказа достаточно надиктовать сообщени...

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

Дайджест интересных материалов для мобильного разработчика #238 (29 января — 4 февраля) В нашем новом дайджесте звук вокруг, обучение iOS и Android разработке, Ассистент Google в России, свой прогноз погоды и свой Prisma, UX, UI, машинное обучение и многое другое. Читать дальше →

Как мы адаптировали стек ELK для мониторинга и анализа ошибок на Java и .NET проектах Пациент приходит к врачу и жалуется на боль в животе. «Срочно на операцию! — отвечает врач. — Сейчас мы вас разрежем, покопаемся и постараемся зашить как было». Когда пользователи ругались на работу системы, называя программистов негодяями, мы поднимали журнал событий и смо...

[Питер] Встреча JUG.ru с Дмитрием Александровым — Java на GPU В среду, 11 апреля, в петербургском офисе компании T-Systems пройдет встреча JUG.ru с Дмитрием Александровым, Java Champion-ом, ведущим экспертом-программистом в T-Systems. Тема встречи — Java на GPU. Участие бесплатное, регистрация обязательная. Зарегистрироваться можно тут...

[recovery mode] Линкбилдинг для Bing — отличие от Google и важные нюансы SEO в англоязычном сегменте — это не только Google, особенно если ваши потенциальные клиенты живут в США. Несмотря на то, что в мире Google занимает более 80% рынка, в США его доля около 65%. Если вы хотите достучаться до сердец и кошельков граждан самой платежеспособной с...

Создатели CrossFire и Lost Ark представили первого персонажа своей новой MMORPG Epic7 В ноябре прошлого года Smilegate сообщили о получении прав на Epic7 – новую 2D MMORPG. Сейчас она находится в разработке и должна выйти позже в этом году. Разработчик же должен быть известен вам по популярному шутеру CrossFire и MMORPG Lost Ark. Epic7 – это пошаговая RPG с б...

Call of Duty: Black Ops 4 не получит сюжетную кампанию Шутер Call of Duty: Black Ops 4 не получит сюжетную кампанию. Об этом сообщает издание Polygon. Разработчики хотели сделать стандартную одиночную кампанию, но поняли, что не успеют закончить ее к релизу. Поэтому на старте игра предложит только мультиплеер и зомби-режим с коо...

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

Знаковый символ: iOS denial of service   В операционной системе iOS обнаружен необычный баг, приводящий к перезагрузке устройства. Достаточно прислать на iPhone специальный знак из алфавита индийского языка телугу జ్ఞా («знак»), после чего устройство автоматически перезагружается. Читать дальше →

Создаем CSS кейлоггер Часто бывает так, что внешние JS файлы выглядят как угроза для клиента, в то время как внешнему CSS не придают особого значения. Казалось бы, как CSS правила могут угрожать безопасности вашего приложения, и собирать логины? Если вы считаете что это невозможно, то пост будет ...

[Из песочницы] Использование Boost.Asio с Coroutines TS Введение Использование функций обратного вызова (callback) — популярный подход к построению сетевых приложений с использованием библиотеки Boost.Asio (и не только ее). Проблемой этого подхода является ухудшение читабельности и поддерживаемости кода при усложнении логики прот...

[recovery mode] Слушайте! 50 лучших подкастов для разработчиков Развиваться, узнавать о технологиях и быть в курсе последних подходов – для ITшника особенно важно. Читать книгу не всегда удобно, смотреть видео-обзоры любят не все и времени много занимает. Держите 50 IT-подкастов о технологических новинках в сфере ИБ, облачных технологи...

«Яндекс.Алиса» научилась заказывать такси Команда разработчиков «Яндекса» сообщила об очередных усовершенствованиях голосового ассистента «Алиса» и включении в состав AI-сервиса функции вызова такси посредством мобильного приложения «Яндекс.Такси». Теперь для вызова такси...

Анонс Moscow Kubernetes Online: мы собрали подводные камни k8s Всем привет! Хотим анонсировать панельную дискуссию, посвященную Kubernetes, которая пройдет 13 февраля в режиме онлайн на нашем youtube-канале. Эксперты из компаний Флант, Рокетбанк, Axept Global и, конечно, Avito соберутся вместе и обсудят те подводные камни Kubernetes, ко...

Соглашение между Google Voice и Sprint подходит к концу Служба Google Voice, предоставляющая пользователям США бесплатный номер телефона, который они могут использовать для звонков и сообщений на устройствах, отличных от смартфона, кардинально изменится уже летом. До недавних пор, у Sprint и Google была уникальная договор...

Игры, в которых нужно писать код (часть 2) Игры и программирование — этот симбиоз помогает новичкам освоить азы кодинга, а опытным разрабам — освежиться и отвлечься от трудных повседневных задач. Вроде бы и развлекаешься, но в то же время с пользой для мозгов. Предлагаем вам вторую часть подборки игр, в которых нужн...

Транскрипция географических названий в Open Street Map. Латвия, Литва, Польша, Эстония Привет всем, кто использует OSM. У каждого из нас свои задачи при работе с картами, однако одним из базовых функционалов конечно является поиск географических объектов, как минимум населенных пунктов, а так же рендеринг карт. Проблема в том, что значение тега name для узлов,...

Первый шаг к аппаратным ускорителям нейронных сетей для программистов лежит через изучение основ HDL, RTL и лаб на FPGA Казанский университет Иннополис в порядке эксперимента учит студентов-программистов разработке хардвера. Причем под разработкой хардвера имеется в виду не программирование микроконтроллеров внутри скажем роботов, а проектирование цифровых схем на уровне регистровых передач (...

Samsung сделала это специально? Конструкция Galaxy S9 такова, что Bixby вечно попадается под руку Меня всегда удивляло, неужели вендоры, выпуская гаджеты на рынок совсем их не тестируют? Ведь есть же менеджеры по продукту, которые вроде бы реально пользуются продвигаемыми гаджетами. Или только делают вид? ведь очень часто случается, когда тебе на тест дают девайс, а ты...

Балуемся с унарными операторами в Python >>> +--+_+-+_++_+--_+_-_+-+-+-___++++_+-_-+++_+-+_--++--_ 'ПРИВЕТ, ХАБР!' Что это было? Да, вы не ошиблись — это азбука Морзе с плюсиками вместо точек прямо в синтаксисе Питона! Если вы не понимаете, как это работает, или просто не прочь освежить свои знания в День...

Редактор TECO: EMACS, я твой отец Впервые про TECO я прочитал в пародийной статье Real Programmers Don't Use Pascal, написанной незадолго до моего рождения. Там было написано, что настоящие программисты не используют новомодные редакторы EMACS и VI: Нет, Настоящий Программист хочет редактор вида «Просил? Так...

[Из песочницы] Почему ранний возврат из функций так важен? Привет, Хабр! Представляю вашему вниманию перевод статьи «Why should you return early?» автора Szymon Krajewski В начале моего приключения в роли программиста мой код зачастую напоминал вермишель. В любых условных выражениях я только и делал, что сразу переходил к описани...

MathOps или математика в мониторинге То, о чем я хочу рассказать, началось 30 декабря 2010 года, когда компания Etsy выложила на GitHub первый коммит своей системы StatsD. Эта, сейчас уже, суперпопулярная система, написанная на JavaScript (хипстеры ликуют), в которую можно отправлять метрики, замеры исполнения ...

[Перевод] Почему "=" означает присваивание? Давайте посмотрим на следующий код: a = 1 a = a + 1 print(a) В среде ФП часто критикуют данный момент императивного программирования: «Как так может быть, что a = a + 1? Это всё равно что сказать „1 = 2“. В мутабельном присваивании нет смысла». Здесь мы наблюдаем несовпад...

[Перевод] Эксперимент с бинарным кодом в Glimmer Перевод статьи об эксперименте с бинарным кодом в Glimmer, соавторы публикации: Сара Клаттербак, Чад Хиетала и Том Дейл. Чуть более года назад Ember.js претерпел значительные изменения. В тесном сотрудничестве между инженерами LinkedIn и Open Source сообществом, мы заменили...

[Перевод] 20 модулей для Node.js, о которых полезно знать Филип Акерман, автор статьи, перевод которой мы сегодня публикуем, говорит, что в последние годы платформа Node.js становится всё популярнее и популярнее. Она часто используется для создания серверных частей веб-приложений, а также для решения других задач, возникающих в про...

[BugBounty] Раскрытие 5 миллионов ссылок в приватные чаты Telegram и возможность редактирования любой статьи telegra.ph   Вот уже больше года я пользуюсь мессенджером Telegram: это удобно и, насколько мне казалось, полностью конфиденциально. Так как я исследователь безопасности web-приложений, то должен был проверить соответствующую версию приложения на уязвимости. Я не видел в этом острой ...

FusionPBX, или снова-здорово, FreeSWITCH В ту же реку Относительно недавно я написал себе шпаргалку по настройке FreeSWITCH. Описанный там процесс настройки привел к работоспособной в тестовых условиях конфигурации. Тест был необходим для составления предварительного представления о том, с чем придется иметь дело п...

Трансдьюсеры в JS – так ли уж необходимы? Функциональный подход потихоньку-полегоньку проник почти во все современные языки программирования. Тогда как одни элементы оттуда, вроде монад («всего лишь моноид в категории эндофункторов, в чем проблема?») – очень спорные для мэйнстрима, другие – вроде преобразований map,...

FFMPEG. Загружаем часть видео с YouTube Иногда мы хотим поделиться с друзьями частью какого то видео на YouTube — время концентрации внимания в современной реальности снижено до предела, и если скидывать ссылку на ролик(даже с таймкодом начала) с комментарием «смотреть с 21:51 по 24:55» — велика вероятность, что ...

CleanTalk, запуск WordPress Security Занимаясь развитием Anti-Spam сервиса, мы достаточно часто сталкиваемся и с другими вопросами касающимися безопасности веб сайтов. Самыми распространенными были вопросы насчет брутфорс атак. Кроме проблем с подбором паролей к аккаунту администратора, зачастую брутфорс атаки ...

Не Dagger'ом едины В последнее время многим программистам очень понравилась библиотека для реализации внедрения зависимостей Dagger2. Хотя, как мне кажется, из-за неочевидной работы под капотом и большим семейством аннотаций Dagger долго заходил в комьюнити. И так получается что сейчас куда не...

Интервью с популяризатором космонавтики, программистом-баллистиком Антоном Громовым Серию интервью с докладчиками конференции DUMP продолжает разговор с Антоном Громовым — программистом-баллистиком в Dauria Aerospace, автором проекта «Море Ясности», постоянным ведущим трансляций запусков SpaceX, популяризатором космонавтики. Антон рассказал о программирован...

Google подвёл итоги трёх лет реализации «права на забвение» Прошло три года с тех пор, как в 2014 году Европейский суд подтвердил право пользователей быть забытыми поисковыми системами. В честь годовщины Google поделился статистикой о том, как обрабатываются запросы пользователей, которые хотят удалить информацию о себе из результато...

Обзор Digoo DG-FR100. Многофункциональный FM-радио будильник Вы часто опаздываете на работу из-за не сработавшего будильника? Вы хотите просыпаться под звуки любимой радиостанции? Кажется очередная новинка из поднебесной отлично подойдет для вас. Сегодня мы бы хотели представить вашему вниманию многофункциональный будильник Digoo DG-F...

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

[Перевод] Создание атмосферного викторианского города из модулей Майкл Эндрюс рассказал, как он использовал модульный подход при создании красивого фрагмента выдуманного города; интересная работа с освещением и архитектурой. Введение Привет, меня зовут Майкл Эндрюс. Мне двадцать лет, я студент из северного Нью-Джерси. Сейчас я учусь на ...

Vue.js + Asp.Net Core MVC + TypeScript и ещё Bootstrap4 По стандартному шаблону Asp.Net Core MVC в Visual Studio 2017 создаем новый проект, переводим его на четвертый Bootsrtrap, встраиваем туда модульное приложение Vue.js на TypeScript. Получаем простую, обозримую и легкую заготовку для создания своих веб-приложений на VS2017 с...

Apple выпустила вторую бета-версию iOS 11.4 для разработчиков Вчера Apple выпустила вторую бета-версию предстоящего обновления для iOS 11.4 для разработчиков, через две недели после выпуска первой бета-версии и через три недели после выпуска iOS 11.3 — крупного обновления, в котором появилось несколько новых функций. Зарегистриро...

Attention! S in Ethereum stands for Security. Part 3. Solidity in practice Представляем третью часть цикла, посвященного типичным уязвимостям, атакам и проблемным местам, присущим смарт-контрактам на языке Solidity, и платформе Ethereum в целом. Здесь поговорим о том, какими особенностями обладает Solidity и какими уязвимостями они могут обернутьс...

[Перевод] Rust: Знакомимся с языком на примере «Угадай-ки» Давайте познакомимся с Rust, поработав над маленьким проектом! Мы покажем основные концепты Rust на реальном примере. Вы узнаете о let, match, методах, ассоциированных функциях, подключении сторонних библиотек и много о чем другом. Мы реализуем классическую задачу: игра “уга...

[Перевод] Анонс Dart 2.0: Оптимизированный для клиентской разработки Сегодня мы анонсируем Dart 2, перезагрузку языка, которая более полно отражает наше видение Dart как уникально оптимизированного языка для клиентской разработки на Web и мобильных платформах. Dash — официальный маскот языка Читать дальше →

[Перевод] 4 совета по работе с Vue.js Вот несколько советов по работе с Vue.js которые я выработал за последний год. Используйте стрелочные функции в компонентах ES6 подарил нам новый способ объявления функций с удобным биндингом текущей области видимости. При использовании старого способа, this может ссылаться...

Обзор Fling Fighters. Сражения по сети Сейчас разработчики мобильных продуктов понимают, что им нужно делать не просто хорошие игры, а что-то такое, что может увлечь игрока на длительное время. Никто сейчас не хочет играть в стратегии в реальном времени, так как туда нужно вкладывать очень много своего свободного...

[Из песочницы] REST API Best Practices Привет, Хабр! Представляю вашему вниманию перевод статьи "REST API Best Practices" автора Krishna Srinivasan. REST становится общим подходом для представления сервисов окружающему миру. Причина его популярности заключается в его простоте, легкости использования, доступе чер...

Приложение Chatwatch следило за пользователями WhatsApp, но недолго Скандал с утечкой личных данных пользователей Facebook может получить новый виток, утянув за собой WhatsApp. Как выяснили разработчики студии DPO, популярный мессенджер также имеет «ниточки», потянув за которые можно получить актуальную информацию об активности других поль...

Глобальное освещение с использованием трассировки вокселей конусами В этой статье я расскажу о реализации одного из алгоритмов расчёта глобального (переотражённого / ambient) освещения, применяемого в некоторых играх и других продуктах, — Voxel Cone Tracing (VCT). Возможно, кто-то читал старенькую статью ([VCT]) 2011 года или смотрел видео. ...

Обзор Final Fantasy XV: Royal Edition – JRPG на пике формы Жанр JRPG всегда отпугивал одних и притягивал других. Чаще всего эти игры похожи друг на друга, а их разработчики не жалуют инновации, предпочитая выверенные до идеала формулы. Final Fantasy XV, однако, другая. Игра, находившаяся в разработке десять лет, получилась непохожей...

[Из песочницы] Как я парсил БД C-Tree, разработанную 34 года назад Прилетела мне недавно задача дополнить функционал одной довольно старой програмки (исходного кода программы нет). По сути нужно было просто сканить периодически БД, анализировать информацию и на основе этого совершать рассылки. Вся сложность оказалась в том, что приложение ...

[Перевод] Топ-10 ошибок из 1000+ JavaScript-проектов и рекомендации по их устранению В компании Rollbar, которая занимается созданием инструментов для работы с ошибками в программах, решили проанализировать базу из более чем 1000 проектов на JavaScript и найти в них ошибки, которые встречаются чаще всего. В результате они сформировали список из 10 наиболее ч...

Майк Херн: Bitcoin Cash повторяет главные ошибки биткоина Бывший разработчик Bitcoin Core и один из ранних пропагандистов биткоина Майк Херн прервал длительное молчание и провел сессию AMA («Спросите меня о чем угодно») на Reddit, ходе которой поделился своими мыслями о текущем положении дел в криптоиндустрии. В частности, он подве...

Yoink – кроссплатформенный карман для избранных файлов и папок С приложением Yoink для Mac мы познакомились в 2013-том году, когда пользователи и разработчики ещё не сходили с ума по методу Drag & Drop, как сейчас. Тогда редакция присудила приложению 9 баллов и выбрала его для решения проблемы по перетаскиванию часто используемых о...

Новая микроархитектура процессоров Intel: быстро, но не бесплатно Выявление аппаратных уязвимостей Spectre и Meltdown в процессорах Intel поставило перед архитекторами компании сложнейшую задачу – внести в микроархитектуру CPU изменения, обеспечивающие полную безопасность исполнения при сохранении и даже повышении производительности проц...

Книга «UNIX. Профессиональное программирование. 3-е изд.» Всем привет! Мы переиздали классический труд Уильяма Стивенсона и Стивена Раго с исправленными опечатками перевода в твердой обложке. Эта книга заслуженно пользуется популярностью у серьезных программистов во всем мире, поскольку содержит самую важную и практическую информ...

[Из песочницы] Немного о физике в почти Agar IO на aicups.ru В соревновании MiniAICup#2 Почти Agar IO надо управлять амёбами, есть еду и других амёб. Для реализации алгоритма управления амёбой напрашиваются потенциальные поля, но есть одно большое НО. Читать дальше →

Переход с AngularJS на Angular: цели, планы и правила переноса элементов (1/3) В январе мы в Skyeng закончили перевод нашей платформы Vimbox с AngularJS на Angular 4. За время подготовки и перехода у нас накопилось много записей, посвященных планированию, решению возникающих проблем и новым конвенциям работы, и мы решили поделиться ими в трех статьях ...

Обзор монитора Philips Brilliance B-line 272B7Q Для Philips потребительские товары только часть бизнеса. Мониторы в сегменте фирменной продукции занимают еще меньшую долю и, тем не менее, успешно конкурируют с решениями специализированных производителей. Мы не можем раскрыть секрет успеха компании, но с удовольствием расс...

Иногда ответ не «42» Доброй вам пятницы, хабралюди. У меня с друзьями есть такая традиция — мы собираемся и вместе программируем. Раньше у нас такая работа была, а сейчас уже просто традиция — кодобредогенерация. Мы выбрали несложную задачку и нарисовали решений кто во что горазд. Код будет ближ...

[Перевод] Не защищайте сайт от скрапинга: сопротивление бесполезно За последнее десятилетие я реализовал много проектов, связанных с агрегацией и анализом контента. Часто агрегация включает в себя снятие данных со сторонних сайтов, то есть скрапинг. Хотя я стараюсь избегать этого термина. Он превратился в некий ярлык, с которым связано мног...

Релиз YouTrack 2018.1: зависимые поля задач, персональная локализация и многое другое Всем привет! Мы выпустили новую версию системы управления проектами — YouTrack 2018.1 — и спешим поделиться с вами нововведениями. Читать дальше →

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

[Перевод] Этот SVG всегда показывает сегодняшнюю дату Для своей странички с контактными данными нужна была стандартная иконка календаря, чтобы люди просматривали мой ежедневник. Такие иконки почти всегда делают наподобие бумажного календаря. Но мне стало интересно, можно ли сделать календарь чуть полезнее, если добавить динамич...

Все материалы на данном сайте взяты из открытых источников или присланы посетителями сайта и предоставляются исключительно в ознакомительных целях. Права на материалы принадлежат их владельцам. Администрация сайта ответственности за содержание материала не несет. (Правообладателям)