Nifer

Пикабушник
5889 рейтинг 17 подписчиков 25 подписок 12 постов 1 в горячем
Награды:
5 лет на Пикабу
4

Sqlite room нужна помощь

Всех приветствую. Недавно начал изучать room(надстройка над sqlite в kotlin). Если есть кто шарящий - подскажите. Есть 3 таблицы employee, employees_skills, skills. В employees_skills хранятся все связи сотрудников с навыками в виде: id, employeeId, skillId. Есть задача в room получать все employees у которых есть определенный skill и наоборот, все skills которые есть у определенного employee.
Вопрос: как правильно составить запрос на получение этих данных, через join? Сутки копаю гугл и не пришел к какому- то пониманию join вообще. Единственное, к чему пришел, вот такой вложенный запрос

"SELECT * FROM employee_list WHERE id in (SELECT employeeID FROM employees_skills WHERE skillId = :skillId)"

Код работает, но как мне подсказали, лучше вложенный запрос не делать, а делать через 2 inner join.Как это сделать правильно - естественно не подсказали.
если подскажете, как это вывести либо в виде списка объектов employee либо в виде map(skillId - List<employee>) буду прям очень благодарен.

23

"Ниасилил"

Нужна ваша помощь. Проблема с принтером
uname: Linux debian1 3.16.0-4-amd64 #1 SMP Debian 3.16.36-1+deb8u2 (2016-10-19) x86_64 GNU/Linux

Принтер: Canon MG2440

Поставил дрова с офф сайта( http://www.canon.ru/support/consumer_products/products/fax__...  )


Без этих дров принтер не определяется cups'ом, хотя по lsusb виден(lsusb долго ждёт, прежде чем что-то выдать).


много раз устанавливал - переустанавливал, в купсе пробовал создать принтер с дровами gutenprint - при печати файл моментально проскакивает из "печать" в "печать завершена", а листик не кушает(при gutenprint), при офф дровах печатает после рандомного времени ожидания(от 5 мин и час+). Установил на другой пк с тем же дебианом, вспомнил, что нужно было сбросить счётчик чернил(картридж заправленный), вроде начало нормально печатать. Установил на предыдущий пк - 0, да ещё и по каждому чиху рута просит(хотя и в группу LP и в Lpadmin своего юзера вводил). Пробовал переустановить пакеты дров (вместе со скриптом install.sh идут 4 пакета, по 2 на каждую архитектуру) - 0 . Думаю, мб что-то не удалилось, а что - незнаю. Может кто сталкивался с проблемой? подскажите куда копать, т.к. я уже всё перепробовал, и уже вариант "держать другой пк, как сервер печати" не кажется таким уж безумным

36

Заметки эникея: Часть 2. Монтирование

Всем привет. Предыдущая статья не ушла в минус, но кто-то очень минусил комменты. Если не нравится цикл, лучше добавьте по тэгу в игнор.

Итак, приступаем. Для начала разберёмся в теории. Что же такое монтирование?


В винде, каждый винчестер или флешка делают отдельную букву диска, и каждый диск можно найти в "Мой компьютер". В Линуксе, всё происходит несколько иначе, и если разобраться, даже удобнее, а именно, флешка или винчестер (или их разделы), как бы прикрепляются к определённой папке, которую укажете вы или система. Т.е. вы вставили флешку, для неё создалась папка, например /media/fleshka , и сама флешка как бы прикрепилась к ней, и открывая папку, вы открываете раздел флешки. Это удобно как минимум тем, что вы можете сами примонтировать флешку в любое удобное для вас место.

Переходим к практике.


Чтобы узнать, какие внешние накопители подключены к пк, есть замечательная команда "fdisk -l"


1. Для начала, открываем терминал, превращаемся в рута (sudo -i).

2. Пишем "fdisk -l" (-l сокращение от list) В консоли появится вот такой текст

Заметки эникея: Часть 2. Монтирование Linux, Инструкция, Сисадмин, Эникейщик, Длиннопост

В столбце Device пишется ссылка на файл раздела накопителя(у вас будут другие ссылки) (в linux, всё есть файл, даже харды и флешки). Столбцы Start и End вам не очень нужны, они указывают где начинается и где кончается раздел. А вот разделы Size и Type пригодятся. Думаю их значение объяснять не нужно, а вот нужны они нам, для того, чтобы определить кто есть кто. Вот как вы узнаете, где винчестер, а где флешка? правильно, по размеру и типу (файловой системе). У флешек, чаще всего файловая система fat32 или NTFS (виндовые), У раздела винчестера отделённого под винду, тоже NTFS, а раздел под линукс, чаще всего ext4.


Теперь пройдёмся по каждому разделу. (у вас будет по другому)

/dev/sda1 - у меня это пространство под файлы (полезно, если сносишь/переустанавливаешь линукс, а файлы надо сохранить)


/dev/sda4 - раздел, где у меня хранится сам линукс, он делится на 2 подраздела:
/dev/sda5 - корневой раздел (как бы начальная точка отсчёта всей памяти)

/ dev/sda6 - раздел подкачки (в него сгружаются программы из оперативки, когда её не хватает)


флешка у меня /dev/sdb (цифры после sdb - это разделы) (на флешке у меня Ubuntu Live USB)

соответственно, sdb1 - это сами файлы установки, а sdb2 - какие-то настройки (предполагаю, что MBR)

запоминаем ссылку на файл нужного раздела флешки (у меня /dev/sdb1) и идём дальше


Нам нужно узнать, смонтировала ли система саму флешку.

1. Пишем в терминал mount

2. Ищем в выводе ссылку на файл раздела флешки

3. Если её нет, значит флешка не примонтировалась автоматически. Если она появилась в боковом меню nautilus, её можно примонтировать оттуда, просто нажав на неё, а если её нет там, то будем монтировать сами.

Монтирование флешки(от обычного юзера)

1. Нужно создать папку, куда будем монтировать. Чтобы это сделать, пишем в консоль под рутом: mkdir /media/younameflash  (мы сказали, чтобы папка создалась в /media с названием "younameflash" (замените younameflash на своё, любое))


2. Монтируем саму флешку: (от рута)

mount /dev/sdb1 /media/younameflash  (первая ссылка - ссылка на файл раздела флешки, вторая - ссылка на папку, куда примонтировать флешку)


Вот мы и примонтировали флешку. Зайти в неё можно перейдя в папку /media/younameflash


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

Добавляем раздел жесткого диска в автомонтирование при запуске:(от рута)

1. Пишем: blkid

2. Находим ссылку на наш раздел, напротив него будет UUID

3. Копируем UUID нужного нам раздела
4. пишем: nano /etc/fstab

5. открывается текстовый редактор nano с файлом fstab

Заметки эникея: Часть 2. Монтирование Linux, Инструкция, Сисадмин, Эникейщик, Длиннопост

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

UUID=вашUUID точкаМонтирования файловая системаРаздела


затем жмём ctrl + o, enter, ctrl + x


В моём случае это выглядит так:(у меня этот раздел второй по списку, перед swap)
#/media/hard was on /dev/sda1 during installation

UUID=a81a327d-db6f-4dbf-be6d-c11f57e026cf /media/hard  ext4


перезагружаемся и раздел автоматически примонтируется куда надо


Вот мы в принципе и разобрали что из себя представляет монтирование и как оно производится.

Показать полностью 2
33

Заметки эникея: Часть 1.Debian - Дрова и мелочи

Всем привет. Пробую писать свой первый цикл статей, попутно разбираясь в системе. На данный момент параметры такие:
Проц: AMD Athlon 2 x3 450

Видеокарта: nvidia 8600GT

оператива: 4GB

OS: Debian 8 x64


На самом деле, я не эникей, просто не знал, как красивее назвать статью. По факту, я просто по немногу изучаю linux и его возможности и всё никак не соберусь попробовать LFS.


Итак, Часть 1: Дрова


После установки Debian, возникла первая проблема - разрешение экрана: дело в том, что разрешение моего монитора 1440х900, что не очень уж стандартно, поэтому(и не только) нужно поставить проприетарный драйвер видеокарты, вместо свободного.


Чтоб в дальнейшем было проще работать, добавляем себя в группу sudo:
1. запускаем терминал

2. вводим su и дальше - пароль от рута (не пугайтесь, что символы не появляются,они вводятся невидимо)

3. пишем adduser вашеимяпользователя sudo

4. перезагружаемся (reboot)


После перезагрузки, вы сможете работать при помощи команды sudo.


Вернёмся к нашим дровам.


Учимся добавлять репозитории


Для начала, нам нужно добавить репозиторий non-free:

1. Открываем терминал, пишем sudo -i и вводим пароль рута

2. пишем nano /etc/apt/sources.list

2. клавишами выводим курсор(мигающая фигня) в самый конец и туда добавляем(без кавычек)  "deb http://ftp.debian.org/debian jessie main contrib non-free" (если будете копировать/вставить, то в консоль вставляется комбинацией ctrl+shift+v, копируется соответственно)


Теперь снова открываем консоль и пишем "sudo apt-get update".

Можно приступать к установке дров(в моём примере nvidia, amd ставится по другому)
1. консоль + sudo -i

2. пишем "aptitude install nvidia-glx nvidia-kernel-common nvidia-kernel-dkms nvidia-settings nvidia-xconfig"

3. ждём, пока всё установится

4. пишем nvidia-xconfig

5. перезапускаемся


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


если не хотите видеть эти статьи у себя, добавьте в игнор тег "заметкиэникея"


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

Показать полностью
5

Первый бизнесс))

Всем привет. Я хотел бы рассказать свою историю первого бизнеса.

Слово бизнес, я тут использую в немного юмористической форме, т.к. назвать то, чем я занимался бизнесом, не совсем получается.

Всё началось 22 апреля этого года, когда мой начальник предложил немного подзаработать. К слову, работаю я в вк паблике и начальник достаточно опытный в бизнесе, и очень хороший как человек (редко такие понятия в 1 человеке встречаются). Будем называть его условно начальник (имён разглашать естественно не буду). Так вот, он предложил мне немного подзаработать. Идея заключалась в продаже наклеек на авто к 9 мая (ниже будут фотки). Вроде ничего сложного. Как говорил начальник - за неделю можно сотку поднять. Вся загвоздка в том, что живу я в очень глубокой жопе мира, где  населения 60к и зарплата в 15к считается хорошей (учителя получают 8-10), и маржу слишком поднимать было нельзя, т.к. покупать никто не будет. Как объяснил начальник: 500 рублей сама наклейка + 500 руб, чтобы её поклеить (да, да, как с плёночкой в связном). Я решил так цены не задирать, а умножать себестоимость на 5. Средняя цена получалась 200 рублей, что вроде неплохо.(правда до этого ещё не дошли). Я немного прошелся по ближайшим магазинам, и понял, что конкурентов нет. Точнее они есть, но париться о них не стоит, т.к. в основном это фотоателье с наклейками ужасного качества. Попробовать явно стоило, и я согласился. У меня есть 1 подруга, которая имеет в друзьях достаточно много автомобилистов 20+, её я и решил привлечь в качестве партнёра. Делить решили так: сначала, всё, что зарабатываем, делим пополам, и 1 половину отдаём начальнику, а оставшуюся делим между собой. Это было наиболее справедливо, т.к. начальник поверил в меня и вложил свои деньги (дал под реализацию). Планировалось, что продавать будем в 2-х точках. Подруга, у входа на рынок, по сопряжению с цветами к пасхе (продавал её брат), а я в месте, где паркуются авто, чтобы в последствии пойти на рынок. Тут мой косяк заключался в том, что я не прорабатывал место, где буду торговать, еще до начала торговли, что в последствии мне вышло немножко боком, но об этом позже. Проблемы начались ещё на 1 этапе. Наклейки отправлялись деловыми линиями, и планировалось, что дойдут за 2 дня, но всё пошло не так. Есть такие непонятные праздники, с 1 по 4 мая, при которых отдыхают за труд (это как пить за здоровье). В итоге, мне наклейки доехали ближе к вечеру 5 мая. Они представляли их себя 2 рулона похожие на обойные. Вечером, я позвал подругу и мы начали вырезать их из общего полотна и ставить цены. Она встала на вырезку, т.к. швея и неплохо видит, а я на расценки, т.к. знал формулу (знания-сила) рассчёта цены из размеров. После часа такого выставления расценок, я понял, что оно нифига не эффективно, т.к. подруга резала быстрее, чем я мерил, считал и писал цену сзади на подложке. Решили ставить цену примерно. Это дало 3 преимущества: 1. работа пошла быстрее 2. некоторые наклейки были маленькими, но с выступающими элементами, а цена рассчитывалась по крайним точкам наклейки, и иногда была немного неадекватной 3. измерения рулеткой не были слишком точны, и у одинаковых наклеек иногда была разная цена, от чего мы не совсем избавились. В итоге, мы решили сделать ценовые категории. Вышло весьма не дурно, НО цены у одинаковых, иногда, всё-равно различались. Дело в том, что когда через твои руки проходит куча наклеек, ты уже не помнишь, была уже такая или ещё нет, и иногда неправильно оцениваешь. Я хотел составить базу наклеек и цен, но подруга была категорически против, т.к. время было уже почти час ночи, и мы просто сделали сводку цен того, что нарезали(в итоге, это решение не приведёт ни к чему хорошему). Проработали мы с 7 вечера до часу ночи, я отдал наклейки подруге (на след. день она должна была стоять на точке, а я пошел на учёбу). На следующий день, после учёбы, я пошел проверить точку, но сделал это незаметно, издалека. Как мне казалось, план явно не удался. Вечером мы созвонились и встретились. Выручка за 1 день составила 850 рублей. Я был несказанно рад, т.к. думал, что вообще ничего не продадим. На следующий день, я вышел на свою точку (парковка у рынка). Повесил баннер между деревом и столбом на скотч. Выглядело это весьма колхозно, и по началу, я чувствовал себя диким дураком, но потом, это чувство пропало. Вот фотка точки

Первый бизнесс)) Бизнес, Наклейка, Длиннопост

а сам встал рядом. Сами наклейки продавал из рюкзака(т.к. торговых столов в городе не нашел). По началу, торговля не шла, люди ходили, оборачивались, спрашивали, но не брали. Первый клиент ехал мимо (место у дороги), и заметив плакат остановился, подошел и купил танк (самый верхний ряд на фото, 2 наклейка справа). Она стоила 250, но я отдал за 200. Затем была моя школьная классная руководительница. Ну а потом понеслось. Длилось всё до обеда (рынок после обеда закрывается). В итоге, в этот день, моя точка принесла 1100, а точка подруги 700 (и тут я стал что-то подозревать). Как ни странно, но молодёшь не покупала вообще. Покупали люди 30+ лет. Подруга в тот день начала выделываться, что не хочет работать "на дядю"(первые 10к нужно было отдать за наклейки) и затребовала 200 рублей. Пришлось дать. В тот день я понял, что мне срочно нужен торговый столик, т.к. с портфеля ассортимент показывать неудобно, а люди хотят "позырить". Так же, попросил соседа-сантехника, сделать из ПВХ труб стойки, на которые можно повесить баннер, чтобы торговать на вокзале после обеда. Идея со стойками не вышла, т.к. они гнулись под баннером и падали. На следующий день, я встал в 5 утра и рассортировал наклейки по группам: танки, дешевые, дорогие и красивые и т.п. Это очень помогло, т.к. приблизительно понимая, что хочет человек, я просто доставал нужный файл и он выбирал оттуда, и чаще всего - покупал. В этот день, часов в 7 утра, к точке подъехал инструктор из автошколы, с которым я в этой автошколе и познакомился, когда сдавал на права, и купил сразу 2 наклейки на общую сумму 600 рублей. Я был несказанно рад, что день, так хорошо начинается. И в этот день был настоящий ажиотаж, люди пёрли, прибыль росла. Подошли 2 компании и закупились сразу на 1к с копейками. Купили даже ту наклейку, которую я думал вообще не продам. В тот день, моя точка принесла 2650, а подруги - 1200. Итого за день - 3850, и в общем - 6300. Я уже стал надеяться, что выйдем хотя-бы в 0, а на следующий год, продам что есть и добью до плюса. Подруге предложил такой вариант: "раз ты не хочешь работать на дядю, если мы выйдем в 0 или близко к нему, я тебе заплачу 1к". Она вроде согласилась. Впереди предстоял великий бой - 9 мая. Т.к. рынок не работал в тот день, решили, что с утра встанем у кладбища (по совместительству выпал родительский день, когда все шли на кладбище), а потом пойдём к месту, где будет больше всего машин. Утром, я встал полный сил и планов на день, поел и позвонил подруге. Подруга заявила, что сегодня никуда не пойдёт, т.к. ей не с кем оставить ребёнка(хотя такие проблемы решают заранее). Разговаривать с ней не было смысла, т.к. она бы стала говорить о морали: "как ты можешь, это же ребёнок" и прочее в этом стиле. Ну, думаю пойду один. По началу, встал на старой точке у рынка, но вскоре понял, что клиентов 0. Пошел к кладбищу - 0. Стал искать, где паркуют машины (на время парада, центральную улицу города перекрывают), но найдя парковку, ужаснулся ещё больше - она была почти в центре города, что ничего хорошего не сулило. Дело в том, что я работал без всякой регистрации, и если, когда я стоял не на самой оживлённой улице города, менты закрывали глаза, то когда бы я появился в центре, да ещё и в праздник - меня бы быстро прикрыли, т.к. там начальство явно "зрит". Я был подавлен. Торговать было тупо негде. Я пошел домой, поел и улёгся спать. На 10 мая я пробовал что-то продать, но результат 0. Начальник вошел в мою ситуацию и предложил недостающую до 10к часть(3800) поделить пополам. В итоге, я всё это отработал. Сейчас я ни капли не расстроен, что взялся за это дело. Вот какой опыт я получил:


1. Человек покупает то, что ему показывают. Поэтому, если вы показываете ему наклейки из разряда 100+, то он купит именно их

2. Никогда, нет, НИКОГДА не работайте с друзьями или родственниками. Они срали на вас как на партнёра или начальника. Не думайте, что у вас то точно всё подругому, и друзья не такие. В последствие, у меня появилась догадка о том, что подруга левачит (очень небезосновательная). Ну как может точка с в 2 раза большей проходимостью, чем у меня, приносить в 2 раза меньше денег? + был 1 очень сомнительный момент, который долго описывать.

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

4. Прорабатывайте план работы ЗАРАНЕЕ и до самых мелочей. Если бы я до отправки наклеек прикинул, как я буду торговать в этом месте, я бы успел заказать столик в инете + много нужных вещей.

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

6. По возможности пользоваться услугами наёмного персонала. Это было бы решением получше, чем брать подругу, но у меня не было денег на персонал


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

P.P.S. Занимайтесь своим делом. Это хоть и сложно, но приходит понимание процесса во всех мельчайших деталях и ты лучше начинаешь понимать этот мир. К тому же, это очень увлекательный процесс. У меня была куча поводов сложить руки и уйти, но я не ушел (хз почему), может быть, просто не хочу быть бесправным работягой за 10к в месяц, коими являются мои родители и все родственники.

Показать полностью 1
Отличная работа, все прочитано!