You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Maxim Likhachev
17501ac0b1
|
5 years ago | |
---|---|---|
.gitignore | 5 years ago | |
COPYING | 5 years ago | |
CoC.md | 5 years ago | |
Makefile | 5 years ago | |
README.md | 5 years ago | |
hhskills.cabal | 5 years ago | |
hhskills.hs | 5 years ago | |
package.yaml | 5 years ago | |
stack.yaml | 5 years ago |
README.md
HHSkills
Небольшая программа для получения с сайта hh.ru списка наиболее востребованных навыков по заданным вакансиям.
Haskell-версия.
Лицензия
GNU General Public License v3.
Сборка и запуск
$ git clone https://code.envrm.info/src/hhskills
$ cd hhskills
$ make build
$ make run -- --pages 10 --top 20 <запрос>
или
$ stack exec -- hhskills --pages 10 --top 20 <запрос>
Пример использования
$ hhskills --top 30 devops
По запросу 'devops' найдено вакансий: 2457
1. [▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ] 410 > linux
2. [▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ] 296 > git
3. [▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ] 256 > python
4. [▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ] 213 > docker
5. [▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ] 183 > postgresql
6. [▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ] 166 > sql
7. [▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ] 160 > java
8. [▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ] 150 > devops
9. [▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ] 148 > bash
10. [▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ] 142 > nginx
11. [▒▒▒▒▒▒▒▒▒▒▒▒▒ ] 131 > jenkins
12. [▒▒▒▒▒▒▒▒▒▒▒▒▒ ] 130 > kubernetes
13. [▒▒▒▒▒▒▒▒▒▒▒▒ ] 127 > ansible
14. [▒▒▒▒▒▒▒▒▒▒▒▒ ] 122 > javascript
15. [▒▒▒▒▒▒▒▒▒▒▒ ] 118 > mysql
16. [▒▒▒▒▒▒▒▒▒▒▒ ] 112 > администрирование серверов linux
17. [▒▒▒▒▒▒▒▒▒▒▒ ] 111 > zabbix
18. [▒▒▒▒▒▒▒▒▒ ] 96 > английский язык
19. [▒▒▒▒▒▒▒▒ ] 89 > ci/cd
20. [▒▒▒▒▒▒▒▒ ] 84 > aws
21. [▒▒▒▒▒▒▒ ] 74 > mongodb
22. [▒▒▒▒▒▒ ] 67 > atlassian jira
23. [▒▒▒▒▒▒ ] 66 > rabbitmq
24. [▒▒▒▒▒▒ ] 61 > c#
25. [▒▒▒▒▒ ] 56 > ms sql
26. [▒▒▒▒▒ ] 53 > agile project management
27. [▒▒▒▒▒ ] 53 > elasticsearch
28. [▒▒▒▒▒ ] 51 > spring framework
29. [▒▒▒▒ ] 49 > css
30. [▒▒▒▒ ] 47 > php
Дополнительно
Не считаю оптимальным ни код на haskell, ни код на go, но привожу сравнение производительности работы того и другого:
$ hyperfine "hhskills -p 10 devops" "hhskills.go -pages 10 devops"
Benchmark #1 (Haskell): hhskills -p 10 devops
Time (mean ± σ): 12.258 s ± 0.486 s [User: 14.634 s, System: 4.030 s]
Range (min … max): 11.345 s … 13.006 s 10 runs
Benchmark #2 (Go): hhskills.go -pages 10 devops
Time (mean ± σ): 31.424 s ± 0.439 s [User: 339.6 ms, System: 101.0 ms]
Range (min … max): 30.937 s … 32.406 s 10 runs
Summary
'hhskills -p 10 devops' ran
2.56 ± 0.11 times faster than 'hhskills.go -pages 10 devops'