• Еще 9 хитростей для работы с Visual Studio

    • Translation
    Совсем недавно мы рассказывали о 18 хитростях для работы с Visual Studio. Сегодня мы отобрали еще 9 советов, которые помогут увеличить продуктивность вашей работы с инструментом.

    1. Хотите вернуться к последней отредактированной строке кода? Попробуйте сочетание клавиш Ctrl+Shift+Bkspce, чтобы перейти к последнему месту редактирования.

    2. Легко перемещайте указатель инструкций (желтая стрелка) во время отладки при помощи Set Next Statement.

    image
    Читать дальше →
  • RxJS: реактивное расширение для фронтенд разработки

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

      Итак, прошу любить и жаловать, Виктор Русакович. Родом из Минска, работает в компании GP Software.travel.
      Виктор последние пять лет занимается (в основном) фронт-енд разработкой. Ну а начинал, как и большинство из нас, с jQuery.

      Потом был backbone, angular v1. Последние полгода он работает в проекте на Redux/React.js (часто их путают с RxJS, но это немного другое).


      Читать дальше →
    • Книги, которые должен прочитать Java программист: от новичка до профессионала

      • Translation

      Книги, которые должен прочитать Java программист: от новичка до профессионала


      [Примечание переводчика: термины градации «профессионализма» оставлены англоязычные в связи с трудностью их адекватного перевода на русский и несовпадением с привычными Junior-Middle-Senior-Lead. Перевод достаточно вольный — если знаний языка хватает, то лучше читать оригинал, как и советует автор. Оба языка для меня не родные, так что про ошибки сообщайте в личку — исправим. Здесь и далее в квадратных скобках примечания переводчика]

      Я заметил, что в последние месяцы я рекомендую одни и те же книги как новичкам, так и опытным разработчикам. Поэтому я решил составить список этих книг. Они составили мне неплохую компанию в процессе моего роста от новичка до сегодняшнего уровня (какой-бы он не был :) )
      Читать дальше →
    • Эй, НАСА, а черные дыры таки существуют!

      • Translation
      «Моя цель проста: полностью разобраться в устройстве Вселенной и понять, почему она такая и зачем она существует».
      Стивен Хокинг

      От переводчика. А ты, хабражитель, заметил, что тема космоса становится всё популярнее? Curiosity покоряет Марс, Virgin Galactic продает билеты на суборбитальные космические полеты, а Китай стал третьей страной, добравшейся до Луны. На самом деле, еще большие изменения происходят в космической теории. В этой статье с Medium речь пойдет о том, как изменилось представление ученых о черных дырах за последние пару лет. Я не физик, поэтому в переводе не исключены ляпы — пишите в личку или подробно (чтобы всем было понятно и интересно) в комментариях. Заранее большое спасибо и приятного чтения!
      (Претензии на тему jpeg/png отправлять автору статьи.)

      Читать дальше →
    • Андроид: [DirectoryBind] Простой способ связать внешнюю sd карту и внутреннюю память, чтобы освободить место

        Сразу оговорюсь, что речь пойдет не о программах типа link2sd. Принцип похож, но связывать мы будем не программные каталоги, а каталоги данных этих программ, например /sdcard2/Navigon -> /sdcard/Navigon или /mnt/extSdCard/Books -> /sdcard/Books и т.д.
        Кроме того, нам нужен рут (куда ж без него). Кстати, после того как я узнал про эту программу, это для меня очередной аргумент за root.

        Многие владельцы андроид смартфонов или таблеток с небольшей встроеной памятью наверняка сталкивались со следущей проблемой: вставлена большая sd карта (например 16, 32 или даже 64 Гигабайт), но после установки нескольких тяжеловесных программ наше устройство или очередная программа с наглостью заявляет, что на карте не хватает места. Иногда сама программа небольшая, но после установки лезет в интернет и тянет на смартфон гигабайты данных.
        В очередной раз получив сообщение «Нет места» и заглянув на карточку видим, что она практически пуста, зато внутренняя память устройства забита под завязку.
        Это происходит потому, что внутренняя память часто используется как каталог по умолчанию для многих программ. Дело в том, что она монтируется как /sdcard, что исторически всегда было внешней sd картой (раньше так оно и было на всех смартфонах). Внешняя же sd карта монтируется в этом случае как /sdcard2, /mnt/sdcard2, /mnt/extSdCard или даже /sdcard/.externalSD. Я так понимаю, что это делается изготовителями, чтобы устройство работало из коробки, т.е. совсем без sd карты.

        Многие «недобросовестные» программы всегда хотят читать/писать данные из/в каталог /sdcard/НазваниеПодставить. Редко это можно изменить в настройках программы.
        В результате имеем, что имеем, и несколько возможностей чтобы поправить сложившееся положение:
        • перемонтировать каталоги: внешнюю sd карту на /sdcard, а внутреннюю на /sdcard2 (нужен рут, если нет в настройках). По моему недостаточно гибкий способ, т.к. теперь уже внутренняя память лежит у нас мертвым грузом. Еще один недостаток этого способа — скорость работы системы.
          Если вы все же решитесь пойти этим путем, внизу я добавил как это можно сделать.
        • создать символьную ссылку на внешние каталоги, как нам нужно, например
          ln -sf /mnt/externalSD/Books /sdcard/Books.
          Не работает, если файловая система не поддерживает симлинк (например fat).
        • при загрузке андроида примонтировать внешние каталоги на внутреннюю память, используя что-то типа
          mount -o bind /mnt/externalSD/Books /sdcard/Books
          и добавить это в автозагрузку, например используя Autostart (root), чтобы это происходило автоматически при включении или после перезагрузки устройства.

        Два последних способа тоже не являются панацеей, т.к. требуют определенных навыков от пользователя, кроме того не достаточно «чисты», например известны проблемы при подключении смартфона к компьютеру через usb (не отмонтируются) и т.д.

        Читать дальше →
      • Как я искал свой телефон с помощью Android Device Manager

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

          Прийдя домой, я первым делом попробовал включить Prey, но потом я вспомнил, что после рутования телефона я забыл активировать свой аккаунт.
          После этого я попытался поставить Plan B, но тут меня ждал облом. Plan B работает только на старых версиях ОС.

          Читать дальше →
        • Как писать парсеры на JavaScript

            … а именно как писать LL парсеры для не очень сложных структур при помощи конструирования сложного парсера из более простых. Изредка возникает необходимость распарсить что то несложное, скажем некую XML-подобную структуру или какой нибудь data URL, и тогда обычно возникает либо простыня хитрого трудно читаемого кода либо зависимость от какой то ещё более сложной и хитрой библиотеки для парсинга. Здесь я собираюсь совместить несколько известных идей (какие то из них попадались на Хабре) и показать как можно просто и лаконично написать довольно сложные парсеры уложившись при этом в совсем немного строчек кода. Для примера я буду писать парсер XML-подобной структуры. И да, я не буду вставлять сюда картинку для привлечения внимания. В статье вообще картинок нет, поэтому читать будет трудно.

            Читать дальше →
          • Самая сложная игра всех времён


              Robot Odyssey

              Нью-йоркский программист Дэвид Ауэрбах (David Auerbach) вспоминает компьютерную игру, для прохождения которой ему понадобилось 13 лет и которая определила его будущее как программиста.
              Читать дальше →
            • 5 000 рублей за продвижение сайта: есть ли бизнес за МКАДом?



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

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

                Как когда-то мы научились работать в самом низкобюджетном сегменте разработки сайтов, так и сейчас мы делаем то же самое с рекламой и продвижением. Через год работы можем сказать, что 5 000 рублей в месяц за продвижение сайта оказывается вполне достаточным бюджетом, чтобы сделать клиента счастливым. Главное знать как.
                Читать дальше →
              • SAP ABAP: Understanding «Checkpoint Group» (перевод статьи c saptechnical.com)

                • Translation
                • Tutorial
                Дисклеймер
                Продолжаю публиковать статьи/переводы относящиеся к нераспространённым и редко используемым техникам SAP ABAP разработки. Ключевые понятия достаточно тяжело переводить на русский язык, различные интерпретации создают путаницу, поэтому привожу их на английском языке. Данный пост частично пересекается с прошлым, но несёт в себе более детальное описание понятия Checkpoint Group


                Введение в «Checkpoint Group»


                Понятие и реализация «Сheckpoint Group» изначально появились в SAP Web Application Server (SAP WebAS) 6.20 и целиком относятся к области контроля правильности и возможности отслеживания переменных. При грамотном применении, технология облегчает работу по отладке и повышает качество ABAP кода.
                Читать дальше →
              • Организация js кода для джуниоров

                С недавних пор я стал работать в сфере web разработки, и еще нахожусь в стадии падавана. Однако недавно я открыл для себя способ организации клиентского javascript кода, который может быть легко интегрирован в любой существующий проект и который легко освоить.

                Этот подход называют «Модульный javascript», и под катом мы научимся его применять.

                image
                Читать дальше →
              • Лучшие платные Photoshop плагины для веб-дизайнеров

                  Привет, Хабр! Относительно недавно я опубликовал "Лучшие бесплатные Photoshop плагины для веб-дизайнеров". В подборке я попытался собрать все известные мне инструменты, которые значительно помогают в работе. Кстати, по возможности я ее обновляю и несколько дней назад добавил Velositey для построения лэйаутов. Таким образом мне хочется сделать «конкретное местечко» где будут храниться удобные для работы с фотошопом штуки. Аналогично не только поста ради, мне хочется собрать и платные инструменты, которые реально окупятся через «несколько» человеко часов. Некоторыми из них я пользуюсь сам.

                  PNG HAT $39.99



                  Сей замечательный плагин от достаточно известной компании Source «символизирует» лучший способ того, как должна происходить нарезка слоев. Принцип «в один клик», которые значительно сокращает потраченное время на экспорт слоев наглядно продемонстрирован в видео выше. Что еще есть внутри: мощная оптимизация с помощью PNG Crush, PNG quant и opti PNG, которая по заявлению разработчиков в разы эффективнее стандартного способа; Base64 encoding; код на изображение копируется в буффер для HTML, CSS или Obj C; масштабирование, что очень удобно в связи с необходимостью разработки дизайна под Retina дисплеи; и даже облако объемом 1GB для хранения изображений.

                  Говоря про «нарезку» также стоит упомянуть Zeick $19.99, который экспортирует все векторные шейпы в SVG и Glifo $19, который экспортирует эти же шейпы в иконочные шрифты.

                  Читать дальше →
                • Загрузка исторических данных в SAP с помощью LSMW — пишем «макрос»

                  Добрый день!

                  Продолжаю инструкцию по использованию LSMW — Системы Переноса данных из Исторических Систем.

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

                  Ознакомьтесь с прошлой инструкцией до шага 1.

                  Вот теперь же, на шаге №1, мы должны выбрать пункт Batch Input Recording и перейти нажатием кнопки «Горы, солнце» в менеджер записей.


                  Читать дальше →
                  • +5
                  • 10.6k
                  • 3
                • Загрузка исторических данных в SAP с помощью LSMW (Legacy System Migration Workbench)

                  При внедрении ERP-системы SAP одним из наиважнейших вопросов является вопрос загрузки данных исторических систем (тех, что функционировали на предприятии до внедрения SAP) в новую ERP. Для этого существует мощнейший инструмент внутри SAP — Система Переноса данных из Исторических Систем (LSMW). За 8 лет работы с SAP я накоил солидный опыт работы с этой системой, а, поскольку для LSMW нет легкодоступных для понимания мануалов (тем более на русском) и ко мне постоянно обращаются за советами коллеги по цеху, найдя меня на российском форуме САП, смею полагать, что сия статья окажется весьма познавательна как стажёрам, так и опытным консультантам, пока что не имеющих опыта работы с LSWM.

                  Запускаем транзакцию LSMW и, о чудо, нас уже приветствуют: Welcome to the Legacy System Migration Workbench!

                  На начальном экране мы видим следующую картинку

                  image
                  Читать дальше →
                  • +12
                  • 29.2k
                  • 4
                • Google теперь позволяет настроить панель сервисов

                    То, что так долго просили и просилось — свершилось.


                    UPD.: Google сделал совсем хорошо,
                    В разделе «Ещё» нет нужного вам сервиса? Перейдите на его страницу и снова откройте меню приложений. Система предложит внести в него текущий сервис.
                  • Google Chrome — убираем рутину с помощью кастомного поиска

                      Disclaimer: речь — о давно существующей функции, но, судя по комментам на Хабре, недооцененной, поэтому решил все-таки написать.

                      Google Chrome позволяет очень сильно ускорить рутинные задачи, связанные с различным поиском. используя адресную строку.

                      Например:


                      Как настроить?
                    • Вы до сих пор не любите JavaScript?

                      С началом эпохи HTML5, рынку понадобилось большое количество JavaScript программистов. Многие специалисты по другим языкам, начали массово переориентироваться на JavaScript. Я много раз видел, как программисты с большим опытом ругали этот, один из самых гибких и могучих, язык, не понимая его принципов. В этой статье я постараюсь рассказать суть и философию JavaScript. Здесь будет всего 4 строчки кода и много-много того, что не напишут в учебниках. Обещаю, что вы полюбите этот язык, или по крайней мере, станете эффективнее в нём. Итак, поехали!
                      Читать дальше →
                    • DevDocs: вся документация разработчика в одном месте, с быстрым и удобным интерфейсом



                        Сайт devdocs.io — проект французского программиста Тибо Курубля. Здесь собрана и упорядочена документация по наиболее популярным веб-технологиям, фреймворкам и API, и многим другим средствам разработки. DOM, HTML, JavaScript, jQuery, Node.js, PHP, Ruby, Python, Git, Angular, Backbone, CoffeScript, Less, Sass, Redis и много чего ещё… Всё оформлено в едином стиле, по всей базе документации работает поиск, в том числе нечёткий. Есть возможность выбрать только необходимые технологии, по которым надо искать. Вообще, интерфейс DevDocs радует — ничего лишнего, всё очень понятно и функционально, доступно множество клавиатурных сокращений.
                        Читать дальше →
                      • Новые бесплатные курсы виртуальной академии Microsoft Virtual Academy

                          image  

                          В этом обзоре мы поговорим про бесплатные курсы виртуальной академии Microsoft MVA, которые будут полезны как ИТ-профессионалам так и разработчикам программного обеспечения.

                          Хит! Знакомство с игровыми подсистемами для Windows 8. Данный курс посвящен всем аспектам разработки игр для Windows 8, от определения целевой аудитории до получения прибыли от продукта. Вы узнаете об игровых подсистемах, упрощающих разработку, таких как Construct 2 от Scirra, GameMaker от YoYo Games и Unity. Данный курс предназначен для начинающих разработчиков игр и содержит демонстрации и многочисленные рекомендации, помогающие добиться успеха.

                          Хит! Организация процессов разработки ПО с помощью Visual Studio 2013 и TFS 2013. Данный видеокурс будет интересен разработчикам и QA менеджерам. В рамках курса показан обзор возможностей продуктов Visual Studio 2013 и сделан упор на на то, чтобы дать слушателям общее понимание возможностей инструментов Visual Studio в процессе разработки ПО и показать, какие выгоды от их использования получит каждая роль процесса разработки ПО и организация в целом. В ходе курса будут рассмотрены возможности инструментов Visual Studio, начиная от планирования проекта разработки и заканчивая его тестированием.

                          Облачные технологии


                          Создание гибридной сети с помощью Windows Azure. Использование гибридных облаков остается одной из наиболее обсуждаемых тем в ИТ-сообществе. Однако за обсуждениями эффективности и применимости зачастую теряется ответ на вопрос, как конкретно можно построить гибридное облако, каковы, соответственно, требования к локальной ИТ-инфраструктуре и каковы особенности публичного облака. В курсе вы найдете пошаговое описание процесса построения гибридного облака с использованием технологий виртуальных машин и виртуальных сетей в Windows Azure.
                          Читать дальше →