• Apple вчера выпустила новые iPad, и к ним есть вопросы
    +3
    А можно быть глупым и не богатым и пойти за покупками на Ebay или Авито.
    Собственно об этом в статье и говорится. Мол подобный подход к названиям и упаковкам открывает дополнительные возможности для мошенников на различных торговых площадках.
  • Apple вчера выпустила новые iPad, и к ним есть вопросы
    +23
    Вам кажется. Не стоит недооценивать человеческую глупость.
  • ВКонтакте вычисляет ваше местоположение по IP
    +32
    <sarcasm> Ну да. Facebook такими вещами точно заниматься не будет. </sarcasm>
  • Без политики. Как навсегда преобразить уличные протесты с помощью мобильного приложения?
    +1
    Думаю, перед началом разработки, стоит провести исследование того как все это будет слышаться.
    Собрать человек 10 в одном месте, расставить их на расстоянии 1,5-2 метра и включить общий звуковой файл через AmpMe. Возможно стоит повторить с использованием Bluetooth колонок и немного большим расстоянием между участниками (от 5 метров)
    На что следует обратить при этом внимание:
    1) Для постороннего наблюдателя звук не должен превращаться в кашу
    2) Большое количество источников звука с крошечным рассинхроном(а он будет из за разных положений источников звука) не должно давит на слух и мозг
    3) Возможно, рассинхрон источников звука будет приводить к Speech Jammer эффекту и мешать произносить речевки участникам группы.
  • Книга «Алгоритмы и структуры данных. Извлечение информации на языке Java»
    +3
    Код взят из отрывка предоставленного в конце статьи.
    public int compareTo(Integer anotherInteger) {
        int thisVal + this.value;
        int anotherVal + anotherInteger.value;
        return (thisVal<anotherVal ? -1 : 
        (thisVal==anotherVal ? 0 : 1));
    }

    Подскажите, пожалуйста, в какой вселенной этот код скомпилируется? Я так понял, тут вместо знаков "=" стоят знаки "+". И судя по одзывам на Амазоне так во всей книге.
  • 18 новых IT-специальностей которые появились из-за криптовалют
    +3
    Кто-нибудь, объясните мне разницу между этими двумя позициями.
    2. Cryptocurrency Analyst
    5. Analyst (Cryptocurrency)
  • Это Спарта
    0
    Что забавно, некоторые пользователи действительно не могут здраво осмысли собственную проблему и понять, что им на самом деле надо. И хотят они совершенно не того.
  • Советы по чистому коду новичкам в Java/Android
    0
    DSolodukhin, IDE не единственное место где люди работают с кодом. Например, ни GitHub, ни BitBucket не умеют отделять локальные переменные от приватных переменных объекта.
  • Реализация выдвижного меню NavigationDrawer при помощи DrawerLayout, с использованием произвольной разметки
    0
    Если getActivit() возвращает null, значит вы либо не вовремя к ней обращаетесь, либо уже поздно.

    На счет того, что «использование обычной view выходит проще» не соглашусь. В моем примере все сделано в одном xml у вас же еще куча дополнительных классов.

    Аргумент про «чуть меньше ресурсов» тоже весьма спорный. Если уж так хочется экономить ресурсы, советую начать использовать FrameLayout вместо RelativeLayout. Как раз сэкономит ресурсы, что-бы для фрагментов хватило.
  • Реализация выдвижного меню NavigationDrawer при помощи DrawerLayout, с использованием произвольной разметки
    0
    Похоже на велосипед. Не вижу здесь ни какой проблемы. Почему бы просто не использовать фрагменты?
    Пример xml разметки
    <android.support.v4.widget.DrawerLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/drawer_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    
        <FrameLayout
            android:id="@+id/content_frame"
            android:layout_width="match_parent"
            android:layout_height="match_parent"/>
        
        <fragment
            android:id="@+id/left_drawer"
            android:layout_width="300dp"
            android:layout_height="match_parent"
            android:layout_gravity="start"
            android:name="com.package.SlidingMenuFragment"/>
    
    </android.support.v4.widget.DrawerLayout>
  • Эффект Медичи или можно ли скрестить персик и дыню или Windows и iOs
    0
    Тут не соглашусь. есть физический ограничитель. такой нож не поместится в руке обычного человека.
    В качестве аргумента приведу отрывок из книги Генриха Альтшулера «Найти идею. Введение в ТРИЗ – теорию решения изобретательских задач»
    Задача 1.3
    В книге В. Губарева «Космическая трилогия» приведены слова одного из конструкторов спускаемого аппарата станции «Венера-8»: «Каждый грамм веса и кубический сантиметр пространства внутри “шарика” использованы рационально. Могу заверить, что вам не удалось бы “впихнуть” туда даже спичечный коробок. Такого плотного монтажа я не встречал ни в одной конструкции»[5 — Губарев В. Космическая трилогия. – М.: Молодая гвардия, 1973. – С. 203.].
    Предположим, возникла необходимость «впихнуть» в «шарик» не спичечный коробок, а прибор весом в 6 кг. Как вы думаете, удалось бы «впихнуть» прибор или нет? Если нет – почему? Если да – каким образом?



    Обратимся к статье научного обозревателя «Правды» В. Губарева «100 минут среди тайн». Речь идет о станции «Венера-12».

    «Был в спускаемом аппарате центровочный груз. Да и как обойтись без него, если необходимо, чтобы “шарик” занимал строго определенное положение в пространстве?»[7 — Правда. – 1978, 22 дек.]

    Идеальный центровочный груз – когда груза нет, а функции его по совместительству выполняет какой-то другой объект. В виде общего правила это сформулировано еще в 1956 г. в первой же печатной работе по ТРИЗ: «…на данную систему дополнительно переносятся функции другой системы, за счет устранения которой появляется возможность увеличить вес первой системы» (Альтшуллер Г.С., Шапиро Р.Б. Психология изобретательского творчества // Вопросы психологии, № 6, 1956. – С. 37–39). В статье В. Губарева рассказывалось: однажды к конструкторам пришел ученый из Института геохимии и аналитической химии и попросил разместить на «Венере-12» еще один прибор весом в 6 кг. «Взрыв смеха. Это уже слишком – предлагать такое… О каком приборе может идти речь, если аппарат уже сделан и каждый грамм веса рассчитан?» Ученый настаивал: надо разместить прибор. Идея пришла неожиданно: снять центровочный груз. Прибор выполнял свои функции и одновременно играл роль груза…

    (Теперь самое время вернуться к задаче 1.3. Сформулирована она вполне конкретно: если конструктор сказал, что свободного места нет даже для спичечного коробка, значит – свободного места нет. В условиях не упоминается, что в «шарике» был балласт – центровочный груз. Но для решения задачи в общем виде это не имеет значения. Идеальный прибор – когда прибора нет, а функции его выполняются. В этом смысле нет предела плотности монтажа: теоретически в один и тот же объем можно «впихнуть» неограниченное количество приборов…)

    Использование прибора в качестве конструктивного элемента (например, центровочного груза) – это прием, азбучный для ТРИЗ. Если этот прием оказался «неожиданным», наверняка он не был применен в более тонких и не столь очевидных случаях. К тому же это всего-навсего один прием – капля в океане смелых и неожиданных идей современной теории решения изобретательских задач.

    Я говорю про несоответствие таких скрещиваний принятым нормам в обществе. в моем обществе такая форма одежда неприемлема.
    Какая разница какие нормы приняты в обществе? Если вы считаете себя изобретателем, отчасти вы и задаете эти самые нормы. За примерами далеко ходить не нужно, над Стивом Джобсом смеялись когда он продвигал идею персонального компьютера. Общество тогда и представить не могло такого.
  • Эффект Медичи или можно ли скрестить персик и дыню или Windows и iOs
    +1
    В случае с ножом все до банальности просто – он не помещается в руку, а значит смысла в нем нет.
    То что у вас это не получилось не значит, что подобное невозможно. Возможно вы просто не компетентны в данном вопросе, либо нужны знания из области в которой вы не являетесь специалистом.

    Смысла в пересечении Windows и iOs, Mailchimp и MailGun, Ubera и Gett попросту нет. У них одинаковые потребительские характеристики. Ничего принципиально нового от такого соития мы не получим. В лучшем случае что-то точно такое же.
    Принципиально нового, например спиннер, из этого может и не получится, но если учесть все их недостатки и достоинства, на выходе может получиться достаточно востребованный продукт.

    «нельзя скрещивать атомные ядра одних частиц с другими ядрами или элементарными частицами. Последствием взаимодействия может стать деление ядра и испускание новых элементарных частиц. Кинетическая энергия вновь образованных частиц может быть гораздо выше первоначальной»
    Может подобный результат и является целью скрещивания? Тогда получается можно. И что значит нельзя носить носки со шлепками? Скажите это японцам. У них для этого даже специальные носки есть, Таби называются.

    PS: У вас первая ссылка ведет на какой-то лохотрон, а не на видео.
  • Антипаттерны для поиска соискателей
    0
    Каждый хороший программист проходит через «Синдром патернизации всего и вся». Даже если сейчас он их не знает, рано или поздно он все равно заинтересуется паттернами. Так что чем раньше он этим переболеет тем лучше.
  • Антипаттерны для поиска соискателей
    +1
    «Зачем вообще специально учить паттерны?»
    Знать названия паттернов нужно как минимум для общения с коллегами. Причем все знать не обязательно, достаточно помнить самые часто используемые. Их можно по пальцам пересчитать.

    «Зачем мне знать название для решения, которое я сам спокойно придумал и прекрасно осведомлен о его плюсах и минусах?»
    Можете ли вы быть на 100% уверенным, что ваше решение не будет антипаттерном? Сколько времени вы потратите на поиск собственного решения?

    Вообще такое мнение, как ваше, говорит лишь об отсутствии стремления к саморазвитию. Такие люди довольствуются знаниями полученными в процессе работы ну и изредка из прочитанных статей. Вы вот например когда последний раз книгу по своей профессии читали и какая это была книга?
  • Google Play и 2K установок в сутки без денежных вложений (+ статистика и доходы)
    +5
    Это не совсем так. Бан можно получить только за поощрение положительных оценок. Автор же предлагает поощрять за сам факт того, что пользователь поставил оценку, даже если она была негативной.
    Пруф: Центр правил для разработчиков: Рейтинги, отзывы и количество установок
  • Антипаттерны для поиска соискателей
    +2
    Тут я с вами частично согласен. Но данный подход применим к программистам уровня Senior+ или Guru. И если уж вы дали такое задание, вы должны четко понимать для чего вам это нужно. Так же неплохо было бы дать это понять и соискателю.
    В большинстве же случаев, в этом нет необходимости. Иной раз доходит до смешного. Одному моему другу, Java разработчику, дали бумажное задание на Паскале! Что еще более забавно, через месяц, когда он уже нашел себе работу, ему позвонили и сказали, что он прошел на второй тур.
  • Антипаттерны для поиска соискателей
    +2
    На самом деле, любой вопрос который вы задаете могли спросить уже вчера. Тут просто нужно более грамотно подходить к процессу, и если задается вопрос про патерны/технологии/утилиты то стоит в догонку распросить и про недавние случаи их применения.
  • Антипаттерны для поиска соискателей
    +2
    Чуть не забыл. На любом собеседовании обязательно нужно спросить про паттерны. И попросить реализовать синглтон. Наверное, нужно было поставить это первым пунктом.
    Чего плохого в том, что бы спросить про паттерны? На моей практике были случаи когда кандидат просил зарплату в 100к рублей, при этом не мог назвать ни одного паттерна, кроме синглтона.
  • Как я перешёл из системного администрирования в Android-разработку
    +5
    Помимо видео уроков StartAndroid есть еще и сайт http://startandroid.ru с уроками в текстовом виде.
    Как по мне, так уроки на сайте StartAndroid будут по лучше чем блог Александра Климова. По крайней мере так было когда я только начинал изучать Android.
  • Повороты экрана в Android без боли
    0
    Сейчас пересмотрел код еще раз и заметил, что при наследовании от BaseViewModel вы не определяете новый CREATOR. В таком случае, получается, у вас из Parselable должен восстановиться объект BaseViewModel а не ViewModel. Да и не видно работы с Parcel в самой ViewModel. Это так задумано или ошибка по недосмотру?
  • Повороты экрана в Android без боли
    0
    Если что, в EditText текст сохраняется и без чьей либо помощи. Это уже по умолчанию зашито в самой Activity.
  • Повороты экрана в Android без боли
    +4
    Интересная проблема выискивается после того, как мы откроем другую активити и вернемся назад, а все введенные данные останутся, ибо при открытии и возврате не вызывается метод onCreate.
    Не вижу ни какой проблемы. При возвращении в предыдущую Activity она, в большинстве случаев, должна сохранять свое состояние.
  • Повороты экрана в Android без боли
    +1
    setRetainInstance(true) не избавляет вас от обязанности сохранять состояние, так как на не помогает в случаях когда Activity была уничтожена и затем восстановлена. Я вообще советую никогда эту опцию не использовать. Разве только в редких случаях, когда восстановление View крайне дорогая операция.
  • Упрощение локализации в iOS
    +1
    Могу предложить свое решение: LocoLaser: переводим приложения в Google Sheets
    Работает с Android и iOS. Ресурсы находятся в гугл таблицах. Умеет генерировать Swift и Obj-C классы. Есть плагин для Gradle.
  • Упрощение локализации в iOS
    0
    Если какой-то компонент нужен вам в коде, вы делаете на него аутлет. И это нормально.
    В статье описана ситуация с надписями которые не меняются в процессе работы программы. Тянуть ссылки на них в код, только чтобы поставить текст, мне кажется немного топорным решением.
  • Упрощение локализации в iOS
    0
    Возможно вам стоит взглянуть вот на этот подход: Удобная локализация iOS приложений в Interface Builder
    Это та самая «первая» статья из двух за месяц. В ней я рассказал как можно избавится от аутлетов.
  • Упрощение локализации в iOS
    0
    Как по мне, так отдавать переводчикам JSON — неблагодарное дело. Обязательно что-то поломают. Код-ревью в этом случае выглядит как костыль.
    Также, замечу, тема локализации Storyboard не раскрыта. Или вы готовите еще одну статью?
  • Упрощение локализации в iOS
    0
    Работа со строками в iOS сделана таким образом, что невозможно иметь общую строковую базу на несколько платформ и не городить при этом велосипедов. Очевидно, вы разрабатываете только под iOS и не сталкивались с этой проблемой.

    PS: хотел третью статью написать. Но видимо придется повременить. :)
  • Упрощение локализации в iOS
    0
    Не приведет ли такое количество констант к увеличению времени запуска приложения?
  • Натив или гибрид? Специалисты Яндекса отвечают на главный вопрос мобильной разработки
    0
    Так ведь в Facebook сейчас React Native используют. Разве это не разновидность кроссплатформенной разработки?
  • ИП и IT: вечный спор о главном
    0
    Если выгодно переходить от ООО к ИП, зачем тогда в этом же году закрывать ИП?
  • ИП и IT: вечный спор о главном
    +1
    За последние пару лет различие между открытыми и закрытыми ИП просто колоссальное. При этом общее количество предпринимателей не сокращается. Получается, большинство и закрытых — это сезонники. Открывают ИП в начале сезона и закрывают по окончанию.
  • Удобная локализация iOS приложений в Interface Builder
    0
    Допустим у меня приложение переведено на 20 языков. Мой storyboard использует локализацию в разметке. Мне нужно подвинуть одну кнопочку на одном из ViewController. Мои действия?
  • Удобная локализация iOS приложений в Interface Builder
    0
    Я понимаю к чему вы клоните. Однако, описанный вами способ требует использования специальных инструментов. Будет замечательно если вы приведете ссылки на эти инструменты. Думаю, все скажут вам спасибо.
  • Удобная локализация iOS приложений в Interface Builder
    0
    «Перевод storyboard в режиме отображения несет в себе кучу проблем.» каких например?
    Тем что у вас на каждый язык своя разметка и их всех нужно редактировать независимо друг от друга.
  • Удобная локализация iOS приложений в Interface Builder
    0
    Перевод storyboard в режиме отображения несет в себе кучу проблем. Его нужно использовать только в крайних случаях, когда для какого либо языка нужно использовать немного иную разметку.

    Мало того. В этом случае вам придется копировать каждый язык вручную. И быть внимательным, что бы не перепутать языки.
  • Удобная локализация iOS приложений в Interface Builder
    0
    Ответ на ваш вопрос находится в первом абзаце главы «Суть проблемы».

    Если вкратце, то вы не можете закрепить перевод за какой-то конкретной View. Если вы ее переместите, перевод не переместится. Например, у вас на storyboard был ViewController и вы решили хранить его в отдельном XIB файле. Вы создаете отдельный XIB, перемещаете туда ViewController, но переводы не перемещаются. Мало того, для каждой View создастся новый идентификатор и вам придется подгонять идентификаторы строк вручную. Просто так скопировать переводы не получится.
  • Удобная локализация iOS приложений в Interface Builder
    0
    Да, именно так. Однако, если текст статичный, лучше не выносить его в код.

    Естественно, для локализации, описанным в статье способом, строки должны храниться в Localizable.strings как и в случае с программной локализацией. Все это по тому, что локализация, фактически, осуществляется программно. Она лишь скрыта таким образом, что создается ощущение редактирования обычных свойств в Interface Builder.
  • Удобная локализация iOS приложений в Interface Builder
    0
    Хм. Как же я такое мог упустить! Спасибо за совет.
  • Как я создаю базу данных для своих приложений
    0
    В order by указывается индекс колонки из выборки, порядок колонок из базы тут имеет значение только при выборке всех колонок через звездочку.
    менять позиции колонок — бомба замедленного действия.
    работать с индексами а не с именами — бомба замедленного действия.