Рубрика «Блог компании Luxoft» - 7

Добрый день, читатели !

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

В Москве в C# есть сложившийся рынок труда с уровнем сопротивления в 120-130.000 и условным потолком в 180.000 рублей. На этих уровнях достаточное предложение качественной рабочей силы при ограниченном количестве позиций. Скоро этот рынок будет перекроен из-за изменения курса доллара. Как быстро дойти до этих уровней и даже преодолеть их?

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

Механика неформального общения разработчиков C# на конференции
Читать полностью »

Давайте меняться ненужными книгами

Всем добрый день! Меня только что посетила мысль, что у меня находятся просто склады книг. Причем из них тех что использую — единицы. А остальные просто занимают место. Причем я не против обменяться с кем-нибудь своим «капиталом» на что-то интересное. И пока, может быть даже, не знаю, на что. Предлагаю устроить бартер:

  • Все в комментариях отписываются, какие книги они готовы отдать и город проживания.
  • Далее все в личной почте (чтобы не множить шум комментариев) списываются с авторами заитересовавших постов на предмет обмена на что-либо из вашего списка
  • Вы в личной почте договариваетесь о встрече и меняетесь
  • PROFIT!!

Ведь сейчас книги по IT иной раз стоят бешеных денег (стоимость за 1000 я считаю наглость… Но… что поделать). И обмен уже не нужной на хорошую и интересную книгу был бы как раз кстати для кого-то из нас. В комментариях и я отпишуть на счет своей коллекции.
Читать полностью »

Здесь я продемонстрирую возможность, которая по своей сути — самый настоящий хак. Вопрос, зачем это может понадобиться? На самом деле целей для этого может быть огромное множество. Итак наша задача — изменить код библиотеки mscorlib таким образом, чтобы все программы, которые ей пользуются, получили эти изменения. Не рантайм, конечно, а во время старта (для runtime необходимо проделать другие вещи, и тут надо оговориться что изменения эти не должны поломать текущие состояния библиотеки). Mscorlib я взял как пример, потому что она есть у всех на компьютере. Но можно хакать любую другую.

Все мы знаем, что для того, чтобы не было «ада dll», Microsoft помимо обычных версий и названия библиотек, дали возможность подписывать сборки ключом, public key которой гарантирует что конкретная сборка «пришла» от конкретного разработчика, а не от какого-то другого. Поэтому, если мы хотим по какой-то вполне добросовестной причине изменить код существующей библиотеки т.о., чтобы она загрузилась в чужой процесс и при этом ключик public key остался тем же, у нас этого не получится. Потому что мы не сможем ее подписать, у нас нет закрытого ключа.

Наша мини цель, чтобы программа вывела на консоль текст:

Изменение кода системных сборок или «утечка» .Net Framework 5.0

PS: это — исправленная версия старого кода
.
Читать полностью »

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

Реализация не зависит от конечной платформы (.Net/Java), т.к. написана на C++/Asm, однако пользовательский код сделан на C#, т.к. на нем пишу я.

image

Теперь, когда я наконец стабилизировал пример для 32-разрядных систем, набравшись храбрости, готов показать его общественности как полностью готовый. И, да, повторюсь: при адаптации будет работать на любой платформе

Читать полностью »

В рамках серии мастер-классов IT-гуру, которые организовывает Luxoft Training, предлагаем познакомиться с переводом статьи Якова Файна «Losing Polymorphism with Java Lambda Expressions».

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

ДИНО ЭСПОЗИТО

Читать полностью »

В четверг, 7 августа, в 20:00 в петербургском офисе компании Luxoft пройдёт встреча JUG.ru с Антоном Архиповым, специалистом по модификации байткода, разработчиком и менеджером продуктов JRebel и XRebel в компании ZeroTurnaround. Встреча будет состоять из двух частей: до перерыва мы поговорим о загрузчиках классов, а после перерыва — об инструментации байткода.

Участие в данном мероприятии является бесплатным, но необходимо зарегистрироваться на jugru.timepad.ru/event/135787/

1. Загрузчики классов в Java: коллекция граблей

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

В этом докладе будут рассмотрены основные положения в механизме загрузки классов, а так же разобраны основные проблемы возникающие в приложениях из-за особенностей поведения загрузчиков. Будут рассмотрены причины возникновения типичных ошибок ClassNoDefFoundError, IncompatibleClassChangeError, LinkageError, и др, а так же способы диагностики и пути к решению этих ошибок.

Доклад подразумевает интерактив и вовлечённое участие аудитории.

2. Java-агенты, Instrumentation API и Javassist

Пакет java.lang.instrument был добавлен в Java уже давно, в версии 1.5. На простых примера рассмотрим основные возможности Instrumentation API и поговорим о том, как и для чего можно сделать своего Java-агента. Картинка была бы неполной без упоминания инструментов для манипуляций с байткодом — для этого мы посмотрим на возможности Javassist и увидим, что с этим со всем можно сделать.

Антон Архипов — разработчик и менеджер продуктов JRebel и XRebel в эстонской компании ZeroTurnaround. Профессионально занимается разработкой на Java около десяти лет. Основные интересы связаны с языками программирования и средствами разработки ПО. Регулярно выступает на международных конференциях — за спиной выступления на таких конференциях как JAX, JavaOne, GeeCON, Jfokus, JavaZone, EclipseCon.

Место проведения
Петербургский офис компании Luxoft:
Бизнес-центр «Осень», Свердловская наб., дом 44, литера Я
Читать полностью »

3 и 5 июня прошел мастер-класс в онлайн-формате «Java EE: Архитектура, шаблоны и решения» Адама Бина.

Адам Бин – Java Champion, Top Java Ambassador и JavaOne Rock Star – предложил аудитории практикум по проектированию архитектуры Java-приложений масштаба предприятия.

Адам Бин показал, как проектировать архитектуру Java-приложений масштаба предприятия и кластеров приложений.
Слушателям было предложено поработать с исходным кодом программы и принять участие в обсуждении краеугольных понятий, необходимых для того, чтобы научиться проектировать сопровождаемые системы.

В ходе мастер-класса был написан код для самых интересных частей решения. Читать полностью »

Project Demonstration, Sprint Demo, Sprint Review, Iteration Increment Show – мы все знакомы с различными названиями одного и того же процессного события фреймворка Scrum. Цель этих встреч состоит в том, что бы показать заинтересованным лицам и владельцам бюджета проекта всё, что команда сделала в конце итерации. Все мы знаем, насколько важна эта встреча и насколько, в теории, это просто – всего лишь собрать всех и показать, что вы сделали.
Ниже опыт реального проекта. Мы рассмотрим основные проблемы, а затем акцентируем внимание на аспектах эффективной подготовки и успешной демонстрации результатов спринта.
Читать полностью »

Очередное мероприятие серии Soft Labs пройдёт в субботу 28 июня и будет посвящено автоматизации и управлению тестированием. Так как летом мотивация провести выходной день перед монитором резко снижается, мы решили сделать эту конференцию короче (но не в ущерб качеству материала и остроте дискуссий).

Мы хотели бы представить вашему вниманию три истории, основанные на собственном опыте решения сложных задач. Один доклад для специалистов начального уровня, один, который будет полезен всем, и одно выступление для продвинутых мастеров:
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js