• Безумие дотфайлов
    +3

    А какой ад творится в Android. Там каждое второе приложение считает необходимым создать свою директорию в $HOME

  • Новый чип от Applied Micro готов потягаться с Intel Xeon
    +3

    C вами много денег не заработаешь

  • Сможет ли Питон прожевать миллион запросов в секунду?
    +5
    какого-нибудь реального REST-сервиса

    На реальном REST-сервисе можно проверит скорость работы БД, никак не языка.

  • Сможет ли Питон прожевать миллион запросов в секунду?
    0

    del

  • Создание кроссплатформенных приложений с помощью React Native
    +3

    Как раз только закончил свой первый проект на RN. Опыт разработки под android — 5 лет, web — практически 0, ios — 0. Первыя неделя ушла на акклиматизацию, RN + redux сначала вызывали много WTF per minute, потом дело пошло очень даже продуктивно. Сейчас могу сказать, что писать на RN приятнее чем нативно под android. Понятно, что есть свои подводные камни, пока еще мало компонентов и библиотек, некоторые простые вещи делаются сложно, и т.п. Но, если вспомнить про тот же activity/fragment lifecycle… Вообщем, желаю RN удачи, развития, порабощение мира мобильной разработки. Впечатление осталось очень положительное.

  • Как не писать лишнего. Без магии
    0

    С maven какая то странная бюрократия — нужно создать тикет в jira, описать библиотеку, они подумают, примут. Не то чтобы для меня это критично, просто сейчас Jeta развивается только на моих собственных проектах и jcenter меня пока устраивает. Если будет интерес со стороны сообщества и потребность в maven, тогда я заморочусь.

  • Как не писать лишнего. Без магии
    0

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

  • Еще один велосипед для борьбы с callback hell в JavaScript
    0

    Да, точно. Мне аж больно за коллег стало.

  • Еще один велосипед для борьбы с callback hell в JavaScript
    –1

    Я не фронтендщик, возможно чего-то не понимаю, но разве IE 2 может в ajax? Мы же тут про async говорим… Опять же, имеет ли такое значение скорость javascript-а, когда у нас тут асинхронный запрос на сервер?

  • Еще один велосипед для борьбы с callback hell в JavaScript
    +10

    Не пойму, почему немного не потерпеть пока async/await пойдет в масссы а пока пересидеть на babel?

  • NoSQL – коротко о главном
    +2

    Черт! Пошел выпиливать монгу. А так все радужно начаналось.

  • Зачем все эти «плюшки»: Что вам предложат ИТ-компании помимо зарплаты
    +6

    Я бы добавил тихий, уютный офис. Пункт 8. Тишина, это чего мне особенно не хватает на текущем месте.

  • Релиз Python 3.6 — да, теперь он с нами
    +1

    А еще order-preserving aspect на который мы should not be relied upon ;)

  • Может ли компания с десятками тысяч сотрудников быть Agile: опыт МТС
    +5

    Столько пафоса… Было бы намного интересней читать, если бы я не был клиентом МТС...

  • Релиз Python 3.6 — да, теперь он с нами
    +16

    Спасибо, учтем!

  • Релиз Python 3.6 — да, теперь он с нами
    0

    Новогодний торт.

  • Как не писать лишнего
    +1

    Я и не думал заманить Вас одной лишь возможностью писать


    @Log 
    Logger logger

    вместо


    private final Logger logger = LoggerFactory.getLogger(LogSample.class);

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

  • Как не писать лишнего
    0
    невозможность модификации своих классов

    Зачем вы хотите чтобы что-то модифицировалло чего-то в ваших исходниках? Почему вы не делаете это руками? Похоже на какой то boiler-plate code, который вы не хотите видить в своих исходниках. Тогда Jeta это то, о чем вы всегда мечтали.


    … надо будет руками вызвать у него apply, передав туда наш LogSample и еще какой-то провайдер...

    Один раз вы пишите провайдер. Один раз, в базовом класе, вы вызываете LogController, передаете туда this и забываете.


    ...private final

    Это да. Некоторые программисты только так и живут.


    … у вас она видит с опозданием ровно на один билд.

    Вам вообще не будет дела что и как там генерится. В вашем коде только аннотации. Остальное — забота библиотеки.

  • Как не писать лишнего
    0
    куда он складывается? очевидно в стороне от сорсов, и в репозиторий не чекинится?

    Зависит от apt plugin-а, как правило ./build/generated/source/apt/, в статье это есть.


    в какой момент он отрабатывает и сетиит логгер?

    Когда вы вызываете соответствующий контроллер.


    они в рантайме будут вымолнять свой рефлекшен.

    Никакого рефлекшена. Контроллер обращается в репозиторий (что по сути является HashMap), получает Metacode, и вызывает соответствующий метод.


    чтобы не лезть в документацию

    Иногда нужно просто взять и залесть в документацию.

  • Как не писать лишнего
    +1

    Базовое отличие в том, что lombok меняет синтаксическое дерево, т.е. hacking, т.е. happy debugging…
    AST — это интерфес, реализация зависит от jdk, Поэтому у людей и вознитают вопросы типа таких, таких, или таких, и т.д.
    Jeta не делает никакой магии. Только генерирует исходиники. А вы их вызываете… когда и как вам необходимо

  • 13 перспективных языков программирования
    0

    image

  • Gogland: Новая Go IDE от JetBrains
    +23

    Говорят, на других шрифтах не компилируется.

  • Gogland: Новая Go IDE от JetBrains
    +9
    Если у вас есть идеи названия, присылайте их нам!

    Go IDE. Не благодарите.

  • История одного плагина
    +1
    В основном reddit, github. Активность на https://github.com/neovim/neovim. То же количесто звезд — 21К у неовим против 8К у вим. Такие монстры как Shougo переписыват свои плагины под nvim.

    сорри, промазал окошком) это ответ на вопрос выше

  • История одного плагина
    0
    Зависимость от Vim8 — это фейл. Большинство давно уехало на Neovim.
  • История одного плагина
    0
    VimScript не самый лучший язык, префиксы переменных и функций главный wtf per minute, но писать плагины и тем более конфиги на нем в полне можно. А вот elisp для меня, это какое то безумие. Везде эти скобки, какие то названия типа setq, конструкции типа (+ 1 2). Скажу честно, дальше бездумного копи-паста я не осилил.
  • Идеальный программист. Часть 1
    +1
    Если бы… И что вообще тут мудрого? То, что программисты должны писать код без ошибок — это вообще наиглупейшая мысль. Человек не может держать в голове все логику среднего+ проекта.
    Извиняться перед тестировщиками… Какому мудрецу это вообще могло в голову прийти? Извиняться за то, что нормально? Их профессия, как результат понимания того, что в текущих реалиях без ошибок никак.
    Вы же понимаете, что если я до передачи задачи в QA, проверю все возможные тест-кейсы, то после меня эти же кейсы (как минимум) проверят они? Вам не кажется, что это нерационально?
    Про стопроцентное покрывание тестами я уже написал, это гиганская работа. По опыту, на написание тестов уходит столько же времения (а то и больше), как на саму фичу.
    К тому же, автотесты — не панацея. Как по мне, то они вообще не для этого. Они для того, чтобы программист мог спокойно рефакторить проект. И быстро находить, где и чего он поломал.
    Я считаю, мудрый ПМ — это человек, который всегда держит в голове то, что ошибки будут. И выстраивает рабочий процесс, отталкиваясь от этого. Не летает в облаках, не надеется на удачу, не думает, что он сможет заставить программиста писать без ошибок.
    Не хочу писать слишком большой комментарий. А так, тут поле не паханное, извините, подобного бреда.
  • Идеальный программист. Часть 1
    +5
    Как будто мой ПМ писал. Работай больше, проси меньше. Ошибок в коде быть не должно, тестировщики не для этого там сидят. Учись сам, в свободное время, компания не обязана это оплачивать. Проблемы начальства — твои проблемы, твои проблемы — твои проблемы. Ты должен всем, не, серьезно, всем! Тебе никто и ничего.

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

    Этот человек хоть один автотест написал? Он знает на сколько это трудоемкая задача?

    Вообщем, Вы извините, но статья жуткая «вода». Местами уровня папблика вконтакте.
  • Dagger 2. Лечим зависимости по методике Google
    0
    Вы путаете DI скопы с контекстами андроида.
  • Dagger 2. Лечим зависимости по методике Google
    0
    Спасибо за диалог) я думаю хватит. Если будут вопросы по библиотеке, ответы должны быть на сайте. Удачи с любой DI!
  • Dagger 2. Лечим зависимости по методике Google
    0
    Честно, я особо не знаком с dagger1. Отказался от него на фазе research. Как минимум, тут тоже нужно перечислять все классы которые я собираюсь инжектить. И для меня критично использование рефлекшена, обратного я не говорил. Ну и кончено, мысль от том что гугл собрался переписать этот фреймфорк намекала что с ним не все хорошо)
  • Dagger 2. Лечим зависимости по методике Google
    0
    замокать модуль

    Если у Вас только тестовый модуль то вы конечно можете замокать. У меня проект где провайдеры могут быть заменены не только в тестах но и в расширениях (вся логика приложения находится в библиотеки (aar), а уже на ее основе создаются приложения(apk))

    Так сразу видно что куда инжектится, понятен скоуп зависимостей и вот это всё.

    что если вам нужно проинжектить класс с разными скопами?

    Не понятно для какой области проекта будет использован

    Тут все описано. Скоп можно указать как аргумент аннотации @MetaEntity(ext = RestManager.class, scope=AppScope.class), а можно указать дефолтный в настройках.

    что если у TestRestManager есть параметры, про которые DI не знает?

    Простите, о каких параметрах речь?

    для меня это библиотека для DI, наиболее натурально встраивающаяся в язык

    На самом деле рад что Вас все устраивает. Как в анекдоте, «Если все работает — #%& трогать»
  • Dagger 2. Лечим зависимости по методике Google
    0
    Я не согласен с тем что зависимости легко подменять, по крайней мере в версии 1.0. Мне приходилось оборачивать все провайдеры в отдельный класс и передовать его (или подменять тестовым) в модуль:

    @Module
    public class RestModule {
        protected final RestModuleProviders providers;
    
        public RestModule(RestModuleProviders providers) {
            this.providers = providers;
        }
    
        @Provides
        RestManager provideRestManager() {
            return providers.provideRestManager();
        }
    }
    


    Как это делается в Jeta:

    @MetaEntity(ext = RestManager.class)
    class TestRestManager extends RestManager {
        //...
    }
    


    И вы меня простите конечно, но о каком удобвстве можно говорить, когда вам предлагают писать inject(MyThousandthClass c) для каждого класса где вы используете инжекцию?

    В остальном в Jeta DI все соблюдено, никакой мета-магии, все классы сгенерированны, читаемы и легко дебажатся. По возможности все ошибки проверяются в compile-time, и все зависимости, провайдеры и скопы определяются там же.
  • Dagger 2. Лечим зависимости по методике Google
    0
    Вообще, когда мы говорим о рефлекшене в DI, я думаю мы подразумеваем нахождение элементов с аннотаций @Inject используя Java Reflection API, не Class.forName(). Потом, ClassForNameMetasitory не основной класс библиотеки, скорее на всякий случай, в документации его нет. Тем не менее, основной класс-metasitory — MapMetasitory, но он тоже использует c Class.forName(). Но, если вопрос принципиальный, то можно и это обойти просто создав сгенерированный MapMetasitoryContainer как в статье создается DaggerAppComponent.
    Хотя, при всей моей не любви в рефлекции, я не вижу ничего плохого в вызове Class.forName(), тем более один раз при старте.
  • Dagger 2. Лечим зависимости по методике Google
    0
    Около года ждал Dagger2. Когда вышел релиз, с радостью начал выпиливать Roboguice и переводить проекты на даггер. Чем дальше шло дело, тем сильнее я чесал затылок. Для лучшей библиотеки по инжекции все настраивается крайне топорно. Писать inject(Xyz) для каждого(!) класса. Из коробки нельзя подменить провайдера (в тестах например), только через костыли. Обращение к сгенерированному коду. Все уже не вспомню.

    Поэтому я решил написать свой DI фреймфорк (http://jeta.brooth.org/guide/inject.html) с покером и без рефлекции. И таки написал. Все работает, расширяется и удобно. Теперь чешу затылок, или я чего не понимаю или они.
  • Вышел релиз Ubuntu 16.04 LTS — Snap, OpenStack и другие нововведения. Возможны проблемы с видеокартами AMD
    0
    Если вы про подсветку экрана, в Windows 10 изменения применялись только после перезагругки. В Ubuntu нормально работает и через горячие клавиши и через настройки.
    Подсветка клавиатуры автоматически включается и там и там. Уровень к сожалению менять не пробовал. Сейчас уже обновился на 16.04 и тут подсветка клавиатуры автоматически включается на максимум, и не регулируется. Еще, по иронии, сломался спящий режим.
  • Вышел релиз Ubuntu 16.04 LTS — Snap, OpenStack и другие нововведения. Возможны проблемы с видеокартами AMD
    +1
    Samsung ATIV-8. Обновился на 10ку,
    -не работает регулировка подсветки экрана
    -глюк тачпада, не отпускат секунду после drag&drop
    -из сна выходит дольше чем стартует
    -тихий звук на максимуме
    перепробовал все драйвера из Самсунг апдейт, не помогло
    Установил убунту 15.10 и все работает. Из сна выходит < 1сек
  • Развертывание стека Django на Ubuntu в облаке Microsoft Azure
    –1
    В Microsoft-е можно пользоваться хромом? )