All streams
Search
Write a publication
Pull to refresh
60
0
David Klassen @f0rk

Программист

Send message
> Любое решение требует согласования.

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

> Требования к пропакшн серверам и серверам на которых собирается релиз одинаковые. Странно это даже обсуждать.

Эээ… билд сервера — это сервера на которых собирается код. Мы точно об одном и том же говорим? К ним должна иметь доступ только CI система, публичных сетевых интерфейсов они иметь не обязаны, с чего бы к ним такие же требования предъявлять?
Я думаю, что для этой задачи вообще неуместно применять REST. REST хорошо подходит для работы с коллекциями, элементы которых реализуют CRUD интерфейс, и предполагает stateless взаимодействие, а тут состояние размазано по всем участникам процесса, клиент хранит свою сессию авторизации, какие-то действия на бэкенде тригерят посылку sms, sms-сервис что-то делает и помнит при этом, что через 2 минуты надо произвести еще какие-то действия. В общем, сама задача не укладывается в концепцию REST.

Я бы делал какой-то такой интерфейс

создание кода:
req: POST /api/session
res: 200 {session_id}

проверка:
req: GET /api/{session_id}/{code}
res: 200 (успех)
либо
res: 403 (неуспех)

имхо, тут даже json излишен
Внял голосу жава-хейтеров и поменял на uglifyjs в репе
ИМХО проблема высосана из пальца, говоришь админу «поставь пакет %name% на билд-сервер, он нужен для сборки» и через 10 минут все готово, они для того и нужны (админы). Поверьте, я на разных по масштабу проектах работал, в том числе и на требующих повышенного контроля с точки зрения безопасности, ни разу не видел чтоб конфигурация билд-сервера кого-то волновала.
> Кто говорил про билд сервер?
monolithed говорил
> но на сборочном сервере для этой задачи ее ставить мало кто решится

Какое вообще отношение имеет «просто сервер» к контексту данного топика? Куда-то вас не в ту степь понесло. Здесь java используется исключительно для сборки пакета, с трудом представляю себе сценарий в котором это будет представлять угрозу безопасности. Чушь какая-то…
> не безопасно это.

Серьезно? Небезопасно иметь жаву на билд-сервере? Расскажите поподробнее, какие угрозы это несет.
Делов то :)

$ rm bower.json


uglify.patch:
diff --git a/gulpfile.js b/gulpfile.js
index 11f787a..c2fb852 100644
--- a/gulpfile.js
+++ b/gulpfile.js
@@ -7,10 +7,10 @@ const istanbul = require('gulp-istanbul');
 const babelify = require('babelify');
 const browserify = require('browserify');
 const source = require('vinyl-source-stream');
-const closureCompiler = require('gulp-closure-compiler');
 const karma = require('karma').server;
 const isparta = require('isparta');
 const babel = require('babel/register');
+const uglify = require('gulp-uglify');

 function unitTests() {
     return gulp.src(['tests/unit/**/*.js'])
@@ -69,10 +69,7 @@ gulp.task('browserify', function () {

 gulp.task('compile', ['browserify'], function () {
     return gulp.src('dist/lib-build.js')
-        .pipe(closureCompiler({
-            compilerPath: 'bower_components/closure-compiler/compiler.jar',
-            fileName: 'lib-build.min.js'
-        }))
+        .pipe(uglify())
         .pipe(gulp.dest('dist'));
 });

diff --git a/package.json b/package.json
index 208bbd3..afbe449 100644
--- a/package.json
+++ b/package.json
@@ -22,6 +22,7 @@
     "gulp-istanbul": "^0.10.0",
     "gulp-jscs": "^1.6.0",
     "gulp-mocha": "^2.1.2",
+    "gulp-uglify": "^1.2.0",
     "isparta": "^3.0.3",
     "karma": "^0.12.37",
     "karma-browserify": "^4.2.1",


$ npm i
Я не в курсе на какой аудитории собиралась статистика по ссылке которую я привел. Просто запостил первую ссылку, которую смог нагуглить. Упоминаний оракла на их сайте я не нашел. Опрос запостил в ответ на предположение о том что даже с учетом всех натяжек процент не выше 5. Где и чем я жонглирую? Ну не нравятся цифры, приведите свою статистику, никто же не против.
Добавил голосовалку в пост, посмотрим, подтвердится ли ваш тезис про 5%.
Я бы не стал смешивать код бэкенда с клиентским в случае разработки sdk или spa.
www.w3resource.com/browsers/java-support.php
Думаю, что 84% вполне подходит под определение «многих». Подтверждений у меня нет, но подозреваю, что среди девелоперов этот процент еще выше.
Предложенный API не имеет ничего общего с REST, но в данном случае, это не играет роли, как мне кажется. Такой формат общения с сервисом вполне решает задачу.
Нет, не только, зато closure compiler умеет то, что не умеют другие, например ADVANCED_OPTIMIZATIONS и поддержку аннотаций, это вещи, которые я считаю полезными и хочу прикрутить к шаблону. А Java у многих установлена, так что не думаю, что это большая проблема.
Я если честно не пробовал использовать webpack, поверхностный осмотр создал у меня впечатление, что он нацелен больше на разработку SPA. Я хоть и упомянул SPA в статье, но честно признаюсь, последние пару лет я не касался разработки сайтов, больше занимался разработкой всяческих SDK и прочих сторонних скриптов. И естественно, я перенес в шаблон привычный лично для меня сетап. webpack посмотрю подробнее, тем более, что часто слышу про него в последнее время. Можно еще подумать над какой-нибудь pluggable системой сборки, чтоб совсем уж все были довольны :)
А где тут новый язык то? Какую новую семантику вносят эти замены?
Что-то не понятно в чем интрига то, ясен пень, что Хаскел лучший. Сто раз обсуждалось уже…
Я в основном пишу на JS в WebStorm, в Vim у меня получится настроить корректный автокомплит с учетом jsdoc аннотаций, с поддержкой алиасов, шаблонов и т.д.? Ну например что-то типа такого:
image
Обновился и застрял на экране выбора города, тыкаю в родной Томск и ничего не происходит
2GIS Version 4.0.0, iOS 8.3 iPhone 5s.
Прямо в статье же написано
Дело в том, что TCP-соединение уникально определяется четверкой [source ip, source port, dest ip, dest port]

Таких четверок очевидно больше чем 65535.

Information

Rating
Does not participate
Location
Таиланд
Date of birth
Registered
Activity

Specialization

Backend Developer, Software Architect
Lead
From 12,000 $