Tips and tricks что это

tips and tricks

1 tips and tricks

См. также в других словарях:

Tips & Tricks — is a now defunct American video game magazine published by Larry Flynt Publications (LFP). For most of its existence, the publication was devoted almost exclusively to strategies and codes for popular video games. However, in late 2006 veteran… … Wikipedia

Tips from the Top Floor — Infobox Podcast title = Tips from the Top Floor caption = Podcast Logo host = Chris Marquardt url = http://www.tipsfromthetopfloor.com/ genre = Computers, TechnologyDigital Photography Tips from the Top Floor is a podcast which presents tips and… … Wikipedia

Stitch and glue — is a simplified boat building method which uses sheet plywood and eliminates the need for stems and chines. [ [http://www.glen l.com/resources/glossary.html Boat terms] ] Plywood panels are cut to detailed profiles and stitched together to form… … Wikipedia

X-Play’s sketches and segments — X Play is not relegated to just video game reviews and previews, but rather features several segments and comedy sketches that frequently appear throughout the duration of each episode.Current Segments Gaming Update A look at the current news and … Wikipedia

List of acronyms and initialisms — 0–9* 1, = Onekama, Michigan * 2D (i) Two dimensional * 2.5D (p) Two and a half dee : two dimensional computer graphics where some flat images lie in front of others * 2G (i) Second generation mobile (cellular, wireless) telephone system * 2.5G… … Wikipedia

Flip tricks (skateboarding) — A flip trick is a type of skateboarding trick in which the skateboard flips in a particular way. In many tricks, the skateboard flips upside down and/or end over end. Many tricks can be combined to form more complex flip tricks. Flip tricks are… … Wikipedia

Flip tricks — A flip trick is a type of skateboarding trick in which the skateboard flips in a particular way. In many tricks, the skateboard flips upside down and/or end over end. The most common and well known flip trick is the kickflip, invented by Rodney… … Wikipedia

Grammar Girl’s Quick and Dirty Tips for Better Writing — Infobox Podcast title = Grammar Girl s Quick and Dirty Tips for Better Writing caption = host = Mignon Fogarty picture format = url = [http://grammar.quickanddirtytips.com/ http://grammar.quickanddirtytips.com] rss =… … Wikipedia

Lead and follow — In partner dancing, the two partners are labelled as the leader and the follower, or lead and follow. Traditionally, the male partner leads and the female partner follows, though this is certainly not always the case. Many social dance forms have … Wikipedia

Pokémon Red and Blue — Box art for Pokémon Red Version, depicting the Pokémon Charizard Developer(s) Game Freak Publisher(s) … Wikipedia

Источник

Tips & Tricks

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

Совершенствование кода и его оптимизация порой отнимает больше времени, чем заняло написание первой версии. Вы часто встречали новый для вас код или интересную реализацию, и говорили себе: «Оказывается, это можно сделать стандартными средствами, а я изобретал велосипед»? Лично я — да. Поэтому в этой статье я собрал свою коллекцию «велосипедов», и рассказал, как от них можно избавиться.

Методы массивов

Простой пример — допустим, у вас имеется массив объектов класса User. У них есть свойство activated, которое выставляется на 1, если юзер активировал свою учетную запись. Вам нужно проверить, все ли юзеры из массива активированы. Не берем во внимание ActiveRecord (там можно и по-другому сделать), моя цель — показать работу с массивами.

Способ первый, самый примитивный:

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

Весь наш код можно записать всего лишь одной строкой:

Каким способом лучше всего подсчитать количество элементов в массиве?

Сount — самый функциональный. Можно задать параметры в скобках:

Size или length (для массивов они идентичны) — самый быстрый способ, потому что единственное его назначение — просто подсчитать количество всех элементов.

Частоиспользуемые запросы ActiveRecord

Он просто ищет все машины красного цвета. Обращаться к нему просто — Car.only_red. Но самый главный недостаток — если вам захочется все это еще и отсортировать (или добавить что-то типа: limit => 5), то придется или дорабатывать метод в модели, или использовать стандартный find.

На помощь приходит очень удобный и простой в использовании named_scope.

Теперь Car.red.with_users создаст сами-знаете-какой запрос. Удобно? Несомненно.

Link_to и его друзья

Еще несколько интересных аналогов есть у самой обычной ссылки link_to.

Первая это link_to_if, которая выведет ссылку, только если она совпадает с условием. Если не совпадает — ссылки не будет, вместо нее останется лишь текст.
Например, у нас есть ссылка «Поднять карму». Если юзер уже голосовал, она не должна быть доступна. Некоторые делают для этой цели отдельный стиль, и отображают ссылку как обычный текст. Но можно написать:

Русификация валидации

Еще одна проблема, с которой я когда-то столкнулся — это валидация и ошибки. Приложение мое было на русском языке (конечно же), и по умолчанию ошибки выдавались в таком формате: «Title не может быть пустым».

В первую очередь нужно установить гем Russian, я очень надеюсь что вы про него уже знаете. Это позволит локализовать большинство стандартных сообщений.
Затем в папке config/locales надо открыть (или создать, если нет) файл ru.yml. Вот пример из моего файла:

Как вы видите, чтобы локализовать поле title в таблице news, достаточно добавить вышеприведенную запись в файл локализации.

Поле full_messages используется для полных сообщений об ошибках. Вот как они прописываются в модели:

Параметр message берет файл локализации, идет по адресу activerecord.errors.full_messages, затем по указанному в модели, и возвращает локализованную строку. Все достаточно просто. Если не указывать message, то на выводе будет стандартная фраза об ошибке, но в моем случае я заменил ее своей.

Методы для контроллера

К слову, не стоит расписывать ошибку как можно подробнее — основная валидация должна проходить в модели. Тут же мы проверяем параметры, и ругаемся если что-то не так.

Отладка

К слову, можно использовать не только logger.debug, но и logger.info, logger.warn или даже logger.fatal. В собственных классах можно писать RAILS_DEFAULT_LOGGER.debug, потому что на фразу logger.debug он откликаться не будет.

Если надо посмотреть или изменить состояние переменных, то можно воспользоваться дебаггером. Для этого помещаем запись debugger, например:

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

По дебаггеру можно написать целую книгу, тут я привел примеры лишь базового использования. Для тех, кто хочет «всё и сразу» — читаем ссылки абзацем ниже.

Заключение

Источник

Android Tips and Tricks

Android Studio

Не забывайте использовать шорткаты

ОписаниеMacLinux/Win
Быстрый поиск по настройкам, действиям в IDECmd+Shift+ACtrl+Shift+A
Переопределить метод родительского классаCmd+OCtrl+O
Поиск файла по имениCmd+Shift+OCtrl+Shift+N
Список недавно редактируемых файловCmd+Shift+ECtrl+Shift+E
Список недавно открытых файловCmd+ECtrl+E
Последний редактируемый файлCmd+Shift+BackspaceCtrl+Shift+Backspace
Найти все места, где используется метод / переменнаяOpt+F7Alt+F7
Как предыдущий пункт, только во всплывающем окнеCmd+Opt+F7Ctrl+Alt+F7
Приведение кода в соответствие code styleCmd+Opt+LCtrl+Alt+L
Окружить блок кода конструкцией(if, else, try)Opt+Cmd+TAlt+Ctrl+T
Открыть терминалOpt+F12Alt+F12
Сгенерировать Setter/Getters/Cmd+NAlt+Ins
Поиска класса по имениCMD+OCtrl+N
Рефакторинг имениShift+F6Shift+F6
Быстрое исправлениеOpt+EnterAlt+Enter
Перейти к объявлению переменной, класса, методаCmd+BCtrl+B
Показать список параметров для методаCmd+PCtrl+P
Меню рефакторингаCtrl+TCtrl+Alt+Shift+T
Убить процессCmd+F2Ctrl+F2
Поиск по всему проектуShift+ShiftShift+Shift
Удалить строкуCmd+BackspaceCtrl+Y
Продублировать строкуCmd+DCtrl+D
Расширить/Уменьшить выделенноеOpt+Up/Down Arrow keyShift +Ctrl+W
Многострочное выделениеCtrl+GAlt+J
Полный список шорткатовMacOSXLinux/Win

Используйте плагины для повышения эффективности

Используйте Live Templates при разработке в Android Studio

TemplateОписание
newInstanceГенерирует статический метод `newInstance` внутри Фрагмента
ToastГенерирует Toast.makeText(context, «», Toast.LENGTH_SHORT).show();
fbcfindViewById с кастом к нужном типу View
constОпределить константу типа int
logdГенерирует Log.d(TAG, «»);
logmВынести в лог текущее имя метода и его аргументы.
logrВынести в лог результат текущего метода
logtСтатическая строка TAG для лога, с текущим именем класса
psfpublic static final
soutПечатает строку в System.out
soutmПечатает имя класса и имя метода в System.out
soutpПечатает аргументы и значения метода в System.out
visibleУстановить видимость View к VISIBLE
goneУстановить видимость View GONE
noInstanceПриватный конструктор без аргументов, чтобы запретить создание сущностей

→ Полный список Live Templates в Android Studio

Постфиксное автодополнение кода в Android Studio

В Android Studio/IntelliJ есть специальный механизм дополнения кода, который позволяет применить конструкцию к определённой переменной.

TemplateОписание

Полный список доступных постфиксных дополнений кода вы можете найти в Settings → Editor → Postfix Templates

Используйте тему Darcula в Android Studio

Да, я осознаю, что это больше вопрос предпочтений. Однако поверьте мне, что использование тёмной темы сократит нагрузка на ваши глаза.

Не используйте неудобный/мелкий шрифт

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

Используйте codestyle

Вам следует использовать стандартный codestyle. Для примера посмотрите на AOSP Codestyle или Square IntelliJ Codestyle

Используйте Встроенный терминал в Android Studio

Используйте Memory/Network/CPU мониторинги в Android Studio для профилирования вашего приложения

Эмулятор

Кроме использования реальных девайсов, вы также должны использовать эмуляторы ввиду простоты их настройки и использования. Также вы можете легко настраивать на них разрешение и версию API для тестирования. Genymotion, Intel эмулятора поставляемый вместе с SDK

Vysor

Это очень полезный инструмент, достойный отдельного упоминания. По сути, он позволяет стримить содержимое физического Android устройства на экран ноутбука. Очень удобно, когда вам нужно продемонстрировать демо вашего приложения на презентации. Мы можем взаимодействовать с реальным устройством, и всё это будет представлено прямо на экране ноутбука. Есть бесплатная и платная версии, и платная определённо стоит того, чтобы её купить.

DeskDock

Если вам необходимо манипулировать физическим Android устройством (используя клавиатуру и мышь), то это приложение замечательно с этим справится. Позволяет вам управлять вашим Android устройством, как если бы это была часть рабочего стола компьютера. Бесплатная версия позволяет использовать мышь, Платная версия позволяет использовать клавиатуру и другие возможности. С этим приложением можно тестировать приложение, не отрывая рук от клавиатуры ноутбука.

Выбирайте лучшие инструменты при написании кода

Выполните следующую команду в директории вашего проекта для обновления gradle wrapper.

— Установите опции сборки в глобальном в `gradle.properties` файле

Полезные советы по UI/UX

Движение

Material Design использует физику реального мира как основу. Объекты в реальном мире не двигаются линейно, они двигаются по искривлённым траекториям а также с ускорением и замедлением в зависимости от ситуации.

Таким образом, вы должны манипулировать свойствами и анимировать объекты так, чтобы это выглядело натурально и естественно. Например машина, выезжающая за экран начинает движение медленно, постепенно ускоряясь по приближению к краю экрана. Аналогично ui элементы должны перемещаться используя такие классы как AccelerateInterpolator, FastOutSlowInInterpolator и другие.

Шрифты, отступы

В принципе, нестандартные шрифты можно использовать как часть брэндинга, однако лучше всё-таки остановиться на стандартных Roboto и Noto, если это возможно, в особенности для основного текста из-за их узнаваемости и частого использования.

Roboto покрывает Латинские, Греческие и Кириллические символы, Noto покрывает остальные языки.
Балансировка яркости шрифта — это один из наиболее важных параметров современной стилистики. Основная идея заключается в том, что чем меньше шрифт, тем более ярким он должен быть, и наоборот.

Сам текст должен быть выровнен по сетке с ячейкой 4dp.

Идеальная длина текста для больших блоков от 40 до 60 символов в строке.

Иконки

Иконки должны быть размером 48dp c краями 1dp, что эквивалентно:

Дополнительная иконка с размером 512px x 512px должна быть предоставлена для Google Play.
То же касается иконки с размером 1024px x 500px, которая будет отображаться в шапке на странице вашего приложения.

Ripple

Когда реализуете Ripple, который выходит за края View, как например у ImageView, используйте:

Остальные пункты

Элементы в соответствии с Material Design Views должны быть расположены на сетке с ячейкой размерами 8dp, если это возможно. Благодаря этому подходу UI выглядит структурированным и приятным.

Если вам нужна ссылка на какой-нибудь элемент ViewGroup (LinearLayout, FrameLayout, RelativeLayout, etc.) и вам не нужны никакие специфичные методы именно для этого типа ViewGroup, то не храните конкретный тип, используйте просто ViewGroup.

Другие ресурсы

Cделайте закладки в своём браузере на различные популярные ресурсы

Используйте бесплатные mock API для тестирования

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

Источник

Visual Studio tips and tricks

Whether you are new or have been using Visual Studio for years, there are a bunch of tips and tricks that can make you more productive. We’ve been sharing tips on Twitter using the hashtag #vstip for a while, and this is a collection of the best ones so far.

Debugger

Hitting F10 to build, run, and attach debugger instead of F5 will automatically break on the first time your own code is being executed. No breakpoints needed.

Tips and tricks что это. image loader. Tips and tricks что это фото. Tips and tricks что это-image loader. картинка Tips and tricks что это. картинка image loader

Supported from Visual Studio 2005

Reattach to process (Shift+Alt+P) is extremely helpful when you have to attach to the same process again and again.

Tips and tricks что это. image loader. Tips and tricks что это фото. Tips and tricks что это-image loader. картинка Tips and tricks что это. картинка image loader

Supported from Visual Studio 2017 v15.8

A blue dot in the margin indicates a switch of threads while stepping through debugging.

Tips and tricks что это. yfn9cuf28zqeje. Tips and tricks что это фото. Tips and tricks что это-yfn9cuf28zqeje. картинка Tips and tricks что это. картинка yfn9cuf28zqeje

Supported from Visual Studio 2013

Solution

Improve performance of solution load and reduce visual noise by disabling restore of node expansions in Solution Explorer as well as Reopen documents on solution load.

Tips and tricks что это. j7rundgqwmstan4dukweqabdgps. Tips and tricks что это фото. Tips and tricks что это-j7rundgqwmstan4dukweqabdgps. картинка Tips and tricks что это. картинка j7rundgqwmstan4dukweqabdgps

Supported from Visual Studio 2019

For fast keyboard navigation, use Ctrl+T to find anything in your solution – files, classes etc.

Tips and tricks что это. . Tips and tricks что это фото. Tips and tricks что это-. картинка Tips and tricks что это. картинка

Supported from Visual Studio 2017

Assign a keyboard shortcut to perform a “git pull” so you don’t have to use CLI or Team Explorer to ensure your repo is up to date.

Tips and tricks что это. image loader. Tips and tricks что это фото. Tips and tricks что это-image loader. картинка Tips and tricks что это. картинка image loader

Supported in Visual Studio 2019

Make Solution Explorer automatically select the current active document, so you never lose track of its location in the project.

Tips and tricks что это. . Tips and tricks что это фото. Tips and tricks что это-. картинка Tips and tricks что это. картинка

Supported from Visual Studio 2010

Editor

Easily surround HTML elements with a using Shift+Alt+W. The inserted is selected so you can easily edit it to be any tag you’d like, and the end-tag matches up automatically.

Tips and tricks что это. . Tips and tricks что это фото. Tips and tricks что это-. картинка Tips and tricks что это. картинка

Supported from Visual Studio 2017

Tips and tricks что это. . Tips and tricks что это фото. Tips and tricks что это-. картинка Tips and tricks что это. картинка

Supported from Visual Studio 2013

You don’t need to write quotation marks around JSON property names, simply type a colon and Visual Studio will insert the quotes automatically.

Tips and tricks что это. image loader. Tips and tricks что это фото. Tips and tricks что это-image loader. картинка Tips and tricks что это. картинка image loader

Supported in Visual Studio 2015

Make IntelliSense and tooltips semi-transparent for the duration you press and hold the Control key.

Tips and tricks что это. 6qofprxhfzosql2wp 7pner8 t4. Tips and tricks что это фото. Tips and tricks что это-6qofprxhfzosql2wp 7pner8 t4. картинка Tips and tricks что это. картинка 6qofprxhfzosql2wp 7pner8 t4

Supported from Visual Studio 2010

Instead of retyping ‘(‘ to show parameter info in method signatures, use Ctrl+Shift+Space to display the currently used overload.

Tips and tricks что это. . Tips and tricks что это фото. Tips and tricks что это-. картинка Tips and tricks что это. картинка

Supported from Visual Studio 2010

Miscellaneous

Play a sound when certain events occur within Visual Studio.

Tips and tricks что это. . Tips and tricks что это фото. Tips and tricks что это-. картинка Tips and tricks что это. картинка

Supported from Visual Studio 2010

Create custom window layouts for specific development scenarios or monitor setups and switch between them easily.

Tips and tricks что это. h6ms2vl4w3bonmehe4qzeriu8im. Tips and tricks что это фото. Tips and tricks что это-h6ms2vl4w3bonmehe4qzeriu8im. картинка Tips and tricks что это. картинка h6ms2vl4w3bonmehe4qzeriu8im

Supported from Visual Studio 2017

Tips and tricks что это. image loader. Tips and tricks что это фото. Tips and tricks что это-image loader. картинка Tips and tricks что это. картинка image loader

Supported from Visual Studio 2019

Extensions

Visual Studio Spell Checker. An editor extension that checks the spelling of comments, strings, and plain text as you type or interactively with a tool window. It can also spell check an entire solution, project, or selected items. Options are available to define multiple languages to spell check against.

Tips and tricks что это. image loader. Tips and tricks что это фото. Tips and tricks что это-image loader. картинка Tips and tricks что это. картинка image loader

Supported from Visual Studio 2013

Add New File. A Visual Studio extension for easily adding new files to any project. Simply hit Shift+F2 to create an empty file in the selected folder or in the same folder as the selected file.

Tips and tricks что это. image loader. Tips and tricks что это фото. Tips and tricks что это-image loader. картинка Tips and tricks что это. картинка image loader

Supported from Visual Studio 2015

Git Diff Margin. Git Diff Margin displays live Git changes of the currently edited file on Visual Studio margin and scroll bar.

Tips and tricks что это. image loader. Tips and tricks что это фото. Tips and tricks что это-image loader. картинка Tips and tricks что это. картинка image loader

Supported from Visual Studio 2012

This was just a few of the thousands of available extensions. To see more extensions, go to the Visual Studio Marketplace.

Источник

Python Tips, Tricks, and Hacks (часть 4, заключительная)

5. Функции

5.4 Декораторы

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

Не будем больше задерживаться на этом. Вот синтаксис:

В этом примере function передается в decorator1, а он возвращает функцию, которая вызывает function и возвращает число, большее ее результата на единицу. Эта функция передается в decorator2, который ее вызывает и печатает результат. Так-то.

Следующий пример делает абсолютно то же, но более многословно:

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

5.5 Запуск одной из нескольких функций при помощи словаря

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

Обычный метод — использование elif:

Но вы также можете положить все функции в словарь, ключами которого будут значения соответствующего keycode. Вы даже можете обработать случай получения неизвестного keycode:

Очевидно, этот код намного понятней предыдущего (особенно при большом числе функций).

6. Классы

6.1 Передача self вручную

Метод — это обычная функция: если он вызывается у экземпляра объекта, этот экземпляр передается в качестве первого аргумента (обычно его называют self). Если по какой-то причине вы вызываете метод не у экземпляра, вы всегда можете первым аргументом передать экземпляр вручную. Например:

Изнутри эти выражения абсолютно одинаковы.

6.2 Проверка на существование метода или свойства

Хотите узнать, есть ли у объекта тот или иной метод или свойство? Вы можете использовать встроенную функцию hasattr, которая принимает объект и имя атрибута.

Вы можете также проверить существование атрибута и получить его с помощью встроенной функции getattr, которая также принимает объект и имя атрибута. Третий аргумент необязательный и устанавливает значение по умолчанию. Если атрибут не найден и третий аргумент не задан, бросается исключение AttributeError.

Не используйте getattr и hasattr слишком часто. Если вы написали класс так, что необходимо проверять существование свойств, то вы всё сделали неправильно. Свойство должно существовать всегда, а если оно не используется, можно установить его в None. Эти функции используются в основном для поддержки полиморфизма, т. е. возможности использовать в вашем коде любых типов объектов.

6.3 Изменение класса после создания

Вы можете добавлять, изменять и удалять свойства и методы класса после его создания, даже после того, как будут созданы экземпляры этого класса. Для этого достаточно использовать запись Class.attribute. Изменения применятся ко всем экземплярам класса, вне зависимости от того, когда они были созданы.

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

6.4 Создание методов класса

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

Метод класса (class method) принимает вызвавший его класс первым аргументом (аналогично обычные методы получают первым аргументом соответствующий экземпляр). Этому методу известно, запущен он от этого же класса или от подкласса.

Статический метод (static method) не имеет никаком информации о том, откуда он запущен. Это обычная функция, просто в другой области видимости.

Как статические методы, так и методы класса могут быть вызваны непосредственно из класса:

Заключение

Нужно больше вдохняющих идей? Для начала неплохо посмотреть страницу Python Built-in Functions. Там довольно много хороших функций, о которых вы, возможно, никогда не слышали.

Если у вас есть полезные уловки или вещи, которые следует знать, автор предлагает добавить их в свою статью.

С другими статьями автора, а также с источниками информации вы можете ознакомиться здесь.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *