| Инструмент/Проект | Ключевые характеристики |
|---|---|
| Faceswap | - библиотека с удобным интерфейсом и обширным функционалом |
| - работает на всех ОС | |
| - поддерживается смешанная точность | |
| - есть разные модели для более мощных и менее мощных видеокарт | |
| - все архитектуры базируются на автокодировщиках | |
| DeepFaceLab | - аналог Faceswap библиотеки с собственным UI и фишками, но главное с дополнительными моделями: H64, H128, LIAEF128, SAE. |
| DeepFaceCollab | - перенесенный в Google Collab проект DeepFaceLab |
| FSGAN | - одновременно и swapping и reenactment few-shot модель |
This guide was written because I don't particularly enjoy deploying Phoenix (or Elixir for that matter) applications. It's not easy. Primarily, I don't have a lot of money to spend on a nice, fancy VPS so compiling my Phoenix apps on my VPS often isn't an option. For that, we have Distillery releases. However, that requires me to either have a separate server for staging to use as a build server, or to keep a particular version of Erlang installed on my VPS, neither of which sound like great options to me and they all have the possibilities of version mismatches with ERTS. In addition to all this, theres a whole lot of configuration which needs to be done to setup a Phoenix app for deployment, and it's hard to remember.
For that reason, I wanted to use Docker so that all of my deployments would be automated and reproducable. In addition, Docker would allow me to have reproducable builds for my releases. I could build my releases on any machine that I wanted in a contai
I was talking to a coworker recently about general techniques that almost always form the core of any effort to write very fast, down-to-the-metal hot path code on the JVM, and they pointed out that there really isn't a particularly good place to go for this information. It occurred to me that, really, I had more or less picked up all of it by word of mouth and experience, and there just aren't any good reference sources on the topic. So… here's my word of mouth.
This is by no means a comprehensive gist. It's also important to understand that the techniques that I outline in here are not 100% absolute either. Performance on the JVM is an incredibly complicated subject, and while there are rules that almost always hold true, the "almost" remains very salient. Also, for many or even most applications, there will be other techniques that I'm not mentioning which will have a greater impact. JMH, Java Flight Recorder, and a good profiler are your very best friend! Mea
| Why coding streams/shows are interesting to me: in some livestreams, the experience is very similar to pair programming, | |
| but those people are experts. In VODs, it's more about problem solving and learning skills and approaches. The devs are really good | |
| at what they do and there is *always* a lot to learn. | |
| In no particular order: | |
| 1) Handmade Hero | |
| About the author: Casey Muratori. Worked at RAD. | |
| Description and why I like it: It kinda started the whole thing for me. Casey is coding a complete game and engine on stream, | |
| from scratch, one hour a day. He knows what he's doing on so many of the domains of game development and regular programing, |
Upon completion you will have a sane, productive Haskell environment adhering to best practices.
- Haskell is a programming language.
- Stack is tool for Haskell projects. (similar tools for other languages include Maven, Gradle, npm, RubyGems etc)
- Intellij IDEA IDE is a popular IDE.
sudo apt-get install libtinfo-dev libghc-zlib-dev libghc-zlib-bindings-dev
| Complete installation process: | |
| sudo apt-get update | |
| sudo apt-get upgrade | |
| sudo apt-get install -y python-software-properties python make build-essential g++ curl libssl-dev apache2-utils git libxml2-dev | |
| sudo apt-get update | |
| sudo apt-get upgrade | |
| cd ~ | |
| mkdir git | |
| cd ~/git |
| # Basic Makefile for Golang project | |
| # Includes GRPC Gateway, Protocol Buffers | |
| SERVICE ?= $(shell basename `go list`) | |
| VERSION ?= $(shell git describe --tags --always --dirty --match=v* 2> /dev/null || cat $(PWD)/.version 2> /dev/null || echo v0) | |
| PACKAGE ?= $(shell go list) | |
| PACKAGES ?= $(shell go list ./...) | |
| FILES ?= $(shell find . -type f -name '*.go' -not -path "./vendor/*") | |
| # Binaries | |
| PROTOC ?= protoc |
| Аббревиатура REST расшифровывается как representational state transfer — «передача состояния представления» или, лучше сказать, представление данных в удобном для клиента формате. Термин “REST” был введен Роем Филдингом в 2000 г. Основная идея REST в том, что каждое обращение к сервису переводит клиентское приложение в новое состояние. По сути, REST — не протокол и не стандарт, а подход, архитектурный стиль проектирования API. | |
| Любой ресурс имеет ID, по которому можно получить данные. | |
| Сервер не хранит состояние — это значит, сервер не отделяет один вызов от другого, не сохраняет все сессии в памяти. | |
| Методы POST и PUT должны возвращать обратно объект, который они изменили или создали, — это позволит сократить время обращения к сервису вдвое. | |
| Возвращайте соответствующие http коды статуса в каждом ответе. Успешные ответы должны содержать следующие коды: | |
| 200 — для GET запроса и для синхронных DETELE и PATCH | |
| 201 — для синхронного POST запроса | |
| 202 — для асинхронных POST, DELETE и PATCH запросов |
https://egghead.io/
https://github.com/trekhleb/javascript-algorithms
https://habr.com/post/359192/ алгоритмы на js все
https://www.youtube.com/watch?v=j4_9BZezSUA event loop
https://fseby.wordpress.com/2016/02/25/практическая-вводная-в-монады-в-javascript/
https://habrahabr.ru/company/mailru/blog/327522/ (Функциональное программирование в JavaScript с практическими примерами)
https://habrahabr.ru/post/298134/ (FizzBuzz, или почему программисты не умеют программировать)
http://dmitrysoshnikov.com/ecmascript/javascript-the-core-2nd-edition-rus/ (всякое общее)
https://medium.com/@frontman/приведение-типов-в-js-9d6f1845ea96 (приведение типов и др. инфа)