Pull to refresh
0

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

Send message

Java-дайджест за 13 апреля

Reading time4 min
Views6.5K


  • Системе контроля версий Git исполнилось 15 лет.
  • Testcontainers исполнилось целых пять лет! Testcontainers — это Java-библиотека, позволяющая делать легкие одноразовые экземпляры популярных баз данных, веб-браузеров Selenium, или чего угодно ещё, что можно запустить в Docker-контейнере.
  • Вышел долгожданный Spring Graal Native 0.6.0. Вот здесь на GitHub есть огромное количество примеров использования вместе с разными технологиями, например, Kotlin и Netty.

Читать дальше →
Total votes 23: ↑22 and ↓1+26
Comments1

Поддержка Buildpacks в Spring Boot 2.3.0

Reading time7 min
Views7.3K
Пару дней назад вышел релиз Spring Boot 2.3.0.M1, в описании которого первой строкой упоминается поддержка проекта Cloud Native Buildpacks, являющегося попыткой упростить жизнь разработчика, позволяя максимально автоматизировать сборку образов из исходных кодов. Так как на моем текущем проекте нашим микросервисам предстоит жить в контейнерах, решил попробовать его и разобраться в чем преимущества. Короткое продолжение под катом.
Читать дальше →
Total votes 15: ↑15 and ↓0+15
Comments12

Письмо начинающему изучать Data Science

Reading time2 min
Views63K

Я бы хотел получить такое письмо три года назад, когда только начинал изучать Data Science (DS). Чтобы там были необходимые ссылки на полезные материалы. Статья не претендует на полноту охвата необъятной области DS. Однако для начинающего специалиста будет полезна.


Нейронные сети – это...

Читать дальше →
Total votes 51: ↑34 and ↓17+28
Comments21

Java-дайджест за 27 декабря

Reading time5 min
Views6.1K


  • Рон Пресслер собрал и выложил новый «официальный» прототип Project Loom (файберы для Java). В качестве основы используется JDK 14. Скачать можно здесь, прочитать анонc можно здесь. Люди потихоньку начинают втягиваться в тему, и на GitHub уже лежит несколько проектов, использующих Loom: Loom Date Server, Fibry (реализация акторов с поддержкой файберов), RxJavaFiberInterop (мост между RxJava 3 и Loom), и пара примеров использования Loom (раз, два). На всякий случай напоминаю, что Рон есть на Reddit, временами он пишет туда анонсы и оставляет хорошие развернутые комментарии.


  • InfernoPlus опубликовали видео про то, как сделали фанатскую игру в жанре Battle Royale про Super Mario, которая неожиданно хайпанула. На бэке там были Java + Tomcat. Конец истории: авторам позвонили из Nintendo и пообещали засудить, из-за чего игрушку пришлось убить.

Читать дальше →
Total votes 25: ↑24 and ↓1+30
Comments4

Архитектор ПО: зачем он нужен и в чём его проклятие

Reading time4 min
Views20K
Гость нового выпуска подкаста «Сушите вёсла» — архитектор программного обеспечения Егор Тафланиди. Обсуждаем, что это за метафизическая роль такая, какие сложности есть в работе и при чём тут тёмные силы.

image

Артём Кулаков и Рома Чорыев — разработчики Redmadrobot. Они записывают ламповые подкасты, где вместе с гостями обсуждают разные стороны создания ИТ-продуктов. Ниже ссылка на новый выпуск и ответы на несколько насущных вопросов.

Total votes 12: ↑11 and ↓1+13
Comments3

Инстанцирование в Python

Reading time4 min
Views39K

Допустим, у вас есть класс Foo :


class Foo(object):
    def __init__(self, x, y=0):
        self.x = x
        self.y = y

Что происходит, когда вы создаёте его объект?


f = Foo(1, y=2)

Какой метод вызывается первым при этом вызове Foo? Большинство новичков, да и, возможно, немало опытных питонистов тут же ответят: «метод __init__». Но если внимательно приглядеться к сниппетам выше, вскоре станет понятно, что такой ответ неверен.


__init__  не возвращает никакого результата, а Foo(1, y=2), напротив, возвращает экземпляр класса. К тому же __init__ принимает self в качестве первого параметра, чего не происходит при вызове Foo(1, y=2). Создание экземпляра происходит немного сложнее, о чём мы и поговорим в этой статье.

Читать дальше →
Total votes 34: ↑34 and ↓0+34
Comments2

Как не слить 10 миллионов бюджета вашего заказчика, играясь с Agile

Reading time6 min
Views17K
В этом посте я расскажу о тех проблемах с которыми в течении года сталкивалась наша Scrum Front End команда при работе над приличным проектом. Мы начинали разрабатывать проект с нуля используя стек технологий React + Typescript. Оглядываясь назад я вижу многие миллионы выброшенные впустую просто из-за того, что процесс разработки не был поставлен с самого начала правильно. Но на это есть свои причины.
Читать дальше →
Total votes 42: ↑36 and ↓6+30
Comments27

10+ англоязычных новостных СМИ для изучающих язык

Reading time6 min
Views142K
Чтение новостей на английском — самый естественный и верный способ продвинуться в языке. Для тех, кому интересны конкретные издания или сайты, Puzzle English подготовил подборку британских и американских газет, которые помогут вам в изучении языка.

image
Total votes 16: ↑15 and ↓1+14
Comments13

Eclair — Java Spring библиотека декларативного логирования

Reading time10 min
Views12K


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

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

Об одеяле и особенностях решения — далее.
Читать дальше →
Total votes 37: ↑34 and ↓3+31
Comments18

Научите меня проводить собеседования

Reading time4 min
Views41K
Так получилось, что за многолетнюю карьеру в IT я провел более 200 собеседований, нанял и вырастил большое количество профессионалов от инженеров по тестированию до архитекторов и менеджеров. Мне часто приходится давать советы по проведению собеседований своим сотрудникам, поэтому я решил обобщить свой опыт и заметки. В результате родилась статья, которую вы читаете.

В ней нет золотого грааля, как нужно нанимать лучших сотрудников, только здравый подход к проведению собеседований. Скорее всего статья будет полезна тем, кто только начинает собеседовать людей. Однако, принесет пользу и остальным, чтобы посмотреть со стороны на свой подход к проведению собеседований.
Читать дальше →
Total votes 60: ↑57 and ↓3+54
Comments263

Кто кого учит? Разница между глаголами teach, study и learn

Reading time4 min
Views20K
«Да ладно, teach — это от teacher, а study — это от student!» — говорят студенты, после чего добавляют: «By the way, I studied 2 new words today!» и… ошибаются. Может, с глаголом teach и правда все понятно. Но в чем же разница между study и learn?

image
Читать дальше →
Total votes 29: ↑26 and ↓3+23
Comments6

Google's Shell Style Guide (на русском)

Reading time14 min
Views22K

Предисловие


Какой Shell использовать


Bash единственный язык shell скриптов, который разрешается использовать для исполняемых файлов.


Скрипты должны начинаться с #!/bin/bash с минимальным набором флагов. Используйте set для установки shell опций, что бы вызов вашего скрипта как bash <script_name> не нарушил его функциональности.


Ограничение всех shell скриптов до bash, дает нам согласованный shell язык, который установлен на всех наших машинах.


Единственное исключение составляет если вы ограничены условиями того под что вы программируете. Одним из примеров могут стать пакеты Solaris SVR4, для которых требуется использование обычного Bourne shell для любых скриптов.


Когда использовать Shell


Shell следует использовать только для небольших утилит или простых скрптов-оберток.


Хотя shell-скриптинг не является языком разработки, он используется для написания различных утилит во всем Google. Это руководство по стилю является скорее признанием его использования, а не предложением использовать его в широком применении.

Читать дальше →
Total votes 31: ↑30 and ↓1+29
Comments10

Пол Грэм: как делить доли в стартапе

Reading time4 min
Views12K
image

Июль 2007

Инвестор готов дать вам деньги за некий процент вашего стартапа. Соглашаться? Вы вот-вот наймете своего первого сотрудника. Сколько акций ему пообещать?

Это одни из тех сложных вопросов, которые встают перед основателями. Но на это есть ответ:

1/(1 — n)

На что бы вы ни собирались обменять акции вашей компании, будь то наличные, или сотрудники, или акции другой компании — формула та же. Вам следует менять n процентов вашей компании в том случае, если в итоге оставшиеся у вас (100 — n)% больше, чем стоила компания до обмена.

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

В общем, если n является той частью компании, которой вы жертвуете, сделка будет хорошей в том случае, если стоимость компании будет больше чем 1/(1 — n).
Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments7

Генерируем уровни для игры с помощью нейросетей

Reading time12 min
Views17K

Предисловие


За последние несколько лет прогресс в области искусственного интеллекта привёл к созданию методов машинного обучения на основе обучения представлениям (representation-learning) с несколькими слоями абстракции — так называемому «глубокому обучению». Общественное и медийное внимание было привлечено к этой области исследований благодаря древнекитайской настольной игре го. Несмотря на то, что сложность го часто сравнивают со сложностью самой жизни, программе AlphaGo, использующей глубокое обучение с подкреплением (deep reinforcement learning), удалось превзойти мирового чемпиона по го Ли Седоля. Удивительно, что исследования ИИ были использованы в играх и получили такое широкое общественное внимание. Стоит также заметить, что один из разработчиков AlphaGo, Демис Хассабис, был ведущим программистом Theme Park (1994 год) и ведущим программистом ИИ Black & White (2001 год). Игры и современный прогресс ИИ, возможно, имеют некую корреляцию.

Эта статья является постмортемом, отчётом о попытке нашей команды реализации генерирования уровней для Fantasy Raiders с помощью различных методов искусственных нейронных сетей. Раньше генерирование уровней было процессом кодирования знаний разработчика игры с помощью неких вероятностных техник. Однако для Fantasy Raiders мы написали программу, которая могла учиться и генерировать уровни на основании наших данных. Как нам кажется, в результате мы получили всего лишь ключ к решению задачи генерирования уровней, а не общее решение. Чтобы поделиться нашими открытиями с другими разработчиками игр мы хотим подробно рассказать о процессе наших исследований, от начала до конца.
Читать дальше →
Total votes 24: ↑23 and ↓1+22
Comments2

Ловкость рук и никакого мошенничества: практические советы по ускоренному обучению дизайну для разработчиков

Reading time6 min
Views52K
Улучшаем дизайн проекта с помощью тактически грамотных действий, а не таланта.

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

Возможно, в компании, в которой вы работаете, нет штатного дизайнера, и вам необходимо реализовать интерфейс для нового функционала. Или, может быть, вы решили подработать на побочном проекте, и хотели бы, чтобы он выглядел лучше, чем «ещё один bootstrap-сайт».

Легко опустить руки и сказать: «Я никогда не смогу сделать это должным образом, я не художник!», Но, оказывается, есть уйма ловких приёмов, которые вы сможете использовать, чтобы поднять свою работу на другой уровень, не имея опыта в графическом дизайне.

Под катом семь простых идей, которые вы сможете использовать для улучшения своих проектов.

1. Для создания иерархии используем цвет и вес вместо размера



Читать дальше →
Total votes 68: ↑67 and ↓1+66
Comments28

How-to: смена основного домена в G Suite для всей компании и с сохранением всех данных

Reading time8 min
Views9.8K


Появилась необходимость сменить основной домен компании в G Suite с .ru на .com с сохранением всех данных, календарей, псевдонимов и доступов на сторонние ресурсы. Информации о переезде в интернете не очень много, а точнее, кроме справки самого Google, вообще ничего не нашлось, что и стало причиной создания этого how-to. Будет полезно, если кто-то решит повторить подобное.

Дело в том, что изначально в компании использовался домен pixonic.ru. Затем был добавлен псевдоним pixonic.com, но везде по умолчанию стояла почта в зоне .ru. А так как многие сотрудники компании ведут переписку с зарубежными коллегами и клиентами, было желание использовать международный формат. Для этого им приходилось заходить в настройки аккаунта, самостоятельно менять основной почтовый адрес и приводить подпись в соответствие с корпоративным шаблоном. Не все это делали (или делали, но через раз) и можно представить, какой беспорядок и путаница творились в ветках сообщений. Для внешних партнеров это выглядело еще менее презентабельно из-за разных подписей.

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

В конце статьи есть ссылка на весь скрипт, поэтому в тексте будут лишь его куски.
Читать дальше →
Total votes 29: ↑27 and ↓2+25
Comments11

Защита ваших приложений Xamarin с помощью Dotfuscator

Reading time7 min
Views8.9K
Это перевод рассказа Джо Сьюэлла, разработчика из команды Dotfuscator на PreEmptiveSolutions.

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

Теперь разработчики Xamarin имеют доступ к защите того же типа по всем основным семействам мобильных устройств, от Android и iOS до Universal Windows (UWP). Инструмент для работы называется Dotfuscator, версия Community Edition которого доступна в Visual Studio.

Сегодня мы рассмотрим, как обфускация может защитить приложение Xamarin. Android от обратной разработки, и как вы сможете применить ту же защиту для ваших собственных приложений Xamarin всего за несколько простых шагов.
Читать дальше →
Total votes 13: ↑10 and ↓3+7
Comments4

Как я бесплатно продвигал свою игру через YouTube

Reading time6 min
Views20K
Привет, Хабр. Я думаю было бы хорошо для начала представится. Меня зовут Новичков Андрей, сам я родом из Украины (город Киев), на момент написания статьи мне 21, живу в небольшой однушке с девушкой и маленьким котенком. Сам интерес к играм у меня появился в 5 лет, когда мой отец принес домой приставку Dendy. Моей первой игрой стала Марио. Именно этот усатый итальянец лишил меня игровой девственности и открыл мир видеоигр. Я настолько был потрясен и вдохновлен играми, что мог пять минут рассматривать декорации на уровне или слушать начальную песню в меню игры. Когда мне было 13 лет, наша семья купила первый компьютер и тут я просто потерял голову. Это был новый уровень. Я с восхищением смотрел на всё это и понимал, что эти игры создают такие же люди, как и я. Тогда чем я хуже? Поэтому, мои 13 лет стали отправной точкой в геймдев. Я чувствовал, что хочу попасть в это движение.
Читать дальше →
Total votes 47: ↑31 and ↓16+15
Comments32

Bloomberg: как акция Илона Маска по продаже огнеметов изменит финансирование стартапов

Reading time2 min
Views14K
image

The Boring Company Илона Маска выручила $10 млн от продажи огнеметов за пять дней. Акция была задумана для привлечения финансирования основного проекта компании по созданию подземных автомобильных тоннелей. Аналитик Bloomberg Мэтт Левин Bloomberg считает, что подобный подход может задать новый тренд в области финансирования стартапов. Мы представляем вашему вниманию адаптированную версию его заметки.
Читать дальше →
Total votes 43: ↑28 and ↓15+13
Comments22

Information

Rating
Does not participate
Date of birth
Registered
Activity