Share files from google drive

Содержание

8.2. Оставьте параллелизм вызывающей стороне

  • Используя закрытый канал в качестве сигнала, что больше нет элементов для обработки, не может сообщить вызывающему объекту о неполном наборе элементов из-за ошибки. У вызывающего нет никакого способа передать разницу между пустым каталогом и ошибкой. В обоих случаях, похоже, канал будет немедленно закрыт.
  • Вызывающий должен продолжать чтение из канала, когда тот закрыт, потому что это единственный способ понять, что горутина заполнения канала перестала работать. Это серьёзное ограничение на использование : вызывающий тратит время на чтение из канала, даже если получил все необходимые данные. Вероятно, это более эффективно с точки зрения использования памяти для средних и больших каталогов, но метод не быстрее, чем исходный метод на основе среза.

Создание модуля

Первым делом создадим наш пакет. Назовём его «testmod». Важная деталь: каталог пакета следует разместить за пределами вашего , потому что, внутри него по умолчанию отключена поддержка модулей. Модули Go — это первый шаг к полному отказу в будущем от .


Наш пакет весьма прост:

Пакет готов, но он ещё пока не является модулем. Давайте исправим это.

У нас появился новый файл с именем в каталоге пакета со следующим содержимым:

Немного, но именно это и превращает наш пакет в модуль.

Теперь мы можем запушить этот код в репозиторий:

До сих пор, любой желающий использовать наш пакет применил бы :

И эта команда принесла бы самый свежий код из ветки . Такой вариант все ещё работает, но лучше бы нам так больше не делать, ведь теперь «есть способ лучше». Забирать код прямо из ветки , по сути, опасно, поскольку мы никогда не знаем наверняка, что авторы пакета не сделали изменений, которые «сломают» наш код. Для решения именно этой проблемы и были придуманы модули Go.

Как пользоваться Link Sharing?

Примерная инструкция как отправить:

  1. Откройте файлы, например используйте приложение Мои файлы (My Files). Либо галерею картинок.
  2. Выберите файл, для этого Нажмите по нему и удерживайте. Можно выбрать несколько (правда не понял как именно).
  3. Потом выберите Link Sharing, а после — Создать код (Create code).
  4. Чтобы скопировать код, просто нажмите по нему и удерживайте.

Вот кнопка Link Sharing:

Вот кнопка создания кода:

А вот как примерно будет выглядеть сам код:

Когда код будет скопирован, то на экране покажется надпись Code copied to clipboard:

Примерная инструкция как получить файл:

  1. После получения кода — введите его в приложении Link Sharing, точно не понял куда водить, но вроде в какое-то поле для просмотра загружаемого контента.
  2. После ввода кода — нажмите на кнопку поиска, она в правом нижнем углу.
  3. Потом нажимаем кнопку Скачать, она может называться Download.

Как видите — все очень просто и поэтому не должно возникнуть сложностей. Правда приложение вроде как от Самсунга, но.. возможно оно работает на телефонах не только Самсунг. Просто на офф сайтах не написано, что работает только на телефонах Самсунг.

А теперь немного картинок, код нужно вводить сюда:

После ввода кода ищем загрузку, для этого как я понимаю нужно нажать вот эту кнопку поиска:

Потом будет показано сколько файлов будет качаться, то есть их количество, а также будет указан размер:

Да, видно немного плохо, сори. Такс, дальше нажимаете Download:

И пойдет скачка, можно смотреть сколько уже скачалось, так как есть прогресс закачки:

Вот нашел картинку, есть такая надпись:

Надпись переводится так — выберите приложение или создайте код, чтобы поделиться своими файлами:

Хм, что это значит? У меня два варианта — можно файл/либо код сразу отправить в приложение, чтобы в нем уже отправить человеку. А можно вручную создать код, потом его скопировать и отправить уже любым способом получателю. Но я могу ошибаться, это просто первое что на ум пришло…

Как определить размер переменных во время выполнения Go-программы

Аннотация: в заметке рассматривается один из способов анализа потребления памяти компонентами Go-приложения. Зачастую в памяти программы хранятся структуры данных, которые изменяют свой размер динамически, по ходу работы программы. Примером такой структуры может быть кэш данных или журнал работы программы или данные, получаемые от внешних систем. При этом может возникнуть ситуация, когда потребление памяти растёт, возможностей оборудования не хватает, а конкретный механизм утечки не ясен. Основным способом профилирования Go-приложений является подключение инструмента pprof из пакета «net/http/pprof». В результате можно получить таблицу или граф с распределением памяти в работающей программе. Но использование этого инструмента требует очень больших накладных расходов и может быть неприменимо, особенно если вы не можете запустить несколько экземпляров программы с реальными данными. В таком случае возникает желание измерить потребление памяти объектами программы по запросу, чтобы, например, отобразить статистику системы или передать метрики в систему мониторинга. Однако средствами языка это в общем случае невозможно. В Go нет инструментов для определения размера переменных во время работы программы. Поэтому я решил написать небольшой пакет, который предоставляет такую возможность. Основным инструментом является рефлексия (пакет «reflection»). Всех интересующихся вопросом такого профилирования приложения приглашаю к дальнейшему чтению.

com.sec.android.app.myfiles

Это программа Samsung My Files (Мои файлы) — файловый менеджер, можно управлять всеми файлами, которые есть на Андроиде. То есть это стандартный диспетчер файлов на телефоне Самсунг. Что еще интересно, если этой проги нет, то могут быть ошибки. Например один человек хотел загрузить мелодию в будильник — но не получилось, ибо выдало ему ошибку:

Так что делаем вывод — лучше не удалять, в крайнем случае можно попробовать заморозить


Файл apk может называться так — SecMyFiles2015.apk Кстати вот я его и нашел:

А вот как выглядит приложение Мои файлы, смотрите:

Правда это у нас не смартфон, это планшет, а то как-той экран необычный как для смарта..

Ozon go school: Как не нужно проводить отбор

Go School

Как вы знаете, в середине мая Ozon объявил о запуске школы программирования на языке Go. Обещали следующее:

  • бесплатное обучение
  • возможность получить знания по реальной разработке на Go от Ozon
  • возможность получить работу в Ozon

Чтобы попасть в школу, нужно было:

  • иметь опыт промышленного программирования
  • пройти тестовые задания по программированию на платформе Яндекс.Контест
  • пройти skype-собеседования

Уже в ходе отбора выяснилось, что онлайн школа будет только до момента, пока эпидемиологическая ситуация не наладится. Впрочем, иногородним жителям все-таки была обещана возможность проходить обучение по интернету. Тогда же было озвучено число студентов, которое готовы принять в Школу — около 40 человек. Так понемногу условия поступления прирастали новыми пунктами, среди добавленных также значилось:

  • желательно проживать в Москве
  • быть гражданином РФ
  • возраст старше 18 лет

Но все это выяснилось уже позже, а пока предложение Ozon привлекло многих разработчиков. Пора было приступать к первому этапу: прохождению теста. Вроде все выглядело неплохо, условия не такие сложные и вполне выполнимые.

Link Sharing — что это такое?

Покопавшись в интернете, выяснил:

Link Sharing (com.samsung.android.app.simplesharing) — приложение для обмена файлами. Можно отправлять большие файлы, например видео, фотки одному человеку либо нескольким. Просто выберите файл, после чего будет сгенерирован код, и этот код нужно передать человеку, которому хотите отправить файл. Человек этот код вставит в свое приложение Link Sharing и начнется загрузка.

Мне кажется — полезное приложение.

Теперь давайте рассмотрим основные возможности Link Sharing:

  1. Большой размер передачи файлов из Samsung Cloud. Тут я не совсем понимаю — большой размер именно если передавать из облака Samsung Cloud, либо файлы сперва заливаются в облако, а потом уже передаются пользователю?
  2. Максимум за один раз можно передать 2 гига, при условии что каждый файл не превышает 1 гиг. На одном сайте нашел инфу что 2 гига это общий лимит на сутки.
  3. Файлы могут быть любого типа кроме APK.
  4. Я могу ошибаться, но вроде присутствует функция чтобы отправить сгенерированный код какому-то контакту из телефонной книги.

Важно:

  1. Временный код действителен в течении 10 минут. Хм, мне казалось будет больше.
  2. Вся эта передача файлов работает только на Андроид 6 версии либо новее.
  3. Для использования общего доступа к ссылкам необходимо включить расширенный обмен сообщениями. Под сообщениями думаю имеется ввиду смс-ки. И второе — здесь под понятием ссылки, скорее всего имеется ввиду сгенерированный код.

com.sec.android.app.sbrowser

Это ребята как я понял фирменный браузер Samsung Internet. Его наверно можно встретить на телефонах Самсунг и вполне возможно что приложение системное. Вот нашел картинку, тут отображено кто сколько кушает батарею и видно что браузер немного кушает — всего 6%:

В телефонах этот браузер может просто называться как Интернет:

Ну и еще одна картинка и все:

Так, с com.sec.android.app.sbrowser разобрались — это браузер. Файл apk этого браузера может иметь название примерно такое — SBrowser_3.0.38_LATEST.apk.

Если с браузером проблемы — то.. стоит обратится в поддержку Самсунг, все таки их браузер. В самом крайнем случае можно заморозить, удалять не советую все таки. Для заморозки используйте Titanium Backup

Так.. а вот я что-то странное нашел — упоминание в сообщениях такого:

Что это может быть? Вот мои мысли:

  1. Возможно что это какой-то фирменный вид адреса сайтов в браузере.
  2. Может это адрес сохраненной страницы в браузере, вроде есть там такая функция. Тем более что я видел адреса, в которых было слово savepage. Но были и те адреса, где упоминалось readinglist — переводится как список для чтения

В общем к сожалению с этими адресами content:// не совсем понятно и внятной инфы в интернете не могу найти

Мажорные версии

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

Может и звучит дико поначалу, но это имеет смысл: две версии библиотеки, которые несовместимы между собой, являются двумя разными библиотеками.

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

Существующие программы, использующие наш API, сломаются, потому что они а) не передают язык в качестве параметра и б) не ожидают возврата ошибки. Наш новый API более не совместим с версией 1.x, так что встречайте версию 2.0.0.

Ранее я упоминал, что некоторые версии имеют особенности, и вот сейчас такой случай.Версии 2 и более должны сменить путь импорта. Теперь это разные библиотеки.

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

Всё остальное то же самое: пушим, ставим метку, что это v2.0.0 (и опционально содаём ветку v2)

Обновление модулей

По умолчанию, Go не обновляет модули без спроса. «И это хорошо», поскольку нам всем хотелось бы предсказуемости в наших сборках. Если бы модули Go обновлялись бы автоматически каждый раз, когда выходит новая версия, мы вернулись бы в «тёмные века до-Go1.11». Но нет, нам надо сообщить Go, чтобы он обновил для нас модули.

А сделаем мы это с помощью нашего старого друга — :

  • запускаем , чтобы использовать последний минорный или патч- релиз (т.е. команда обновит с 1.0.0 до, скажем, 1.0.1 или до 1.1.0, если такая версия доступна)

  • запускаем чтобы использовать последнюю патч-версию (т.е. пакет обновится до 1.0.1, но не до 1.1.0)

  • запускаем , чтобы обновиться до конкретной версии (например, )

В этом списке нет способа обновиться до последней мажорной версии. На то есть весомая причина, как мы вскоре увидим.

Поскольку наша программа использовала версию 1.0.0 нашего пакета и мы только что создали версию 1.0.1, любая из следующих команд обновит нас до 1.0.1:


После запуска (допустим, ), наш изменился:

Обновление мажорной версии

Даже при том, что мы зарелизили новую несовместимую версию нашей библиотеки, существующие программы не сломались, потому что они продолжают исполользовать версию 1.0.1.не будет загружать версию 2.0.0.

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

Чтобы обновиться, надо соответствующим образом изменить мою программу:

Теперь, когда я запущу , он «сходит» и загрузит для меня версию 2.0.0

Обратите внимание, хотя путь импорта теперь заканчивается на «v2», Go всё ещё ссылается на модуль по его настоящему имени («testmod»)

Как я уже говорил, мажорная версия — это во всех отношениях другой пакет. Эти два модуля Go никак не связаны. Это значит, что у нас может быть две несовместимые версии в одном бинарнике:

И это избавляет от распространенной проблемы с управлением зависимостями, когда зависимости зависят от разных версий одной и той же библиотеки.

Именованные параметры

На случай, если вы не знакомы с этим термином, то во многих языках параметры функции называются «позиционными», так как для функции имеет значение их позиция:

, а в случае с именованными параметрами, всё решает их имя в вызове:

Это добавляет текста, но сохраняет клики и перемещения по коду, в попытках понять, что параметры означают.

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

Не то. правда? Его не только сложнее понимать (нужно держать в памяти, что означает каждый параметр и каков его тип, и это существенная когнитивная нагрузка), но и также не даёт нам свободы в выборе какие параметры мы хотим передать. Например, вы можете не хотеть для вашего Material приложения , поэтому вы просто его не указываете в параметрах. Без именованных параметров, нам придётся либо принуждать указывать все возможные виджеты, либо прибегать к магии с reflection, чтобы узнать, какие именно виджеты были переданы.

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

Limit how a file is shared

When you share a file with someone, you can choose what they can do with it.

  • Viewer: People can view, but can’t change or share the file with others.
  • Commenter: People can make comments and suggestions, but can’t change or share the file with others.
  • Editor: People can make changes, accept or reject suggestions, and share the file with others.

Change who your link is shared with

When you share a link to a file, you control how widely the file is shared. These options depend on if your Google Account is through work, school, or Gmail.

  • Public: Anyone can search on Google and get access to your file, without signing in to their Google Account.
  • Anyone with the link: Anyone who has the link can use your file, without signing in to their Google Account. 

Restricted: Only people you share the file with will be able to use it.

Related articles

  • Make Google Docs, Sheets, Slides & Forms public
  • Stop or change how a file is shared
  • Transfer file ownership
  • Share folders in Google Drive
  • Find files shared with you

Go: Как использовать nil-значения без использования ссылочных типов

Создано на базе изображений gopherize.me

Довольно часто из Go кода нам приходится работать с различными HTTP API или самим выполнять роль HTTP сервиса.

Один из частых случаев: получаем данные в виде структуры из базы данных, отправляем структуру внешнему API, в ответ получаем другую структуру, как-то её преобразуем и сохраняем в базу.

Другими словами: такая обработка не требует множества отдельных операций со структурами запроса и ответа.

Для API нормальна ситуация, когда в структурах запроса и ответа есть поля, которые могут быть nil и могут принимать какие-то не-nil значения. Такие структуры выглядят обычно так

Change sharing permissions of shared folders

Edit, comment, or view shared files

When you share a folder, the sharing settings for the files and subfolders inside are updated. Depending on how you shared the folder, the people you shared with will have access to the files inside:

  • Can organize, add, & edit: People can open, edit, delete, or move any files within the folder. People can also add files to the folder.
  • Can view only: People can see the folder and they can open all files within the folder.

After you share the folder, you can change how the files inside are shared.

Make someone else the owner of a folder

When you transfer ownership of a folder, the files inside keep their original owner. To change the owners of more than one folder:

  1. On your computer, go to drive.google.com.
  2. Select the folder that you want to change owners.
  3. At the top right, click Share .
  4. Click Advanced.
  5. To the right of the person’s name, click the Down arrow .
  6. Click Is owner.
  7. Click Save changes.

After you make someone else the owner of a folder, you can edit the folder unless the new owner decides to change your access.

Files deleted from shared folders

When someone deletes a file from a shared folder, only the owner can access it.

To get a deleted file back from a shared folder:

  1. On your computer, go to drive.google.com.
  2. At the top, click Search Drive.
  3. Type in the name of the file.
  4. Right-click the file.
  5. Click Add to my Drive .

Share & collaborate on a file with more than 100 people

Up to 100 people with view, edit, or comment permissions can work on a Google Docs, Sheets, or Slides file at the same time. When more than 100 people are accessing a file, only the owner and some users with editing permissions can edit the file.

To share and collaborate on a file with more than 100 people: 

Publish the file

  • If you need many people to view a file at once, publish it and create a link to share to viewers. You can give edit access to people who need to edit or comment on the file. Learn how to publish a file. 
  • Publishing a file makes it visible to everyone on the web. Be careful when publishing private or sensitive info. If you have an account through work or school, your administrator can limit who can view a published file. If you’re an administrator, .
  • To remove a file from the web, you must stop publishing it. .
  • To stop sharing a file with collaborators, learn how to change sharing permissions.

Create a Google Site 

  • Create a Google Site to share information with many people.  You can embed documents, spreadsheets, and presentations on the site, which can be viewed by a large amount of users. Learn how to embed documents on a site.
  • If you anticipate high traffic to your site, first publish your document in Google Docs, Sheets or Slides, then embed the published URL into Google Sites. Learn how to publish a file.

Collect feedback with Google Forms

If you need to gather a lot of information, create a Google Form. Responses will be recorded in a Google Sheet. Give edit access only to people who need to work with the responses. To let more than 100 people view the responses, publish the spreadsheet to the web and create a link to share with viewers. Learn how to publish a file. 

Fix problems with documents shared with many people


If your document is shared with many people and it’s crashing or not updating quickly, try these troubleshooting tips: 

  • Instead of allowing people to comment on a document or spreadsheet, create a Google Form to collect feedback. Learn how to create a Google Form.
  • If you’re making a copy of a document, don’t include resolved comments and suggestions. . 
  • Delete older information or move data into a new document. 
  • Ask viewers to close the document when they aren’t using it. 
  • Include only the most important information in a published document. Shorter documents load faster.
  • Reduce the amount of people with edit access to a document. 
  • If collecting information from multiple documents, create a new, view-only document to share with a large number of people. 

Использование нашего модуля

Давайте используем созданный модуль. Мы напишем простую программу, которая импортирует наш новый пакет:

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

Как вы наверняка и ожидали, исходя из прочитанного ранее, в каталоге появился новый файл с именем модуля внутри:

Ситуация становится ещё интереснее, когда мы попытаемся собрать нашу программу:

Как видно, команда автоматически нашла и загрузила пакет, импортируемый нашей программой. Если мы проверим наш файл , мы увидим, что кое-что изменилось:

И у нас появился ещё один новый файл с именем , который содержит хэши пакетов, чтобы проверять правильность версии и файлов.

5.1. Меньше пакетов, но более крупные

5.1.1. Упорядочивание кода по файлам с помощью инструкций импорта

  • Начинайте каждый пакет с одного файла . Присвойте этому файлу то же имя, что у каталога. Например, пакет должен быть в файле в каталоге .
  • По мере роста пакета можете разделить различные функции на несколько файлов. Например, файл будет содержать типы и , файл — тип , файл  — тип сервера.
  • Если у файлов оказались похожие декларации импорта, подумайте об их объединении. Как вариант, можно проанализировать наборы импорта и переместить их.
  • Разные файлы должны отвечать за разные области пакета. Так, может отвечать за маршалинг HTTP-запросов и ответов в сети и вне сети, может содержать низкоуровневую логику обработки сети, и  — логику построения запроса HTTP или маршрутизации и так далее.

5.1.2. Предпочитайте внутренние тесты внешним

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

Мне кажется, дело не в языке, а в том, как на нем пишут

«Летом между 2 и 3 курсом я пошла искать работу — а в Новосибе того времени почти все вакансии для ребят без опыта были про PHP. Начинала с очень простых вещей — WordPress, Drupal… Потом писала бэкенды на Yii и много еще разного. Go впервые попробовала в 2014-м, вдохновившись докладом, и затем часто находила работу, связанную с разработкой на нем, через сообщество. Считается, что Go гораздо проще поддерживать, чем PHP. Я не согласна. Видела очень много чистого, легко читаемого и поддерживаемого кода на PHP, а сейчас время от времени встречаю много плохо написанного кода на Go. Проблемы начинаются тогда, когда мы не следуем лучшим практикам языков и систем, которые разрабатываем… Или когда выбираем для своих задач не тот инструмент», — Елена Граховац, руководитель ПК GolangConf 2019 и соведущая подкаста GolangShow.

В эту субботу днем обсудим типичные ошибки выбора в стриме с Леной, Сашей Макаровым и другими замечательными людьми. Подключайтесь.

Squzy — бесплатная open-source self-host система мониторинга с инцидентами и уведомлениями

Однажды знойным зимним вечером к нам пришла идея написать приложение для проверки Sitemap фирмы, в которой мы работаем, с возможностью нотификации при возникновении ошибки. Постепенно эта идея перешла к реализации, там появились мысли по улучшению, возник мониторинг хостов, затем — мониторинг приложений, и как вишенка на торте — инциденты с нотификацией. В итоге мы получили полноценную систему мониторинга, являющуюся полностью open-source self-host решением, не имеющим внешних коммуникаций, с полностью определяемыми пользователем инцидентами. И в этом посте мы хотим познакомить Вас с получившимся продуктом.

GoLand 2020.2: улучшенная поддержка Go modules, дженерики и многое другое

Хабр, привет! Две недели назад мы выпустили GoLand 2020.2 и хотим рассказать про основные изменения в этом релизе.

Если коротко, то мы улучшили поддержку Go modules, сделали удобнее поиск возможных проблем и слабых мест в коде, добавили новые проверки кода.

Кроме того, вы найдете новые функции редактирования кода, экспериментальную поддержку дженериков, возможность отправлять код из редактора в Go Playground, обновления для системы контроля версий, включая поддержку WSL 2 для Git на Windows, и многое другое!

Кстати, узнавать о новой функциональности в интерактивной форме можно прямо в IDE. Пройдите урок What’s New in GoLand 2020.2 на экране приветствия.

Choose who to share with

Specific people

Like files, you can choose to share with only specific people.

  1. On your computer, go to drive.google.com.
  2. Click the folder you want to share.
  3. Click Share .
  4. Under «People,» type the email address or Google Group you want to share with.
  5. To choose how a person can use the folder, click the Down arrow .
  6. Click Send. An email is sent to people you shared with.

Anyone with a link to the folder

  1. On your computer, go to drive.google.com.
  2. Click the folder you want to share.
  3. Click Share .
  4. At the top right, click Get shareable link.
  5. Next to «Anyone with the link,» click the Down arrow .
  6. Choose whether people can edit or view.
  7. Copy and paste the link in an email or any place you want to share it.

A group of specific people

Share with a Google Group

You can share files and folders with Google Groups instead of individual people. When you add to or remove members from the group, they will gain or lose permission to the files and folders that the group can see or use.

  1. Create a Google Group.
  2. Add members to the group.
  3. Share the file or folder with the group.

Note: Group members will have to open the file or folder from an invitation or a link before it will appear in «Shared with me.»

Небольшое отступление о версионировании модулей

Модули Go — версионируемы, плюс есть некоторая специфичность отдельных версий. Вам придется познакомится с концепциями, лежащими в основе семантического версионирования.

К тому же, Go использует метки репозитория, когда ищет версии, а некоторые версии отличаются от остальных: например, версии 2 и более должны иметь другой путь импорта, чем для версий 0 и 1 (мы дойдем до этого).

По умолчанию, Go загружает самую свежую версию, имеющую метку, доступную в репозитории. Это важная особенность, поскольку её можно использовать при работе с веткой .

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

Давайте это и сделаем.

Step 2: Choose who to share with & how they can use your file

Share with specific people

  1. Select the file you want to share.
  2. Click Share or Share .
  3. Under «Share with people and groups,» enter the email address you want to share with. 
  4. To change what people can do to your doc, on the right, click the Down arrow  Viewer, Commenter, or Editor.
  5. Choose to notify people.
    • If you want to notify people that you shared a doc with them, check the box next to Notify people. If you notify people, each email address you enter will be included in the email.
    • If you don’t want to notify people, uncheck the box.
  6. Click Share or Send.

Share a link to the file

You can send other people a link to your file so anyone with the link can use it. When you share a link to a file, your name will be visible as the owner of the file.

  1. Select the file you want to share.
  2. Click Share or Share   Get link.
  3. Under “Get Link”, click the Down arrow .
  4. Choose who to share the file with.
  5. To decide what people can do with your file when you share it, select Viewer, Commenter, or Editor

    Learn more about how others view, comment, or edit files.

    .
  6. Click Copy link  Done.
  7. Copy and paste the link in an email or any place you want to share it.

Share a file publicly

  1. Select the file you want to share.
  2. Click Share or Share   Get link.
  3. Under “Get Link,” click Change to anyone with link.
  4. To decide what people can do with your public link when you share it, select Viewer, Commenter, or Editor.
  5. Click Done.
  6. Copy and paste the link in an email or any place you want to share it.

People who aren’t signed in to a Google Account show up as anonymous animals in your file. Learn more about anonymous animals.

More search options

Advanced search in Google Drive

You can refine a search in Drive with these advanced searches. 

Note: Not all examples work on all devices.

to:

  • Find documents you shared with a specific person or a group.
  • Examples:
    • to:bob@gmail.com
    • to:bobsgroup@googlegroups.com

type:

  • Search by the type of document: folder, document, spreadsheet, presentation, PDF, image, video, drawing, form, site, script, table, or jam file.
  • Example: type:spreadsheet

Before & after

  • Find items that were edited before or after a certain day. Format the date as YYYY-MM-DD.
  • Examples:
    • before:2014-05-01
    • after:2014-05-01

Source:domain (Google for work or school)

  • Search for items that have been shared across your organization’s entire domain, instead of items created by you or your group. 
  • Example: To search for files related to domain, use source:domain

Книга «Golang для профи: работа с сетью, многопоточность, структуры данных и машинное обучение с Go»

Привет, Хаброжители! Вам уже знакомы основы языка Go? В таком случае эта книга для вас. Михалис Цукалос продемонстрирует возможности языка, даст понятные и простые объяснения, приведет примеры и предложит эффективные паттерны программирования. Изучая нюансы Go, вы освоите типы и структуры данных языка, а также работу с пакетами, конкурентность, сетевое программирование, устройство компиляторов, оптимизацию и многое другое. Закрепить новые знания помогут материалы и упражнения в конце каждой главы. Уникальным материалом станет глава о машинном обучении на языке Go, в которой вы пройдёте от основополагающих статистических приемов до регрессии и кластеризации. Вы изучите классификацию, нейронные сети и приёмы выявления аномалий. Из прикладных разделов вы узнаете: как использовать Go с Docker и Kubernetes, Git, WebAssembly, JSON и др.

Заключение

Кажется мы главное выяснили:

  • Link Sharing — приложение для обмена файлами. На каких телефонах работает, то есть только Самсунг или еще и другие производители — неизвестно. На одном сайте было сказано, что Link Sharing только для телефонов Самсунг.
  • Акцент в приложении стоит на простоте и удобстве. Можно передавать много файлов, однако возможно что суточный лимит — 2 гига.
  • В Плей Маркете я почему-то это приложение найти не смог. Зато нашел Samsung Link, но там пишет что оно уже больше не работает..
  • Непонятно как работает передача — или по интернету, или.. используется Wi-Fi. Хотя стоп — было упоминание, что данные хранятся на сервере.. и скорее всего в плане сервера выступает Samsung Cloud.. а это никакой не Wi-Fi ребята, это облако в интернете..

Надеюсь информация пригодилась. Удачи и добра, до новых встреч!

На главную!27.06.2019

Заключение

Статья кому-то может показаться сложноватой, но это из-за того, что я попытался объяснить многое разом. Реальность же такова, что модули Go сегодня в целом просты — мы, как обычно, импортируем пакет в наш код, а остальное за нас делает команда . Зависимости при сборке загружаются автоматически.

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

Вендоринг (неофициально) объявлен устаревшим в пользу использования прокси. Я могу сделать отдельную статью про прокси для Go модулей.

Примечания:

1 Я думаю, что это слишком громкое выражение и у некоторых может остаться впечатление, что вендоринг убирают прямо сейчас. Это не так. Вендоринг все ещё работает, хотя и слегка по другому, чем раньше. По-видимому, есть желание заменить вендоринг чем-то лучшим, например, прокси (не факт). Пока это просто стремление к лучшему решению. Вендоринг не уйдет, пока не будет найдена хорошая замена (если будет).


С этим читают