Учитывая что в Уфе зима приближается решительными марш-бросками, почему бы не поехать в конце октября на конференцию, куда-нибудь, где +20, и хоть немного, напоследок перед зимой, увидеть солнышко? Сказано-сделано: посмотрел конференции, сравнил докладчиков, посмотрел где еще есть early-bird access цены — и забронировал.
В этом году мы с коллегой разделились, и поехали на Agile Greece и Agile Turkey, дабы сравнить мероприятия, ну и рассказать что интересного было на каждой из них. Неоспоримы плюс Agile Turkey в этом году был открывающий доклад от Дейва Сноудена (создателя фреймворка cynefin, о которой вскользь писали на хабре). Обычно на подобных конференциях после докладов, спикеров облепляют заинтересованные, и свои вопросы задать и подискутировать не получается, что и было моим опасением, так как спросить надо было много.
Конференция и организация
Agile Turkey Summit проходит уже не первый год, в отеле Wyndham Grand Levent в Стамбуле (в активно строящемся небоскребно-деловом районе Maslak). Продолжается мероприятие всего 1 день (выпавший в этом году на 19 октября), хотя мастер-классы и воркшопы прошли еще 18-го числа. 4-й конференц-этаж отеля явно неспособен принять ~800 посетителей, что особенно очевидно, когда всех пытаются накормить.
На собеседованиях мне довольно часто попадались вопросы про вложенные классы. Поэтому я решил разобраться в них, систематизировать свои знания, а заодно и поделиться этими знаниями с вами.
Вложенный класс (InnerClass)
public class OuterClass {
public class InnerClass{
}
}
Из него видны:
— все (даже private) свойства и методы OuterClassа обычные и статические.
— public и protected свойства и методы родителя OuterClassа обычные и статические. То есть те, которые видны в OuterClassе.
Его видно:
— согласно модификатору доступа.
Может наследовать:
— обычные классы.
— такие же внутренние классы в OuterClassе и его предках.
Может быть наследован:
— таким же внутренним классом в OuterClassе и его наследниках.
Может имплементировать интерфейс
Может содержать:
— только обычные свойства и методы (не статические).
Создаётся из другого класса так:
OuterClass outerClass = new OuterClass();
OuterClass.InnerClass innerClass = outerClass.new InnerClass();
70 тысяч звездочек на гитхабе и сотни интересных проектов. Кажется, что D3 это что-то большое и очень сложное, но это не так. Я расскажу об основах D3 и поделюсь опытом разработки инфографики Бюростат.
Привет, Хабр! Сегодня мой рассказ пойдёт о техническом опыте проведения ICO на платформе Ethereum перед и во время ICO. Я поучаствовал пока в небольшом количестве проектов, но уже успел собрать некоторый технический бэкграунд. Могу поспорить, технический roadmap по проведению ICO аудитории Хабра будет интересен. Прошу под кат всех заинтересованных.
«Тестирование можно использовать для того, чтобы доказать наличие ошибок в программе, и никогда — для того чтобы доказать их отсутствие!»
Эдсгер Дейкстра
Тестирование — это прикладная, стандартизированная, инженерная практика, которая применима в большинстве отраслей человеческой жизни. Тестирование, как философия, метрика или практика, существует намного дольше, чем программирование. К примеру, мы выковали меч. Чтобы проверить достаточно ли острым он получился, его испытывают. В некоторые эпохи даже на живом человеке, скажем, рабе.
Тестирование — это проверка работоспособности программы, предмета или любой промышленной разработки. Как и в любом деле, здесь есть свои тонкости и своя философия. Она, наверное, ближе тестировщикам, которые на произведенные нами вещи смотрят деструктивно — они с самого начала думают о том, как сломать предложенный разработчиками продукт. Это не очень типично для пользователей, которые более предсказуемы и обычно находят ошибки, случайно пытаясь сделать с нашей программой что-то нетипичное. У разработчиков подход к программам в принципе другой, но мы должны помнить: тестировщики должны ломать то, что мы создали — это их хлеб. Читать дальше ->
За пять дней, с 24 по 28 июля 2017 года, я прошел собеседования в LinkedIn, Salesforce Einstein, Google, Airbnb и Facebook; все пять компаний предложили мне работу. Это был замечательный опыт и я понимаю, как мне повезло, что мои усилия оправдали себя, поэтому решил написать об этом. Здесь я расскажу о том, как готовился к собеседованиям, как они проходили и какое впечатление произвели на меня компании.
Как все началось
Я отработал в Groupon почти три года. Это моя первая работа, там были и прекрасные люди, и отличные проекты. Мы делали всякие интересные штуки, вводили перемены внутри компании, публиковали материалы и все в таком духе. Но со временем я стал ощущать, что темп моего самообразования стал затухать (попросту говоря, замедляться), мне не хватало пищи для ума. К тому же, как и всякого разработчика ПО из Чикаго, меня тянуло в Область залива Сан-Франциско — ведь там столько известных компаний.
Жизнь коротка, а профессиональная жизнь еще короче. Обговорив все с женой и заручившись ее полной поддержкой, я решил сделать решительный шаг и в первый раз в жизни поменять работу. Читать дальше ->
Настало время поделиться новостями программы конференции ZeroNights. Мы расскажем о каждом докладе, который можно будет послушать на ZN, предстоящих мастер-классах, конкурсах, а также представим нововведение этого года — Web Village (наконец-то).
Несколько дней назад мы в компании BitClave прочли о недавнем инциденте с мультиподписными кошельками компании Parity Technologies, решили пригляделся к коду их смарт-контракта. Свежий пост в блоге компании Zeppelin Solutions детально описывает произошедший инцидент с технической стороны, поэтому мы хотели бы в нашей статье больше сфокусироваться на принципах проектирования смарт-контрактов.
Привет! Меня зовут Аркадий, я тимлид в компании Badoo. Сегодня я расскажу вам о том, как за одни выходные мы сделали предложение о работе восьми мобильным разработчикам. И снова приглашу вас поучаствовать в нашем рекрутинговом мероприятии, по итогам которого лучших Android- и iOS-разработчиков мы заберём работать в лондонский офис Badoo.
Сегодня публикуем третью часть из серии материалов, посвящённой разработке приложения Budget Manager с использованием Node.js, Vue.js и MongoDB. В первой и второй частях мы создавали сервер, настраивали механизмы аутентификации и занимались обустройством фронтенда. В этом материале продолжим работать над клиентской и серверной частями системы. То, что уже создано, пока почти не касается логики самого приложения, которое предназначено для работы с финансовыми документами. Поэтому, кроме прочего, мы займёмся и этим аспектом проекта.
В DataGrip, как и в других наших IDE с поддержкой баз данных, есть механизм экспорта данных. Пользователь выбирает формат экспорта из предложенных или создает его сам.
Привет, Хабр! Сегодня мы поговорим с вами о цифровой трансформации (digital transformation), том самом buzzword, про который все говорят, но никто не знает как это делать. Это первая статья из цикла, в которой будет больше теории. Под катом вы узнаете о том, чем трансформация отличается от автоматизации на примере бизнеса бабушки, найдёте топ-10 кейсов от Microsoft, а также расскажем немного о новой программе Tech Acceleration.
В этой статье хочется поделится с вами настройкой девелоперского окружения под разработку скриптов на Python и запуск их в изолированном окружении, практически за пару кликов в редакторе VS Code.
В качестве изолированного окружения будет рассмотрена первичная настройка и создание контейнера на базе LXC под управлением ОС Ubuntu 17.10. Почему не Docker? Сложно ответить, выдать какие-то аргументы. От части концепция виртуализации ОС субъективно ближе по духу, чем виртуализация процессов, но принцип который здесь будет изложен, с некоторыми поправками, подойдет к запуску кода в Docker-контейнерах.
Что вы получите?
Научитесь запускать в один клик python-скрипты в контейнере, а также удаленный debug из VS Code
Узнаете как установить LXD, настроить сеть и запустить первый контейнер
Ознакомитесь с установкой и настройкой редактора исходного кода VS Code, набором расширений которые позволят комфортно писать и отлаживать код.
Чего здесь не будет?
Не будет полного обзора LXC/LXD, вам придется самостоятельно найти дополнительную информацию о Linux-контейнерах.
Не будет рассмотрен python модуль virtualenv для создания виртуального окружения на хосте разработчика как альтернатива контейнерам.
Не будет сравнения в духе Docker vs LXD, выводы вы сделаете самостоятельно на основании вашего опыта.
Месяц назад вышла первая часть большого интервью с Анатолием Абрамовичем Шалыто, профессором, доктором технических наук, заведующим кафедрой Технологий Программирования Университета ИТМО, лауреатом премии Правительства России в области образования.
Вашему вниманию — вторая часть этого интервью. Вот, о чем мы поговорили:
что нужно сделать, чтобы выпускники оставались работать в своем ВУЗе;
как изменить модель финансирования образования;
как чемпионов-олимпиадников пытались забрать в научные роты;
стоимости лабораторных мышей;
направлении биоинформатики в Университете ИТМО;
лекции Олега Тинькова перед студентами;
отношении к Анатолию Абрамовичу среди его выпускников.
Микросервисная архитектура благодаря точно определённым границам сервисов позволяет изолировать сбои. Однако, как и в любой распределённой системе, здесь выше вероятность проблем на уровне сети, оборудования или приложений. Как следствие зависимости сервисов, любой компонент может оказаться временно недоступен для пользователей. Чтобы минимизировать влияние частичных сбоев, нам нужно построить устойчивые к ним сервисы, которые могут корректно реагировать на определённые типы проблем.
В этой статье представлены самые распространённые методики и архитектурные шаблоны для построения и оперирования высокодоступной микросервисной системой. Читать дальше ->
Здравствуйте, меня зовут Дмитрий Карловский. Недавно я оказался при смерти и понял как сильно я люблю Жизнь. Это идеальная игра для социопатов, где вы выступаете в роли бога, своею дланью единоправно решающего кому жить, кому умереть, а кому фаллоформировать. Новая клетка появляется как результат соития трёх других однополых соседей и умирает будучи затоптанной толпой из более чем трёх, оставшись наедине с собой или в компании всего одного. Кто бы мог подумать, что столь простые законы породят настолько огромное разнообразие игрового опыта, что играть в Жизнь будут и спустя 50 лет после их формулировки.
Если вы ещё не работали со $mol, то перед чтением рекомендуется прочитать более дружелюбное к новичкам руководство "$mol_app_calc: вечеринка электронных таблиц". А если его уже осилили, то далее вы узнаете:
Как работать с бесконечным жизненным полем.
Как рисовать быструю векторную графику.
Как в $mol легко и просто соединить управление пальцем и рисование графики.
Всё биткоин-сообщество с некоторым опасением ожидало проведения хардфорка в течение этого месяца. Цель хардфорка — использовать преимущества нового протокола Segwit2x в обновлённой инфраструктуре биткоина. Этот протокол позволяет избавиться от ряда существующих проблем, например, увеличить производительность сети. Сейчас она ограничена рядом правил работы блокчейна биткоина.
Неожиданно авторы проекта хардфорка отказались от своих намерений, решив не проводить его для увеличения размера блока. Основная причина — далеко не все представители блокчейн сферы считают нужным проводить хардфорк именно так, как его запланировали разработчики Segwit2x. Это расхождение во взглядах повлияло на то, что даже те игроки рынка, которые поддерживали форк, приветствовали его отмену. В их числе Xapo, Bitmain, Bloq, Blockchain, Shapeshift и ряд других организаций. Читать дальше ->
Количество материалов по блокчейну просто зашкаливает: онлайн-курсы, вебинары по ICO, новые криптовалюты, инвестиции и многое другое. В этом разобраться сложно даже тому, кто пытался майнить на домашних тачках в середине десятых. А новичкам-разработчикам проще отвернуться, чем начать работать в этом направлении.
В сентябре Binary District в Digital October запустил собственный курс Blockchain Developer, направленный исключительно на разработчиков. Инсайдеры утверждают, что это серьезный, даже суровый интенсив, дающий неплохие результаты. Мы решили проверить. Подробности проверки – под катом
В своей предыдущей статье я обещал рассказать, свой способ работы с прямоугольниками. Разрабатывая OneLine, я написал несколько расширений класса Rect, заметно упрощающих работу с GUI. Сейчас я выделил их в отдельную библиотеку: RectEx.
Мне казалось, что поисковики давно победили black hat тактики с помощью машинного обучения и других мощных технологий. Сети дорвеев если и остались, то только где-то на обочине интернета, в маргинальных тематиках типа казино или контента для взрослых.
Но недавно я наткнулся сразу на целую кучу спамных сайтов, которые собирают миллионы посетителей из Яндекса, легко побеждают качественные и авторитетные проекты даже в белых нишах.